Skip to content

Conversation

@trishorts
Copy link
Contributor

This pull request adds support for using both Classic and Modern search strategies in the calibration workflow of MetaMorpheus. Users can now select which search engine to use for calibration, and the system will generate and use peptide/fragment indexes as needed for Modern Search. The changes also include new tests to verify the correctness and equivalence of calibration results between the two search types.

Calibration Engine Enhancements:

  • Added a SearchType property to CalibrationParameters, allowing selection between Classic and Modern search strategies. The default is set to Classic.
  • Updated the calibration workflow (CalibrationTask) to use the selected search type. If Modern Search is selected, the workflow generates peptide and fragment indexes and uses the ModernSearchEngine; otherwise, it uses the ClassicSearchEngine. [1] [2]
  • Added private fields to CalibrationTask for storing Modern Search indexes and logic to reset/generate them as needed. [1] [2]

GUI Updates:

  • Updated the calibration task window to allow users to select the search type via radio buttons, and to save/load this setting with the task. [1] [2]

Testing Improvements:

  • Added comprehensive tests to verify that calibration works with Modern Search and that results are comparable between Classic and Modern search types.

@codecov
Copy link

codecov bot commented Jan 27, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 94.72%. Comparing base (4954590) to head (1f04191).

Additional details and impacted files

Impacted file tree graph

@@           Coverage Diff           @@
##           master    #2613   +/-   ##
=======================================
  Coverage   94.71%   94.72%           
=======================================
  Files         187      187           
  Lines       19658    19692   +34     
  Branches     3641     3643    +2     
=======================================
+ Hits        18620    18654   +34     
  Misses        566      566           
  Partials      472      472           
Flag Coverage Δ
unittests 94.72% <100.00%> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
...TaskLayer/CalibrationTask/CalibrationParameters.cs 100.00% <100.00%> (ø)
...pheus/TaskLayer/CalibrationTask/CalibrationTask.cs 92.77% <100.00%> (+1.06%) ⬆️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

</Grid.ColumnDefinitions>
<StackPanel Grid.Column="1" Orientation="Horizontal">
<Label x:Name="numberOfDatabaseSearchesLabel" Content="Number of Database Partitions:" />
<local:IntegerTexBoxControl x:Name="NumberOfDatabaseSearchesTextBox" Width="45" IsEnabled="False" ToolTipService.ShowDuration="999999" ToolTipService.InitialShowDelay="500">
Copy link
Contributor

@pcruzparri pcruzparri Jan 28, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should this disabled feature be left out until implemented?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants