This repository hosts a collection of scripts and a Snakemake workflow designed to streamline the analysis of proteomics data, accommodating both Data-Independent Acquisition (DIA) and Data-Dependent Acquisition (DDA) methods. The pipeline handles raw data conversion, feature extraction, peptide identification, quality control and generation of detailed analytical reports.
The following scripts and configuration files are included in this repository:
Compare.py: Compares features across samples to identify significant trends and outliers.DDA-Report.py: Generates reports for DDA analyzed samples, including data visualizations.DIA-Report.py: Similar toDDA-Report.py, but for DIA data.DIA-or-DDA.py: Detects whether the samples are DDA or DIA and based on this, the samples will proceed under DIA or DDA protocols .MZid-Parser.py: Parses .mzid files to extract peptide identification data.cleanup_empty_files.py: Removes empty files from output directories by the end of process.config.yaml: A configuration file that users must edit to specify paths and parameters relevant to their data and system environment.mzML-Parser.py: Processes .mzML files to extract essential data for downstream analysis.snakefile: Coordinates the workflow defined for Snakemake, ensuring each step of the process is executed in the correct sequence.
This Snakemake pipeline processes proteomics data through several stages:
- Raw Data Conversion: Converts raw mass spectrometry data files into .mzML format using the MSConvert tool.
- Feature Extraction: Utilizes algorithms like Dinosaur to detect and quantify features from .mzML files.
- Quality Control: Generates summary reports on the quality of the processed data.
- Peptide Identification: Employs MS-GF+ for DDA data and DIANN for DIA data to identify peptides.
- Report Generation: Produces detailed reports, including visualizations of the analyzed data.
Clone the repository to your local machine:
git clone https://github.com/yourusername/proteomics-pipeline.git
cd proteomics-pipelineBefore you begin setting up and running this workflow, ensure the following software and tools are installed on your system:
-
Python 3.x: Required for running the scripts. Install the following Python packages:
- numpy
- pandas
- matplotlib
- reportlab
- pyteomics
- lxml
-
Java: Needed to run Java-based applications such as MSGFPlus and Dinosaur.
-
Snakemake: Essential for managing and executing the workflow. Install via Python's package manager or conda.
-
Docker: Used for running the
msconverttool within a Docker container. Docker ensures consistency across different computing environments.
-
MSGFPlus: A powerful tool for peptide identification. Download the latest version here (version 2021.03.22).
-
Dinosaur: An open-source tool for feature detection in mass spectrometry data. Available on GitHub (version 1.1.4).
-
QC_LCMS.jar: Contains FeaturesQCSummary.jar and MzMLSummary.jar. This scripts were developed previously in house and not published yet.
Before running the workflow, ensure that all paths and parameters in the config.yaml file are correctly set up according to your system's directory structure and processing needs.
To execute the workflow, navigate to the directory containing the snakefile and run the following command:
snakemakeThis will process all .raw files specified in the directory, performing all steps from data conversion to report generation automatically.
