kentsisresearchgroup / UltraQuant

MaxQuant with snakemake and singularity workflow for open and scalable mass spectrometry data analysis on Linux computing clusters
26 stars 3 forks source link

UltraQuant

Introduction

UltraQuant is an open framework for running MaxQuant on Linux computer clusters written in the Snakemake workflow management system.

Installation

Dependencies

UltraQuant uses Miniconda to install the Snakemake workflow management system. The following dependencies are either included as part of UltraQuant or automatically installed using Singularity container to be used in diverse Linux environments:

Installing UltraQuant

UltraQuant can be installed using git clone:

git clone https://github.com/kentsisresearchgroup/UltraQuant

Configuration

To run UltraQuant, create a copy of the user configuration "config.yaml" file provided and adjust the locations of files and directories.

Directories

MaxQuant

MaxQuant requires mass spectrometry data as RAW files, search database as FASTA file, and a parameter file.

The variables below are specified in the Snakefile "UltraQuant.sm". These files are provided and should not be changed.

To alter the mass spectrum processing and analysis parameters, you should create a new MaxQuant parameter file by executing "/MaxQuant/bin/MaxQuantGui.exe" using Windows operating system. Click File > Load parameters... and load "/MaxQuant/mqpar_template.xml" and adjust the parameters. DO NOT add or remove RAW and FASTA files as they are specified by UltraQuant. Finally, click File > Save parameters... and save it as "mqpar.xml" in the same directory as the template MaxQuant parameter file. UltraQuant will automatically detect this file and use it as input for MaxQuant instead of its self-generated parameters. Alternatively, you may edit the "PAR" variable to specify alternative search parameter xml files.

Running UltraQuant

This example demonstrates how to run UltraQuant on an LSF cluster. You can parallelize multiple jobs by specifying separate "--configfile" arguments.

snakemake --snakefile UltraQuant.sm --configfile config.yaml --cluster \
"bsub -J 'myjob.{params.J}' -n {params.n} -R {params.R} -W 16:00 -o 'myjob.{params.o}' -eo 'myjob.{params.eo}'" \
--jn {rulename}.{jobid}.sj -j 50 -k --latency-wait 60 --use-singularity --singularity-args \
"--bind /data:/data,/lila:/lila,/scratch:/scratch" --ri

"--bind" implements binding of directories for UltraQuant to access files outside of this Singularity container, including the directories for UltraQuant itself, "TMP" calculation directory, and "RAW" mass spectrometry files directory.

Expected Output

UltraQuant will execute MaxQuant, which will generate result tables in the user-specified working directory, under "out/combined/txt/".

Authors