Assess assembly quality with QUAST
Run QUAST on a genome assembly to compute N50, total length, and contig counts, then add reference-based misassembly and genome-fraction metrics.
Prerequisites
- QUAST installed (`quast.py` on PATH)
- An assembly FASTA file (e.g. contigs.fasta)
- Optional: a reference genome FASTA and a GFF annotation for reference-based metrics
1Run a reference-free report
Point QUAST at your assembly FASTA and an output directory. With no reference it computes length- and contiguity-based statistics: contig count, largest contig, total length, N50, and GC content. The binary is `quast.py`; the shorter `quast` alias works too.
quast.py contigs.fasta -o quast_outExpected output
Version: 5.2.0
Contigs:
Pre-processing...
contigs.fasta ==> contigs
2026-07-21 07:30:12
Running Basic statistics processor...
Contig files:
contigs
Calculating N50 and L50...
contigs, N50 = 215304, L50 = 8, auN = 241203.5, Total length = 5231044, GC % = 50.72, # N's per 100 kbp = 0.00
Drawing Nx plot...
Drawing cumulative plot...
Drawing GC content plot...
Done.
Contigs analyzed. Creating total report...
saved to quast_out/report.txt, report.tsv, report.tex
MAIN RESULTS:
quast_out/report.html report.txt report.tsv
Finished: 2026-07-21 07:30:15
Elapsed time: 0:00:03.2012Read the text report
Inspect the plain-text summary; `report.tsv` holds the same values for scripting. These are the numbers you cite for assembly quality: a high N50 relative to total length and a low contig count both indicate good contiguity.
cat quast_out/report.txtExpected output
All statistics are based on contigs of size >= 500 bp, unless otherwise noted (e.g., "# contigs (>= 0 bp)" and "Total length (>= 0 bp)" include all contigs).
Assembly contigs
# contigs (>= 0 bp) 210
# contigs (>= 1000 bp) 120
# contigs (>= 5000 bp) 88
# contigs (>= 10000 bp) 72
# contigs (>= 25000 bp) 48
# contigs (>= 50000 bp) 30
Total length (>= 0 bp) 5301122
Total length (>= 1000 bp) 5220310
Total length (>= 5000 bp) 5115400
Total length (>= 10000 bp) 4998210
Total length (>= 25000 bp) 4602330
Total length (>= 50000 bp) 3921870
# contigs 128
Largest contig 412034
Total length 5231044
GC (%) 50.72
N50 215304
N90 52140
auN 241203.5
L50 8
L90 28
# N's per 100 kbp 0.003Add a reference for misassembly and genome-fraction metrics
Supply a reference genome with -r and, optionally, a GFF annotation with -g. QUAST aligns your contigs to the reference and reports misassemblies, mismatch/indel rates, genome fraction (percent of the reference covered), duplication ratio, and NGA50. These reference-based figures are written to the report files (inspect them with `cat quast_ref/report.txt`); the console log shows the genome fraction as it runs.
quast.py contigs.fasta -r reference.fasta -g annotation.gff -o quast_refExpected output
Version: 5.2.0
Reference:
reference.fasta ==> reference
Contigs:
contigs.fasta ==> contigs
Running Basic statistics processor...
Running Contig analyzer...
contigs
Logging to files quast_ref/contigs_reports/contigs_report_contigs.stdout and .stderr...
Analysis is finished.
Running NA50 calculator...
Running Genome analyzer...
Loaded 4318 genomic features of type "any"
contigs | genome fraction = 98.21 %
Done.
MAIN RESULTS:
quast_ref/report.html report.txt report.tsv
Finished: 2026-07-21 07:31:44
Elapsed time: 0:00:41.582Troubleshooting
quast.py: command not found
QUAST is not installed or not on PATH. Install it with `conda install -c bioconda quast` (ideally inside a dedicated environment), then re-run.
Genome fraction is unexpectedly low with a reference
The reference may be the wrong strain or species, so few contigs align. Confirm you are using the correct reference, or check that your contigs are long enough to align (very short contigs are hard to place).