Skip to content

Releases: smith-chem-wisc/MetaMorpheus

1.1.5

20 Nov 22:22
32d22b2

Choose a tag to compare

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 of TaskLayer so it can be reused and debugged more easily. Database load metrics are now written to results.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 calling GetDatapointsAcquisitionEngine, 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

10 Oct 23:13
555f0be

Choose a tag to compare

MetaMorpheus v1.1.4 - Release Notes

  • Fix crash in protein parsimony and added more crash resilience (#2574)

1.1.3

08 Oct 21:10
333a2cf

Choose a tag to compare

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

25 Jul 18:46
aff1df3

Choose a tag to compare

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

Glycan & Modification Framework

  • Glycan Refactor (#2524)
    Reimplemented glycans as a subclass of the general Modification class, enabling more flexible and consistent handling of glycan modifications.

  • ModSitePair Refactor (#2533)
    Converted ModSitePair from 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
    • MetaDrawSettingsWindow now uses tabs for cleaner organization
    • Option to suppress pop-ups during export
    • Legacy chimera plotting logic removed
    • Introduced RelayCommand and moved DelegateCommand to GuiFunctions
    • DeconHostParamControl supports custom group box headers
    • Added MessageBoxHelper for disabling pop-ups in tests
  • 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


🔗 Full Changelog

1.1.1

24 Jun 16:36
32bb134

Choose a tag to compare

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

20 Jun 21:45
4978157

Choose a tag to compare

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

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

13 May 20:02
c13eaa7

Choose a tag to compare

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

Full Changelog: 1.0.8...1.0.9

1.0.8.1

06 May 20:33
750e85e

Choose a tag to compare

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

Full Changelog: 1.0.8...1.0.8.1

1.0.8

10 Mar 18:22
1bb2900

Choose a tag to compare

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.61...1.0.8

1.0.7

11 Feb 20:02
23723e6

Choose a tag to compare

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

#2423 #2432 #2449 #2459

  • 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

#2419 #2447

  • 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
    • Classic Search and PEP #2443
    • PEP (fixed crash when loading in a stored model) #2463
    • DataPointAcquisitionEngine and MyFileManager #2455

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.