ReDeeM is a Rust crate designed for implementing deep learning models specifically tailored for mass spectrometry data. The primary goal of this project is to facilitate the prediction of peptide properties and to develop classifier scoring models (TDA).
The ReDeeM crates are designed to be used as a library in other projects, i.e. in Sage. To use the ReDeeM crates, add the following to your Cargo.toml
file:
[dependencies]
redeem-properties = { git = "https://github.com/singjc/redeem.git", branch = "master" }
redeem-classifiers = { git = "https://github.com/singjc/redeem.git", branch = "master" }
Note: The ReDeeM crates are still under development and are not yet available on crates.io.
The ReDeeM project consists of two primary crates:
-
redeem-properties:
-
This crate focuses on deep learning models for peptide property prediction. It implements models for predicting retention time (RT), ion mobility (IM), and MS2 fragment intensities using the Candle library.
-
The models can be trained, fine-tuned on new data and can be saved in the safetensor format for later use.
-
Current Models
Model Name Architecture Implemented AlphaPept RT Model rt_cnn_lstm
CNN-LSTM ✔️ AlphaPept MS2 Model ms2_bert
Bert ✔️ AlphaPept CCS Model ccs_cnn_lstm
CNN-LSTM ✔️ RT Model rt_tf_lstm
CNN-Transformer ✔️ CCS Model ccs_tf_lstm
CNN-Transformer ✔️ -
-
redeem-classifiers:
-
This crate is aimed at developing semi-supervised scoring classifier models. The goal is to create models for separating target peptides from decoys.
-
Current Models
Model Name Architecture Implemented XGBoost Classifier redeem_classifiers::XGBoostClassifier
XGBoost ✔️ GBDT Classifier redeem_classifiers::GBDTClassifier
GBDT ✔️ SVM Classifier redeem_classifiers::SVMClassifier
SVM ✔️ -
Note
To use the XGBoost classifier, or the SVM classifier, you need to compile with the --features xgboost
or --features linfa
flag respectively.
Important
The XGBoost crate is a wrapper around the original XGBoost library, which requires clang/c++ to be installed on the system. On Ubuntu, you can do the following:
```bash
sudo apt update
sudo apt install build-essential
sudo apt install clang
sudo apt install libstdc++-12-dev
```