Skip to content

Latest commit

 

History

127 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DOI GitBook Docs GitHub Invite Collaborators wakatime

1. Overview

milou (Methylation Integrated Layer for Omics Unification) is a high-performance Nextflow DSL2 pipeline designed for end-to-end DNA methylation profiling. It features a versatile, dual-engine architecture that seamlessly handles diverse library preparations and conversion chemistries—including targeted hybrid capture (Twist Human Methylome NGS panels), Enzymatic Methyl-seq (EM-seq), and traditional Whole-Genome Bisulfite Sequencing (WGBS)—while offering specialized dual-track processing modes for both GPU-accelerated (NVIDIA Clara Parabricks) and CPU-based (Bismark) execution.

A core scientific breakthrough of milou is its Multi-Method Differential Methylation Consensus Framework, which statistically reconciles calls across three complementary methodologies (DSS, edgeR, and methylKit) using a multi-method composite $\pi$-value score alongside an automated, publication-ready Quarto Reporting Engine (interactive HTML + vector PDF).

Note

For a deeper look at our design goals, competitive positioning, and scientific rationale, please see our Project Philosophy and our Benchmarking Strategy.

2. Key Features

  • Dual-Engine Execution (GPU + CPU): Flexible support for ultra-fast GPU-accelerated processing via NVIDIA Clara Parabricks (fq2bam_meth + MethylDackel) and standard CPU-based workflows (Bismark with parallel FastQ chunking), achieving bitwise concordance across platforms.
  • Versatile Conversion Chemistry: Native support for Enzymatic Methyl-seq (EM-seq), targeted hybrid capture (e.g., Twist Human Methylome), and standard WGBS bisulfite conversion.
  • Multi-Method Consensus Layer ($\pi$-Value): Directly addresses the notorious caller discordance between beta-binomial models (DSS), negative binomial generalized linear models (edgeR), and logistic regression (methylKit) by ranking candidate genes via: $$\pi_g = \overline{|\log_2(\text{FC})g|} \times (-\log{10}(P_{\min,g}))$$
  • Automated Clinical & Research Quarto Reports: Interactive HTML dashboards (with searchable DT::datatable, TSV/Excel exports, and locus zoom plots) and publication-ready vector PDFs produced automatically via Quarto.
  • Genomic & Disease Annotation: Direct integration with gnomAD population variant frequencies, OMIM morbid maps, and localized DisGeNET disease descriptors.
  • Biological Pathway Integration: Automated functional profiling including Gene Ontology (GO) and KEGG pathway mapping with automated Pathview overlay diagrams.
  • Strict Clinical Governance & Determinism: Cryptographic SHA256 input checksumming, HIPAA-compliant PHI sanitization, automated conversion efficiency QC (Lambda spike-in), and bitwise statistical determinism (set.seed(42)).
  • FAIR Open Science Archive (Zenodo): Complete execution reports, timelines, MultiQC dashboards, and benchmark assets are permanently deposited on Zenodo at DOI: 10.5281/zenodo.22326688.

3. Pipeline Architecture

Step CPU Track (Bismark) GPU Track (NVIDIA Parabricks)
Raw QC FastQC FastQC
Adapter Trimming Trim Galore Trim Galore
Alignment & Dedup Bismark (Multi-core split/merge) Parabricks (fq2bam_meth)
Sorting & Indexing Samtools Included in Parabricks
Methylation Extraction Bismark Methylation Extractor MethylDackel
Alignment & Target QC Qualimap / Picard HsMetrics Qualimap / Picard HsMetrics
Multi-Method DMC/DMR DSS / edgeR / methylKit DSS / edgeR / methylKit
Consensus Layer Multi-method $\pi$-value scoring + majority voting Multi-method $\pi$-value scoring + majority voting
Functional Enrichment clusterProfiler (GO, KEGG, Pathview, DisGeNET) clusterProfiler (GO, KEGG, Pathview, DisGeNET)
Clinical Quarto Report Integrated Quarto engine (HTML & vector PDF) Integrated Quarto engine (HTML & vector PDF)

4. Requirements & Installation

  • Nextflow: Version >= 21.10.3 (DSL2 compliant)
  • Container Engine: Docker or Singularity (all images pinned with immutable SHA256 digests)
  • Java: JRE >= 11 (or OpenJDK 17)
  • Hardware:
    • CPU Track: Minimum 16 CPU cores and 64 GB RAM recommended for targeted panels; $\ge$ 128 GB RAM recommended for human whole-genome sequencing (WGBS / EM-seq).
    • GPU Track: NVIDIA CUDA-capable GPU with $\ge$ 16 GB VRAM (e.g., A10, A30, A100, L40S).

5. Quick Start

A. Prepare Sample Sheet (Sample_sheet.csv)

sample_id,group,read1,read2
SRR36563094,asthmatic,data/sample1_R1.fastq.gz,data/sample1_R2.fastq.gz
SRR36563095,asthmatic,data/sample2_R1.fastq.gz,data/sample2_R2.fastq.gz
SRR36563098,healthy,data/sample3_R1.fastq.gz,data/sample3_R2.fastq.gz
SRR36563099,healthy,data/sample4_R1.fastq.gz,data/sample4_R2.fastq.gz

B. High-Speed GPU Track (NVIDIA Parabricks)

nextflow run JD2112/milou \
    -profile singularity,gpu \
    --sample_sheet Sample_sheet.csv \
    --genome_fasta /data/genomes/GRCh38/Homo_sapiens.GRCh38.fa \
    --gtf_file /data/genomes/GRCh38/Homo_sapiens.GRCh38.104.gtf \
    --refseq_file /data/genomes/GRCh38/hg38_RefSeq.bed.gz \
    --diff_meth_method all \
    --mode clinical \
    --outdir results_gpu

C. Standard CPU Track (Bismark)

nextflow run JD2112/milou \
    -profile singularity \
    --sample_sheet Sample_sheet.csv \
    --genome_fasta /data/genomes/GRCh38/Homo_sapiens.GRCh38.fa \
    --gtf_file /data/genomes/GRCh38/Homo_sapiens.GRCh38.104.gtf \
    --refseq_file /data/genomes/GRCh38/hg38_RefSeq.bed.gz \
    --diff_meth_method all \
    --mode clinical \
    --outdir results_cpu

6. Pre-Configured Benchmark Profiles

milou includes built-in test profiles for rapid execution, validation, and reproduction of published benchmarks:

# 1. Human EM-seq whole-genome benchmark (12 samples: asthmatic, atopic, healthy)
nextflow run JD2112/milou -profile em_seq_cpu,singularity
nextflow run JD2112/milou -profile em_seq_gpu,singularity,gpu

# 2. Human WGBS/Bisulfite benchmark (PRJNA476128)
nextflow run JD2112/milou -profile bs_seq_cpu,singularity
nextflow run JD2112/milou -profile bs_seq_gpu,singularity,gpu

# 3. Targeted Hybrid-Capture replication cohort (24 samples)
nextflow run JD2112/milou -profile twist_replicate_article_A_cpu,singularity
nextflow run JD2112/milou -profile twist_replicate_article_A_gpu,singularity,gpu

# 4. Minimal lightweight sanity test
nextflow run JD2112/milou -profile test_local,singularity

7. Key Parameter Reference

Parameter Description Default
--sample_sheet Path to sample sheet CSV (required) null
--genome_fasta Path to reference genome FASTA null
--bismark_index Pre-built Bismark bisulfite index directory null
--gtf_file Ensembl gene annotation GTF (for edgeR / feature overlap) null
--refseq_file RefSeq gene coordinates BED (for methylKit / promoter overlap) null
--diff_meth_method Differential callers to run: all, dss, edger, methylkit 'dss'
--smoothing Spline smoothing in DSS (TRUE / FALSE; use FALSE for WGBS memory scaling) TRUE
--mode Operational mode: research (broad exploratory) or clinical (strict consensus voting) 'research'
--run_clinical_report Render automated Quarto HTML & PDF diagnostic reports false
--coverage_threshold Minimum CpG read depth filter 3
--logfc_cutoff Effect size threshold for significance filter 0.5
--pvalue_cutoff P-value threshold for candidate significance filter 0.05
--outdir Output publication directory './results'

For the exhaustive parameter specification, visit the Online Documentation.

8. Output Directory Structure

Each pipeline run organizes harmonized results into standard directories:

results/
├── multiqc/                   # MultiQC aggregated quality control report
├── pipeline_info/             # Nextflow execution report, timeline, trace, and DAG
├── clinical_reporting/        # Quarto HTML & PDF diagnostic summary reports
├── unified_layer/             # Cross-method consensus tables with calculated π-values
│   ├── Unified_Candidate_Genes_Ranked.csv
│   └── MultiMethod_Consensus_Voting_Matrix.csv
├── dss/                       # DSS differential methylation results (CpGs & DMRs)
├── edger/                     # edgeR dispersion-shrinkage differential results
├── methylkit/                 # methylKit logistic regression results & annotations
└── enrichment/                # clusterProfiler GO, KEGG Pathview, and DisGeNET outputs

9. Citation & Reproducibility

If you use milou in your research, please cite:

Das, J., et al. (2026). milou: An open-source, reproducible Nextflow framework for high-throughput DNA methylation profiling with multi-method consensus scoring and automated reporting.
Software Pipeline Archive: https://doi.org/10.5281/zenodo.14204260
Benchmark Data Archive: https://doi.org/10.5281/zenodo.22326688

10. License & Acknowledgements

This project is licensed under the MIT License - see the LICENSE file for details.

The authors would like to acknowledge Dr. Vesa Loitto, the Core Facility, Dept. of Biomedical and Clinical Sciences, Faculty of Medicine and Health Sciences at Linköping University, Sweden for his support on this application development. We would like to acknowledge the Core Facility, Faculty of Medicine and Health Sciences, Linköping University, Linköping, Sweden and Clinical Genomics Linköping, Science for Life Laboratory, Sweden for their support. We thank the PDC (Parallelldatorcentrum) Center for High-Performance Computing, KTH Royal Institute of Technology, Sweden, for providing access to the computing resources and storage used in this research. We thank ALF funding support from Region Östergötland (RÖ) and Genomic Medicine Sweden for the computational facility. Clinical Genomics Linköping receives funding from the Science for Life Laboratory.

About

A Nextflow pipeline for DNA methylation analysis from WGBS, EM-seq, and Twist panels with GPU acceleration and multi-method consensus scoring.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages