Releases: rusteomics/mzcore
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, note that many functions and types are renamed
- More control over fragmentation model
- Many more identified peptide file formats
- Updated and somewhat expanded Python bindings
- More reliability thanks to fuzzing efforts
- Updated complexity API, any Peptidoform (formerly LinearPeptide), SequenceElement, and CheckedAminoAcid 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
- Many many bug fixes
- Optimised memory usage, mostly for identified peptides file (should expect ~20% of the original memory usage)
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).
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