Skip to content

Releases: CompOmics/ms2pip

v4.2.0-beta.1

19 Jun 12:24
60dc8fd

Choose a tag to compare

v4.2.0-beta.1 Pre-release
Pre-release

MS²PIP 4.2.0 replaces the C/Cython backend with a Rust engine, cutting prediction time by ~30% (119s → 84s on a real dataset) and liminating a scaling bottleneck that made more CPU cores slower. Predictions and spectrum annotation are now handled in a singleparallelized Rust call. The package is now a pure-Python wheel — no compilation on install — and supports Python 3.11+.


Added

  • All prediction, m/z calculation, and spectrum annotation now use ms2rescore-rs (Rust); replaces C/Cython backend
  • ms2_tolerance_mode parameter ("Da" or "ppm") on all correlation/annotation functions and CLI
  • correlate now accepts preloaded spectra on PSMs (MS2Spectrum / AnnotatedMS2Spectrum)
  • read_psms accepts list[PSM] in addition to PSMList, str, and Path
  • Replaced remaining C-based model files with native XGBoost models (HCD2019, TMT, and HCDch2)
  • XGBoost models are now pre-loaded across predict_library batches for improved efficiency
  • rt and im optional dependency groups for DeepLC and IM2Deep
  • Min/max length validators on ProteomeSearchSpace
  • CUDA_VISIBLE_DEVICES workaround on XGBoost model load (dmlc/xgboost#11283)
  • API docs for ms2pip.result and ms2pip.spectrum

Changed

  • Minimum Python version raised to 3.11
  • Package is now a pure-Python wheel (no compiled extensions)
  • Batch processing uses Rayon-parallelized Rust calls instead of Python multiprocessing
  • DeepLC integration uses deeplc.predict() functional API (replaces class-based DeepLC wrapper)
  • IM2Deep integration uses im2deep.predict() functional API (replaces legacy im2deep.im2deep.predict_ccs)
  • predict_library now runs RT/IM predictions once on the full filtered PSMList before batching (closes #243)
  • Invalid peptidoforms (unsupported amino acids, length outside 4–100, missing charge) are skipped with a summarized warning instead of raising
  • Bumped ms2rescore-rs requirement to >=0.5.0a3,<2
  • Bumped psm_utils requirement to >=1.5

Removed

  • C/Cython components: _cython_modules/, _models_c/, setup.py, MANIFEST.in
  • All Python-based multiprocessing (_Parallelized class)
  • _utils/retention_time.py and _utils/ion_mobility.py (inlined into core.py)
  • iRT calibration peptides (DeepLC v4 handles calibration internally)
  • Minor breaking change: ms2pip.constants.MODELS entries no longer contain id, peaks_version, or features_version keys (C/Cython routing metadata); replaced by fragmentation. Code accessing these keys directly will break.

Fixed

  • annotate-spectra CLI crash (.with_suffix() called with no argument)
  • write_correlations now accepts Path objects
  • _peptidoform_spaces empty check uses is None instead of truthiness

All changes: v4.1.2...v4.2.0-beta.1

4.2.0-alpha.3

22 Apr 15:24

Choose a tag to compare

4.2.0-alpha.3 Pre-release
Pre-release

v4.2.0-alpha.2

08 Apr 13:06

Choose a tag to compare

v4.2.0-alpha.2 Pre-release
Pre-release

v4.2.0-alpha.1

08 Apr 10:51

Choose a tag to compare

v4.2.0-alpha.1 Pre-release
Pre-release

v4.2.0-alpha.0

31 Mar 21:16
4d0ba83

Choose a tag to compare

v4.2.0-alpha.0 Pre-release
Pre-release

Full Changelog: v4.1.2...v4.2.0-alpha.0

v4.1.2

10 Feb 13:14
0aca6b3

Choose a tag to compare

Fixed

  • Prefer (faster) Genesis for model downloads, with a fall back to Zenodo
  • CI: Update build runners for macOS (see actions/runner-images#13046)
  • Fix logging for spectral library prediction (by @paretje in #257)

Full Changelog: v4.1.1...v4.1.2

v4.1.1

07 Jan 14:27
4edc867

Choose a tag to compare

Fixed

  • ⬆️ Fix support for sqlalchemy v2, keeping backwards compatibility with v1.4 (#249, fixes #250)
  • 📝 Fix typo of max_length in search_space documentation (#245 by @paretje)
  • 👷 In CI workflows, don't build dependencies like pyarrow from source. This can result in failed build workflows.

Full Changelog: v4.1.0...v4.1.1

v4.1.0

20 Jan 16:10
c69d78d

Choose a tag to compare

Added

  • ✨ Support for Thermo raw (requiring dotnet runtime) and gzipped spectrum files, through mobiusklein/mzdata (#226, by @paretje)
  • ✨ New Python API usage mode correlate-single to correlate to a single ObservedSpectrum object with predictions (#232)
  • ✨ Added support for Python 3.12 and 3.13, Numpy v2, and newer Pandas and XGBoost versions (#228)
  • ✅ CI: Add integration test for predict-single (#228)

Changed

  • ⚠️ Ion mobility is now returned instead of collisional cross section when IM2Deep is used through the add_ion_mobility option (#236, by rodvrees)
  • 🏗️ Model files are now downloaded from Zenodo instead of Genesis (#225, by paretje, fixes #229)
  • 📝 Docs: Updated README to include correlate-single; moved webserver API docs from old Wiki (#239)

Removed

  • 🐍 Removed support for Python 3.8 (EOL) and for musllinux distributions (#228, #237)
  • 🗑️ Removed old conversion scripts, mostly implemented in psm_utils (#239)
  • 🗑️ Removed old train script, to be replaced with page in docs (#239)

v4.0.0

17 Jul 15:39

Choose a tag to compare

Fully refactored and drastically more user-friendly version of MS²PIP:

  • More modular Python API
  • One consolidated command-line interface with subcommands
  • Support for all file formats readable by psm_utils
  • Support for MGF, mzML, and Bruker raw spectrum files
  • Support for ProForma 2.0 peptide notation (no modification configuration required anymore)
  • Support for multiple peptides/PSMs per spectrum
  • Detailed documentation on ms2pip.readthedocs.io
  • ...

v3.13.0

05 Mar 16:17

Choose a tag to compare

Added

Full Changelog: v3.12.0...v3.13.0