Site icon Ampersand Tutorials

What Is Genome Assembly and How Do You Judge If It Is Good Enough?

Illustration of genome assembly: overlapping sequencing reads stitched into contigs and scaffolds on a DNA chromosome

Quick answer: Genome assembly is the act of stitching millions of short sequencing reads back into the longer, contiguous sequences they came from. The product is a set of contigs (contiguous sequence stretches), often organized into scaffolds (contigs ordered and oriented across estimated gaps). But assembling is easy to do and easy to do badly — the real skill this article teaches is judging whether an assembly is good enough for your downstream job, because contiguity (N50), completeness (BUSCO, Merqury), and correctness (misassembly and contamination checks) can disagree.

Natural next step after the NGS workflow overview and the genome annotation guide on this blog: sequencing produces reads, assembly turns reads into the sequence, and annotation is the layer that makes the assembled sequence usable.

Why assembly exists at all

No sequencing machine reads a genome end to end. Illumina machines deliver short reads (150–300 bp); long-read machines deliver 10 kb to megabase-scale reads with varying accuracy. Every single read is a fragment with no home until a program decides where it belongs. Assembly is that decision process, run at genome scale:

The result for a small bacterial genome with long reads can literally be one contig — a complete chromosome. For a large, repeat-rich eukaryote, it will be thousands of pieces, and how many pieces is the first thing quality metrics describe.

Contigs vs scaffolds: two different promises

This distinction matters when you read quality tables: a genome of “38.2 Mb with 12 scaffolds” may actually contain only 35.4 Mb of real sequence plus 2.8 Mb of estimated-N gaps. Always check how much of a scaffolded assembly contains actual sequence.

N50: the most quoted, most misunderstood metric

N50 definition: sort all contigs from longest to shortest; N50 is the length of the contig/scaffold at which 50% of the total assembly length is contained in sequences of that size or longer. If your assembly is 10 Mb and N50 is 2 Mb, half of all bases sit in valid contigs of at least 2 Mb.

Three things N50 does not tell you:

The rule: N50 is a contiguity metric and nothing else. Pair it always with metrics of a different kind.

The three quality axes — and how each is measured

Completeness: is the expected gene content there?

BUSCO checks sets of near-universal single-copy genes and reports how many are present once, duplicated, fragmented, or missing in your assembly. A bacterial assembly with 99.2% complete single-copy BUSCOs is telling you that almost every expected core gene was recoverable. A score of 85% complete plus 12% duplicated is a red flag for collapsed repeats and haplotigs (double the expected copy number).

Merqury for k-mer completeness: count k-mers in the raw reads and ask how many of those expected k-mers the assembly contains. It needs no reference, is independent of any gene choice, and flags haplotypes properly.

Correctness: are any sequences misjoined?

Purity: is anything foreign in there?

Contamination from a lab host (or from a symbiont) inflates assembly size, fragments metrics, and skews gene counts. Practical checks: per-contig coverage-depth distribution (foreign material often sits at a noticeably different depth), taxonomic composition of predicted proteins, and a manual scan of the small low-coverage contigs an assembly of this organism clearly should not contain.

Short reads vs long reads: what changes in practice

Practical consequence for tooling: Hifiasm (strong HiFi assembler, with ONT simplex support in current builds) and Flye (HiFi and ONT, including a metagenome mode for uneven coverage via --meta) are the two names most beginners will meet — they are complementary tools, not interchangeable, and choice depends on your read type.

A worked judgment example

Two bacterial assemblies of the same isolate, both at 4.7 Mb:

MetricAssembly AAssembly B
Contigs124
N504.7 Mb640 kb
BUSCO complete single-copy97.1%96.8%
Expected-size reads that misjoin0.4%0.3%
Contig coverage depth consistencyconsistent6 contigs at ~2× median depth

Assembly A looks better on N50 — but honest inspection says B could well be the better assembly if those 6 low-coverage contigs in B are organellar or plasmid sequences excluded from A, and A’s single contig came from merging elements that should stay separate. The lesson: bring the metrics together and read them against the genome’s expected biology — size, organellar content, ploidy, contamination — before ranking assemblies.

Common failure modes in practice

Key takeaways

Challenge

Download any finished bacterial genome’s assembly report from NCBI alongside its contigs, and compute N50 yourself with a 5-line script (sort lengths, walk down to 50% of the total). Then find the same genome’s BUSCO score in its RefSeq page and ask: with one contig, no gaps, near-perfect BUSCO — how much of the “quality” story does N50 tell? Tight scope on one real assembly beats a dozen theoretical lists.

Need help planning an assembly and annotation project for coursework or research? Ampersand Academy offers one-to-one mentoring in bioinformatics and analysis — part of Mahadhi, a development and digital marketing company.

—

FAQ

No. N50 measures contiguity only, and a heavily misassembled or duplicated assembly can win on N50 while being biologically wrong. Compare assemblies on contiguity plus completeness (BUSCO, Merqury) plus correctness (misassembly check) together.

A contig is a continuous stretch of assembled sequence with no gaps. A scaffold arranges contigs in order and orientation with estimated gaps between them — claims about structure, not necessarily real letters.

For repeat-rich eukaryotic genomes, effectively yes in practice — short reads alone cannot bridge repeats. Small bacterial genomes can still produce workable assemblies from short reads, and hybrid polishing keeps them accurate.

Duplicates: BUSCO counts duplicated single-copy genes, and high duplication usually means collapsed repeats or retained haplotypes. Read the complete/duplicated/fragmented breakdown, not the headline completeness number.

Long-reading a small genome typically uses 25–40× with HiFi-style reads; ultra-long ONT layers or short-read polishing passes go on top. Cheaper low coverage produces well-known gaps and misassemblies rather than real savings.

Those are gaps generated by scaffolding, not real sequence. They carry genome position order through estimated distances and must be discounted when reporting “real” assembly length.

When completeness and purity are established (BUSCO/Merqury checks, contamination screens, size near genome-size estimate) and misassemblies are screened. Annotation of a fragmented or contaminated assembly carries fragmentation and wrong names straight through, so check first, annotate second.

Is N50 the best single number to compare two assemblies?

No. N50 measures contiguity only, and a heavily misassembled or duplicated assembly can win on N50 while being biologically wrong. Compare assemblies on contiguity plus completeness (BUSCO, Merqury) plus correctness (misassembly check) together.

What is the difference between a contig and a scaffold?

A contig is a continuous stretch of assembled sequence with no gaps. A scaffold arranges contigs in order and orientation with estimated gaps between them — claims about structure, not necessarily real letters.

Do I need long reads to get a good assembly?

For repeat-rich eukaryotic genomes, effectively yes in practice — short reads alone cannot bridge repeats. Small bacterial genomes can still produce workable assemblies from short reads, and hybrid polishing keeps them accurate.

Why is my BUSCO score full but the assembly still considered problematic?

Duplicates: BUSCO counts duplicated single-copy genes, and high duplication usually means collapsed repeats or retained haplotypes. Read the complete/duplicated/fragmented breakdown, not the headline completeness number.

How much sequencing coverage do I need for assembly?

Long-reading a small genome typically uses 25–40× with HiFi-style reads; ultra-long ONT layers or short-read polishing passes go on top. Cheaper low coverage produces well-known gaps and misassemblies rather than real savings.

Why does my assembly contain N characters?

Those are gaps generated by scaffolding, not real sequence. They carry genome position order through estimated distances and must be discounted when reporting real assembly length.

When is an assembly ready for annotation?

When completeness and purity are established (BUSCO/Merqury checks, contamination screens, size near genome-size estimate) and misassemblies are screened. Annotation of a fragmented or contaminated assembly carries fragmentation and wrong names straight through, so check first, annotate second.

Exit mobile version