← Về thư mục
📄 / / profiles / r-and-d / raw_evidence / OpenAI4S / skills / bioskills / bio-proteomics-dia-analysis / references / usage-guide.md

DIA Analysis - Usage Guide

Overview

Identifies and quantifies proteins from data-independent acquisition (DIA) mass spectrometry by scoring reconstructed fragment-chromatogram peak groups against a decoy null, then filtering the output at the correct q-value level and context. Covers DIA-NN library-free (directDIA), predicted-library, and library-based routes, with notes on Spectronaut, OpenSWATH, and EncyclopeDIA. The crux: every wide-window MS2 is chimeric, so the engine deconvolves rather than matches, and "1% FDR" only means something once the level (precursor/peptide/protein-group) and context (run vs experiment-wide/global) are named.

Prerequisites

pip install pandas pyarrow numpy
# CLI: DIA-NN (recommended), MSFragger-DIA/FragPipe, OpenSWATH, EncyclopeDIA
# Commercial: Spectronaut
# Staggered/overlapping data: ProteoWizard msconvert (demultiplexing) before search

Quick Start

Tell your AI agent what you want to do: - "Run DIA-NN on my mzML files via the predicted-library route at 1% FDR" - "Search my DIA data against a spectral library I built" - "Load the DIA-NN report.parquet, filter q-values correctly, and build a protein matrix" - "My cohort hits do not reproduce -- which q-value should I be filtering on?" - "Demultiplex my staggered-window data before searching"

Example Prompts

Library-Free and Predicted-Library Analysis

"Run DIA-NN via the predicted-library route against UniProt human, two-pass, with auto mass accuracy"

"Set up library-free directDIA for my Astral 2-Th narrow-window runs"

"Generate an in-silico predicted library and search my DIA data against it"

Library-Based Analysis

"Search my DIA data against the chromatogram library I built in EncyclopeDIA"

"Run DIA-NN with my Prosit-predicted library for targeted extraction"

"Use a previously generated .speclib so I do not redigest the FASTA"

FDR and Output Filtering

"Filter my DIA-NN report at precursor and protein-group level, and global PG for the matrix"

"Why is my pg_matrix protein count lower than the report count?"

"My per-run 1% FDR cohort has irreproducible hits -- fix the FDR context"

Results Processing

"Load report.parquet, drop unquantified zeros, and log2-transform a MaxLFQ protein matrix"

"Pivot the filtered long report into a wide protein-by-run matrix"

"Set up auditable run/experiment/global q-values with OpenSWATH and PyProphet"

What the Agent Will Do

  1. Identify the acquisition design (fixed/variable/staggered windows, diaPASEF, narrow-window Astral) and demultiplex staggered data at conversion if needed
  2. Choose the route -- predicted-library (default), library-free directDIA, or library-based -- per the decision tree
  3. Run DIA-NN (or the chosen engine) with auto mass accuracy and two-pass global FDR
  4. Read report.parquet and filter at the correct LEVEL (precursor + protein-group) and CONTEXT (run + global for matrices)
  5. Convert unquantified zeros to NA, then hand the log2 matrix to quantification and differential-abundance

Tips