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:

  • Detect overlaps between reads (or exact k-mer matches) to find reads from the same stretch of DNA.
  • Merge reads into contigs, greedily or through graph algorithms.
  • Never assume biology you cannot verify. The assembler must leave gaps wherever evidence runs out rather than inventing sequence.

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

  • A contig is a contiguous stretch of assembled sequence with no gaps — the assembler is claiming everything here was directly supported by read evidence.
  • A scaffold is contigs ordered and oriented relative to each other, bridged by estimated gap characters (N). Scaffolds are claims about genome structure, not about DNA letters.

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:

  • Completeness. A short but perfect assembly of a tiny genome can beat a bloated assembly full of contamination on N50 alone — N50 measures spread across the assembly, not whether the assembly contains the whole genome.
  • Correctness. A misassembled genome — two chromosomes gluing together across a weak repeat — often raises N50 while making the biology wrong. Higher contiguity achieved by misjoining is worse than honest fragmentation.
  • Haplotype status. In a diploid genome assembled without separating haplotypes, similar reads from homeologous chromosomes can collapse into one sequence or, worse, produce duplicated haplotigs that double your “genome.”

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?

  • Long-read alignment back to the assembly. Align the original reads to the finished assembly: reads that align with a breakpoint split across two adjacent contigs or with suspicious soft-clipping near joins flag candidate misassemblies. A join that no read cleanly spans is a gap the assembler invented.
  • QUAST-style structural comparison against a reference genome (if one decently related exists) reports local misassemblies, translocations, and inversions — for assemblies with references, this is the practical correctness column.

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

  • Short-read assembly. Hundreds of millions of 150 bp reads get merged into de Bruijn graphs, contiguity limited by repeats longer than a read. Fine for small, repeat-poor bacterial genomes; hopeless for repeat-rich eukaryotes on its own.
  • Long-read assembly. Single reads can span whole repeats, so repeats stop being blockers and structure becomes tractable. Accuracy that used to be the drawback has flipped: PacBio HiFi reads pair long length with ~99.9% accuracy, and ONT is not far behind per base in current configurations — the modern default for eukaryotes and even bacteria is long-read-led assembly.
  • Hybrid strategies remain available when only short reads exist or when a long-read polishing pass is affordable. Polishing (short accurate reads correcting a long-read assembly) remains a standard completion step in bacterial workflows.

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

  • Optimizing N50 while ignoring duplication. Collapsed repeats and unresolved haplotypes raise contiguity and fake the assembly into looking “high-quality.”
  • Reporting assembly size without comparing to genome size estimates. With k-mer genome size estimated first (e.g. from read k-mers), assembly size should land close to the estimate; 40% over means contamination or duplication, less than 30% under means missing sequence.
  • Scaffolding gaps treated as real sequence. N-characters count toward scaffold length in some pipelines and must be excluded when comparing real content.
  • Skipping polishing. A long-read assembly is typically one-pass; systematic indels in homopolymers remain until a short-read or dedicated polishing pass runs.
  • Validating completeness with BUSCO alone. BUSCO’s gene sets under-represent some lineages; combine with k-mer completeness (Merqury) for a claim defensible either way.

Key takeaways

  • Assembly turns reads into contigs and scaffolds; it is the step between sequencing and annotation on every genome project.
  • Contigs are contiguous evidence; scaffolds add order and orientation through estimated gaps — read length tables accordingly.
  • N50 measures contiguity only. Completeness (BUSCO/Merqury), correctness (misassembly checks), and purity (contamination checks) are independent axes and can disagree.
  • Long reads changed assembly from hard to routine; HiFi plus either Hifiasm or Flye is the current starter kit, chosen by your read type.
  • Judge every assembly against the question it must serve: a perfect annotation input, a reference for read alignment, and a deposit-grade draft each have different thresholds.

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.

  • Is N50 the best single number to compare two assemblies?

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.

  • What is the difference between a contig and a scaffold?

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.

  • Do I need long reads to get a good assembly?

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.

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

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.

  • How much sequencing coverage do I need for assembly?

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.

  • Why does my assembly contain N characters?

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.

  • When is an assembly ready for annotation?

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.

Last updated on · Written by