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. You can choose between the following options to create a working environment:



Docker image

Virtual environment

Build from source



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

1.1 Docker Image

We are providing a docker image for the AMD64 and ARM64 architecture. To get the image, visit GitHub and follow the instructions provided in the README.md file. The release.zip is ment for operating systems running on AMD64 architecture, while the release_arm64.zip is ment for ARM64 (for example M-series Apple MacBooks). If are using MacOS ARM64, please further note that you might need to increase resources that are available to the docker container:

1. Open Docker Settings:

• Click on the Docker icon in the macOS menu bar.

• Select Settings.

2. Adjust Memory Allocation:

• Go to the Resources tab.

• Under Memory, increase the allocated RAM to at least 16GB.

3. Apply and Restart Docker:

• Click Apply & Restart for changes to take effect.

ARM64 makes using the bruker-SDK currently not possible. Data access will therefore be using the experimental non-SDK mode, which will increase read performance but creates higher translation errors to translate TOF to m/z and SCAN to inverse ion-mobility.

 

1.2 Install the software into a Python virtual environment (venv)

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.

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

 

1.3 Build from source 

Alternatively, you can build and install the Rust ibraries with the Python bindings and packages from source. Follow the instructions at the two mother repositories rustims and sagepy.

 

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.