Skip to contents

v0.0.0.9000 (dev)

Initial development release. tidydragen is a nemo child package that parses and tidies outputs from Illumina DRAGEN pipelines into wide-format tidy tibbles ready for a data warehouse, writing to parquet, TSV, CSV, RDS, or a database. The following pipelines are supported for starters: DNA tumor-normal (somatic), DNA germline-only, RNA tumor-only, and ctTSO500 (the DRAGEN TSO500 ctDNA app layer).

Tools

Six domain tools, each with its own inst/config/tools/<tool>/schema.yaml, all inheriting an intermediate DragenTool base (itself inherit = nemo::Tool) and orchestrated by the Dragen workflow class (exported DRAGEN_TOOLS), which tolerates absent files so each pipeline can expose a different subset.

  • DragenMap: mapping/time metrics, fragment-length histogram, and the cttso trimmer / UMI / GC-bias metrics.
  • DragenFqc: the 8 flat per-section FastQC tables.
  • DragenCov: coverage metrics/bins/cumulative, contig mean, fine histogram, and cov-report-bed tables across every region (wgs/tmb/exon/target_bed/ qc-coverage-region-*) and phenotype.
  • DragenVar: variant/SV/CNV/ploidy/TMB/HRD/gVCF metrics plus microsatellite (JSON), native ploidy-VCF parse, and contamination (JSON).
  • DragenRna: fusion and quant metrics.
  • DragenTso: the ctTSO app-layer (pr3).

The DRAGEN metrics parser

Most *_metrics.csv files share a headerless section,rg,variable,count[,pct] shape. DragenTool registers a dragen-metrics ftype: a plain metrics table is parsed and pivoted wide (one column per mapped metric plus a paired <metric>_pct) with no per-table code; only tables needing a custom split or a region/chrom normalise hook declare explicit tidy_<table>() one-liners. Fail-loud policies (on_unmapped, on_coerce_fail, on_unexpected_col) catch schema drift instead of silently dropping data.

ctTSO app-layer support

DragenTso parses the TSO500 ctDNA outputs beyond the shared DRAGEN metrics: CombinedVariantOutput small variants, Fusions, TMB trace/msaf, exon/gene coverage, and a 6-way fan-out of the SampleAnalysisResults.json.

Test data

Test fixtures rebuilt from real DRAGEN pipeline outputs (trimmed per file), with real sample IDs scrubbed to sampleA/sampleB, and tracked with DVC on a Cloudflare R2 remote. The default remote is public-read, so a fresh clone or CI run fetches fixtures with dvc pull and no credentials. The @testexamples assertions were updated to the real-data values; the roxytest suite passes.

Infrastructure

  • CLI, conda recipe, and multi-arch (amd64 + arm64) Docker image (pr6).
  • GitHub Actions for version bumping and deploy, refactored to the reusable tidywf/actions workflows and tag-triggered (pr4, pr5).
  • Vignettes: installation, quickstart, structure, schema table, output naming, PostgreSQL, CI/CD, and UML.