Install any skill in seconds. Free to start, no credit card required.
Get Started Free →Call structural variants (SVs) from short-read sequencing using Manta, Delly, and LUMPY. Detects deletions, insertions, inversions, duplications, and translocations that are too large for standard SNV callers. Use when detecting structural variants from short-read data.
| Test case | Without → With | Effect | Δ tokens | Δ turns |
|---|---|---|---|---|
| case-07 | ✗→✓ | ▲ Improved | 91% | 0% |
| case-10 | ✗→✓ | ▲ Improved | 193% | 0% |
| case-16 | ✗→✓ | ▲ Improved | 18% | 0% |
| case-19 | ✗→✓ | ▲ Improved | 368% | 0% |
| case-21 | ✓→✗ | ▼ Worse | 52% | 0% |
<!--
#
#
-->
bash# Configure Manta run (creates runWorkflow.py) configManta.py \ --bam sample.bam \ --referenceFasta reference.fa \ --runDir manta_run # Execute manta_run/runWorkflow.py -j 8 # Output: manta_run/results/variants/ # - diploidSV.vcf.gz (germline SVs) # - candidateSV.vcf.gz (all candidates) # - candidateSmallIndels.vcf.gz (small indels)
bash# Somatic SV calling configManta.py \ --tumorBam tumor.bam \ --normalBam normal.bam \ --referenceFasta reference.fa \ --runDir manta_somatic manta_somatic/runWorkflow.py -j 8 # Output includes: # - somaticSV.vcf.gz (somatic SVs) # - diploidSV.vcf.gz (germline SVs)
bash# WES mode (for exome data) configManta.py \ --bam sample.bam \ --referenceFasta reference.fa \ --exome \ # Use exome settings --callRegions regions.bed.gz \ # Restrict to regions --runDir manta_exome # RNA-seq mode configManta.py \ --bam rnaseq.bam \ --referenceFasta reference.fa \ --rna \ # RNA-seq mode --runDir manta_rna
bash# Call SVs delly call \ -g reference.fa \ -o sv_calls.bcf \ sample.bam # Convert to VCF bcftools view sv_calls.bcf > sv_calls.vcf # Multiple samples (joint calling) delly call \ -g reference.fa \ -o joint_svs.bcf \ sample1.bam sample2.bam sample3.bam
bash# Call with tumor-normal delly call \ -g reference.fa \ -o svs.bcf \ tumor.bam normal.bam # Create sample file echo -e "tumor\ttumor\nnormal\tcontrol" > samples.tsv # Filter for somatic delly filter \ -f somatic \ -o somatic_svs.bcf \ -s samples.tsv \ svs.bcf
bash# Call specific SV type delly call -t DEL -g ref.fa -o deletions.bcf sample.bam delly call -t DUP -g ref.fa -o duplications.bcf sample.bam delly call -t INV -g ref.fa -o inversions.bcf sample.bam delly call -t BND -g ref.fa -o translocations.bcf sample.bam delly call -t INS -g ref.fa -o insertions.bcf sample.bam
bash# Extract split reads and discordant pairs samtools view -b -F 1294 sample.bam > discordant.bam samtools view -h sample.bam | \ /path/to/lumpy-sv/scripts/extractSplitReads_BwaMem -i stdin | \ samtools view -Sb - > splitters.bam # Run LUMPY lumpyexpress \ -B sample.bam \ -S splitters.bam \ -D discordant.bam \ -o lumpy_svs.vcf
bash# Simplified LUMPY workflow smoove call \ --name sample \ --fasta reference.fa \ --outdir smoove_output \ -p 8 \ sample.bam # Output: smoove_output/sample-smoove.genotyped.vcf.gz
bash# Use SURVIVOR to merge callsets # Create file listing VCFs ls manta_svs.vcf delly_svs.vcf lumpy_svs.vcf > vcf_list.txt # Merge with parameters SURVIVOR merge vcf_list.txt 1000 2 1 1 0 50 merged_svs.vcf # Parameters: max_dist min_callers type_agree strand_agree estimate_dist min_size
bash# Filter by quality bcftools view -i 'QUAL >= 20' svs.vcf > svs.filtered.vcf # Filter by size bcftools view -i 'ABS(SVLEN) >= 50' svs.vcf > svs.min50.vcf # Filter by SV type bcftools view -i 'SVTYPE="DEL"' svs.vcf > deletions.vcf bcftools view -i 'SVTYPE="INS"' svs.vcf > insertions.vcf bcftools view -i 'SVTYPE="INV"' svs.vcf > inversions.vcf bcftools view -i 'SVTYPE="DUP"' svs.vcf > duplications.vcf bcftools view -i 'SVTYPE="BND"' svs.vcf > translocations.vcf # Keep only PASS bcftools view -f PASS svs.vcf > svs.pass.vcf
bash# AnnotSV annotation AnnotSV \ -SVinputFile svs.vcf \ -genomeBuild GRCh38 \ -outputFile annotated_svs # Output includes: genes, DGV, gnomAD-SV, ClinVar
| Type | Code | Description | |------|------|-------------| | Deletion | DEL | Sequence removed | | Insertion | INS | Sequence inserted | | Inversion | INV | Sequence reversed | | Duplication | DUP | Sequence duplicated | | Translocation | BND | Breakend (inter-chromosomal) |
| Feature | Manta | Delly | LUMPY | |---------|-------|-------|-------| | Speed | Fast | Medium | Medium | | Sensitivity | High | High | High | | Small SVs | Good | Moderate | Good | | Large SVs | Good | Good | Good | | RNA-seq | Yes | No | No | | Somatic | Yes | Yes | Limited |
| Coverage | Detection Ability | |----------|-------------------| | 10x | Large SVs (>1kb) | | 30x | Most SVs | | 50x+ | Small SVs, better breakpoints |
For long-read data (ONT/PacBio HiFi), use specialized callers with higher sensitivity:
| Caller | Best For | Notes | |--------|----------|-------| | CuteSV | ONT/HiFi | Fast, accurate for all SV types | | Sniffles2 | ONT/HiFi | Population-scale, multisample | | PBSV | PacBio | Official PacBio caller |
See long-read-sequencing/structural-variants for long-read SV workflows.
<!-- AUTHOR_SIGNATURE: 9a7f3c2e-MD-BABU-MIA-2026-MSSM-SECURE -->
Other measured skills in the registry, with their headline benchmark lift.