Skip to content

Releases: snijderlab/rustyms

v0.9.0-alpha.2

13 Sep 14:49
f1e65ac
Compare
Choose a tag to compare
v0.9.0-alpha.2 Pre-release
Pre-release

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, 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
  • Fixed some bugs

For all changes since v0.8.3 also see the previous alpha release.

v0.9.0-alpha.1

03 Sep 11:09
9fa6eee
Compare
Choose a tag to compare
v0.9.0-alpha.1 Pre-release
Pre-release

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

18 Mar 16:28
b1f2dc5
Compare
Choose a tag to compare
v0.8.3.1

Update Cargo.toml

Version 0.8.3

18 Mar 15:14
70f5c64
Compare
Choose a tag to compare
  • 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

22 Feb 13:07
a829acb
Compare
Choose a tag to compare
  • 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

17 Feb 09:53
2f834cf
Compare
Choose a tag to compare

Very small patch, as docs.rs broke on doc_cfg. doc_cfg has been removed across the board.

Version 0.8.0

16 Feb 13:16
caca2ba
Compare
Choose a tag to compare

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

01 Dec 15:28
f0565ab
Compare
Choose a tag to compare
  • 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() for LinearPeptide
  • 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() on RawSpectrum (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)

Version 0.6.1

30 Oct 13:30
0d8bac7
Compare
Choose a tag to compare
  • Fixed bug in fixed modifications calculation in building_blocks (used in find_isobaric_sets)
  • Opened up many more internal structures for reuse

Version 0.6.0

27 Oct 15:31
22b64d4
Compare
Choose a tag to compare
  • Added support for GNO glycan modifications
  • Added support for glycan fragmentation
  • Added isobaric set generation
  • Added support to read in identified peptide information (support for Peaks, Novor, and OPair)
  • Added support to read any file in gzipped version
  • Added nicer error messages
  • Exported many more internal structures to allow for easier reuse of the basic code in other tools, take care though some paths to items have changed.

For an exhaustive list of all changed api elements use cargo public-api, this list is too long for inclusion here.