Skip to content

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

@ypriverol

Description

@ypriverol

Problem

Issue #2: 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

    Labels

    enhancementNew feature or request

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions