Expand description
§(Proteomics) core for mass spectrometry in Rust
Handle mass spectrometry calculations in Rust. This crate is mostly used for proteomics data in the broadest sense: bottom-up, top-down, cross-linking, glycopeptidomics, and much more. Support for other mass spectrometry fields is not missing by design but by lack of expertise of the authors, so if you are doing something mass spectrometry related and need some extensions to this crate please reach out.
§Library features
- Read ProForma sequences (complete specification supported: ‘level 2-ProForma + top-down compliant + cross-linking compliant + glycans compliant + mass spectrum compliant version 2.1’)
- Handle glycans
- Has GNOme database built-in with all structures
- Can render glycan structures as well as fragments of structures (use feature
glycan-render) - Exhaustively fuzz tested for reliability (using cargo-afl)
- Extensive use of uom for compile time unit checking
- Handle molecular formula, mass + average weight + most abundant mass (for the latter use feature
isotopes) - Generate isotopic patterns (use feature
isotopes) - Access to Unimod, PSI-MOD, RESID, GNOme, and XL-MOD databases statically and possible to update at runtime
§Compilation features
isotopes- gives access to generation of an averagine model for isotopes, also enables two additional dependencies.glycan-render- enables the rendering to SVGs for glycans and glycan fragmentsglycan-render-bitmap- enables the rendering to bitmaps for glycans, by enabling the optional dependencies zeno and swash
Modules§
- chemistry
- Contains all things related to the underlying chemistry.
- csv
- Parse CSV files while keeping track of all necessary info to generate great error messages Methods for reading and parsing CSV files. (Internal use mostly).
- glycan
- Handle glycan related issues, access provided if you want to work with glycans on your own.
- ontology
- Ontologies or controlled vocabularies or databases of modifications
- parse_
json - Contains logic to parse the custom modifications and custom models databases with backwards compatibility
- prelude
- A subset of the types and traits that are envisioned to be used the most, importing this is a good starting point for working with the crate
- quantities
- Contains all things related to tolerances and structures to handle multiple mass/formula options.
- sequence
- Contains all things related to sequences, amongst others amino acids and peptidoforms.
- system
- The measurement system used in this crate. A redefinition of the important SI units for them to be stored in a more sensible base unit for MS purposes.
Macros§
- Q
- Macro to implement
Quantitytype aliases for a specific system of units and value storage type. - molecular_
formula - Easily define molecular formulas using the following syntax:
<element> <num>or[<isotope> <element> <num>]. The spaces are required by the Rust compiler.
Type Aliases§
- Parser
Result - The result of a parser, contains the result and a list of warnings if it succeeded and only a list of errors if it failed.