Skip to content

Releases: CompOmics/ms2rescore

v3.2.0.post1

22 Oct 13:41
b5b1948

Choose a tag to compare

Merge pull request #240 from CompOmics/fix/docs-build

Update readthedocs config to use dependency groups

v3.2.0

20 Oct 12:34
e4f7a4b

Choose a tag to compare

Added

  • Release notifications: Update checks for both GUI and CLI, with a popup (GUI) or console notice (CLI); introduce the disable_update_check configuration option.
  • Citations GUI: Add IM2Deep to the citations interface (feature integration).
  • 🚸 PSM–spectrum consistency: If observed m/z values are present in the PSM list, always verify that PSMs match the corresponding spectra.
  • 🚸 Regex pattern validation: Added validation for PSM and spectrum ID regex patterns with clear error messages when patterns are invalid or don't match expected spectrum IDs.

Changed

  • 🔁 FlashLFQ export pathway: Switch to the FlashLFQ writing functionality in psm_utils. This removes the ms2rescore > mokapot > write_flashlfq option and adds a new top-level ms2rescore > write_flashlfq option.
  • 🚸 Precursor completeness policy: Do not continue if precursor information (m/z, RT, or IM) is missing for a subset of PSMs; previously, such PSMs were silently removed.
  • 🚸 Parsing: Further improve handling of missing LC–IM–MS fields in spectrum files.
  • 🔊 Diagnostics: Clearer logging while parsing precursor information—always raise an error if a PSM cannot be found in the spectrum files and include example PSM IDs from both the PSM and spectrum files.
  • ⚙️ Allow more unset values in config: Permit null/None for boolean options to explicitly represent an unset state.
  • 🐍 Python versions: Drop support for 3.9 (EOL). Test matrix extended to 3.12–3.14 with compatibility verified through 3.12; 3.13 and 3.14 currently fail due to missing third-party dependencies. Default runtime set to Python 3.12 for Docker and the Windows installer.
  • ⬆️ Dependencies: DeepLC>= 3.1; IM2Deep>= 0.3.1
  • 📦 Packaging: Switch to UV for package management and introduce a lockfile to ensure reproducible installations; the version’s single source of truth now resides in pyproject.toml.
  • 🐳 Docker: Upgrade base image to python:3.12-slim and use the lockfile to pin dependency versions.
  • 📦 Development dependencies: Move dev dependencies into dependency-groups in pyproject.toml.
  • 🔇 OpenMS: Attempt to suppress non-actionable OpenMS data warnings to reduce noise.
  • 👷 CI: Separate the linting step for faster feedback and update CI action versions.
  • 🔧 Tooling: Update pre-commit hook packages.
  • ♻️ Code quality: General refactoring of the parse_spectra module; refine and expand type annotations.

Fixed

  • 🐛 CLI/Config precedence: Prevent command-line defaults (e.g., False) from overriding True values specified in the configuration file.
  • 🐛 Config profile: Respect the profile parameter from configuration files—previously only the CLI argument was honored.
  • 🐛 Parsing of missing precursor data: Correct handling of spectrum files with missing precursor information—previously, precursor data were parsed even when not required by the configured feature generators.
  • 🐛 XGBoost & CUDA environment: Avoid incompatibility between CUDA_VISIBLE_DEVICES and XGBoost (Windows crash when set to -1) that could lead to a crash without error messages.
  • 🐛 NumPy 2 compatibility: Replace Inf/np.Inf usage with inf to maintain compatibility with NumPy 2.0.

Full Changelog: v3.1.5...v3.2.0

v3.1.5

15 Apr 15:56

Choose a tag to compare

Fixed

  • 🐛 Fixed compatibility with Numpy 2: Usage of np.inf instead of `np.Inf (PR #224, fixes #219)

v3.2.0.dev2

02 Apr 09:45
8d9f032

Choose a tag to compare

v3.2.0.dev2 Pre-release
Pre-release

What's Changed

  • Fix silent crash due to XGBoost-CUDA environment variable incompatibility by @RalfG in #216
  • Update pyproject.toml, version bump IM2Deep by @rodvrees in #214
  • Add IM2Deep to citations GUI by @rodvrees in #215
  • CI: Update action versions by @RalfG in #217

Full Changelog: 3.2.0.dev1...v3.2.0.dev2

3.2.0.dev1

15 Jan 14:24

Choose a tag to compare

3.2.0.dev1 Pre-release
Pre-release

What's Changed

  • Switch to FlashLFQ output from psm_utils by @RalfG in #186
  • Support gzipped spectra files (and Thermo raw!) by @paretje in #184
  • Refactor parsing of precursor data from spectrum files by @RalfG in #162

Still planned for 3.2.0, but not yet included

  • Spectrum feature generator and Mumble integration (#178)

Full Changelog: v3.1.4...3.2.0.dev1

v3.1.4

04 Dec 16:42

Choose a tag to compare

Fixed


Full Changelog: v3.1.3...v3.1.4

v3.1.3

02 Oct 08:59

Choose a tag to compare

Fixed

  • 📌 Pin DeepLC version to <3.1, avoiding calibration bug by @RalfG in #198
  • 📌 Pin pyOpenMS (upstream dependency for psm_utils) (see OpenMS/OpenMS#7600) by @RalfG in #199
  • 📝 Fix incorrect decoy pattern configuration in documentation example by @rodvrees in #191
  • 🐛 Fix UnicodeEncodeError when running IM2Deep (similar to DeepLC issue #188) @ArthurDeclercq in #195

Full Changelog: v3.1.2...v3.1.3

v3.1.2

18 Sep 07:16
b1e23f3

Choose a tag to compare

Changed

  • 🚸 GUI: Improve user experience with descriptions, open report upon finishing, etc. (#175)
  • ⬆️ Update dependency versions; drop support for Python 3.8 (required for TensorFlow versions; EOL soon) (#189)

Fixed

  • 🚨 Fix ruff linting for tutorial notebook (was not checked by previous versions of Ruff) (#180)
  • 📝 Minor documentation updates: Update overview figure; refer to ms2rescore.rescore in Python API tutorial; remove v3.0 warning in readme (#181)
  • 📝 Fix README URLs to documentation pages (#187)
  • 🐛 Fix bug where the default TIMS²Rescore configuration items always overwrote user configuration (#176)
  • 🐛 Fix non-descriptive IndexError in Qvality when PEP cannot be calculated (see statisticalbiotechnology/triqler#29). To be updated when addressed upstream. (#182, fixes #165)
  • 🐛 Fix UnicodeEncodeError when running DeepLC with transfer learning (#188, fixes #183 and #185)

v3.1.1

14 Aug 09:46
4215f8d

Choose a tag to compare

Fixed


Deployment

  • 🚀 From this release onward, Docker images will be build and pushed to GHCR (by @paretje in #167)

New Contributors

Full Changelog: v3.0.2...v3.1.1

v3.1.0

21 Jul 18:54
7ccb280

Choose a tag to compare

Added

  • ✨ New tims2rescore CLI entrypoint with TIMS-specific configuration defaults
  • IM2Deep feature generator for ion mobility
  • ✨ Support for Bruker raw (.d) and miniTDF formats (was also back-ported to v3.0.3)
  • psm_id_rt_pattern and psm_id_im_pattern: New options to allow parsing of RT/IM from PSM file spectrum identifiers.
  • max_psm_rank_input and max_psm_rank_output: New options to control rescoring and reporting of multiple PSMs per spectrum (default 5 and 1)
  • ✨ Also store peptide-level q-value and PEPs in the output PSM list, under the metadata field.
  • profile option to write a cProfile report of the rescoring process (for debugging)
  • ✨ Option to pass train_fdr to Mokapot (test_fdr was already supported as kwarg)
  • ⚡ Faster spectrum file reading with timsrust and mzdata Rust libraries
  • 📝 Add TIMS²Rescore docs and citation on README; more detailed docs on formula modifications

Changed

  • 👷 CI: Lint with ruff instead of flake8
  • ⚡ DeepLC: By default use PSMs initially passing 1% FDR threshold for calibration instead of a fixed number
  • 🔊 DeepLC: Throw warning when using deeplc_retrain with less than 500 calibration PSMs
  • 🔊 Raise exception if missing precursor info (retention time or ion mobility) could not found in both PSM and spectrum files.
  • ⬆️ Update (and sort) dependencies in pyproject.toml
  • 📦 Dockerfile: Use Python 3.11 base image instead of Ubuntu
  • 🔧 Config: Change write_report default value from true to false

Fixed

  • 🐛 Report: Fix calculation of number of retained peptides in identification overlap chart
  • 🐛 DeepLC: Fix issue with conversion to PEPREC (fixes #108, fixes #113)
  • 🐛 Fix bug in infer_spectrum_path if path in configuration is None
  • 🐛 Fix bug that always set im_required to True, even if no IM-based feature generators were configured.

Full Changelog: v3.0.3...v3.1.0