Releases: compomics/psm_utils
Releases · compomics/psm_utils
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
v0.8.2
v0.8.1
Added
io.proteoscape
: AllowProteoScapeReader
instantiation from Pandas DataFrame and access PSM by index.
Fixed
- Remove accidental print statement.
io.idxml
: Fixed parenthesis in type hint
Changed
io.idxml
: FilterOPENMS_DATA_PATH
warnings (see compomics/ms2rescore#129 and OpenMS/OpenMS#7418)io.proteoscape
: Rename module fromTIMScore
toProteoScape
.io.proteoscape
: Use correct search engine score (x_corr_score
instead oftims_score
)
Full Changelog: v0.8.0...v0.8.1
v0.8.0
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
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
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 intoprotein_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
v0.7.1
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 parserun
value, fall back to PSM file name if run name cannot be parsed fromlabel
field
Fixed
peptidoform.rename_modifications
: Fixed mapping of negative mass modificationsio.xtandem
: Fixed regular expression to parserun
value fom XMLlabel
fieldio.idxml
: Fix handling multiple types inrescoring_features
when writing (fixes #60)
Full Changelog: v0.7.0...v0.7.1
v0.7.0
Added
io.idxml
: Write support for idXML files, including merging an existing idXML with aPSMList
🎉io.xtandem
: New argumentscore_key
to select which score to parse asPSM.score
.io.xtandem
: Parserun
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