Introduction
https://github.com/rodtheo/nf-core-assemblyeval
Assemblyeval accepts genome assemblies (FASTA), paired-end Illumina reads, and long reads (ONT or PacBio) via a YAML samplesheet, optionally cleaning them of contamination before evaluation. The pipeline systematically assesses contiguity (QUAST), completeness (COMPLEASM/BUSCO, Merfin), and correctness (ALE, REAPR, CRAQ) — combining read-alignment-based and k-mer-based evidence into a single normalized weighted score. Final outputs include a comparative MultiQC report ranking assemblies across all metrics and an IGV-based interactive report for manual inspection of putative structural errors.
- Parse and prepare input samplesheet (
PREPARE_INPUT: assemblies · Illumina reads · long reads) - Read QC (
FastQC) - Contamination screening and removal (Optional,
--skip_contamination):- Adapter/vector screen (
FCS-adaptor) - Foreign genome screen (
FCS-GX) - Generate cleaned assembly (
FCS-CLEAN)
- Adapter/vector screen (
- Contiguity assessment (
QUAST) - Completeness assessment (choice of):
- K-mer profiling and QV estimation:
- K-mer counting (
Meryl) - Genome profiling (
GenomeScope2) - K-mer completeness and QV* score (
Merfin)
- K-mer counting (
- Short-read alignment to assemblies (
BWA-MEM2,SAMtools) - Long-read alignment to assemblies (
Minimap2) - Correctness assessment:
- Assembly likelihood score (
ALE) — evaluates short-read alignments using a Bayesian framework to compute a global log-probability score that the assembly is correct, integrating four per-nucleotide metrics: alignment concordance, insert size consistency, depth of coverage uniformity, and k-mer frequency - Structural error detection (
CRAQ) — uses clipped (split-mapped) short- and long-read alignments to identify regional and structural errors, reporting a Regional Assembly Quality Index (R-AQI) and a Structural Assembly Quality Index (S-AQI) on a 0–100 scale - Error region detection via Fragment Coverage Distribution (
REAPR) — evaluates the discrepancy between observed paired-read mapping coverage and theoretical expectations (FCD error), scoring each base from 0 to 1 based on read orientation, insert size consistency, and soft-clipping evidence; two run modes are supported:- Whole-assembly mode (default) — runs REAPR across the entire assembly at once
- Per-contig mode (optional,
--reapr_by_chr true) — splits the assembly by contig/chromosome, subsets the BAM accordingly withBEDTools, and runs REAPR independently per contig; recommended for large assemblies (>500 Mbp)
- Assembly likelihood score (
- Convert correctness scores to indexed BEDGraph tracks (
UCSC wigToBedGraph,Tabix,BEDTools) - Filter and prepare candidate misassembly regions for visualization (
SUBSET_REAPR,PREPARE_REPORT_IGV) - Generate interactive per-assembly error report (
IGV-Reports) - Aggregate metrics, compute weighted ranking scores and present QC (
MultiQC)
[!WARNING] The contamination module requires the pre-download of the FCS-GX database, which demands a substantial amount of disk space and a minimum of 512 GB of RAM for full-performance execution. Running with less memory is possible but may result in up to a 10,000× performance penalty. For this reason, we strongly recommend running the contamination steps (
--skip_contamination false) only on HPC (High-Performance Computing) environments.If you do not have access to HPC infrastructure, you can run FCS-GX online via Galaxy — ncbi_fcs_gx on Galaxy — and then use the resulting decontaminated FASTA file as input to nf-core/assemblyeval with
--skip_contamination.
Usage
[!NOTE] If you are new to Nextflow and nf-core, please refer to this page on how to set-up Nextflow. Make sure to test your setup with
-profile testbefore running the workflow on actual data.
Prepare an assemblysheet.yaml with the following fields:
metadata: organism-level metadata shared across assemblies:id: sample or organism namekmer_size: k-mer size for tools likeMerylploidy: ploidy levelorganism_domain:eukorproktaxid: NCBI taxonomy IDbusco_lineages: BUSCO lineage(s) for completeness evaluation
assembly: one or more assemblies to evaluate. Each entry requires a uniqueid(no spaces) andpri_asmwith the path to the FASTA file.illumina: paired-end Illumina reads (read1andread2).ont: long reads file path. For PacBio data, pass--map-pbwhen running the pipeline.
Below is an example assemblysheet.yaml evaluating four assemblies of C. trachomatis:
samples:
- metadata:
id: Ctrachomatis
kmer_size: 21
ploidy: 1
organism_domain: prok
taxid: "315277"
busco_lineages:
- "chlamydiae_odb10"
assembly:
- id: ref
pri_asm: "./data_test/GCF_000012125.1_ASM1212v1_genomic.fasta"
- id: ctracho_5inversions_default
pri_asm: "./data_test/ctracho_5inversions_default.simseq.genome.fa"
illumina:
- read1: "./data_test/mason_R1_001.fastq.gz"
read2: "./data_test/mason_R2_001.fastq.gz"
ont:
- reads: "./data_test/ont_reads_pbsim3.fq.gz"
To get started, clone the repository, enter the folder, and test the pipeline using the bundled C. trachomatis test dataset:
git clone https://github.com/rodtheo/nf-assemblyeval.git
cd nf-assemblyeval
export NXF_VER=25.04.3
nextflow run main.nf \
-profile docker \
--max_cpus \
--input assets/chla_test_input_channels.yaml \
--outdir
Once the pipeline completes, the main outputs are:
- General evaluation report:
/multiqc/Report-for-General-Evaluation-of-Assemblies_multiqc_report.html - Per-assembly error inspection:
/igvreports/
[!WARNING] Provide pipeline parameters via the CLI or
--params-file. The-cNextflow option handles configuration only and cannot set pipeline parameters. See docs.
For more details, see the usage documentation and parameter documentation.
Pipeline output
To see the results of an example test run with a full size dataset refer to the results and the IGV report.
After the pipeline finishes, the main outputs are self-contained HTML located at /multiqc/ and /igvreport/.
For more details about the output files and reports, please refer to the output documentation.
Disclaimer
This is not an official nf-core community pipeline (at least, not yet), although it strives to follow the community's recommended standards as closely as possible.
Credits
nf-core/assemblyeval was originally written by Rodrigo Theodoro Rocha.
We thank the following people for their extensive assistance in the development of this pipeline:
Contributions and Support
If you would like to contribute to this pipeline, please see the contributing guidelines.
For further information or help, don't hesitate to get in touch on the Slack #assemblyeval channel (you can join with this invite).
Citations
An extensive list of references for the tools used by the pipeline can be found in the CITATIONS.md file.
You can cite the nf-core publication as follows:
The nf-core framework for community-curated bioinformatics pipelines.
Philip Ewels, Alexander Peltzer, Sven Fillinger, Harshil Patel, Johannes Alneberg, Andreas Wilm, Maxime Ulysse Garcia, Paolo Di Tommaso & Sven Nahnsen.
Nat Biotechnol. 2020 Feb 13. doi: 10.1038/s41587-020-0439-x.
Version History
master @ 7014a25 (latest) Created 11th Jul 2026 at 19:25 by Rodrigo Rocha
Update output links
Frozen
master
7014a25
master @ 89d9b72 (earliest) Created 8th Jul 2026 at 01:37 by Rodrigo Rocha
Adapt configs for nextflow to use symbolic links instead of copying during execution
Frozen
master
89d9b72
Creators and SubmitterCreators
Not specifiedSubmitter
Views: 199 Downloads: 4
Created: 8th Jul 2026 at 01:37
Last updated: 11th Jul 2026 at 19:25
TagsThis item has not yet been tagged.
AttributionsNone
View on GitHub
https://orcid.org/0000-0001-5624-8644