All protocols

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.

SSSudipta SardarUpdated July 21, 2026

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.

bash
quast.py contigs.fasta -o quast_out

Expected 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.201

2Read 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.

bash
cat quast_out/report.txt

Expected 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.00

3Add 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.

bash
quast.py contigs.fasta -r reference.fasta -g annotation.gff -o quast_ref

Expected 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.582

Troubleshooting

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).

References