Skip to content

How it works

flowchart TD
    SPEC["Spectra<br/>mzML · MGF · Thermo .raw · Bruker .d"] --> SEARCH
    FASTA["FASTA, targets only<br/>decoys generated for you"] --> SEARCH
    SEARCH["Search<br/>one model chosen per file<br/>candidates scored per spectrum"]
    SEARCH --> PIN["PIN<br/>one row per PSM"]
    SEARCH -->|"--glyco"| GPIN["Glyco PIN<br/>one glycoPSM per scan"]
    PIN --> PERC["Percolator<br/>owns the FDR"]
    GPIN --> PERC
    PERC --> OUT["PSMs at q ≤ 0.01"]
  1. Pick the model from the file's activation, resolution and isobaric label (one of 17 bundled models).
  2. Build candidates: digest the FASTA and generate decoys. The candidate index goes out-of-core (cached in --index-cache-dir, by default next to the output) so candidates can be retrieved by the fragment-ion index; on low-res data only the 150 most intense peaks of each spectrum vote. --glyco builds its own sequon-only candidate table from the same out-of-core index.
  3. Score: low-res by the generating-function rank score, high-res by the fused strong score, plus GBDT fragment-intensity features. High-res searches score only the 100 candidates whose fragment ions best match the spectrum (Astral: +22% PSMs at an equal true FDP; phospho: 164 s instead of 99 minutes).
  4. Optional passes --chimeric, --refine and the separate --glyco pipeline (below).
  5. Rescore with Percolator, run by you or by --rescore. andes computes no production FDR.
  6. Quantify the confident PSMs on request: reporter ions (--tmt) or MS1 features (--lfq).

Full parameter reference: DOCS.md.