Recent Releases of mzcore

mzcore - v0.10.0 (Python version)

Try again for the python build.

- Rust
Published by douweschulte 6 months ago

mzcore - Version 0.10.0 (Python version)

See 0.10.0.

- Rust
Published by douweschulte 11 months ago

mzcore - v0.10.0

This release adds the following major points:

  • Added glycan rendering
  • Added some missing information in glycans and fixed some bugs
  • Added trait IsAminoAcid (note that this renamed some of the methods on AminoAcid)
  • Split Model in FragmentationModel and MatchingParameters
  • Added much more complexity in FragmentationModel
    • More complex satellite ions
    • More neutral loss types, based on the amino acid/monosaccharide and side chain losses
    • Added options for glycan fragmentation on peptide fragments
  • Added pKA and isoelectric point estimations for peptides (thanks to @aukeheerdink)
  • Updated built in fragmentation models to use the added complexity and added ones for EAD, EACID, and UVPD
  • Added basic CSV format
  • Added the options to keep all CSV lines when parsing an identified peptides file
  • Added mzPAF exporting for fragments
  • Restructured some parts of the API surface
  • Updated all databases
  • Fixed many bugs and performance issues

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).

- Rust
Published by douweschulte 11 months ago

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 openidentifiedpeptides_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).

- Rust
Published by douweschulte about 1 year ago

mzcore - v0.9.0-alpha.3p

This is a retry of alpha 3 as the last time the Python release failed.

- Rust
Published by douweschulte about 1 year ago

mzcore - 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).

- Rust
Published by douweschulte over 1 year ago

mzcore - 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, 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.

- Rust
Published by douweschulte over 1 year ago

mzcore - 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.

- Rust
Published by douweschulte over 1 year ago

mzcore - Python hotpatch

- Rust
Published by douweschulte almost 2 years ago

mzcore - 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

- Rust
Published by douweschulte almost 2 years ago

mzcore - 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

- Rust
Published by douweschulte almost 2 years ago

mzcore - Version 0.8.1

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

- Rust
Published by douweschulte about 2 years ago

mzcore - 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

- Rust
Published by douweschulte about 2 years ago

mzcore - 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() 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)

- Rust
Published by douweschulte about 2 years ago

mzcore - Version 0.6.1

  • Fixed bug in fixed modifications calculation in building_blocks (used in find_isobaric_sets)
  • Opened up many more internal structures for reuse

- Rust
Published by douweschulte over 2 years ago

mzcore - Version 0.6.0

  • 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.

- Rust
Published by douweschulte over 2 years ago

mzcore - v0.4.1

Fixed a crash on empty peptide sequence string.

- Rust
Published by douweschulte over 2 years ago

mzcore - v0.4.0

  • Global modifications eg <15N> and <[Oxydation]@F>
  • Reworked alignment algorithm to generate better alignmentsgit log
  • Code refactoring, added docs to all public items, and small bugs fixed

- Rust
Published by douweschulte over 2 years ago

mzcore - v0.3.1

Bug fixes

- Rust
Published by douweschulte over 2 years ago

mzcore - v0.3.0

  • Many bug fixes
  • Moved to do all calculations on MolecularFormula instead of Mass to be able to handle isotopes and isotope patterns of fragments
  • Added fragmentation of modifications of unknown position
  • Added enforcement of modification placement rules of Unimod

- Rust
Published by douweschulte over 2 years ago

mzcore - v0.2.0

More support for more of the Pro Forma spec, notable inclusions since the previous version: - Support for localised possible modifications A[Phospho#g1]A[#g1] - Support for Unimod and PSI-MOD names + accession numbers - Support for modification chaining _ info tags A[INFO: stuff|+42.01]

See the doc for a more detailed list of all supported features.

- Rust
Published by douweschulte over 2 years ago

mzcore - v0.1.0

Initial release

- Rust
Published by douweschulte over 2 years ago

mzcore - v0.1.1

  • Removed debug output
  • Fixed tests
  • Added helper functionality for alignments

- Rust
Published by douweschulte over 2 years ago