Changelogο
Changelogο
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.7.0] - 2023-10-25ο
### 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 filesDocs: 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
[0.6.1] - 2023-10-25ο
Fixedο
io.pepxml
: Fix reading pepXML files without retention time information.
[0.6.0] - 2023-10-19ο
Addedο
io
: Added newio.pepxml
reader
Fixedο
Docs: Add ionbot to README.rst, fix order in API docs
[0.5.0] - 2023-09-20ο
Addedο
Peptidoform
: Added support foriter()
andlen()
methodsPeptidoform
: Added support for initialization from apyteomics.proforma.ProForma
objectPSM
: Addprecursor_mz_error
propertyPSMList
: Added support forappend()
andextend()
methods.io
: Added newio.ionbot
readerio
: Added support for Proteome Discoverer MSF filesio.mzid
: Parse inverse reduced ion mobility from mzid files (e.g. from PEAKS)io.mzid
: Add support for user to define custom score keyio.mzid
: AddProteome Discoverer Delta Score
to known scores (with spaces, no colons)io.mzid
: Allow inconsistent presence of score in PSMs in a single mzid file
Changedο
PSM
: Values of therescoring_features
dictionary are now coerced to floatsio: Raise
PSMUtilsIOException
when passed filetype is not knownio
: Make io readerread_file
method inheritable (code cleanup)io.mzid
: Throw warning when no known score can be parsed from mzid file instead of errorio.mzid
: Move spectrum level parsing of rt and ion mobility to functionio.mzid
: GivePeptideShaker PSM score
priority over other potential search engine scores (required for correct PeptideShaker mzid parsing)io.percolator
: Add option to writePSMScore
andChargeN
as features to PIN file. Default is nowFalse
.Formatting: Increase max line length to 99 (code formatting)
Fixedο
PSMList
: Fix issue wherepsm_list["protein_list"]
resulted in a Numpy error due to the inconsistent shape of the lists.io.tsv
: Throw more descriptivePSMUtilsIOException
when handeling tsv errorsio.msamanda
: Fix support for N/C-terminal modificationsio.Percolator.PercolatorTabWriter
: Allow rescoring features that are not infeature_names
(extrasaction
is now specified inDictWriter
)Use raw strings for escape characters where needed
Fix compatibility with sqlalchemy 2.0 (move of
declarative_base
)online: Remove useless == True
docs: Set newer
build>os
configuration for readthedocs.orgCI: Upgrade Github action versions
[0.4.1] - 2023-07-06ο
Fixedο
PSMList
: Revert comparison operator change from v0.4.0 that results in brokencalculate_qvalues()
method (E711; Numpy array, not singleton)
[0.4.0] - 2023-07-06ο
Addedο
Add + operator support for
PSMList
Add utility functions for m/z-mass conversion in new module
psm_utils.utils
peptidoform
: CatchProFormaError
and reraisePeptidoformException
with invalid peptidoform in message
Changedο
io.msamanda
: ChangedREQUIRED_COLUMNS
to include new features from the MS Amanda output CSV fileio.peptide_record``Catch the ``IndexError
when a modification has a position that is out of range for the peptide, and raise anInvalidPeprecModificationError
instead.Rename optional dependency
doc
todocs
Implement βraise from eβ when applicable throughout package
Fixedο
Added missing
io.msamanda
API docs
[0.3.1] - 2023-06-19ο
Changedο
io.sage
: Changespectrum_fdr
tospectrum_q
(crf. lazear/sage#64).
[0.3.0] - 2023-06-08ο
Addedο
Add reader for Sage PSM files.
io.mzid
: Add reading/writing of PEP and q-values
Changedο
psm
: The default values ofPSM.provenance_data
,PSM.metadata
andPSM.rescoring_features
are nowdict()
instead ofNone
.PSMList
: Also allow Numpy integers for indexing a single PSMio.mzid.MzidReader
: Attempt to parseretention time
orscan 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
: Preferspectrum title
cvParam overspectrumID
attribute forPSM.spectrum_id
as these titles always match to the peak list files. In this case,spectrumID
is saved inmetadata["mzid_spectrum_id"]
. Fall back tospectrumID
ifspectrum title
is absent.io.mzid.MzidWriter
:PSM.retention_time
is now written as cvParamretention time
instead ofscan start time
, and to theSpectrumIdentificationItem
level instead of theSpectrumIdentificationResult
level, as theoretically in psm_utils, multiple PSMs for the same spectrum can have different values forretention_time
.io.mzid.MzidWriter
: Write PSM score as cvParamsearch engine specific score
instead of userParamscore
.io.percolator.PercolatorTabWriter: For PIN-style files: Use
SpecId
instead ofPSMId
and writePSMScore
andChargeN
columns by default.Filter warnings from
psims.mzmlb
on import, asmzmlb
is not used
Fixedο
psm
: Fix missing qvalue and pep in docstringpeptidoform
: ProForma mass modifications are now correctly parsed within therename_modifications
function.io.maxquant.MSMSReader
: Correctly parse emptyProteins
column toNone
io.percolator.PercolatorTabReader
: Correctly parse Percolator peptidoform notation if no leading or trailing amino acids are present (e.g..ACDK.
instead ofK.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 byPEP_
to the Proteins column.io.idxml
: Read metadata as stringsio.mzid.MzidReader
: SetPSM.retention_time
toNone
instead offloat('nan')
if missing from the PSM file.io.mzid
: Fix reading of file if charge is missingio.mzid
: Fix writing if protein_list is Noneio.mzid
: Consider allPeptideEvidence
entries for aSpectrumIdentificationItem
to determineis_decoy
io.mzid
: Fix handling of mzIdentML files whenis_decoy
field is not present (fixes #30)io.tsv
: RaisePSMUtilsIOException
with clear error message when TSVprotein_list
cannot be read
[0.2.3] - 2023-03-08ο
Fixedο
Fix bug in
io._base_classes
(introduced in v0.2.2)Fix bug in TSVReader for reading TSV files with empty protein_list
[0.2.2] - 2023-03-08ο
Fixedο
io.peptide_record
: Fix bug where provenance itemfilename
was not a stringVarious minor fixes after linting
[0.2.1] - 2023-01-17ο
Addedο
Peptidoform
: Addis_modified
property
Fixedο
io.mzid
: Fix issues when parsing Comet or MSAmanda-generated mzIdentML files and certain fields are missing.
[0.2.0] - 2022-11-12ο
Addedο
PSM
: Addion_mobility
fieldPSMList
: Allow slicing with bool arrays (e.g.,psm_df[psm_df["retention_time"] < 2000]
)rename_modifications
: Add support for fixed modificationsAdd 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()
methodDocs: 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
andget_rank1_psms
methods
Changedο
PSMList
: Refactorset_ranks
andget_rank1_psms
methodsUpdate
.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 outputPeptidoform
: Minor typing fixadd_fixed_modifications
: Allow input as dict as well as list of tuplesio
: Fix issue where theNamedTemporaryFile
for_supports_write_psm
was seen as invalid Percolator fileio.convert
: passprogressbar
argument to class, notwrite_file
io.mzid
: Add more supported MS-GF score names, make SpecEValue defaultio.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 peprecio.percolator
: Fix Percolator peptide notation writing (fixes #18)io.tsv
: Fix issue whereTSVReader
would not use string type for metadataio.xtandem
: Fix issue where optional arguments were not accepted byXTandemReader
io.xtandem
: Do not split spectrum title on spaceio.xtandem
: Fix issue where optional arguments were not accepted byXTandemReader
Online: Fix pi-0 diagonal calculation
Remove obsolete to do comments in code
[0.1.0] - 2022-10-14ο
Addedο
Initial version