FragPipe Proteomics Analysis Platform

repository·master·Indexed 43 days ago

https://github.com/nesvilab/fragpipe

A comprehensive proteomics analysis platform that integrates high-performance tools including MSFragger, Philosopher, IonQuant, Crystal-C, PTM-Shepherd, and MSBooster. It provides a unified GUI or CLI workflow for peptide identification, quantification, and DIA analysis, supporting various mass spectrometry file formats such as .mzML, Thermo .raw, and Bruker .d.

Tokens
32.1K
Snippets
58
Records
133
Agent score
53%

What's inside FragPipe

  1. Overview of FragPipe capabilities

    master

    FragPipe is a computational platform for mass spectrometry-based proteomics analysis. It integrates several key modules:

    • Search Engine: Powered by MSFragger for ultrafast peptide identification (conventional and 'open' searches).
    • Post-processing: Uses Percolator and the Philosopher toolkit (PeptideProphet, iProphet, ProteinProphet) for FDR filtering and report generation.
    • PTM Analysis: Includes Crystal-C and PTM-Shepherd for interpreting results from open and mass offset searches.
    • Rescoring: Includes the MSBooster module for deep-learning based peptide identification rescoring.
    • Quantification: Supports MS1-based isotope labeling (SILAC), label-free quantification (LFQ-MBR via IonQuant), and isobaric labeling (TMT/iTRAQ via IonQuant and TMT-Integrator).
    • DIA Analysis: Provides workflows for DIA data including MSFragger-DIA, DIA-Umpire, and diaTracer for library-free identification, spectral library building with EasyPQP, and quantification via DIA-NN and Skyline.
  2. Ensure reproducibility in DIA-NN analyses

    master

    DIA-NN provides several mechanisms for reproducibility:

    Pipeline and Settings

    • Pipelines: Use the pipeline functionality to save and store experiment settings.
    • Logs: DIA-NN automatically saves a log containing complete information on the settings used for every experiment.

    Computational Reproducibility

    • Windows: Analysis using a spectral library is consistent across different Windows machines.
    • Linux vs Windows: Results may vary slightly between Linux and Windows due to differences in mathematical function implementations in system libraries. For Linux, track the distribution and glibc version.
    • CPU Architectures: In silico predictions (spectra/RTs/IMs) using deep learning may yield slightly different results depending on the CPU instruction set (DIA-NN prints the detected instruction set at launch).
    • Library Formats: .speclib files (compact DIA-NN format) contain information from both the original .tsv library and the FASTA database used. For full reproducibility, record how the .speclib was created (refer to the DIA-NN log).
  3. Choose a license for the FreeType Project

    master

    The FreeType Project (v2.13.0) is available under two primary licenses. Your choice depends on your project's compatibility requirements:

    1. The FreeType License (FTL): A BSD-style license with a credit clause. It is compatible with GPL version 3, but not with GPL version 2.
    2. GNU General Public License (GPL), version 2: Use this if your project also uses GPLv2 or requires compatibility with GPLv2.
  4. Use Match-between-runs (MBR) for improved quantification

    master

    Match-between-runs (MBR) is a powerful mode that improves average ID numbers and data completeness (reducing missing values) in both spectral library-based and library-free modes.

    How it works: DIA-NN first creates a spectral library from the DIA data, then re-processes the same dataset using that newly created library. This process is validated for datasets ranging from 2 to over 1000 runs.

  5. Understand how JCE policy files are evaluated

    master

    The effective cryptographic policy is determined by the files within a specific policy subdirectory (e.g., unlimited or limited):

    1. Effective Policy: This is the combined minimum permissions of the grant statements in all files matching the pattern default_*.policy. At least one such file must exist.
    2. Exemption Policy: This is the combined minimum permissions of the grant statements in files matching the pattern exempt_*.policy. These are optional and allow for circumvention of the effective policy (e.g., for KeyRecovery, KeyEscrow, or KeyWeakening).

    Example Logic:

    • limited policy = Export (all) + Import (limited)
    • unlimited policy = Export (all) + Import (all)
  6. Use .quant files for flexible reanalysis

    master

    DIA-NN processes raw data in two stages. First, it performs heavy computation per individual run and saves the results to a .quant file. Second, it collects all .quant files to perform cross-run steps (global q-value calculation, protein inference, etc.).

    By enabling the Use existing .quant files when available option in the Output pane, you can:

    • Resume processing if interrupted.
    • Add or remove runs from an experiment without re-processing existing runs.
    • Transfer analysis to another computer without transferring original raw files.

    Requirement: When reusing .quant files, the current analysis settings must match the original settings, except for: Precursor FDR (must be $\le$ 5%), Threads, Log level, MBR, Cross-run normalisation, and Library generation.

  7. Configure DIA-NN Protein Inference Modes

    master

    DIA-NN provides different levels of protein inference control via the --pg-level and --relaxed-prot-inf flags.

    Protein Grouping Levels

    Use --pg-level [N] to control the granularity of protein inference:

    • 0: Isoforms
    • 1: Protein names (as in UniProt)
    • 2: Genes

    Heuristic Protein Inference

    Use --relaxed-prot-inf to enable a heuristic algorithm that aims to ensure no protein is present in multiple protein groups simultaneously.

    • When to use: Recommended for method optimization, benchmarks, or gene set enrichment analysis.
    • Warning: The default strategy is more reliable for differential expression analyses.

    Disabling Protein Inference

    Use --no-prot-inf to disable protein inference entirely; in this mode, protein groups from the spectral library will be used instead.

  8. Detect and score PTMs in DIA-NN

    master

    DIA-NN includes built-in workflows for detecting methionine oxidation, N-terminal protein acetylation, phosphorylation, and ubiquitination.

    PTM Scoring and FDR:

    • For N-terminal acetylation, phosphorylation, and ubiquitination, a stringent target-decoy approach is enabled by default to control the peptidoform FDR.
    • For other modifications, enable PTM scoring using the --monitor-mod command.
    • Deamidation: To gain confidence in deamidation detection, you can perform a search using a 'decoy modification mass' (e.g., declaring the mass delta as 1.022694 instead of the correct 0.984016). If no IDs are reported with the decoy mass, it increases confidence in the real results. Use --monitor-mod for deamidation and filter using PTM.Q.Value or Global.Q.Value/Lib.Q.Value.
  9. Configure Match-Between-Runs (MBR) for quantitative experiments

    master

    Match-Between-Runs (MBR) should be enabled for most quantitative experiments.

    When to use MBR:

    • For quantitative experiments to improve coverage.
    • When performing library-free search or generating a spectral library from DIA data (MBR is automatically selected in these modes).

    When NOT to use MBR:

    • For non-quantitative experiments where the sole goal is to create a spectral library for use on other datasets.
    • Unless you have a very high-quality, project-specific spectral library that already provides near-complete coverage and most peptides in it are detectable in your DIA experiment.

    Filtering with MBR: When relying on the main report instead of quantitative matrices while using MBR, use these specific q-value filters:

    • Use Lib.Q.Value instead of Global.Q.Value.
    • Use Lib.PG.Q.Value instead of Global.PG.Q.Value.
    • If applying a stringent Q.Value filter (e.g., Q.Value < 0.001), you must apply the same filter to Lib.Q.Value.
  10. Configure Java Cryptography Extension (JCE) policy strength

    master

    The Java Cryptography Extension (JCE) allows you to configure cryptographic key strength via jurisdiction policy files. This is controlled by the crypto.policy security property defined in the <java-home>/conf/security/java.security file.

    Java provides two default policy sets:

    • unlimited: Contains no restrictions on cryptographic strengths or algorithms.
    • limited: Contains more restricted cryptographic strengths.

    Policy files are located in <java-home>/conf/security/policy/unlimited or <java-home>/conf/security/policy/limited respectively. You can add, edit, or remove subdirectories in this location to meet specific import or export control requirements.

  11. Mozilla Public License (MPL) 2.0 Overview

    master

    The Mozilla Public License 2.0 (MPL) is a file-level copyleft license. It allows you to create 'Larger Works' by combining MPL-licensed 'Covered Software' with other material in separate files.

    Key Responsibilities:

    • Source Code Distribution: If you distribute Covered Software in Source Code Form, you must do so under the terms of the MPL and inform recipients how to obtain a copy.
    • Executable Form Distribution: If you distribute the Executable Form, you must make the Source Code Form available via reasonable means at a charge no more than the cost of distribution.
    • Notices: You must not remove or alter existing license notices (copyright, patent, etc.) within the Source Code Form.