-
Notifications
You must be signed in to change notification settings - Fork 52
Open
Milestone
Description
Part of the DIA-NN refactoring epic: #TBD_MAIN
Depends on: Phase 1 (#TBD_1) — container flexibility + config parsing fix
Min DIA-NN version: v1.9
Overview
plexDIA enables non-isobaric multiplexing in DIA. Samples are labeled (mTRAQ, SILAC, or Dimethyl), mixed, and acquired in a single DIA run. DIA-NN demultiplexes channels using mass-shift-based definitions.
DIA-NN flags:
--fixed-mod <Name>,<mass>,<sites>[,label]— multiplexing modification--channels <Name>,<Channel>,<Sites>,<Mass1>:<Mass2>; ...— channel mass shifts--lib-fixed-mod <Name>— apply modification in silico to library--original-mods— prevent conversion to UniMod format--channel-run-norm/--channel-spec-norm— normalization modes
Prerequisites
PRIDE Ontology (DONE, needs release)
mTRAQ + Dimethyl terms committed on remote dev branch (PRIDE:0000843-0000853). SILAC terms already existed.
sdrf-pipelines DIA-NN Converter (code written, NOT committed)
Located at src/sdrf_pipelines/converters/diann/. Implements:
detect_plexdia_type()— detect mTRAQ/SILAC/Dimethyl from SDRF labelsbuild_channels_flag()— generate--channelsflag valuebuild_fixed_mod_flag()— generate--fixed-mod ... labelflagdiann_filemap.tsv— per-file channel/label/tolerance mapping
Must be committed and released (Phase 1, #TBD_1).
Tasks
quantms Pipeline Changes
create_input_channel: Remove hardcoded "DIA = LFQ only" assumption. Detect non-LFQ labels and setmeta.plexdia = trueGENERATE_CFG: Emit--channels,--fixed-mod ... label,--lib-fixed-mod,--original-modsINSILICO_LIBRARY_GENERATION: Two-step library for chemical labels (mTRAQ, Dimethyl use--lib-fixed-mod; SILAC does not)FINAL_QUANTIFICATION: Add--channel-run-normand--channel-spec-normparams
Channel-to-Sample Mapping
In SDRF, each file has multiple rows for plexDIA (one per channel):
comment[data file]+comment[label]→source name(sample)- DIA-NN output:
Run+Channelcolumns → matched viadiann_filemap.tsv
QPX Converter (qpx)
- Handle channel-specific DIA-NN columns:
Channel,Channel.Q.Value,Channel.Evidence - Emit per-channel intensities:
{label: "MTRAQ0", intensity: ...}instead of hardcoded{label: "LFQ", ...} - PG adapter needs channel-aware protein group quantification
New params:
| Parameter | Type | Default | DIA-NN Flag |
|---|---|---|---|
diann_channel_run_norm |
boolean | false | --channel-run-norm |
diann_channel_spec_norm |
boolean | false | --channel-spec-norm |
Test Plan
- Run PXD039578 (SILAC 3-plex HeLa, has SDRF) — verify channels detected, config generated
- Verify
diann_config.cfgcontains--channels,--fixed-mod ... label,--lib-fixed-mod - Verify QPX output contains per-channel intensities
- Run with
--diann_channel_spec_norm true
Test Datasets:
| Dataset | Labels | Instrument | SDRF |
|---|---|---|---|
| PXD039578 | SILAC 3-plex | Q Exactive HF | Yes (12 samples, 36 rows) — best for CI/CD |
| PXD052080 | SILAC (DIA-SiS) | Exploris 480 + timsTOF Pro 2 | Yes |
| PXD029531 | mTRAQ 3-plex | Q Exactive | No (MassIVE) |
Reactions are currently unavailable