PoODLE (Phylogenomic Overview for Detection of Linkages for Epidemiologists) is a bioinformatics pipeline for identifying genomic relatedness between bacterial isolates. Starting from a samplesheet containing sequencing reads (FASTQ), genome assemblies (FASTA), and annotation files (GFF/GBK), PoODLE performs variant calling, recombination filtering, phylogenetic reconstruction, pangenome analysis and Mash distance estimation. The pipeline produces linkage tables and an interactive HTML report for each cluster with trees, pangenome profiles, and distance matrices.
Genomes analyzed with sequencing pipelines (e.g.,PHoeNIx, Bactopia, TheiaProk, custom workflows) or obtained from public repositories (e.g., AllTheBacteria, NCBI) can be analyzed with CorGe+ or with other clustering pipelines to identify preliminary genetic groupings and prioritize related samples.
These grouped isolates can then be analyzed with PoODLE which enables detailed within-group investigation through SNP-based approaches and pangenome analysis, supporting fine-scale discrimination of closely related isolates. This workflow provides the resolution needed for routine surveillance, cluster validation, and outbreak investigation.
- Processes multiple species and clusters in parallel
- Optimized to reuse previous variant calling results (useful in routine surveillance, where clusters grow incrementally)
- Generates HTML reports and linkage tables to facilitate interpretations
High-level steps:
- Reference-based variant calling with
Snippy - Recombination filtering with
Gubbins(optional) - Constant site calculation from genome alignment with
snp-sites - Phylogeny with
IQ-TREE - Pairwise SNP distance calculation with
snp-dists - Linkage analysis based on pairwise SNP distances
- Pangenome analysis with
Panaroo - Whole-genome distance tree with
MashTree(optional) - Report generation including trees, distance matrices, and pangenome plots
For full workflow details check Workflow documentation
Nextflow(>=22.10.1)- One container runtime:
Docker(recommended for local runs)Apptainer(recommended for HPC)Singularity
Prepare a samplesheet (CSV) to define sample files, clusters, and references:
Input format description
| Column | Description |
|---|---|
sample |
Unique sample ID |
fastq_1 |
Path to read 1 (leave empty if not available) |
fastq_2 |
Path to read 2 (leave empty for single-end or assemblies) |
annotation |
Annotation file (GFF or Genbank format, can be gzipped) |
assembly |
FASTA assembly (can be gzipped) |
cluster_id |
Cluster identifier (e.g. outbreak or surveillance group) |
species |
Species name |
reference |
Reference genome FASTA for SNP calling (can be gzipped) |
sample,fastq_1,fastq_2,annotation,assembly,cluster_id,species,reference
SAMPLE_1,/path/S1_R1.fastq.gz,/path/S1_R2.fastq.gz,/path/S1.gff,/path/S1.fasta,HC1-C1,Escherichia_coli,/path/ref1.fasta
SAMPLE_2,/path/S2_R1.fastq.gz,/path/S2_R2.fastq.gz,/path/S2.gff,/path/S2.fasta,HC1-C1,Escherichia_coli,/path/ref1.fasta
SAMPLE_3,/path/S3.fastq.gz,,/path/S3.gff,/path/S3.fasta,outbreak_A,Pseudomonas_aeruginosa,/path/ref2.fasta
SAMPLE_4,,,/path/S4.gff,/path/S4.fasta,outbreak_A,Pseudomonas_aeruginosa,/path/ref2.fastaSupported input types for variant calling
Snippy supports the following inputs:
- Paired-end reads β
fastq_1+fastq_2 - Single-end reads β
fastq_1only - Assemblies only β leave both FASTQ columns empty
Important
- Even if FASTQs are missing, all columns must be present in the CSV.
- Use QC-trimmed FASTQ files, not raw reads.
- All samples from the same cluster should share the same
species,cluster_idandreferencefile.
Warning
SNPs generated from assemblies may be inflated or less accurate. Quality-trimmed reads are strongly recommended whenever possible.
Supported annotation types for pangenome profiling
Panaroo supports the following annotation formats:
- GFF3 (from Prokka or Bakta, with embedded FASTA) β use
--annotation_format gff(default) - GFF3 without embedded FASTA (e.g., from RefSeq) β use
--annotation_format split_gff - GenBank files (.gb, .gbk, .gbff) β use
--annotation_format genbank
Note
All samples within a run must use the same annotation format.
Now, you can run the pipeline using:
nextflow run MDHHS-Bioinformatics/poodle \
-profile singularity \
--input samplesheet.csv \
--outdir poodle_results \
--gubbins \
--mashtreeThis will execute the core analysis workflow which include variant calling and pangenome analysis. Optional analyses (recombination filtering with Gubbins and Mash analysis) are enabled with --gubbins and --mashtree.
For more details and further functionality, please refer to Usage documentation and the Parameter documentation
Results are organized by species and cluster:
π <outdir>/
βββ π <Species>/
βββ π <cluster_id>/
βββ π snippy_core/
βββ π snippy_run/
βββ π panaroo/
βββ π gubbins/
βββ π mashtree/
βββ π linkages/
βββ π<Species>_<cluster_id>.html
Key outputs:
- HTML report
- Distance matrices
- Linkage summary tables
For more details about the output files and reports, please refer to the Output documentation
PoODLE was built and is maintained by the Genomic Analysis Unit at the Michigan Department of Health & Human Services (MDHHS) Bureau of Laboratories. This pipeline was developed by Karla Vasco and Douglas Maldonado-Torres using the nf-core template.
Additional conceptual guidance and scientific input were provided by Arianna Miles-Jay and Heather Blankenship.
Contributions, issues, and pull requests are welcome! If you would like to contribute to this pipeline, please see the Contribution guidelines.
If you use PoODLE for your analysis, please cite the following doi:
Vasco K, Maldonado-Torres D, Blankenship H & Miles-Jay A (2026). MDHHS-Bioinformatics/poodle: v1.0.0 (v1.0.0). Zenodo. https://doi.org/10.5281/zenodo.20857592
An extensive list of references for the tools used by the pipeline can be found in CITATIONS.md.
This repository is not a source of government records but is intended to increase collaboration and collaborative potential on public health related projects. Materials and information in this repository are intended to share information and collaboratively develop analysis workflows.
The workflows and pipelines reflect the current understanding of the software and biological questions being answered and may be updated as needed and pursuant to further analysis and review. No warranty, expressed or implied, is made by MDHHS Bureau of Laboratories as to the functionality of the software and related material nor shall the fact of release constitute any such warranty. Furthermore, the software is released on condition that the MDHHS Bureau of Laboratories shall not be held liable for any damages resulting from its authorized or unauthorized use.
Use of this service is limited only to non-sensitive and publicly available data. Users must not use, share, or store any kind of sensitive data like health status, provision or payment of healthcare, Personally Identifiable Information (PII) and/or Protected Health Information (PHI), etc. under any circumstance.
This project is released under the MIT License.



