Skip to content

Releases: CompOmics/psm_utils

v0.4.0

Choose a tag to compare

@RalfG RalfG released this 06 Jul 21:09

Changelog

Added

  • Add + operator support for PSMList
  • Add utility functions for m/z-mass conversion in new module psm_utils.utils
  • peptidoform: Catch ProFormaError and reraise PeptidoformException with invalid peptidoform in message

Changed

  • io.msamanda: Changed REQUIRED_COLUMNS to include new features from the MS Amanda output CSV file (thanks, @louisebuur!)
  • io.peptide_recordCatch the IndexError when a modification has a position that is out of range for the peptide, and raise an InvalidPeprecModificationError instead. (thanks, @paretje!)
  • Rename optional dependency doc to docs
  • Implement "raise from e" when applicable throughout package

Fixed

  • Added missing io.msamanda API docs

New Contributors

Full Changelog: v0.3.1...v0.4.0

v0.3.1

Choose a tag to compare

@RalfG RalfG released this 19 Jun 15:53

Changed

v0.3.0

Choose a tag to compare

@RalfG RalfG released this 14 Jun 14:20

Added

  • io: Add reader for Sage PSM files.
  • io.mzid: Add reading/writing of PEP and q-values (might not always work yet due to the many ways of encoding these values in mzIdentML; please provide feedback)

Changed

  • psm: The default values of PSM.provenance_data, PSM.metadata and PSM.rescoring_features are now dict() instead of None.
  • PSMList: Also allow Numpy integers for indexing a single PSM
  • io.mzid.MzidReader: Attempt to parse retention time or scan start time cvParams from both SpectrumIdentificationResult as SpectrumIdentificationItem levels. Note that according to the mzIdentML specification document (v1.1.1) neither cvParams are expected to be present at either level.
  • io.mzid.MzidReader: Prefer spectrum title cvParam over spectrumID attribute for PSM.spectrum_id as these titles always match to the peak list files. In this case, spectrumID is saved in metadata["mzid_spectrum_id"]. Fall back to spectrumID if spectrum title is absent.
  • io.mzid.MzidWriter: PSM.retention_time is now written as cvParam retention time instead of scan start time, and to the SpectrumIdentificationItem level instead of the SpectrumIdentificationResult level, as theoretically in psm_utils, multiple PSMs for the same spectrum can have different values for retention_time.
  • io.mzid.MzidWriter: Write PSM score as cvParam search engine specific score instead of userParam score.
  • io.percolator.PercolatorTabWriter: For PIN-style files: Use SpecId instead of PSMId and write PSMScore and ChargeN columns by default.
  • Filter warnings from psims.mzmlb on import, as mzmlb is not used

Fixed

  • psm: Fix missing qvalue and pep in docstring
  • peptidoform: ProForma mass modifications are now correctly parsed within the rename_modifications function.
  • io.maxquant.MSMSReader: Correctly parse empty Proteins column to None
  • io.percolator.PercolatorTabReader: Correctly parse Percolator peptidoform notation if no leading or trailing amino acids are present (e.g. .ACDK. instead of K.ACDK.E).
  • io.percolator.PercolatorTabWriter: ScanNr is now correctly written as an integer counting from the first PSM in the file.
  • io.percolator.PercolatorTabWriter: If no protein information is present, write the peptidoform preceded by PEP_ to the Proteins column.
  • io.idxml: Read metadata as strings
  • io.mzid.MzidReader: Set PSM.retention_time to None instead of float('nan') if missing from the PSM file.
  • io.mzid: Fix reading of file if charge is missing
  • io.mzid: Fix writing if protein_list is None
  • io.mzid: Consider all PeptideEvidence entries for a SpectrumIdentificationItem to determine is_decoy
  • io.mzid: Fix handling of mzIdentML files when is_decoy field is not present (fixes #30)
  • io.tsv: Raise PSMUtilsIOException with clear error message when TSV protein_list cannot be read

v0.2.3

Choose a tag to compare

@RalfG RalfG released this 08 Mar 21:07

Fixed

  • Fix bug in io._base_classes (introduced in v0.2.2)
  • Fix bug in io.TSVReader for reading TSV files with empty protein_list

v0.2.2

Choose a tag to compare

@RalfG RalfG released this 08 Mar 19:33

Fixed

  • io.peptide_record: Fix bug where provenance item filename was not a string
  • Various minor fixes after linting

v0.2.1

Choose a tag to compare

@RalfG RalfG released this 17 Jan 16:47
d90fe30

Added

  • Peptidoform: Add is_modified property

Fixed

  • io.mzid: Fix issues when parsing Comet or MSAmanda-generated mzIdentML files and certain fields are missing.

v0.2.0

Choose a tag to compare

@RalfG RalfG released this 12 Nov 18:30
b231291

Added

  • PSM: Add ion_mobility field
  • PSMList: Allow slicing with bool arrays (e.g., psm_df[psm_df["retention_time"] < 2000])
  • rename_modifications: Add support for fixed modifications
  • Add example files
  • Online: Add support for GZipped files
  • Online: Add support for logarithmic score (e.g. e-values)
  • Docs: Extend contributing with example contributions
  • Docs: Add notes to PSM.get_usi() method
  • Docs: Extend quickstart on PSMList
  • Docs: Add "psm_utils tags" for file formats, as used in high-level read/write/convert functions
  • Docs: Peptide Record: add notes on unsupported modification types; add example for C-terminal modification
  • Docs: More clearly document conversion to DataFrame
  • Docs: Add bioconda install instructions
  • Docs: Add citation for preprint
  • Tests: Added tests for PSMList set_ranks and get_rank1_psms methods

Changed

  • PSMList: Refactor set_ranks and get_rank1_psms methods
  • Update .vscode/settings.json
  • Typing: Replace Union with OR operator |
  • Online: Use percentiles instead of randomly sampling for PP plot
  • Docs: Force TOC-tree max depth
  • Tests: Expand unit tests in general

Fixed

  • PSMList: Truncate repr to first five entries only, avoiding crashing notebook output
  • Peptidoform: Minor typing fix
  • add_fixed_modifications: Allow input as dict as well as list of tuples
  • io: Fix issue where the NamedTemporaryFile for _supports_write_psm was seen as invalid Percolator file
  • io.convert: pass progressbar argument to class, not write_file
  • io.mzid: Add more supported MS-GF score names, make SpecEValue default
  • io.peptide_record: spec_id is now a required column (spectrum_id is also required in PSM)
  • io.peptide_record: Fix parsing of C-terminal modifications from proforma to peprec
  • io.percolator: Fix Percolator peptide notation writing (fixes #18)
  • io.tsv: Fix issue where TSVReader would not use string type for metadata
  • io.xtandem: Fix issue where optional arguments were not accepted by XTandemReader
  • io.xtandem: Do not split spectrum title on space
  • io.xtandem: Fix issue where optional arguments were not accepted by XTandemReader
  • Online: Fix pi-0 diagonal calculation
  • Remove obsolete to do comments in code

v0.1.0

Choose a tag to compare

@RalfG RalfG released this 14 Oct 11:48

Added

  • Initial version