Skip to content

Outputs

Karla Vasco edited this page Jun 25, 2026 · 1 revision

πŸ“‚ Pipeline Outputs

This document describes the outputs generated by CorGe+.

All paths described below are relative to the pipeline output directory specified with:

--outdir

πŸ“Š Output Directory Structure

Results are organized by species:

cgMLST schema provided
     πŸ“ corge_results
      β”œβ”€β”€ πŸ“ pipeline_info
      β”‚    β”œβ”€β”€ πŸ“„ execution_report_<date-hour>.html (one per batch)
      β”‚    β”œβ”€β”€ πŸ“„ execution_timeline_<date-hour>.html (one per batch)
      β”‚    β”œβ”€β”€ πŸ“„ execution_trace_<date-hour>.txt (one per batch)
      β”‚    β”œβ”€β”€ πŸ“„ software_versions.yml
      β”‚    └── πŸ“„ samplesheet.valid.csv
      └── πŸ“ <Species>
            β”œβ”€β”€ πŸ“ assemblies
            β”‚    └── πŸ“„ <sample>.fasta (one Fasta per sample)
            β”œβ”€β”€ πŸ“ cgMLST
            β”‚   β”œβ”€β”€ πŸ“ joined
            β”‚   β”‚   └── πŸ“„ <Species>_joined_results_alleles.tsv
            β”‚   β”œβ”€β”€ πŸ“ masked
            β”‚   β”‚    β”œβ”€β”€ πŸ“„ <Species>_Presence_Abscence.tsv
            β”‚   |    β”œβ”€β”€ πŸ“„ <Species>_masked_results_alleles.tsv
            β”‚   |    β”œβ”€β”€ πŸ“„ <Species>_cgMLSTschema0.txt
            β”‚   |    └── πŸ“„ <Species>_cgMLST.html
            β”‚   β”œβ”€β”€ πŸ“ msa (only if --tree is used)
            β”‚   β”‚    β”œβ”€β”€ πŸ“„ <Species>_dna_msa_variable.fasta
            β”‚   |    β”œβ”€β”€ πŸ“„ <Species>_dna_msa.fasta
            β”‚   |    β”œβ”€β”€ πŸ“„ <Species>_protein_msa_variable.fasta
            β”‚   |    β”œβ”€β”€ πŸ“„ <Species>_protein_msa.fasta
            β”‚   |    └── πŸ“„ <Species>_protein_summary_stats.tsv
            β”‚   └── πŸ“ new
            β”‚       β”œβ”€β”€ πŸ“„ <Species>_new_cds_coordinates.tsv
            β”‚       β”œβ”€β”€ πŸ“„ <Species>_new_invalid_cds.txt
            β”‚       β”œβ”€β”€ πŸ“„ <Species>_new_loci_summary_stats.tsv
            β”‚       β”œβ”€β”€ πŸ“„ <Species>_new_logging_info.txt
            β”‚       β”œβ”€β”€ πŸ“„ <Species>_new_paralogous_loci.tsv
            β”‚       β”œβ”€β”€ πŸ“„ <Species>_new_results_alleles.tsv
            β”‚       β”œβ”€β”€ πŸ“„ <Species>_new_results_contigsInfo.tsv
            β”‚       └── πŸ“„ <Species>_new_results_statistics.tsv
            β”œβ”€β”€ πŸ“ linkages
            β”‚   └── πŸ“„ <Species>_potential_linkages.csv
            β”œβ”€β”€ πŸ“ genomic_context_groups
            β”‚   └── πŸ“„ <Species>-groups_HC<threshold>.csv (one per HC threshold)
            β”œβ”€β”€ πŸ“ mashtree
            β”‚   β”œβ”€β”€ πŸ“„ <Species>_mash.dist
            β”‚   β”œβ”€β”€ πŸ“„ <Species>_mash.dnd
            β”‚   └── πŸ“„ <Species>_mash_rooted.tre
            β”œβ”€β”€ πŸ“ metadata
            β”‚   └── πŸ“„ <Species>_metadata.tsv (curated metadata if provided)
            β”œβ”€β”€ πŸ“ microreact
            β”‚   └── πŸ“„ <Species>_corge.microreact
            β”œβ”€β”€ πŸ“ poodle_samplesheets
            β”‚   └── πŸ“„ <Species>_poodle_manifest_HC<threshold>.csv (one per HC threshold)
            β”œβ”€β”€ πŸ“ ReporTree
            β”‚    β”œβ”€β”€ πŸ“„ <Species>_clusterComposition.tsv
            β”‚    β”œβ”€β”€ πŸ“„ <Species>_dist_hamming.tsv
            β”‚    β”œβ”€β”€ πŸ“„ <Species>_flt_samples_matrix.tsv
            β”‚    β”œβ”€β”€ πŸ“„ <Species>_loci_report.tsv
            β”‚    β”œβ”€β”€ πŸ“„ <Species>_nomenclature_changes.tsv
            β”‚    β”œβ”€β”€ πŸ“„ <Species>_partitions.tsv
            β”‚    β”œβ”€β”€ πŸ“„ <Species>_single_HC.nwk
            β”‚    └── πŸ“„ <Species>.log
            └── πŸ“ tree (only if --tree is used)
                β”œβ”€β”€ πŸ“„ <Species>_constant-sites.txt
                β”œβ”€β”€ πŸ“„ <Species>_rooted_cgmlst_snp.tree
                β”œβ”€β”€ πŸ“„ <Species>.iqtree
                └── πŸ“„ <Species>.nwk
No cgMLST schema provided (Parsnp)
     πŸ“ corge_results
      β”œβ”€β”€ πŸ“ pipeline_info
      β”‚    β”œβ”€β”€ πŸ“„ execution_report_<date-hour>.html (one per batch)
      β”‚    β”œβ”€β”€ πŸ“„ execution_timeline_<date-hour>.html (one per batch)
      β”‚    β”œβ”€β”€ πŸ“„ execution_trace_<date-hour>.txt (one per batch)
      β”‚    β”œβ”€β”€ πŸ“„ software_versions.yml
      β”‚    └── πŸ“„ samplesheet.valid.csv
      └── πŸ“ <Species>
            β”œβ”€β”€ πŸ“ assemblies
            β”‚    └── πŸ“„ <sample>.fasta (one Fasta per sample)
            β”œβ”€β”€ πŸ“ parsnp
            β”‚   β”œβ”€β”€ πŸ“„ <Species>_core_msa.fasta (only if --tree is used)
            β”‚   β”œβ”€β”€ πŸ“„ <Species>_parsnp.ggr
            β”‚   β”œβ”€β”€ πŸ“„ <Species>_parsnp.maf
            β”‚   β”œβ”€β”€ πŸ“„ <Species>_parsnp.rec
            β”‚   β”œβ”€β”€ πŸ“„ <Species>_parsnp.snps.mblocks
            β”‚   β”œβ”€β”€ πŸ“„ <Species>_parsnp.xmfa
            β”‚   β”œβ”€β”€ πŸ“„ <Species>_parsnpAligner.ini
            β”‚   β”œβ”€β”€ πŸ“„ <Species>_parsnpAligner.log
            β”‚   β”œβ”€β”€ πŸ“„ <Species>_snps_alignment.fasta
            β”‚   └── πŸ“„ <Species>_snp_dist.tsv
            β”œβ”€β”€ πŸ“ linkages
            β”‚   └── πŸ“„ <Species>_potential_linkages.csv
            β”œβ”€β”€ πŸ“ genomic_context_groups
            β”‚   └── πŸ“„ <Species>-groups_HC<threshold>.csv (one per threshold)
            β”œβ”€β”€ πŸ“ metadata
            β”‚   └── πŸ“„ <Species>_metadata.tsv (curated metadata if provided)
            β”œβ”€β”€ πŸ“ mashtree
            β”‚   β”œβ”€β”€ πŸ“„ <Species>_mash.dist
            β”‚   β”œβ”€β”€ πŸ“„ <Species>_mash.dnd
            β”‚   └── πŸ“„ <Species>_mash_rooted.tre
            β”œβ”€β”€ πŸ“ microreact
            β”‚   └── πŸ“„ <Species>_corge.microreact
            β”œβ”€β”€ πŸ“ poodle_samplesheets
            β”‚   └── πŸ“„ <Species>_poodle_manifest_HC<threshold>.csv (one per threshold)
            β”œβ”€β”€ πŸ“ ReporTree
            β”‚    β”œβ”€β”€ πŸ“„ <Species>_clusterComposition.tsv
            β”‚    β”œβ”€β”€ πŸ“„ <Species>_dist_hamming.tsv
            β”‚    β”œβ”€β”€ πŸ“„ <Species>_flt_samples_matrix.tsv
            β”‚    β”œβ”€β”€ πŸ“„ <Species>_loci_report.tsv
            β”‚    β”œβ”€β”€ πŸ“„ <Species>_nomenclature_changes.tsv
            β”‚    β”œβ”€β”€ πŸ“„ <Species>_partitions.tsv
            β”‚    β”œβ”€β”€ πŸ“„ <Species>_single_HC.nwk
            β”‚    └── πŸ“„ <Species>.log
            └── πŸ“ tree (only if --tree is used)
                β”œβ”€β”€ πŸ“„ <Species>_constant-sites.txt
                β”œβ”€β”€ πŸ“„ <Species>_rooted_parsnp.tree
                β”œβ”€β”€ πŸ“„ <Species>.iqtree
                └── πŸ“„ <Species>.nwk

πŸ”‘ Key Output Files

CorGe+ generates outputs to support surveillance, cluster interpretation, and downstream hqSNP-based analysis.


πŸ“˜ Potential linkages

File:

linkages/<Species>_potential_linkages.csv

Summarizes genome/schema completeness and identifies genetically related samples using either allelic from gMLST or SNP distances from Parsnp.

Columns

Column Description
sample Sample identifier
species Species name
data_type Analysis type: SNP or cgMLST
analysis_length Assembly length (SNP) or loci # (cgMLST)
percentage_called Proportion of the genome or cgMLST schema recovered (0–1)
completeness_qc Quality flag based on completeness
min_dist Minimum genetic distance to another sample
strong_linkages Closely related samples (0–10 distance)
intermediate_linkages Moderate links (11–40 distance)
lineage_level Distant but related samples (41–150 distance)

Completeness QC thresholds

Status cgMLST Completeness Coverage in sequence (core-genome, SNP)
PASS β‰₯ 95% β‰₯ 50%
WARN 90–94.9% 40–49.9%
FAIL < 90% < 40%

⚠ FAILED completeness may indicate:

  • incomplete or poor-quality assemblies
  • contamination or misassembly
  • incorrect species assignment

Example:

sample,species,data_type,analysis_length,percentage_called,completeness_qc,min_dist,strong_linkages,intermediate_linkages,lineage_level
sample1,Escherichia_coli,cgMLST,2513,0.9697572622363708,PASS,0,"sample2 (0), sample3 (1)",None,None
sample2,Escherichia_coli,cgMLST,2513,0.9693593314763232,PASS,0,"sample1 (0), sample3 (1)",None,None
sample3,Escherichia_coli,cgMLST,2513,0.9701551929964186,PASS,1,"sample1 (1), sample2 (1)",None,None

Important

Linkages involving samples flagged as FAIL should be interpreted with caution. We recommend re-sequencing these samples or confirming relatedness using read-based analyses, especially when samples fall within the lineage level distance range, to avoid missing potential links. Completeness of cgMLST schemes has been highlighted as crucial to ensure correct clustering Merda et. al, 2024.


πŸ“— Genomic context groups

Files:

genomic_context_groups/<Species>-groups_HC<threshold>.csv

Defines groups of related samples at each clustering threshold.

Columns

Column Description
sample Sample identifier
species Species name
group_name Cluster ID (e.g. HC20-C5)
group_length Number of samples in the group
group_samples Comma-separated list of samples
report_date Analysis timestamp

Example:

sample,species,group_name,group_length,group_samples,report_date
sample1,Escherichia_coli,HC1-C1,3,"sample1,sample2,sample3",2026-04-01
sample2,Escherichia_coli,HC1-C1,3,"sample1,sample2,sample3",2026-04-01
sample3,Escherichia_coli,HC1-C1,3,"sample1,sample2,sample3",2026-04-01

Note

Groups are labeled using the standardized format HC<partition>-C<id> (e.g. HC20-C25):

  • HC<partition>: the lowest distance at which all samples in the group cluster together at a given distance threshold (single-linkage)
  • C<id>: unique cluster identifier within that level

Group names remain stable across cgMLST runs, as CorGe+ reuses previous clustering results (partitions.csv).


πŸ“ PoODLE samplesheets

CorGe PoODLE

Files:

poodle_samplesheets/<Species>_HC<threshold>_poodle_manifest.csv

PoODLE is a bioinformatics pipeline for high-resolution analysis of bacterial groups, combining hqSNP calling (Snippy), recombination filtering (Gubbins), phylogenetics (IQ-TREE), pangenome analysis (Panaroo), and Mash distance estimation (MashTree). It produces an interactive HTML report for each cluster with trees, pangenome profile, and distance matrices.

CorGe+ automatically generates a PoODLE-compatible manifest for every selected threshold. The required columns are:

sample,fastq_1,fastq_2,annotation,assembly,cluster_id,species,reference

The FASTQ and annotation (GFF) fields are left empty by default, but CorGe+ can fill them automatically if you provide a PHoeNIx results directory (--phoenix_path), a Bactopia results directory (--bactopia_path), or a CSV with paths via --master_paths.

For each cluster, CorGe+ selects a reference genome based on the highest core-genome completeness, followed by the "best" assembly quality (fewest contigs, longest length, and alphabetical tie-break).

🧬 Microreact visualization

File:

microreact/<Species>_corge.microreact

CorGe+ generates a .microreact file that brings together complementary genetic perspectives:

  • Mashtree - produces a k-mer–based distance tree that reflects overall genome composition, including accessory genes.
  • Core-genome distance tree - prepared by ReporTree with the MSTreeV2 method, its useful for visualizing genetic relatedness among isolates.
  • Maximum-Likelihood tree - phylogenetic tree based on DNA sequence alignment, included when --tree is used.

To aid interpretation, Microreact also displays metadata blocks per threshold, using the ReporTree partition nomenclature. Each partition corresponds to a hierarchical clustering level and includes the method, numeric threshold, and distance unit. For example, threshold 15 corresponds to the partition single-15x1.0.

Upload to: https://microreact.org/upload

Microreact example using default settings

Microreact example

Microreact example using the --tree option

Microreact example

Tip

You can also explore groups interactively by uploading the ReporTree files .nwk and metadata_w_partitions.tsv or partitions.tsv to GrapeTree, SPREAD or Auspice. These tools run entirely in your browser for quick and private visualization.


🧬 Tool-Specific Outputs

Detailed tool outputs are stored in subdirectories.

ChewBBACA

Directory:

cgMLST/
Files

Subdirectories:

Folder Description
new/ Results for the latest batch (allele calling). More details: AlleleCall
joined/ Combined profiles (new + previous runs). More details: JoinProfile
masked/ cgMLST profiles with invalid and inferred alleles masked (new + previous runs). ExtractCgMLST
msa/ Multiple sequence alignments (if --tree is used). ComputeMSA

Files

File Description
joined/<Species>_joined_results_alleles.tsv Combined allele profiles across all runs
masked/<Species>_cgMLST.html cgMLST summary report
masked/<Species>_cgMLSTschema0.txt List of loci used
masked/<Species>_masked_results_alleles.tsv Masked allele profiles
masked/<Species>_missing_loci_stats.tsv Total number and percentage of loci missing from each genome
masked/<Species>_presence_abscence.tsv Locus presence/absence matrix
new/<Species>_new_cds_coordinates.tsv Coordinates of predicted coding sequences (CDSs) per genome
new/<Species>_new_invalid_cds.txt CDSs excluded due to size or ambiguous bases
new/<Species>_new_loci_summary_stats.tsv Classification counts per locus
new/<Species>_new_logging_info.txt Execution log and run details
new/<Species>_new_paralogous_counts.tsv Counts of paralogous loci per genome
new/<Species>_new_paralogous_loci.tsv List of detected paralogous loci
new/<Species>_new_results_alleles.tsv Allele calls for all loci and samples
new/<Species>_new_results_contigsInfo.tsv Contig-level statistics per genome
new/<Species>_new_results_statistics.tsv Classification summary per genome

πŸ’‘ Notes

  • Classification types include: EXC, INF, PLOT3, PLOT5, LOTSC, NIPH, NIPHEM, ALM, ASM, PAMA, LNF
  • CDSs are predicted using Prodigal and filtered before allele calling

MSA outputs (optional, --tree)

File Description
msa/<Species>_dna_msa_variable.fasta Variable nucleotide sites alignment
msa/<Species>_dna_msa.fasta Full DNA alignment
msa/<Species>_protein_msa_variable.fasta Variable aminoacid sites alignment
msa/<Species>_protein_msa.fasta Protein alignment
msa/<Species>_summary_stats.tsv Alignment statistics

Parsnp

Directory:

parsnp/
Files
File Description
<Species>_core_msa.fasta Multiple-sequence alignment β€” alignment of core-genome regions in FASTA format (only when --tree is used)
<Species>_parsnp.ggr Genome Graph Representation β€” a binary file used internally by Parsnp to represent the alignment graph.
<Species>_parsnp.maf Multiple Alignment Format (MAF) β€” contains the core-genome alignment across all input genomes.
<Species>_parsnp.rec Recombination Regions β€” lists regions identified as recombinant and excluded from SNP analysis
<Species>_parsnp.snps.mblocks SNP Blocks β€” lists SNPs grouped into blocks, useful for downstream phylogenetic analysis.
<Species>_parsnp.xmfa Extended Multi-FASTA Alignment (XMFA) β€” alignment of core-genome regions in XMFA format, compatible with tools like Mauve.
<Species>_parsnpAligner.ini Configuration File β€” records the parameters and settings used during the Parsnp run.
<Species>_parsnpAligner.log Log File β€” detailed log of the Parsnp execution, including progress and any warnings or errors.
<Species>_snps_alignment.fasta SNP Alignment β€” FASTA file containing the core-genome SNP alignment with reference and assembly extensions removed.
<Species>_snp_dist.tsv Pairwise SNP distance matrix β€” core-genome SNP distance matrix used as input for ReporTree.

ReporTree

Directory:

ReporTree/
Files
File Description
<Species>_clusterComposition.tsv Cluster composition summary
<Species>_dist_hamming.tsv Pairwise distance matrix
<Species>_flt_samples_matrix.tsv Filtered allele/SNP matrix
<Species>_loci_report.tsv Loci statistics
<Species>_partitions.tsv Clustering partitions (used for group assignations)
<Species>_nomenclature_changes.tsv Cluster name updates across runs
<Species>_single_HC.nwk Hierarchical clustering tree
<Species>.log Execution log

Details at ReporTree-Main-Outputs


MashTree

Directory:

mashtree/
Files
File Description
<Species>_<cluster_id>.dnd Mash-based distance tree
<Species>_<cluster_id>_rooted_mash.tre Mash-based distance tree midpoint rooted
<Species>_<cluster_id>.tsv Mash distance matrix

Tree

Directory:

tree/   (only if --tree is used)
Files
File Description
<Species>_constant-sites.txt Constant sites used for tree correction
<Species>_rooted_parsnp.tree Midpoint rooted tree (Parsnp-based)
<Species>_rooted_cgmlst_snp.tree Midpoint rooted tree (cgMLST-based)
<Species>.iqtree IQ-TREE report (model + statistics)
<Species>.nwk Maximum-likelihood phylogenetic tree (unrooted)

Metadata

A filtered .tsv file is produced per species if the --metadata file is provided.

🧾 Pipeline Execution Information

Directory:

pipeline_info/

This directory contains Nextflow execution reports.

Files
File Description
execution_report.html Pipeline execution summary
execution_timeline.html Task timeline
execution_trace.txt Detailed resource usage
pipeline_dag.svg Workflow graph
software_versions.yml Software versions used

These files are useful for reproducibility and troubleshooting.