All chapters
Structural Variant Analysis
advancedStructural Variant Types
Six Main Classes of Structural Variants
❌Deletion (DEL)Segment lost; ≥50 bp; haploinsufficiency if dosage-sensitive
⏫Duplication (DUP)Extra copy; gene dosage increase; tandem or dispersed
🔄Inversion (INV)Segment flipped; disrupts genes at breakpoints
➕Insertion (INS)Extra sequence; mobile elements (LINE-1, Alu)
↔️Translocation (TRA)Segment moved to different chromosome; BCR::ABL1
🌀Complex SVMultiple rearrangements; chromothripsis in cancer
Types of Structural Variants
- Deletion (DEL) - segment lost; heterozygous deletion causes haploinsufficiency in dosage-sensitive genes
- Duplication (DUP) - extra copy; tandem duplication or dispersed copy; gene dosage increase
- Inversion (INV) - flipped segment; disrupts genes at breakpoints; can alter regulatory landscape
- Insertion (INS) - extra sequence inserted; mobile element insertions (LINE-1, Alu) common
- Translocation (TRA) - segment moved to different chromosome; reciprocal or non-reciprocal
- Complex SVs - two or more rearrangements together; chromothripsis, chromoplexy in cancer
- CNV (Copy Number Variant) - ≥1 kb deletion or duplication; >10 Mb = chromosomal aneuploidy
SV Detection from Short Reads
- Paired-end (PE): discordant read pairs (wrong insert size or orientation) → inversions, translocations
- Split-read (SR): reads that span breakpoints, partially mapping → precise breakpoints
- Read depth (RD): copy number changes from coverage depth → deletions and duplications
- Ensemble approach: combine PE+SR+RD callers for best sensitivity/specificity
code
# Manta - fast, clinical-grade SV caller configManta.py \ --bam sample.bam \ --referenceFasta hg38.fa \ --exome \ --runDir manta_output python manta_output/runWorkflow.py -j 8 # Output: candidateSV.vcf.gz, diploidSV.vcf.gz # DELLY - sensitive for balanced rearrangements delly call -g hg38.fa -o delly.bcf sample.bam delly filter -f germline -o filtered.bcf delly.bcf # CNVkit - copy number from WES cnvkit.py batch sample.bam \ --normal normal.bam \ --targets capture.bed \ --fasta hg38.fa \ --access access-5kb-mappable.hg38.bed \ -p 8 -d output/
Long-read SV Calling (Superior)
code
# Sniffles2 - long-read SV caller sniffles \ --input sample.bam \ --vcf sniffles.vcf \ --reference hg38.fa \ --threads 16 \ --sample-id patient001 # CuteSV cuteSV sample.bam hg38.fa cutesv.vcf work_dir/ \ --max_cluster_bias_INS 100 \ --diff_ratio_merging_INS 0.3 \ --threads 16 # Long reads detect: # - 90%+ of SVs vs ~50-70% with short reads # - Mobile element insertions # - Complex SVs with multiple breakpoints # - SVs in repetitive regions (centromeres, STRs)