Releases: smith-chem-wisc/MetaMorpheus
1.1.5
MetaMorpheus v1.1.5 - Release Notes
Engine & Identification Changes
-
New database loading engine
Introduces a dedicated engine for FASTA/database loading, moving this logic out ofTaskLayerso it can be reused and debugged more easily. Database load metrics are now written toresults.txt, improving transparency and crash reporting around database failures. Users can also specify a custom decoy identifier globally or per-search via the parameters file. ([GitHub][1]) -
G-PTM-D decoy writing for better FDR control
G-PTM-D now writes out decoy modifications alongside target modifications. Decoy entries mirror their targets but carry G-PTM-D-added mods, slightly reducing sensitivity while strengthening downstream FDR control. ([GitHub][2]) -
Update to mzLib 1.0.571
Bumps the mzLib dependency, resolving integration test crashes related to DIA refactors and glyco PSM reading, and includes additional corrections for glyco and XIC testing behavior. ([GitHub][3])
Calibration Improvements
-
Calibration bug fix and refactor
Fixes an issue where precursor and product tolerances were accidentally swapped when callingGetDatapointsAcquisitionEngine, which could affect calibration behavior. The Calibration task has been refactored for better maintainability, and the warning message when the initial calibration round fails and tolerances are expanded has been restored and covered by a new test. ([GitHub][4]) -
Calibration GUI crash fix
Aligns the GUI with the refactored calibration logic to ensure the calibration report is updated correctly, preventing a crash that could occur when the GUI attempted to update from the new code path. ([GitHub][5])
UX & Safety Enhancements
-
Safer updater behavior
The auto-updater now removes its temporary installer once the update completes, eliminating “file already exists” popups on subsequent updates and keeping the update experience smoother. ([GitHub][6]) -
Protection against overwriting previous searches
Adds path-safety checks in the GUI and a warning popup if you are about to write new results into a folder that already contains output from a previous search, reducing the risk of accidentally overwriting prior analyses. ([GitHub][7])
Full Changelog: 1.1.3.1...1.1.5
1.1.4
1.1.3
MetaMorpheus v1.1.3 – Release Notes
This release expands RNA support across the pipeline (Search Task, GPTMD, calibration), adds DIA and negative-mode deconvolution features, improves precursor management and scoring, upgrades MetaDraw with auto-loading and new tabs, enhances reporting, and freshens infrastructure (Docker/CI/mzLib).
New Features & Enhancements
- Enabled simultaneous N and O glycan search (#2568)
- Calibration, Search, and G-PTM-D now support RNA tandem mass spec data (#2538) (#2540) (#2547)
- Expose negative-mode deconvolution directly in the GUI. (#2537)
Engine and Scoring
- G-PTM-D Revisions (#2542)
- Add only the best mod for each delta mass, instead of the best localization for each mod that matches the delta mass.
- Requires a score improvement to add a modification
- Added optional quality filters to add stringency to the modification addition.
- Factor chimera count into PEP estimation. (#2559)
Glycoproteomics
- Handle glycan duplication rules at NXS/NXT motifs. (#2555)
- Output pruned decision data for O-Pair workflows. (#2566)
- Persist site-localization probability with each pair within O-Pair. (#2548)
MetaDraw & UX
- Metadraw will now automatically load your files if you recently completed a search. (#2545)
- Improve data visualization tab and interactions. Many hard coded parameters and options are now user exposed. (#2550)
- Faster, cleaner loading plus new analysis tabs. (#2567)
- BioPolymer Coverage Tab: Displays your peptides overlaid upon their protein of origin.
- Deconvolution Exploration Tab: Run MetaMorpheus deconvolution on a per-spectrum basis and visualize the results while manually tweaking the parameters
- Chimeric Analysis tab: Displays your chimeric search results isolation window and fragmentation spectra
- Metadraw can locate data files quickly by dropping your AutoGeneratedManuscriptProse.txt file
Reporting & Outputs
- Count of ms2 scans and decovoluted precursors at run-level and file-level were added to the results. (#2552)
- Harden output path destination handling. (#2556)
- Notches will now be reported in the search results as the mass of the notch instead of the index of the notch. (#2563)
Dependencies & Infrastructure
- New object types for robust precursor handling across files prior to the database search. (#2553)
- Align with latest mzLib improvements. (#2543) (#2565)
- Removed spectral library from MetaMorpheus as it is now in MzLib. (#2549)
- Refresh docker container build for reliability. (#2560)
- Improve build/test/artifact CI/CD pipeline. (#2561)
1.1.2
MetaMorpheus v1.1.2 – Release Notes
This release includes, major enhancements to MetaDraw (including a new chimeric identification tab), internal refactoring for maintainability, and multiple quality of life improvements.
New Features & Improvements
Search Engine
-
RNA Support in Classic Search (#2531)
Added RNA analyte support to the Classic Search engine, extending compatibility beyond the proteomics pipeline. -
Generalized Parsimony Handling (#2532)
Refactored the parsimony engine for broader applicability and improved consistency across analysis modes.
Glycan & Modification Framework
-
Glycan Refactor (#2524)
Reimplemented glycans as a subclass of the generalModificationclass, enabling more flexible and consistent handling of glycan modifications. -
ModSitePair Refactor (#2533)
ConvertedModSitePairfrom a tuple to a dedicated class, laying groundwork for clearer modification site management.
MetaDraw Enhancements
-
Chimeric Identification Tab (#2535)
Added a new tab in MetaDraw to visualize chimeric spectral matches, displaying aligned MS1, MS2, and sequence information.
Implemented using MVVM design, with search result filtering, MS2 grouping, and MS1 deconvolution matched via the Hungarian algorithm.Supporting UI & Infrastructure Updates:
- Replaced old chimera legend with a directly drawn
Canvas MetaDrawSettingsWindownow uses tabs for cleaner organization- Option to suppress pop-ups during export
- Legacy chimera plotting logic removed
- Introduced
RelayCommandand movedDelegateCommandtoGuiFunctions DeconHostParamControlsupports custom group box headers- Added
MessageBoxHelperfor disabling pop-ups in tests
- Replaced old chimera legend with a directly drawn
-
Refragmentation Export & Clipboard Access (#2528)
Refragmentation settings now persist to output files, and fragment annotations can be copied to clipboard via right-click. -
Fragment Annotation Improvements (#2530)
- Fixed annotation of neutral loss fragment ions
- Ensured all dynamic spectra file connections close cleanly to prevent memory leaks
-
Settings Refactor (#2529)
Centralized MetaDraw settings into a singleton pattern for improved stability and configuration sharing.
Infrastructure & Maintenance
-
AutoGeneratedManuscriptProse Reloads Files (#2534)
Dropping autogenerated prose back into the GUI now automatically reloads the original spectra files and database associated with the task that produced it, improving reproducibility and seamless re-analysis. -
Eliminated Duplicate GUIDs (#2527)
Removed redundant GUIDs to improve reproducibility and serialization clarity. -
Updated MzLib Dependency (#2539)
BumpedMzLibto version1.0.565for the latest bug fixes and API consistency.
🔗 Full Changelog
1.1.1
MetaMorpheus v1.1.1 - Dependency hotfix
What's Changed
- Fixed issue where missing SQLite.Interop.dll would cause crash when searching .d files by @Alexander-Sol in #2526
Full Changelog: 1.1.0...1.1.1
1.1.0
MetaMorpheus v1.1.0 - timsTOF Support
What's Changed
Support for Bruker .d, MS-Align data files
- Support for timsTOF data: MetaMorpheus now support DDA PASEF data from Bruker timsTOF instruments. Search, GPTMD, and Visualization are supported. By @Alexander-Sol in #2520, #2523, #2522
- Support for MS-Align files generated by TopPIC Search and GPTMD are supported. By @nbollis#2521
MetaDraw Updates
- Spectrum Description Custom Text Sizing by @nbollis in #2515
- MetaDraw Crash with IQuantifiableRecord by @nbollis in #2517
Changes required for RNA (WIP)
- Digestion of Proteins to peptides is now generalized and can be used for RNA as well by @nbollis in #2341
- Sequence Database reading now supports several RNA database types by @nbollis in #2510
- Search, GPTMD, and Calibration operate on generalized IBioPolymer instead of Protein by @nbollis in #2511
- MetaDraw now uses SpectrumMatchFromTsv instead of only plotting protein specific results by @nbollis in #2506
Misc.
- mzLib updated to v1.0.564. #2519
- Use MzLib.Readers for PSM Header and all parsing by @nbollis in #2512
- Mass Difference acceptor: Modular Gui Control by @nbollis in #2518
- Main window file drop now handles shortcuts by @nbollis in #2525
- Fix Glyco Crash on ProteinParsimony by @nbollis in #2514
Full Changelog: 1.0.9...1.1.0
1.0.9
MetaMorpheus v1.0.9 - Calibration Hotfix
What's Changed
- Some users reported issues where Calibration would crash without writing an error report. This PR fixes that issue, along with other minor changes.
Minor Improvements, fixes, etc.
- Update to mzLib 1.0.562, #2500
- SpectralMatch objects no longer contain the MsDataScan property by default. This property is still used, but only for GPTMD. To support this, minor changes were made to Isobaric Quant reporting - #2476, #2491, #2496
- Maintenance: Spectral Match Ordering in collections is now fully reproducible by @nbollis in #2482
- Create Testing Github Action by @nbollis in #2488
- Maintenance: Spectral Match Hypothesis object replaced anonymous types during database search by @nbollis in #2483
- Removed unused property in SpectralMatch by @nbollis in #2492
- Refactoring to use IIndexedMzPeak by @pcruzparri in #2494
- Removed unnecessary fragment ion object mapping in Spectral Match by @nbollis in #2484
- Removed unnecessary tab character that was appended to the end of lines in the AllProteins/AllQuantifiedProteins output @Alexander-Sol in #2507
- Rna Modifications by @nbollis in #2508
New Contributors
- @pcruzparri made their first contribution in #2494
Full Changelog: 1.0.8...1.0.9
1.0.8.1
MetaMorpheus v1.0.8.1 - Calibration Hotfix
What's Changed
- Some users reported issues where Calibration would crash without writing an error report. This PR fixes that issue, along with other minor changes.
Minor Improvements, fixes, etc.
- Update to mzLib 1.0.562, #2500
- SpectralMatch objects no longer contain the MsDataScan property by default. This property is still used, but only for GPTMD. To support this, minor changes were made to Isobaric Quant reporting - #2476, #2491, #2496
- Maintenance: Spectral Match Ordering in collections is now fully reproducible by @nbollis in #2482
- Create Testing Github Action by @nbollis in #2488
- Maintenance: Spectral Match Hypothesis object replaced anonymous types during database search by @nbollis in #2483
- Removed unused property in SpectralMatch by @nbollis in #2492
- Refactoring to use IIndexedMzPeak by @pcruzparri in #2494
- Removed unnecessary fragment ion object mapping in Spectral Match by @nbollis in #2484
- Removed unnecessary tab character that was appended to the end of lines in the AllProteins/AllQuantifiedProteins output @Alexander-Sol in #2507
New Contributors
- @pcruzparri made their first contribution in #2494
Full Changelog: 1.0.8...1.0.8.1
1.0.8
1.0.8 - Dependency Update
What's Changed
• Added missing DLLs to support IsoDec Deconvolution
Minor refactors - user not effected
• Removed Double Range from AllowedIntervalWithNotch #2479
• Scan with index and notch update #2478
• Added user specified proteome directory to global gui settings #2481
1.0.7
MetaMorpheus v1.0.7
We are excited to announce the latest release of MetaMorpheus! This update includes numerous improvements, bug fixes, and feature enhancements to improve performance, usability, and accuracy. Below are the key changes in this release:
New Features
- Added Isodec as a new Deconvolution algorithm #2442
Calibration
- Alter the process for calibration. An initial search is performed using wide ppm tolerance. The distribution of ppm errors for precursor and fragments are determined and used moving forward. Calibration is performed and if the number of identifications increases, it is attempted for a second time. The final distribution of mass errors is determined and used to create a file specific toml. The tolerance written to that file now has a limited number of decimal places, to eliminate small variations in those numbers, which can complicate analysis reproduction.
G-PTM-D
- GPTMD has been promiscuous in the addition of potential modifications to the xml database. This PR reduces the number of candidate modifications added to those that produce the highest score for each possible PTM localization. Thread safety of GPTMD was also addressed.
False Discovery Rate
- The best PSM/PrSM used to represent a peptide/proteoform is now selected based on PEP, as opposed to MetaMorpheus score. This affects the AllPeptides.psmtsv result file #2431
- When training a model to compute PEPs for top-down search results, we are more permissive in what we accept as a positive training example. This change reduces overfitting #2427
- This PR changes the threshold used for using the more stringent and correct q-value calculation (D+1)/T to a total of 1000 PSMs. Below that level we use D/T. This will help with top-down files that contain fewer PTMs. #2426
Output Enhancement
- PEP now reports the number of positive and negative training examples used to train the model #2424
- Additional optional Search Task output to see all modified forms of each peptide/protein that was searched #2460
Quality of Life Improvements
- Ensured consistency in all task window text boxes for integer and double type inputs #2417 #2433
- Task windows now launch significantly faster #2461
- Re-fragmentation analysis in MetaDraw now allows a custom ppm tolerance for fragment matching #2420
- Added several hotkeys into the GUI #2470
Maintenance - Code only changes, user not impacted
- Update README.md with .Net8 links #2416
- Removed unused variables, improved access modifiers, marked relevant properties as readonly, and added many new terms to the solution dictionary #2421
- Improved performance when filtering which PSMs/Peptides that are written out #2430
- Eliminate NUnit legacy code #2438
- Switched AnalyteType (e.g. peptide vs proteoform) from string to enum to ensure consistency in naming conventions #2434
- Created an MVVM structure for deconvolution parameters in the GUI to enable seamless addition of new deconvolution engines #2429
- SpectralMatch.MatchingFragmentIons property is set differently in ResolveAllAmbiguities(). This change is intended to improve stability of calibration #2465
- Updated MzLib to version 1.0.559 #2451 #2456 #2457 #2464 #2441
Bug Fixes
- Non-specific search engine has a bug where a second modification is attempted to be added to a peptide with set mods where there is an existing modification at that position. This PR adds a check that prevents addition of the second mod. #2453
- MetaDraw no longer uses fallback options when an outdated config file is found, it instead creates a new config file and salvages as much of the old file as it can #2420
- Eliminated crash in MetaDraw that occurred when switching from chimeric scan view to fragmentation scan view on an ambiguously identified peptide #2420
Bug Fixes – Race Conditions
- Fixed race conditions and crashes that could occur due to improper use of locks. Changes affect
For a complete list of changes, please refer to the full changelog: [Full Changelog](1.0.6...1.0.7)
Thank you for using MetaMorpheus! We appreciate all feedback and contributions from our community.