Skip to content

Releases: CompOmics/psm_utils

v1.5.5

Choose a tag to compare

@RalfG RalfG released this 05 Jun 10:56
cfc1c55

Fixed

  • io.pepxml: Fix a TypeError when none of the standard search engine scores are found and the fallback (score_keys[0]) is accessed (fixes #150)

Changed

  • Pin version bounds for all core dependencies. Most notably, pyteomics is now constrained to < 5 to avoid breaking changes introduced in the upcoming major release.

Full Changelog: v1.5.4...v1.5.5

v1.5.4

Choose a tag to compare

@RalfG RalfG released this 13 May 13:34

Same release as v1.5.3 due to a versioning error.

v1.5.3

Choose a tag to compare

@RalfG RalfG released this 13 May 13:30
dcfa1e4

Fixed

  • io.fragpipe: Fix parsing of modifications (support both splitting on , and , ).
  • io.tsv: Fix empty string values in provenance_data and metadata being lost (converted to None) when reading TSV files; empty rescoring feature values are now parsed as NaN (fixes #145).

v1.5.2

Choose a tag to compare

@RalfG RalfG released this 12 Feb 12:47
22e6442

Fixed

  • io.pepxml: Fix inferring score when first spectrum_query item does not have search_hit items (fixes #142)

v1.5.1

Choose a tag to compare

@RalfG RalfG released this 22 Dec 15:50
c5960ee

Fixed

  • io.idxml: Fix compatibility with pyOpenMS 3.5+ for PeptideIdentificationList handling (also see OpenMS/OpenMS#8552).
  • io.percolator: Fix missing ScanNr values when using write_file (fixes CompOmics/ms2rescore#235).
  • io.percolator: Fix missing style argument when checking whether PercolatorTabWriter supports write_psm.
  • io.pepxml: Fix robustness of PepXMLReader against missing params in file.

Full Changelog: v1.5.0.post1...v1.5.1

v1.5.0.post1

Choose a tag to compare

@RalfG RalfG released this 28 Oct 20:51
19a657d

Fixed

  • 🐛 io.cbor: Fixed lazy import of optional cbor2 package.

v1.5.0

Choose a tag to compare

@RalfG RalfG released this 27 Oct 22:05

Added

  • io: Read/write support for JSON and CBOR formats. (#129)
  • io.percolator: Added support for Comet-style N- and C-terminal modifications (#121 and #131 by @ATPs)

Changed

  • ♻️ stats.qvalues: Set the regular target–decoy formula explicitly in Pyteomics when remove_decoy=False and apply the +1 correction (probability that the first excluded decoy out-scores the threshold PSM). This produces less overly conservative q-values (e.g., on example_files/msms.txt). (#128)
  • ♻️ io.pepxml: Refactor spectrum naming logic to prefer spectrumNativeID when available (#122 by @julianu)
  • 🏷️ Typing: Adopted full MyPy typing across the codebase. (#125)
  • 👷 CI: Replaced file-hash–based tests for io.idxml with unit tests; added formatting checks. (#125)

Removed

  • 💥 Dropped support for Python 3.9. (#125)

Fixed

  • 🐛 io.mzid: Treat MS:1001460 “unknown modification” as a delta-mass–designated modification in peptidoforms so mass calculations remain possible. Previously rendered as [unknown modification]. (#126 by @levitsky)
  • 🐛 io.fragpipe: Build more comprehensive ProForma strings using “Assigned Modifications” from FragPipe output. (fixes #123; #124 by @levitsky)
  • 🐛 peptidoform: Allow residue X with a MassModification to indicate a gap of known mass per ProForma §4.2.7; resolves failures computing theoretical mass for non-natural residues (fixes #127). (#130)

Full Changelog: v1.4.1...v1.5.0

v1.4.1

Choose a tag to compare

@RalfG RalfG released this 15 Apr 16:13
95e8218

Fixed

  • Restored compatibility with older Sage versions that have no ion mobility columns (introduced in v1.4.0) (by @rodvrees in #120)

Full Changelog: v1.4.0...v1.4.1

v1.4.0

Choose a tag to compare

@RalfG RalfG released this 06 Mar 14:57
eaa27c3

Added

  • io.sage: Add parsing of ion mobility values (PR #113)

Fixed

  • 🐛 io.percolator: Fix bug in PercolatorTabWriter where style parameter was not propagated (fixes #114, PR #117)
  • 📝 Docs: Explicitly set Sphinx configuration path for Read the Docs (fixes #115, PR #118)

New Contributors

Full Changelog: v1.3.0...v1.4.0

v1.3.0

Choose a tag to compare

@RalfG RalfG released this 20 Jan 10:29
224f401

Added

  • io.idxml: Parse ion mobility from idXML files if present.
  • 🐍 Added support for Python 3.12 and 3.13

Removed

  • 🐍 Removed support for Python 3.7

Fixed

  • 🐛 Fix bug introduced in #102 where dtypes were not coerced anymore by Numpy, which lead to unexpected behavior downstream (e.g., psm_list["is_decoy"] would return an array of objects instead of bools)
  • 🩹 Fix potential downstream issues because pepxml-read PSM had rescoring_features=None (partially fixes #108)

Full Changelog: v1.2.0...v1.3.0