Skip to content

methylseq completeness audit (2026-08-21)

Upstream: nf-core/methylseq @ 4.2.0 · Port: oxo-flow-methylseq (live-verified).

Mode matrix (upstream)

axis options default
aligner bismark / bismark_hisat / bwameth / bwamem (TAPS) bismark
bwameth engine CPU / GPU (Parabricks, -profile gpu) CPU
methylation caller Bismark extractor / MethylDackel (bwameth) / rastair TAPS (bwamem or --taps) per-aligner
library presets --taps / --pbat / --rrbs / --slamseq / --em_seq / --single_cell / --accel / --zymo
optional --run_qualimap / --run_preseq / --run_targeted_sequencing (+ --collecthsmetrics) off

BAM-input mode NOT present at this tag (removed from 2.x). Paired/ single-end per-sample from samplesheet; CAT_FASTQ for multi-fastq.

Gap tiers vs the port

P0: bismark_hisat (genomeprep + align --hisat2 + known_splices); bwameth CPU chain (bwameth index/align, picard dedup, MethylDackel extract + mbias + methyl_kit); bwamem TAPS chain (bwa-mem align, addorreplace readgroups, rastair mbias/parser/call/methylkit); targeted-sequencing mode (bedtools intersect + Picard hsmetrics chain); qualimap + preseq optional tools; coverage2cytosine (--cytosine_report/ --nomeseq); library presets (pbat/rrbs/slamseq/em_seq/single_cell/accel/ zymo — each is a params-set, mostly P2 config actually).

P1: Parabricks GPU bwameth (commercial license + GPU + container-only).

P2: the library presets (TrimGalore/Bismark arg bundles — config absorption), --skip_ gates, --use_mem2, bismark/methyldackel/rastair tunables, save_ publish gates.

External deps: iGenomes S3, nf-core test data URLs, Seqera Wave for arm64/wave profiles.

Verdict

Compact surface: 4 aligners × 3 caller paths + presets. The ported bismark default leaves bwameth + bwamem-TAPS chains as the main P0.

Re-verification (2026-08-23, light group)

Engine: latest main (post-v0.14.1) · Box: tx-ubuntu (conda envs) · Mode: real CLI run, not dry-run · -j 2 --keep-going.

19 succeeded, 3 skipped, 0 failed, exit 0, one round, zero fixes. Coverage chain: bismark genome prep → fastqc → trimgalore → bismark align → dedup → sort/index → methylation extractor → bismark report/summary → multiqc. All 3 skips are by design: coverage2cytosine ×2 gated off (upstream --cytosine_report/--nomeseq default-off, kept verbatim by the port); genomepreparation = fresh checkpoint reuse (BismarkIndex from Aug-17).