Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: systemsomicslab/MsdialWorkbench
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: MSFINDER-v3.72
Choose a base ref
...
head repository: systemsomicslab/MsdialWorkbench
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: MSFINDER-v3.73
Choose a head ref
  • 20 commits
  • 121 files changed
  • 6 contributors

Commits on Apr 25, 2025

  1. Release Msfinder 3.72 (#546)

    * Version up
    
    * Version up
    Bujee415 authored Apr 25, 2025
    Configuration menu
    Copy the full SHA
    5b5b823 View commit details
    Browse the repository at this point in the history

Commits on Apr 28, 2025

  1. Added Option to Perform Alignment Using Only Ref. Matched Peaks (#549)

    * Add UseRefMatchedPeaksOnly property to alignment settings
    
    Added UseRefMatchedPeaksOnly property to ParameterBase,
    AlignmentParameterSettingModel, GcmsAlignmentParameterSettingModel,
    AlignmentParameterSettingViewModel, and GcmsAlignmentParameterSettingViewModel
    to control peak matching behavior. Updated constructors and methods to
    initialize and synchronize this property.
    
    * Implement IFeatureAccessor in DataAccessor class
    
    Updated DataAccessor.cs to implement IFeatureAccessor<IMSScanProperty>. Added IFeatureAccessor<TScan> interface in IFeatureAccessor.cs with methods GetMSScanProperties and AccumulateChromatogram. Updated using statements in IFeatureAccessor.cs to include necessary namespaces.
    
    * Refactor IPeakJoiner and fix syntax in PeakAligner
    
    Removed unused using directives from IPeakJoiner.cs to clean up code. Simplified IPeakJoiner interface by removing nested interface declaration and making Join method directly part of the interface. Fixed syntax error in PeakAligner.cs by removing an extra closing brace.
    
    * Refactor LCMS alignment and update tests
    
    Refactored `LcmsPeakJoiner` and related classes to use `ChromatogramPeakFeature` instead of `IMSScanProperty`, improving type safety and maintainability. Updated `LcmsDataAccessor` to implement `IFeatureAccessor<ChromatogramPeakFeature>`. Enhanced `LcmsPeakJoiner` methods for better parameter handling and readability.
    
    Reorganized and updated `LcmsPeakJoinerTests` to reflect these changes, including the introduction of `StubAccessor` and `FakeEvaluator` classes. Added a new test method `Join_OnlyRefMatched` to verify functionality with `UseRefMatchedPeaksOnly` parameter. Updated project file to use the latest C# language version.
    
    * Refactor GCMS alignment and peak joining processes
    
    Updated GcmsAlignmentProcessFactory to include new parameters in CreateRTJoiner and CreateRIJoiner methods. Modified GcmsPeakJoiner to accept additional parameters and updated methods for null checks and list initialization. Enhanced GcmsRTPeakJoiner and GcmsRIPeakJoiner with new fields and constructors. Refactored GcmsDataAccessor to implement new interfaces and use switch expressions. Improved methods for merging spectrum features, progress reporting, and handling chromatogram data.
    
    * Add checkbox for ref.matched peaks alignment in UI
    
    A new checkbox labeled "Do alignment for ref.matched peaks only:"
    was added to `AlignmentParameterSettingView.xaml`. It is bound
    to the `UseRefMatchedPeaksOnly.Value` property for its `IsChecked`
    state and uses the `IsReadOnly` property with a `NegativeConverter`
    to control its `IsEnabled` state. A tooltip explains its purpose:
    "Alignment is performed for peaks annotated." The checkbox is
    styled with properties like `HorizontalAlignment="Left"`,
    `VerticalContentAlignment="Center"`, and `Height="24"`.
    YukiMatsuzawa authored Apr 28, 2025
    Configuration menu
    Copy the full SHA
    753b0b6 View commit details
    Browse the repository at this point in the history
  2. Fixed Bug Where EIC Was Not Displayed After Alignment and Improved Ch…

    …art UI (#550)
    
    * Refactor Ms2ChromatogramsView to use SimpleChartControl
    
    Replaced MultiChart with SimpleChartControl in Ms2ChromatogramsView.xaml, simplifying the charting component. Removed MultiChart-specific properties, styles, and templates. Configured SimpleChartControl with bindings for titles and axes, applying a new BasicChart style. Retained and moved the chart's ContextMenu for saving/copying chromatograms.
    
    Introduced a Grid layout and multiple ItemsControl elements for rendering chromatograms and legends. Updated tooltips for consistent formatting. Improved modularity, readability, and maintainability by adopting a simpler and more flexible charting approach.
    
    * Refactor brush logic for efficiency and clarity
    
    Replaced dynamic brush creation with a precomputed `cls2brsh`
    dictionary mapping class names to observable brushes, improving
    efficiency and simplifying logic. Updated `files.Zip(peaks, brushes)`
    to use `files.ZipInternal(peaks)` for better alignment with code
    requirements. Adjusted fallback brush logic to use
    `ChartBrushes.GetChartBrush` for missing class names. These changes
    enhance readability and reduce redundant brush creation.
    YukiMatsuzawa authored Apr 28, 2025
    Configuration menu
    Copy the full SHA
    82e61ea View commit details
    Browse the repository at this point in the history
  3. Added Support for Multiple Intensity Axis Titles in MS/MS Spectrum Vi…

    …ew (#551)
    
    * Improve chart interactivity and refactor focus handling
    
    - Added a transparent rectangle to the chart area to ensure
      interactivity and visual consistency.
    - Increased the `radius` constant from 3d to 4d, likely affecting
      visual element size or sensitivity.
    - Refactored `FocusedItem` and `FocusedPoint` logic for better
      clarity and proper null handling.
    
    * Add AxisTitles class and AxisTitlesTypeConverter
    
    Introduce the AxisTitles class in the CompMs.Graphics.Base namespace,
    providing a bindable representation of axis titles with change
    notification support. Add the AxisTitlesTypeConverter class to enable
    custom type conversion for AxisTitles, supporting conversions from
    string and IEnumerable<string> to AxisTitles, and vice versa. Include
    necessary using directives for required namespaces.
    
    * Mark AxisValue methods as readonly for immutability
    
    Updated the CompareTo, Equals, ToString, GetHashCode, and
    IsNaN methods in the AxisValue class to be readonly. This
    ensures these methods do not modify the object's state,
    reinforcing immutability and improving code clarity.
    
    * Add state management and AxisTitles support to charts
    
    Enhanced `MultiChart` and `SimpleChartControl` with new private
    boolean fields to manage state during property changes and prevent
    recursive updates. Updated `HorizontalTitle` and `VerticalTitle`
    dependency properties with change callbacks for synchronization.
    
    Introduced `HorizontalTitles` and `VerticalTitles` dependency
    properties to support `AxisTitles` objects for complex title
    management. Implemented bidirectional synchronization between
    single and multiple title properties. Updated constructors to
    initialize `RenderAreaControlStateProperty` with a new instance.
    
    * Improve null-safety and axis handling in models and views
    
    Updated `AxisItemModel` properties to be nullable, added null-checks
    and fallback values to prevent runtime errors, and enhanced
    `AxisItemSelector` with new methods. Introduced `VerticalTitles`
    property, marking `VerticalTitle` as obsolete. Improved error
    handling, reactive property updates, and code consistency. Updated
    view models and methods to align with these changes.
    
    * Support multiple vertical axis titles in charts
    
    Updated MsSpectrumView.xaml and ChartStyles.xaml to enable
    dynamic support for multiple vertical axis titles using an
    ItemsControl with a UniformGrid layout. Adjusted bindings
    in RawPurifiedView.xaml to reflect the new multi-title
    structure and improved axis title styling.
    
    * Add "Absolute" axis type to CreateAxisPropertySelectors2
    
    Introduce a new "Absolute" axis type in ObservableMsSpectrum.cs,
    created using ToReactiveContinuousAxisManager with a ConstantMargin
    of (0, 30) and initial values of 0d for min/max. Add it to
    AxisItemSelector as an AxisItemModel with a label and description.
    Ensure proper disposal by adding to the Disposables collection.
    YukiMatsuzawa authored Apr 28, 2025
    Configuration menu
    Copy the full SHA
    af99ec2 View commit details
    Browse the repository at this point in the history
  4. Fix typo in XAML: "Exp. vs.Rep." to "Exp. vs. Ref." (#552)

    Corrected text in `TextBlock` elements within `DataTemplate`
    for `RawDecSpectrumsViewModel` across multiple XAML files
    (`DimsMainView.xaml`, `GcmsMainView.xaml`, `ImmsMainView.xaml`,
    `LcimmsMainView.xaml`, and `LcmsMainView.xaml`). Ensures
    consistency and resolves a typographical error in displayed text.
    YukiMatsuzawa authored Apr 28, 2025
    Configuration menu
    Copy the full SHA
    4d4c12b View commit details
    Browse the repository at this point in the history

Commits on May 2, 2025

  1. Fix msp file parcer (#553)

    * Fix msp file parcer
    
    * Add test for query check based on solvent type
    
    * Fix typo MspFileParcer.cs
    
    ---------
    
    Co-authored-by: YukiMatsuzawa <122433968+YukiMatsuzawa@users.noreply.github.com>
    Bujee415 and YukiMatsuzawa authored May 2, 2025
    Configuration menu
    Copy the full SHA
    76a89b9 View commit details
    Browse the repository at this point in the history
  2. Added ItemSelectBehavior Helper for Selecting Specific Elements from …

    …Lists (#554)
    
    * Add ItemSelectBehavior for WPF item selection management
    
    Introduced a new static class `ItemSelectBehavior` in the
    `CompMs.Graphics.Behavior` namespace to manage item selection
    behavior in WPF controls using attached properties.
    
    - Added `SelectedItemProperty` for two-way binding of selected items.
    - Implemented `OnSelectedItemChanged` to track parent dependency objects.
    - Added `ItemProperty` to associate items with controls and handle changes.
    - Implemented `OnItemChanged` to manage `OnClick` event handlers.
    - Added `OnClick` to update `SelectedItemProperty` on control interaction.
    
    * Add ItemSelectBehaviorTest page and AreEqualsConverter.Default
    
    Introduced a new `ItemSelectBehaviorTest` page to demonstrate item
    selection behavior in a WPF application. The page includes a
    `ComboBox`, `ItemsControl`, `Label`, and another `ItemsControl`,
    showcasing the use of `ItemSelectBehavior` and `AreEqualsConverter`
    for managing selection states.
    
    Added a static `Default` instance to the `AreEqualsConverter` class
    for convenient reuse without creating new instances.
    
    Implemented `INotifyPropertyChanged` in the code-behind for
    `ItemSelectBehaviorTest.xaml` to support data binding, with a
    `SelectedItem` property and a collection of items (`Items`).
    
    Updated `MainWindow.xaml.cs` to integrate the new page into the
    application's navigation system.
    
    * Refactor selection logic and improve event handling
    
    Removed `_defaultSelectedItem`, `OnSelectedItemChanged`, and
    `ParentDependencyObject`, shifting to a visual tree-based approach
    for managing parent-child relationships. Introduced
    `FindAncestorWithProperty` to replace `GetParentDependencyObject`,
    leveraging `VisualTreeHelper` for ancestor traversal. Updated
    `OnItemChanged` to use `WeakEventManager` for better memory
    management when handling `Click` events.
    
    * Refactor SelectedItem handling and event management
    
    Replaced `OnItemChanged` with `OnSelectedItemChanged` and `OnClick`
    methods for improved event handling. Removed unused methods
    (`OnItemChanged`, `FindAncestorWithProperty`) and the
    `using System.Windows.Media;` directive. Updated `ItemProperty`
    metadata to remove obsolete callback.
    
    * Refactor Grid layout and add nested ContextMenu
    
    Replaced the original `<Label>` in the `Grid` with a new `<Grid>`
    container featuring two rows. Moved the original `<Label>` with
    its `ContextMenu` to the first row, preserving its functionality.
    Added a second `<Label>` in the second row with a `ContextMenu`
    that includes a nested `MenuItem` for hierarchical menu support.
    The nested `MenuItem` uses `ItemsSource` and `behavior:ItemSelectBehavior.SelectedItem`
    bindings, along with an `ItemContainerStyle` for child `MenuItem` elements.
    
    * Enhance axis type selection in spectrum views
    
    Added a new namespace for behavior functionality in XAML files.
    Updated context menus in `AlignmentMs2SpectrumView.xaml`,
    `MsSpectrumView.xaml`, and `RawPurifiedView.xaml` to improve
    axis type selection using `behavior:ItemSelectBehavior.SelectedItem`.
    Introduced custom `MenuItem.ItemContainerStyle` with `MultiBinding`
    and `AreEquals` converter for better selection handling. Added
    separators for improved menu organization. Retained compatibility
    with existing spectrum saving features.
    
    * Update tests/Common/ChartDrawingUiTest/Behavior/ItemSelectBehaviorTest.xaml.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: Bujee <147805482+Bujee415@users.noreply.github.com>
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    3 people authored May 2, 2025
    Configuration menu
    Copy the full SHA
    b4955ae View commit details
    Browse the repository at this point in the history

Commits on May 7, 2025

  1. Fix Vitamin_E annotation method (#557)

    Co-authored-by: mikiko.takahashi <mikiko.takahashi@riken.jp>
    mikikot113 and mikiko.takahashi authored May 7, 2025
    Configuration menu
    Copy the full SHA
    1d2a4e8 View commit details
    Browse the repository at this point in the history
  2. Internal msfinder update (#555)

    * Corrected misspelling
    
    * Add formula list filtering
    
    * Unit correction
    
    * Update adduct ion acquisition
    
    * Update database reading
    
    * Add error handling
    
    * Add short message window for msfinder
    
    * Typo fix
    
    * Delete precursor filtering
    
    * Change intensity to abundance
    
    * Update single spot msfinder
    
    * Add msfinder utility
    
    * Add fragmentation score
    
    * Update msfinder
    
    * Add short message for substructure view loading
    
    * Change axis label of reference spectrum
    
    * Update src/MSDIAL5/MsdialGuiApp/ViewModel/Lcimms/LcimmsAlignmentViewModel.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    * Fix bug
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    Bujee415 and Copilot authored May 7, 2025
    Configuration menu
    Copy the full SHA
    98ec9d9 View commit details
    Browse the repository at this point in the history

Commits on May 10, 2025

  1. Added RelativeAmplitudeCutoff Parameter for Spectrum Filtering in Dec…

    …onvolution (#560)
    
    * Refactor AmplitudeCutoff into ChromDecBaseParam
    
    Encapsulated the AmplitudeCutoff parameter within ChromDecBaseParam
    to improve code organization and modularity. Updated all references
    to use param.ChromDecBaseParam.AmplitudeCutoff across multiple files
    and methods, including MSDecHandler.cs, ParameterBase.cs, and others.
    
    This refactoring enhances maintainability and readability without
    changing functionality. Developers must now access AmplitudeCutoff
    via ChromDecBaseParam, ensuring consistency across the codebase.
    
    * Add RelativeAmplitudeCutoff for dynamic intensity filtering
    
    Introduced a new `RelativeAmplitudeCutoff` parameter to enable
    dynamic intensity thresholding based on a spectrum's maximum
    intensity. Updated logic across multiple files to calculate
    thresholds as the maximum of `maxIntensity * RelativeAmplitudeCutoff`
    and `AmplitudeCutoff`.
    
    Key changes:
    - Added `RelativeAmplitudeCutoff` to `ParameterBase`, `DeconvolutionSettingModel`, and `ParameterBaseVM`.
    - Updated spectrum filtering logic in `MSDecHandler.cs`, `DataAccess.cs`, and `Ms2Dec.cs`.
    - Enhanced configuration parsing in `ConfigParser.cs` to support the new parameter.
    - Improved code readability with shorthand syntax for empty lists and removal of magic numbers.
    
    These changes improve deconvolution flexibility and configurability,
    adapting filtering to spectrum intensity distributions and exposing
    the new parameter in the UI and configuration files.
    
    * Add RelativeAmplitudeCutoff and improve validation
    
    - Added a new "MS/MS relative abundance cut off" input in
      `DeconvolutionSettingView.xaml` with labels, tooltips, and
      binding to the `RelativeAmplitudeCutoff` property.
    - Introduced `RelativeAmplitudeCutoff` in
      `DeconvolutionSettingViewModel.cs` as a validated `ReactiveProperty`
      with error handling and synchronization with the model.
    - Updated `ObserveHasErrors` and `ObserveChanges` to include
      `RelativeAmplitudeCutoff` for validation and change tracking.
    - Added validation attributes (`[Required]`, `[RegularExpression]`)
      for `RelativeAmplitudeCutoff` to ensure valid percentage input.
    - Introduced `RemoveAfterPrecursor` as a new property in the view model
      with synchronization and change observation.
    - Improved overall functionality and user experience for deconvolution
      settings with better validation and configurability.
    
    * Update src/MSDIAL5/MsdialGuiApp/Model/Setting/DeconvolutionSettingModel.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: Bujee <147805482+Bujee415@users.noreply.github.com>
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    3 people authored May 10, 2025
    Configuration menu
    Copy the full SHA
    5665936 View commit details
    Browse the repository at this point in the history

Commits on May 19, 2025

  1. Update Notame logo (#563)

    Bujee415 authored May 19, 2025
    Configuration menu
    Copy the full SHA
    0bd3d72 View commit details
    Browse the repository at this point in the history

Commits on May 21, 2025

  1. fixed file generator in msfinder (#565)

    * fixed file generator in msfinder
    
    * Update src/MSFINDER/MsfinderCommonStandard/Process/StructureFinder.cs
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    
    ---------
    
    Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
    YukiMatsuzawa and Copilot authored May 21, 2025
    Configuration menu
    Copy the full SHA
    4e8041c View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    ac6c435 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    1a6c59d View commit details
    Browse the repository at this point in the history

Commits on May 22, 2025

  1. Msfinder fix version popup (#568)

    * Fix version update notification service
    
    * Update Help>About window
    
    * Version up
    
    * Change logo
    
    * Change window height
    Bujee415 authored May 22, 2025
    Configuration menu
    Copy the full SHA
    6d00f1e View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    64ceef6 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    9fa9319 View commit details
    Browse the repository at this point in the history

Commits on May 23, 2025

  1. Increase digit of scores for result files (#569)

    * Increase digit of scores for result files
    
    * Update test
    
    * Update test
    Bujee415 authored May 23, 2025
    Configuration menu
    Copy the full SHA
    b831cd5 View commit details
    Browse the repository at this point in the history
  2. Internal msfinder add substructure pic (#570)

    * Add smiles to substructure image converter
    
    * Add MsSpectrumView with substructure image
    
    * Update internal msfinder
    Bujee415 authored May 23, 2025
    Configuration menu
    Copy the full SHA
    1036ab1 View commit details
    Browse the repository at this point in the history

Commits on May 27, 2025

  1. Internal msfinder batch and single processing update (#571)

    * Add smiles to substructure image converter
    
    * Add MsSpectrumView with substructure image
    
    * Update internal msfinder
    
    * Update msfinder batch processing view
    
    * Delete unused namespaces
    
    * Fix typing of formula generator
    
    * Fix typing of structure finder
    
    * Update msfinder batch view
    
    * Add short message when loading
    
    * Update msfinder single spot model
    
    * Update msfinder batch processing
    
    * Update msfinder batch view
    
    * Update msfinder batch model
    
    * Update typing of molecule converter
    
    * Delete unused comment outs
    
    * Update axis
    
    * Update msfinder methods
    
    * Change disposing
    
    * Update list filtering of msfinder
    Bujee415 authored May 27, 2025
    Configuration menu
    Copy the full SHA
    63dae32 View commit details
    Browse the repository at this point in the history
Loading