Skip to content

Phase 6: Consolidate DIA-NN parameter generation to sdrf-pipelines #669

@ypriverol

Description

@ypriverol

Problem

Issue #659: DIA-NN parameters are generated in two different places:

  • OpenMS parameters: generated by sdrf-pipelines (parse_sdrf convert-openms)
  • DIA-NN parameters: generated by quantms-utils (quantmsutilsc dianncfg)

SDRF metadata like scan windows and per-run tolerances exists in the SDRF but must still be passed as command-line parameters.

Solution: Consolidate to sdrf-pipelines

Migrate all DIA-NN config generation to parse_sdrf convert-diann. This provides:

  1. Unified config flow: SDRF -> parse_sdrf convert-diann -> diann_config.cfg + diann_filemap.tsv
  2. Per-run tolerance support: diann_filemap.tsv contains per-file precursor/fragment tolerances
  3. plexDIA integration: Channel definitions generated from SDRF labels automatically
  4. Immunopeptidomics detection: Enzyme parsing detects unspecific cleavage
  5. Single source of truth: All parameter generation in one place

Tasks

  1. Commit and release sdrf-pipelines converter (Phase 1, #TBD_1)
  2. Update GENERATE_CFG module to call parse_sdrf convert-diann instead of quantmsutilsc dianncfg
  3. Wire diann_filemap.tsv into per-file processes (per-run tolerances)
  4. Deprecate quantmsutilsc dianncfg with backwards compatibility period
  5. Update quantms-utils container to include sdrf-pipelines

Per-Run Mass Accuracy Support

Current: mass accuracy is either automatic or global.
New: diann_filemap.tsv provides per-file PrecursorMassTolerance and FragmentMassTolerance.

def mass_acc = meta.fragmentmasstolerance ? "--mass-acc ${meta.fragmentmasstolerance}" : ""
def mass_acc_ms1 = meta.precursormasstolerance ? "--mass-acc-ms1 ${meta.precursormasstolerance}" : ""

Test Plan

  • Run PXD026600 with parse_sdrf convert-diann — verify identical output to quantmsutilsc dianncfg
  • Run PXD039578 (SILAC) — verify plexDIA config generated from SDRF automatically
  • Verify per-file tolerances from diann_filemap.tsv applied in INDIVIDUAL_ANALYSIS

Dataset: PXD026600 (existing CI/CD), PXD039578 (plexDIA)

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions