Skip to content

Releases: compomics/psm_utils

v0.9.0

01 May 13:14
Compare
Choose a tag to compare

Added

  • io: Read and write support for writing PSMs to Apache Parquet for efficient storage of PSM lists.
  • io.sage: Support for Sage results in Parquet format (new SageParquetReader, renamed SageReader to SageTSVReader).

Changed

  • Upgrade Pydantic dependency to v2. The PSM spectrum_id field is now always coerced to a string.
  • io.proteoscape: Use pyarrow to iteratively read from Parquet instead of first reading an entire dataframe with Pandas.
  • io.sage: Update compatibility to Sage v0.14
  • Remove temporary patch for caching Proforma modification resolvers (now in Pyteomics v4.7.2).

Full Changelog: v0.8.3...v0.9.0

v0.8.3

16 Apr 20:29
0a063f2
Compare
Choose a tag to compare

Added

  • Speed up mass calculation for large datasets by caching Proforma modification resolvers.
    Temporary patch until implemented in Pyteomics (see levitsky/pyteomics#147).

Changed

  • Project infrastructure changes: Switch from Flit to Setuptools, use Ruff for linting on GitHub Actions, fix CodeCov.

Full Changelog: v0.8.2...v0.8.3

v0.8.2

05 Apr 12:06
Compare
Choose a tag to compare

Added

  • io.proteoscape: Parse filename into PSM run field.

Full Changelog: v0.8.1...v0.8.2

v0.8.1

29 Mar 10:23
Compare
Choose a tag to compare

Added

  • io.proteoscape: Allow ProteoScapeReader instantiation from Pandas DataFrame and access PSM by index.

Fixed

  • Remove accidental print statement.
  • io.idxml: Fixed parenthesis in type hint

Changed

  • io.idxml: Filter OPENMS_DATA_PATH warnings (see compomics/ms2rescore#129 and OpenMS/OpenMS#7418)
  • io.proteoscape: Rename module from TIMScore to ProteoScape.
  • io.proteoscape: Use correct search engine score (x_corr_score instead of tims_score)

Full Changelog: v0.8.0...v0.8.1

v0.8.0

27 Mar 15:38
Compare
Choose a tag to compare

Added

  • io.timscore: Add support for TIMScore Parquet files.

Fixed

  • Fixed _csv.Error: field larger than field limit (131072) for very large fields when reading CSV-based PSM files.
  • Pinned Pyteomics version to avoid pickling issues in multithreading (to be investigated)

Full Changelog: v0.7.4...v0.8.0

v0.7.4

18 Mar 17:34
Compare
Choose a tag to compare

Added

  • Peptidoform: Support adding and applying global terminal modifications. For now using a
    workaround while waiting for official support and an implementation in Pyteomics. See
    HUPO-PSI/ProForma#6.

Full Changelog: v0.7.3...v0.7.4

v0.7.3

04 Mar 10:51
Compare
Choose a tag to compare

Changed

  • io.xtandem: Parse double mass modifications as double modification instead of merging and summing mass shifts into a single modification.
  • io.xtandem: Avoid float formatting issues when parsing modification mass label.
  • io.xtandem: Parse all proteins into protein_list instead of only the first one.
  • io.tsv: Log error instead of raising exception when a TSV row cannot be parsed.

Full Changelog: v0.7.2...v0.7.3

v0.7.2

29 Nov 16:15
3d88c2f
Compare
Choose a tag to compare

Fixed

  • io.xtandem: Fixed bug when extracting run name (introduced in v0.7.0) (#63)

v0.7.1

30 Oct 22:19
Compare
Choose a tag to compare

Added

  • Tests: Added tests for _format_number_as_string function
  • Tests: Added more test cases for peptidoform.rename_modifications for mass modifications
  • io.xtandem: To parse run value, fall back to PSM file name if run name cannot be parsed from label field

Fixed

  • peptidoform.rename_modifications: Fixed mapping of negative mass modifications
  • io.xtandem: Fixed regular expression to parse run value fom XML label field
  • io.idxml: Fix handling multiple types in rescoring_features when writing (fixes #60)

Full Changelog: v0.7.0...v0.7.1

v0.7.0

25 Oct 19:08
Compare
Choose a tag to compare

Added

  • io.idxml: Write support for idXML files, including merging an existing idXML with a PSMList 🎉
  • io.xtandem: New argument score_key to select which score to parse as PSM.score.
  • io.xtandem: Parse run name from X!Tandem PSM files
  • Docs: Add intersphinx links to other package documentation pages.

Changed

  • io.idxml: Use pyOpenMS instead of Pyteomics for reading idXML (~5x faster⚡)

Fixed

  • Fix reading of pepXML files without RT
  • Fixed Black formatting throughout project