Releases: snijderlab/rustyms
v0.9.0-alpha.3p
This is a retry of alpha 3 as the last time the Python release failed.
v0.9.0-alpha.3
Third alpha release for v0.9.0. This release adds the following major points:
- Safer API for peptides, peptidoforms, and compound peptidoforms
- Added general open peptides file function
- Added many new identified peptides file formats (MZTab, more peaks versions, deepnovo, powernovo, novob, pgpointnovo, pointnovo, plink, instanovo)
- Many many bug fixes
- Optimised memory usage, mostly for identified peptides file (should expect ~20% of the original memory usage)
For a full run down of the changed API use 'cargo-public-api' (this changelog is too big for inclusion here).
v0.9.0-alpha.2
This is the second alpha release for v0.9.0
. Below are the changes compared to v0.9.0-alpha.1
.
- Updated complexity API, any
LinearPeptide
,SequenceElement
, andCheckedAminoAcid
now has its maximal complexity tracked. This changes many functions on these elements, but should be straightforward to change. - Added a simple function to open any identified peptides file (see
open_identified_peptides_file
) - Updated Unimod, GNOme, and IMGT to the newest versions
- Updated the documentation
- Fixed some bugs
For all changes since v0.8.3
also see the previous alpha release.
v0.9.0-alpha.1
Alpha release for v0.9.0. This release adds the following major points:
- Integration with mzdata for raw file handling
- Full ProForma 2.0 compliance by adding support for cross-links
- More control over fragmentation model
- More identified peptide file formats (now allows Fasta, MaxQuant, MSFragger, Novor, OPair, Peaks, and Sage)
- Updated and somewhat expanded Python bindings
- More reliability thanks to fuzzing efforts
Many of these introduce breaking changes so any code written for earlier version will needs some (minor to medium) revisions. If there is anything unclear please reach out.
For a full run down of the changed API use 'cargo-public-api' (this changelog is too big for inclusion here).
This is an alpha release with the intent to release a stable version in a couple of weeks. The major fields of potential breaking changes in the mean time are:
- Integration with mzdata, where more tight integration with the spectrum types will be experimented with.
- The API for linear peptides, this will be changed to enforce the peptide simplicity rules.
- There might be more identified peptide file formats added which might need some small changes to the underlying structures.
- The Python API is not envisioned to change but requests for adding bindings to more of the Rust side logic could be accepted.
Python hotpatch
v0.8.3.1 Update Cargo.toml
Version 0.8.3
- Fixed output of some Pro Forma features, notable charge and adduct ions
- Updated models to be more cohesive, added more neutral losses where they are expected
- Added
Modification::ontology_url
to get the url for modifications from ontologies - Added
Modification::search
which searches for ontology modifications matching the modification given - Updated ontologies and IMGT database
Version 0.8.2
- Added python bindings (thanks to @RalfG)
- Added
MultiChemical::charge
- Added
MolecularFormula::from_pro_forma
(was private) - Added
MolecularFormula::from_psi_mod
(was private) - Made
MolecularCharge
public - Updated IMGT database, notably improved for Human IGHA1&2
Version 0.8.1
Very small patch, as docs.rs
broke on doc_cfg
. doc_cfg
has been removed across the board.
Version 0.8.0
First of all, this is a big update in terms of affected API. Many functions have been renamed/moved/updated. All functionality is still available, but any code that uses rustyms needs some manual updates.
Here is a shortlist of the most important things that have changed, if you want a full list check out cargo-public-api:
- Alignment is more robust and allows for more settings, either global and different matrices are notable additions
- All germline sequences from IMGT are now included as well as methods of iterating over them
- Many more things now support Eq+Ord+Hash thanks to use of the ordered-float crate
- Many tuple results have been refactored to be small structs with named fields
- Amino acids now have different property classes defined
- The functions have been updated to handle ambiguous amino acids throughout so using B/Z now will never crash
Version 0.7.0
- Added custom placement rules for building blocks and isobaric set generation
- Added support for terminal modifications in building blocks and isobaric set generation
- Added support for a custom AA alphabet for building blocks and isobaric set generation
- Added support for selecting a base sequence (possibly based on immonium ions) for building blocks and isobaric set generation
- Added
.assume_simple()
forLinearPeptide
- Added
AminoAcid::from_dna()
- Added conversions into linear and complex peptides
- Added implementation for many more common traits as well as serde serialisation
- Added support for MaxQuant & MaxNovo files
- Added
.binary_search_slice()
onRawSpectrum
(based on rusteomics) - Refactored the CSV based file formats to use column names instead on indices for more robust identification file support
- Bug fixes (ppm for negative numbers works now, no crash on noise filter for empty spectrum)