Rustims: An Open-Source Framework for Rapid Development and Processing of timsTOF Data-Dependent Acquisition Data
Creators: name: Teschner, David
Publisher: name: Zenodo
Year: 2025
Subjects: ion-mobility
Proteomics
Software

description: Recreate results presented for RustIms

This README contains instructions how to re-create any of the results presented in Rustims. We split the instructions into four parts:

 



Creation of a working installation of the imspy Python package, our main interface to interact with any of the tools from rustims.

Download of the results from this ZENODO repository.

Download of the RAW .d files to re-run the imspy_dda pipeline and fully re-create everything from scratch.

Jupyter Notebooks to re-create any plot or deep learning model training used to predict properties for re-scoring.


 

1. Creation of a working imspy environment

We strongly recommend using a Linux-based environment, preferably Ubuntu >= 22.04, since TensorFlow does not have GPU support on Windows, which will slow down the machine learning parts of the pipeline considerably. Start by creating a virtual environment with Python 3.11.

Install the software into a new Python virtual environment

 

# Create a virtual environment

python3.11 -m venv imspy

 

# Activate the virtual environment

source imspy/bin/activate

 

# Install imspy

pip install imspy==0.3.10

 

# (Optional) Install TensorFlow with GPU support

pip install tensorflow[and-cuda]==2.15.*

 

You can test if imspy has been successfully installed by running:

 

# Print out imspy_dda options

imspy_dda --help

This should print out the pipeline options. If it does, the tool has been installed successfully.

Docker image

Alternatively, we are now providing a docker image for the AMD64 architecture. It can be also used on macOS ARM64 via virtualization. To get the image, visit the mother-repository (https://github.com/theGreatHerrLebert/rustims)  of the rustims project on GitHub and follow instructions provided in the README.md file.

 

2. Download of the results

Download the rustims-submission.zip file from this Zendodo repository and extract it to a location of your choice. After you downloaded and extracted the folder, change into it:

cd rustims-submission/imspy_dda/

 

3. Downloading of RAW .d files and re-running of the imspy_dda pipeline to create everything from scratch

3.1 Hela samples

The raw data used and their grouping according to gradient lengths can be found in the file sample_groups.csv available from this repository.

You can also find the reference proteome fasta file and the config.toml file there. The respective raw data files can be found at ProteomeXchange with the identifier: PXD043026. For convenience, a bash script named download.sh for downloading and extracting the raw mass spectrometry .d files is provided. For example, run:

./download.sh hela20

This will automatically download the 3 RAW .d files from ProteomeXchange and place them together into a subfolder. Next, run (this requires that the Python environment to be active you installed imspy into):

imspy_dda hela/hela20/ hela/UP000005640.fasta --config hela/config_tryptic.toml

After the pipeline completed, results will be placed in: hela/hela20/imspy/, most importantly the files PSMs.csv and Peptides.csv.

3.2 HLA samples

The raw data used and their grouping according to gradient lengths can be found in the file sample_groups.csv available from this repository.

You can also find the reference proteome fasta file and the config.toml file there. The respective raw data files can be found at ProteomeXchange with the identifier: PXD040385. For convenience, a bash script named download.sh for downloading and extracting the raw mass spectrometry .d files is provided. For example, run:

./download.sh hla5

This will automatically download the 3 RAW .d files from ProteomeXchange and place them together into a subfolder. Next, run (this requires that the Python environment to be active you installed imspy into):

imspy_dda hla/hla5/ hla/human_20365.fasta --config hla/config_hla.toml -fbs 25

Right now, processing data with unspecific cleavage requires a lot of RAM to be available, if the script crashes, you can try to make it work by increasing the number of splits of the fasta file, e.g., -fbs 50. After the pipeline completed, results will be placed in: hla/hela5/imspy/ .

 

4. Recreate plots or deep learning model training

4.1 Plots

The corresponding scripts, along with all intermediate results, are provided as Jupyter notebooks, e.g., rustims-submission/imspy_dda/hela/HeLaImspyDDAFragpipeComparison.ipynb.

 

4.2 Machine learning models

The corresponding scripts, along with all used training data, are provided as Jupyter notebooks, e.g., rustims-submission/re-scoring/models/ionmob/TrainingGruCCSPredictor.ipynb.