12 Structural Variation and Copy Number: Concepts
12.1 The problem
A structural variant is a rearrangement: a stretch of sequence deleted, inserted, duplicated, inverted, or moved somewhere else. Small variant calling (Section 10.1) asks what the bases are at a position. This asks a different question — whether the sample’s genome is put together the same way the reference is — and the difference is not one of degree.
The reason it is harder has nothing to do with the variants being larger. It is that the evidence changes form. For a substitution, the reads pile up at the site and disagree with the reference in a way the aligner handles correctly; the data arrive already in the shape the question is asked in. For a rearrangement that is longer than a read, no read contains the event. What you have instead is a set of reads that failed to align in a characteristic way, and the call is an inference about which failure pattern they represent.
Small variant calling reads a signal. Structural variant calling reads the shadow a signal casts on the alignment process. Everything that makes this part of the field difficult follows from that one displacement: the aligner is between you and the evidence, and every property of the aligner — its scoring, its repeat handling, its mapping quality — becomes a property of your callset.
12.2 Where the boundary is, and why it is arbitrary
Convention puts the line at 50 bases: below that is an indel, above it a structural variant (Chaisson et al. 2019). Nothing biological happens at 50 bp. The threshold is a statement about tooling — roughly where an event stops fitting inside a short read’s alignment and starts having to be inferred from how reads relate to each other.
That matters more than it sounds, because it means the boundary moves with the technology while the published numbers do not. Counts of “SVs per genome” compared across studies are comparing detection limits at least as much as they are comparing genomes. A useful anchor: a haplotype-resolved study of three trios reported 27,622 variants of 50 bp or more per genome, against 818,054 smaller indels (Chaisson et al. 2019) — and described its own callsets as a three- to sevenfold increase over what standard sequencing studies of the time found in the same size class.
The classes themselves are worth naming precisely, because they are not symmetric:
- Deletions and duplications change copy number. They are unbalanced, so they show up in read depth as well as at their junctions.
- Inversions and translocations move sequence without changing how much of it there is. They are balanced, invisible to depth, and detectable only at their junctions.
- Insertions add sequence that, by definition, is not in the reference. Nothing can be aligned to where it came from, which makes them the class short reads handle worst.
12.3 Four ways to see a rearrangement
There are only a few kinds of evidence for a junction, they were cataloged early (Alkan et al. 2011), and each is blind to something the others see. Knowing which one a caller uses tells you what it will miss.
Split reads. A read that spans a junction aligns in two pieces to two places. Of the signals available from reads alone this is the only one that places the breakpoint to the base, and it needs a read long enough to carry anchoring sequence on both sides of the junction.
Discordant read pairs. In paired-end data, the two mates should land a known distance apart in a known orientation. Pairs that land too far apart, too close, or facing the wrong way are consistent with a rearrangement between them. This localizes a junction to a window rather than a position, and the window is as wide as the fragment length distribution.
Read depth. Coverage drops over a deletion and rises over a duplication. Depth is the only evidence that works when the junctions themselves are unmappable, which is exactly the case for events bounded by repeats — and it sees nothing at all for balanced events.
Assembly. Build the sample’s sequence independently and compare it to the reference. This bypasses the alignment-of-reads problem entirely and is the only approach that recovers inserted sequence rather than merely detecting that something was inserted.
No single signal covers the classes. Depth cannot see an inversion; split reads cannot see an event whose breakpoints sit in a segmental duplication; discordant pairs cannot resolve a breakpoint to the base. A caller that weighs several sources covers more of the space, but combining evidence means weighting it, and the weights are where callers differ. Two tools given identical alignments will produce substantially different callsets, and the disagreement is not noise — it is a difference in what each one is willing to believe.
12.4 What a call can actually say
A small variant record says: at this position, these bases become those bases. A structural variant record often cannot say anything that clean, and the formats have grown two escape hatches worth understanding (Section 2.1).
The first is the symbolic allele: rather than spelling out the sequence, the record names the event type — a deletion of this length starting here. This is a claim about structure without a claim about sequence, and it is why two callsets can agree that a deletion exists while disagreeing about what was deleted.
The second is the breakend: a record describing one side of a junction and the place its partner joins. Breakends exist because the assumption underneath every other representation — that an event has a type, and that both of its ends are known — fails often. A junction may join two places with no consistent interpretation as deletion or duplication or inversion; its partner may be in sequence absent from the reference; the event may be one link in a chain of rearrangements that has no name.
A breakend is not a lesser call. It is the honest one when the evidence supports a junction and nothing more. Callers that force every junction into a named type produce tidier files at the cost of asserting structure they have not established, and the tidiness is why those files are easier to summarize and worse to trust.
12.5 What long reads changed
The change is categorical rather than incremental. When a read is longer than the event, the event is inside an alignment instead of being inferred from a pattern across alignments. A 2 kb insertion in a 20 kb read is a 2 kb gap in one CIGAR string — the same kind of observation as an indel, differing only in size.
Two consequences follow, and both are large. Insertions become detectable with their sequence, because the read carries the inserted bases. And events with repetitive breakpoints become tractable, because a read anchored in unique sequence on both sides of a repeat does not depend on placing anything inside it.
The size of the gap this closed is measurable. Haplotype-resolved assemblies of 32 diverse human genomes found 107,590 structural variants, of which 68% had not been discovered by short-read sequencing (Ebert et al. 2021). That figure is not a statement about short-read callers being poorly written. It is a statement about what the data can support: the majority of human structural variation sits in exactly the repetitive, duplicated context that short reads cannot anchor in.
Because different technologies see different subsets, “structural variants in this cohort” is never a complete statement. A short-read cohort and a long-read cohort produce different variant catalogs from the same samples, and merging them does not produce a union so much as a document requiring interpretation. Any comparison across studies, and any use of a population frequency as a filter, has to account for how the callset was produced before it can mean anything.
12.6 Copy number is a different question
Copy number asks how many copies of a region a sample carries. It overlaps structural variation without being the same thing: a deletion is a copy number change and a junction, but a copy number change can be called without ever locating a junction, and often has to be.
The reason it deserves separate treatment is that its evidence is a single noisy channel — read depth — and depth is confounded by almost everything. GC content changes amplification efficiency. Mappability changes how many reads can be placed. In targeted sequencing, capture efficiency varies from bait to bait, and it is that variation rather than copy number that dominates the raw depth profile — which is to say the profile is largely a picture of the assay.
Every copy number method is therefore a normalization method first and a calling method second. What separates the approaches is not their segmentation algorithm — those are largely interchangeable — but what they normalize against: a pool of samples processed identically, a matched normal, a GC-and-mappability model, or the sample’s own average. The choice of reference is the method, and a reference built from samples prepared differently from yours will produce confident, coherent, wrong segments.
One more asymmetry is worth carrying. Copy number ratios are relative by construction: they tell you a region has twice the depth of the baseline, not that it has four copies. Converting a ratio to an absolute copy number needs the sample’s ploidy and, for a tumor, its purity — quantities that are themselves estimated, usually from the same data, and frequently from a model with more than one solution.
12.7 Comparing two callsets
Small variant callsets have a representation problem that normalization solves (Section 10.5). Structural variant callsets have the same problem, worse, and with no canonical form to solve it.
Two callers describing one 300 bp insertion may place it eleven bases apart, because they anchored on different reads. They may give lengths that differ by five, because they aligned the inserted sequence differently. One may call a duplication where the other calls an insertion of the duplicated sequence — which is the same event under two descriptions. None of this is error. It is the ordinary consequence of inferring an event whose boundaries are genuinely ambiguous in repetitive sequence.
So comparison cannot be a set operation on coordinates. A usable comparison asks whether two records plausibly describe the same allele, using position proximity, size similarity, and — where both records carry sequence — how similar that sequence is. Each of those is a threshold, which means:
Change the allowed breakpoint distance or the size-similarity requirement and the concordance between two callsets moves substantially, in the direction you chose. A reported overlap between callers, or a benchmark recall figure, is meaningless without the matching criteria beside it. This is the single most common way structural variant results are over-read, including by the people who produced them.
12.8 What a benchmark proves here
The caution that applies to small variant truth sets (Section 10.6) applies here with more force, because the confident regions are a smaller fraction of a harder problem.
The widely used germline benchmark was built by integrating nineteen calling methods across several technologies, and it deliberately scopes itself: it covers isolated, sequence-resolved insertions and deletions of at least 50 bp, in tier 1 regions spanning 2.51 Gbp (Zook et al. 2020). Read that scope carefully, because each clause excludes a class of the thing that is hard. Isolated excludes clustered and complex events. Insertions and deletions excludes inversions and translocations entirely. And the regions exclude the places where establishing truth was itself too hard — which are the same places callers disagree.
A tool reporting high recall against that set has demonstrated something real and narrow: it finds isolated deletions and insertions in the parts of one genome where the answer is known. It has demonstrated nothing about balanced events, nothing about complex rearrangements, and nothing about the regions that were excluded precisely because they resist characterization.
12.9 What to take forward
- A structural variant call is an inference from how reads fail to align, not from what reads say. The aligner’s properties become the callset’s properties.
- The 50 bp boundary is a tooling artifact, so cross-study variant counts compare detection limits as much as they compare genomes.
- Split reads, discordant pairs, depth and assembly each see a different subset; balanced events are invisible to depth, and repeat-bounded events are invisible to junction evidence.
- A breakend is the correct call when the evidence supports a junction and no event type. Files without breakends are tidier because they assert more.
- Long reads changed what is detectable rather than how well it is detected — most human structural variation sits where short reads cannot anchor.
- Copy number is a normalization problem before it is a calling problem, and ratios become absolute copy numbers only through assumptions about ploidy and purity.
- Comparing callsets requires allele-level matching with explicit thresholds. Any concordance figure without its criteria is uninterpretable.
Section 13.1 names what to run.