Releases: compomics/psm_utils
Releases · compomics/psm_utils
v1.3.0
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
v1.2.0
Added
- ✨
io.alphadia
: Read support for AlphaDIAprecursors.tsv
(#103 by @rodvrees) - ✨
io.fragpipe
: Read support for FragPipepsm.tsv
(#103 by @rodvrees) - ✨
io.diann
: Read support for DIA-NN TSV (#103 by @rodvrees)
Changed
- 💥
psm_list
: When returning a PSM property across the full PSMList (e.g.psm_list["peptidoform"]
),np.fromiter
is now used instead ofnp.array
. This fixes an issue where if all peptidoforms have the same length, a 3D array of parsed sequences (amino acids and modifications) was be returned instead of an array ofPeptidoform
object. However, this does mean that all resulting arrays will have theobject
dtype instead of the previously coerced dtypes. This might lead to issues downstream. (#102) - ➖
io.idxml
: Make pyOpenMS an optional dependency, working around OpenMS/OpenMS#7600 for now. Foridxml
support, install psm_utils with theidxml
extra dependencies. (#107 by @paretje)
Fixed
- 🐛
io.pepxml
: Fix modification location and mass parsing. Position had an off-by-one error and the reported mass was the sum of the residue and modification instead of the modification alone. (fixes #100, #104)
New Contributors
Full Changelog: v1.1.1...v1.2.0
v1.1.1
Fixed
io
: Fix Sage filename pattern for automatic file type inference by @RalfG in #98io.flashlfq
: Fix writing PSMs without protein accession by @RalfG in #98io.flashlfq
: Fix column namesPeptide Monoisotopic Mass
andProtein Accession
by @RalfG in #97io.idxml
: Fix parsing if spectra file name not present by @jonasscheid in #99
Full Changelog: v1.1.0...v1.1.1
v1.1.0
v1.0.1
v1.0.0
Added
peptidoform
: Allow comparison between a peptidoform and a peptidoform string; allow direct indexing with square brackets, which indexes or slices parsed_sequence (in #89)
Fixed
io.tsv
: Avoid flooding logs when reading a different file format by raising exception when three consecutive rows could not be parsed (in #88)
v0.9.1
Fixed
io.xtandem
: Fix parsing PSMs and complete protein names in XTandem (by @julianu in #83)io.tsv
: Fix warning formatting when parsing TSV (by @paretje in #85)io
: Fix support for mzIdentML and pepXML files from Comet (by @paretje in #87)
New Contributors
Full Changelog: v0.9.0...0.9.1
Important
This version was not correctly released to PyPI.
v0.9.0
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 (newSageParquetReader
, renamedSageReader
toSageTSVReader
).
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
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