结构变异检测(SV Calling)¶
1. 一句话说明¶
结构变异检测(SV Calling)就是从测序数据中找出基因组上 大片段(≥50 bp)的缺失、重复、倒位、插入和易位,是变异检测中最难也最前沿的方向。
与知识库 31(GATK 变异检测)的关系:31 讲的是 SNP/InDel(单碱基变化和小插入缺失,≤50 bp),本文讲的是 SV(结构变异,≥50 bp)。两者检测原理、工具链完全不同,互补而不重复。
2. 什么是结构变异(Structural Variant)¶
白话解释¶
把基因组想象成一本 30 亿字的书: - SNP = 某一个字写错了(A→G) - InDel = 多写/少写了几个字(1-50 个字) - SV = 一整页被撕掉了 / 被复印了两份 / 被倒着贴回去了 / 被剪下来粘到另一章去了
定义:长度 ≥50 bp 的基因组变异统称结构变异。
五种主要 SV 类型¶
| SV 类型 | 英文 | 白话解释 | 图示 | 临床举例 |
|---|---|---|---|---|
| 缺失(DEL) | Deletion | 一段 DNA 被删掉了,像书里撕掉了几页 | A-B-[C-D]-E → A-B-E | α-地中海贫血(HBA1/HBA2 缺失) |
| 重复(DUP) | Duplication | 一段 DNA 被复制了一份,像同一页印了两遍 | A-B-C-D-E → A-B-C-D-C-D-E | Charcot-Marie-Tooth(PMP22 重复) |
| 倒位(INV) | Inversion | 一段 DNA 被反过来接回去,像把一页倒着粘 | A-B-C-D-E → A-D'-C'-B'-E | 血友病 A(F8 倒位) |
| 易位(TRA/BND) | Translocation | 一段 DNA 被搬到另一条染色体上,像把第3章的内容剪到第7章 | chr1:A-B + chr5:X-Y → chr1:A-Y + chr5:X-B | CML(BCR-ABL 费城染色体) |
| 插入(INS) | Insertion | 凭空多出一段 DNA 插进来(可能来自转座子等) | A-B-E → A-B-[新]-E | L1 转座子插入致 Duchenne 肌营养不良 |
注意:拷贝数变异(CNV)是 SV 的一个子集,特指缺失和重复导致的拷贝数变化(Copy Number Variant)。
3. SV 检测的四种核心策略¶
短读长(Illumina ~150 bp)检测 SV 就像用拼图碎片推断缺了哪块——碎片本身太小,看不到全貌,只能靠碎片之间的"异常信号"来推理。
3.1 Read-pair(读对策略)¶
原理:双端测序(paired-end)的两条 reads 之间有固定的插入片段长度(insert size),通常 300-500 bp。如果比对后发现: - 插入片段异常大 → 可能是缺失(中间一段被删了) - 插入片段异常小 → 可能是插入(中间多了一段) - 两条 reads 方向反了 → 可能是倒位 - 两条 reads 跑到不同染色体 → 可能是易位
白话:就像你知道两个书签正常间隔 5 页,突然发现间隔 50 页,说明中间有页被撕了。
局限:依赖 insert size 分布,对大片段(>1 kb)检测灵敏度下降。
3.2 Split-read(拆分读策略)¶
原理:一条 read 的一部分比对到了位置 A,另一部分比对到了位置 B(即 split alignment / chimeric alignment),说明断点(breakpoint)就在 read 内部。
白话:一句话念到一半突然跳到了另一页,说明这个地方发生了断裂重排。
优势:能精确定位断点到单碱基分辨率。 局限:需要 read 刚好跨过断点,对非常大的 SV 需要足够覆盖度。
3.3 Read-depth(覆盖深度策略)¶
原理:统计基因组每个区域的覆盖深度。如果某段区域的深度明显低于平均值 → 缺失;明显高于平均值 → 重复。
白话:像数人头——如果一个教室正常坐 30 人,突然只有 15 人,说明少了一半(缺失);坐了 60 人,说明多了一倍(重复)。
优势:特别适合检测大片段 CNV。 局限:无法检测倒位和易位(因为它们不改变拷贝数),分辨率较低(窗口级别)。
3.4 De novo Assembly(局部组装策略)¶
原理:在 SV 候选区域把 reads 拼接成更长的 contigs,然后把 contigs 比对回参考基因组,直接看到变异。
白话:不猜了,直接把碎片拼成完整的一页再和原书对比。
优势:最全面,能发现其他方法遗漏的复杂 SV。 局限:计算量大,对覆盖度要求高。
策略对比速查¶
| 策略 | 能检测的 SV 类型 | 断点精度 | 计算量 | 适用平台 |
|---|---|---|---|---|
| Read-pair | DEL, INS, INV, TRA, DUP | ±数百 bp | 低 | 短读长 |
| Split-read | DEL, INS, INV, TRA, DUP | 单碱基 | 中 | 短读长/长读长 |
| Read-depth | DEL, DUP (CNV) | 窗口级 | 低 | 短读长 |
| Assembly | 所有类型 | 单碱基 | 高 | 短读长/长读长 |
现代工具通常组合多种策略,比如 Delly 同时用 Read-pair + Split-read + Read-depth,Manta 用 Read-pair + Split-read + Assembly。
4. 短读长 SV 检测工具¶
4.1 Delly¶
简介:最经典的 SV 检测工具之一,整合 paired-end、split-read 和 read-depth 三种策略,支持 DEL/DUP/INV/TRA/INS 全类型检测。
- GitHub: github.com/dellytools/delly
- 最新版: 持续更新中,支持短读长和长读长
- 语言: C++,性能很高
- 论文: Rausch et al., Bioinformatics, 2012
# 安装(推荐 conda)
conda install -c bioconda delly # bioconda 渠道安装
# ==================== 基本用法 ====================
# 1. 单样本 germline SV 检测
# -g 参考基因组(必须有索引 .fai)
# -o 输出 BCF 格式(二进制 VCF,更小更快)
# -x 排除区域(着丝粒、端粒等高重复区,减少假阳性)
delly call -g hg38.fa -o sample.bcf -x hg38.excl sample.bam
# 2. 把 BCF 转成人类可读的 VCF
bcftools view sample.bcf > sample.vcf
# 3. 多样本联合检测(群体研究推荐)
# 第一步:各样本单独 call
delly call -g hg38.fa -o s1.bcf -x hg38.excl s1.bam
delly call -g hg38.fa -o s2.bcf -x hg38.excl s2.bam
# 第二步:合并 SV 位点
delly merge -o sites.bcf s1.bcf s2.bcf
# 第三步:用统一位点做 genotyping(可并行)
delly call -g hg38.fa -v sites.bcf -o s1.geno.bcf -x hg38.excl s1.bam
delly call -g hg38.fa -v sites.bcf -o s2.geno.bcf -x hg38.excl s2.bam
# 第四步:合并所有 genotyped BCF
bcftools merge s1.geno.bcf s2.geno.bcf -o merged.bcf
# 4. 长读长模式(Delly 也支持)
delly lr -g hg38.fa -o lr.bcf long_read.bam
# 5. CNV 模式(拷贝数变异)
delly cnv -g hg38.fa -m hg38.map.gz -o cnv.bcf sample.bam
4.2 Lumpy / Smoove¶
简介:概率框架 SV 检测器,整合多种信号源。Smoove 是 Lumpy 的最佳实践封装,推荐使用 Smoove。
- GitHub: github.com/arq5x/lumpy-sv(Lumpy)、github.com/brentp/smoove(Smoove)
- 论文: Layer et al., Genome Biology, 2014
- 特点:概率模型整合 read-pair + split-read,对 DEL 和 DUP 特别灵敏
# 安装
conda install -c bioconda smoove # smoove 封装了 lumpy + svtyper + svtools
# ==================== Smoove 推荐用法 ====================
# 1. 单样本检测
# -d 排除高深度区域(减少假阳性)
# --name 样本名
# --fasta 参考基因组
smoove call -d \
--name sample1 \
--fasta hg38.fa \
-o results/ \
sample1.bam
# 2. 多样本合并
smoove merge \
--name cohort \
--fasta hg38.fa \
results/sample1-smoove.genotyped.vcf.gz \
results/sample2-smoove.genotyped.vcf.gz
# 3. 结果在 results/ 目录下,VCF 格式
4.3 Manta¶
简介:Illumina 官方开发的 SV/大 InDel 检测器,速度极快(50x WGS 约 20 分钟/20 核),整合 read-pair + split-read + 局部组装。
- GitHub: github.com/Illumina/manta
- 论文: Chen et al., Bioinformatics, 2016
- 特点:速度快、精度高,支持 germline 和 somatic(肿瘤配对)
# 安装
conda install -c bioconda manta
# ==================== Germline 用法 ====================
# 1. 配置(生成 runWorkflow.py)
# --bam 输入 BAM 文件
# --referenceFasta 参考基因组
# --runDir 输出目录
configManta.py \
--bam sample.bam \
--referenceFasta hg38.fa \
--runDir manta_output
# 2. 运行(-j 线程数)
python manta_output/runWorkflow.py -j 8
# 3. 结果文件(在 manta_output/results/variants/ 下)
# - diploidSV.vcf.gz → germline SV
# - candidateSV.vcf.gz → 候选 SV(含未过滤的)
# - candidateSmallIndels.vcf.gz → 大 InDel(50-300 bp)
# ==================== Somatic(肿瘤-正常配对)用法 ====================
configManta.py \
--normalBam normal.bam \
--tumorBam tumor.bam \
--referenceFasta hg38.fa \
--runDir manta_somatic
python manta_somatic/runWorkflow.py -j 8
# 结果中多一个 somaticSV.vcf.gz
5. 长读长 SV 检测工具¶
长读长(PacBio / ONT)的 read 长度通常 10-100 kb,能直接跨过 SV 断点,检测灵敏度和精度远超短读长。
5.1 Sniffles2¶
简介:长读长 SV 检测的标杆工具,支持 germline、somatic 和群体级别检测。
- GitHub: github.com/fritzsedlazeck/Sniffles
- 最新版: v2.7.5(2025 年更新)
- 论文: Sedlazeck et al., Nature Methods, 2018(v1);Smolka et al., Nature Biotechnology, 2024(v2)
- 输入: PacBio CLR/HiFi 或 ONT 的 BAM/CRAM
# 安装
pip install sniffles # 或 conda install -c bioconda sniffles=2.7.5
# ==================== 单样本检测 ====================
# 基本命令(输入必须经 minimap2 比对并排序)
sniffles -i sample.bam -v output.vcf
# 指定参考基因组(输出 DEL 序列需要)
sniffles -i sample.bam -v output.vcf --reference hg38.fa
# 使用串联重复注释(减少重复区假阳性,推荐)
sniffles -i sample.bam -v output.vcf \
--tandem-repeats hg38_tandem_repeats.bed \
--threads 8
# ==================== 多样本联合检测 ====================
# 第一步:每个样本生成 .snf 中间文件
sniffles --input s1.bam --snf s1.snf
sniffles --input s2.bam --snf s2.snf
# 第二步:合并多样本
sniffles --input s1.snf s2.snf --vcf multisample.vcf
# ==================== Mosaic/Somatic SV 检测 ====================
sniffles --input tumor.bam --vcf somatic.vcf --mosaic
5.2 SVIM¶
简介:长读长 SV 检测工具,使用三步法(collect → cluster → refine),支持 PacBio 和 ONT。
- GitHub: github.com/eldariont/svim
- 论文: Heller & Vingron, Bioinformatics, 2019
- 特点:能同时检测所有 SV 类型,包括 nested SV(SV 里面套 SV)
# 安装
pip install svim # 或 conda install -c bioconda svim
# ==================== 基本用法 ====================
# alignment 模式(从已比对的 BAM 开始)
# 参数:svim alignment <输出目录> <BAM文件> <参考基因组>
svim alignment output_dir/ sample.bam hg38.fa
# 结果在 output_dir/variants.vcf
# 包含所有类型 SV,可按质量分数过滤
# 常用过滤(保留质量≥10的SV)
bcftools view -i 'QUAL >= 10' output_dir/variants.vcf > filtered.vcf
5.3 cuteSV¶
简介:高灵敏度长读长 SV 检测工具,使用聚类-细化方法,对不同平台有优化参数。
- GitHub: github.com/tjiangHIT/cuteSV
- 论文: Jiang et al., Genome Biology, 2020
- 特点:针对 PacBio CLR / HiFi / ONT 分别优化参数,速度快
# 安装
pip install cuteSV # 或 conda install -c bioconda cutesv
# ==================== 基本用法 ====================
# cuteSV <排序后BAM> <参考基因组> <输出VCF> <工作目录>
cuteSV sample.bam hg38.fa output.vcf work_dir/ --threads 16
# ==================== 不同平台推荐参数 ====================
# PacBio CLR 数据
cuteSV sample.bam hg38.fa output.vcf work_dir/ \
--max_cluster_bias_INS 100 \
--diff_ratio_merging_INS 0.3 \
--max_cluster_bias_DEL 200 \
--diff_ratio_merging_DEL 0.5
# PacBio HiFi (CCS) 数据
cuteSV sample.bam hg38.fa output.vcf work_dir/ \
--max_cluster_bias_INS 1000 \
--diff_ratio_merging_INS 0.9 \
--max_cluster_bias_DEL 1000 \
--diff_ratio_merging_DEL 0.5
# ONT 数据
cuteSV sample.bam hg38.fa output.vcf work_dir/ \
--max_cluster_bias_INS 100 \
--diff_ratio_merging_INS 0.3 \
--max_cluster_bias_DEL 100 \
--diff_ratio_merging_DEL 0.3
6. SV 合并、注释与过滤¶
6.1 SURVIVOR —— SV 合并与比较¶
为什么需要合并? 不同工具对同一个 SV 的断点预测位置可能差几十到几百 bp,需要把"差不多在同一位置"的 SV 合并为一个 consensus call。多工具取交集/并集也能提高可信度。
- GitHub: github.com/fritzsedlazeck/SURVIVOR
- 论文: Jeffares et al., Nature Communications, 2017
# 安装
git clone https://github.com/fritzsedlazeck/SURVIVOR.git
cd SURVIVOR/Debug
make # 编译即可,无其他依赖
# ==================== 最常用:merge 命令 ====================
# 第一步:把要合并的 VCF 文件路径写入列表
ls delly.vcf lumpy.vcf manta.vcf > vcf_list.txt
# 第二步:合并
# SURVIVOR merge <文件列表> <最大断点距离> <最少支持工具数> <是否考虑类型> <是否考虑链> <是否考虑大小> <最小SV长度> <输出VCF>
SURVIVOR merge vcf_list.txt 1000 2 1 1 0 50 merged.vcf
# 参数解读:
# 1000 → 两个 SV 断点距离 ≤1000 bp 认为是同一个
# 2 → 至少被 2 个工具支持才保留(取交集策略)
# 1 → 必须是同一种 SV 类型
# 1 → 必须在同一条链(strand)
# 0 → 不考虑大小差异
# 50 → 最小 SV 长度 50 bp
# ==================== 统计合并结果 ====================
SURVIVOR stats merged.vcf -1 -1 -1 stats_output
6.2 AnnotSV —— SV 功能注释¶
为什么需要注释? 检测到 SV 只是第一步,还需要知道它影响了哪些基因、是否在已知致病数据库中、人群频率多少。
- GitHub: github.com/lgmgeo/AnnotSV
- 最新版: v3.5.7
- 功能:注释 + 排序(ranking),整合 DGV、gnomAD-SV、ClinGen、OMIM 等数据库
# 安装
conda install -c bioconda annotsv
# ==================== 基本注释 ====================
# -SVinputFile 输入 SV 的 VCF/BED 文件
# -outputFile 输出 TSV 文件(Excel 可直接打开)
# -genomeBuild 参考基因组版本
AnnotSV -SVinputFile merged.vcf \
-outputFile annotated_sv.tsv \
-genomeBuild GRCh38
# ==================== 输出关键列 ====================
# AnnotSV_ID → 唯一标识
# SV_type → 变异类型(DEL/DUP/INV/INS/BND)
# Gene_name → 影响的基因
# ACMG_class → ACMG 分级(1-5,5=致病)
# DGV_GAIN/LOSS → DGV 数据库中该区域的频率
# gnomAD_AF → gnomAD-SV 中的人群频率
# ClinGen → ClinGen 剂量敏感性评级
6.3 常见过滤策略¶
# 1. 按质量过滤(QUAL ≥ 20)
bcftools view -i 'QUAL >= 20' raw.vcf > filtered.vcf
# 2. 按支持 reads 数过滤(至少 5 条支持)
bcftools view -i 'INFO/SUPPORT >= 5' raw.vcf > filtered.vcf
# 3. 按 SV 大小过滤(50 bp - 10 Mb)
bcftools view -i 'SVLEN >= 50 && SVLEN <= 10000000' raw.vcf > filtered.vcf
# 4. 排除已知 common SV(gnomAD-SV AF > 1%)
# 通常在 AnnotSV 注释后用 awk/pandas 过滤
7. SV 可视化¶
7.1 IGV(Integrative Genomics Viewer)¶
最通用的基因组浏览器,可以直接看 SV 的 read-pair 和 split-read 信号。
操作步骤:
1. 加载参考基因组(Genomes → Load Genome → hg38)
2. 加载 BAM 文件(File → Load from File)
3. 导航到 SV 位置(搜索栏输入 chr1:1000000-1001000)
4. 右键 → Color alignments by → Insert size and pair orientation
- 红色/蓝色 reads = 异常 insert size(提示 DEL/INS)
- 绿色/蓝绿色 reads = 异常方向(提示 INV/TRA)
5. 右键 → Sort alignments by → Start location(整理显示)
6. 查看 split-reads(带 SA tag 的 supplementary alignment)
7.2 samplot¶
简介:专为 SV 可视化设计的命令行工具,输出高质量 PNG/SVG 图片,支持多样本对比。
- GitHub: github.com/ryanlayer/samplot
- 论文: Belyeu et al., Genome Biology, 2021
# 安装
conda install -c bioconda samplot
# 单个 SV 可视化
# -c 染色体 -s 起始 -e 终止 -t SV类型
# -b BAM文件(可多个)
# -o 输出图片
samplot plot \
-c chr1 -s 1000000 -e 1001000 \
-t DEL \
-b sample1.bam sample2.bam \
-o deletion_chr1.png
# 批量可视化(从 VCF 批量生成图片)
samplot vcf \
--vcf sv_calls.vcf \
-d output_images/ \
-b sample1.bam sample2.bam
7.3 Ribbon¶
简介:基于 Web 的交互式 SV 可视化工具,特别擅长展示 split-read 比对模式。
- 网址: genomeribbon.com
- 用法: 上传 BAM + VCF 即可在浏览器中查看
- 优势: 用"丝带图"展示 read 的多段比对,直观展现 SV 结构
8. 短读长 vs 长读长 SV 检测对比¶
| 比较维度 | 短读长(Illumina) | 长读长(PacBio/ONT) |
|---|---|---|
| Read 长度 | 150-300 bp | 10-100+ kb |
| 检测原理 | 间接推断(read-pair、split-read 信号) | 直接跨过断点(read 本身覆盖整个 SV) |
| DEL 检测 | 好(多策略互补) | 极好(直接看到) |
| INS 检测 | 差(>300 bp 插入几乎看不到) | 极好(read 直接包含插入序列) |
| INV 检测 | 中(依赖异常方向读对) | 好(长 read 跨过两个断点) |
| TRA 检测 | 中(依赖 discordant reads) | 好 |
| 重复区 SV | 差(短 reads 无法穿越重复区) | 好(长 reads 可跨越) |
| 断点精度 | ±数百 bp(read-pair)到单碱基(split-read) | 通常单碱基级别 |
| 成本(30x WGS) | ~$200-500 | ~$500-1500 |
| 主流工具 | Delly, Manta, Lumpy/Smoove | Sniffles2, cuteSV, SVIM |
| 假阳性来源 | 重复区 mapping 歧义、GC bias | 系统错误(ONT indel 错误) |
| 最大短板 | 插入检测差、重复区盲区大 | 成本高、碱基准确率低(ONT) |
实际项目建议:如果预算允许,长读长是 SV 检测的首选。如果只有短读长数据,推荐 Manta + Delly 组合,用 SURVIVOR 取交集提高可信度。
9. 面试怎么答(5 道高频题)¶
Q1: 什么是结构变异?和 SNP/InDel 有什么区别?¶
结构变异(SV)是基因组上长度 ≥50 bp 的大片段变异,包括缺失、重复、倒位、易位和插入五种类型。与 SNP(单碱基变化)和 InDel(1-50 bp 小插入缺失)的本质区别是:SV 涉及的 DNA 片段更大,影响的基因更多,检测方法也完全不同——SNP/InDel 用 GATK HaplotypeCaller 基于局部重组装检测,而 SV 需要用 Delly/Manta 等专用工具基于 read-pair、split-read、read-depth 等信号来推断。
Q2: 短读长检测 SV 有哪些策略?各自优缺点?¶
四种核心策略:①Read-pair 看双端 reads 的 insert size 和方向异常,计算量小但断点精度差;②Split-read 看 read 内部的拆分比对,能精确到单碱基但需要 read 跨过断点;③Read-depth 看覆盖深度变化,适合大片段 CNV 但无法检测倒位/易位;④局部组装,最全面但计算量最大。现代工具通常组合多种策略,比如 Manta 同时使用 read-pair + split-read + 局部组装。
Q3: 为什么长读长比短读长更适合检测 SV?¶
核心原因是长读长(10-100 kb)可以直接跨过 SV 断点和重复区域。短读长只有 150 bp,无法穿越大于 read 长度的重复区,导致比对歧义;而且对于大插入(>300 bp),短读长的 insert size 信号根本检测不到。数据表明,长读长对插入(INS)的召回率比短读长高 3-5 倍,对重复区 SV 的检测也远优于短读长。
Q4: 你会怎么设计一个 SV 检测流程?¶
看数据类型。如果是短读长数据:比对(BWA-MEM)→ 排序去重 → 用 Manta + Delly 分别检测 → SURVIVOR merge 取至少 2 个工具支持的 SV → AnnotSV 注释 → 按质量和人群频率过滤 → IGV/samplot 可视化验证。如果是长读长数据:比对(minimap2)→ Sniffles2 检测(加 tandem repeat 注释减少假阳性)→ 质量过滤 → AnnotSV 注释 → 可视化验证。多工具取交集(ensemble approach)是提高 SV 检测可信度的标准做法。
Q5: SURVIVOR merge 的参数怎么选?¶
关键参数是最大断点距离和最少支持工具数。断点距离通常设 1000 bp(短读长工具之间断点偏移可达几百 bp);最少支持工具数设 2 表示取交集(提高精确度),设 1 表示取并集(提高灵敏度)。还需要指定是否要求同一 SV 类型(通常是)和最小 SV 长度(通常 50 bp)。具体参数需要根据项目目标权衡:临床诊断偏向高精确度(2-3 个工具支持),群体研究偏向高灵敏度(1 个工具支持即可)。
10. 速查表¶
工具选择速查¶
| 场景 | 推荐工具 | 理由 |
|---|---|---|
| 短读长 germline SV | Manta + Delly | Manta 快且准,Delly 互补 |
| 短读长 somatic SV | Manta(tumor-normal mode) | Illumina 官方,somatic 模式成熟 |
| 长读长 germline SV | Sniffles2 | 标杆工具,支持群体级分析 |
| 长读长 SV(速度优先) | cuteSV | 速度最快,平台参数优化好 |
| SV 合并 | SURVIVOR merge | 唯一主流选择 |
| SV 注释 | AnnotSV | 整合多数据库,支持 ACMG 分级 |
| SV 可视化(命令行) | samplot | 批量出图,适合文章配图 |
| SV 可视化(交互式) | IGV | 最通用,手动检查首选 |
命令速查¶
# ===== 短读长流程 =====
delly call -g hg38.fa -o delly.bcf -x hg38.excl sample.bam # Delly 检测
configManta.py --bam sample.bam --referenceFasta hg38.fa --runDir manta_out # Manta 配置
python manta_out/runWorkflow.py -j 8 # Manta 运行
# ===== 长读长流程 =====
sniffles -i sample.bam -v sniffles.vcf --threads 8 # Sniffles2 检测
cuteSV sample.bam hg38.fa cutesv.vcf work_dir/ --threads 16 # cuteSV 检测
svim alignment svim_out/ sample.bam hg38.fa # SVIM 检测
# ===== 后处理 =====
SURVIVOR merge vcf_list.txt 1000 2 1 1 0 50 merged.vcf # 多工具合并
AnnotSV -SVinputFile merged.vcf -outputFile anno.tsv -genomeBuild GRCh38 # 注释
samplot plot -c chr1 -s 100000 -e 200000 -t DEL -b s.bam -o del.png # 可视化
SV 类型 VCF 标记速查¶
| VCF 中的标记 | SV 类型 | 说明 |
|---|---|---|
SVTYPE=DEL | 缺失 | ALT 列为 <DEL> |
SVTYPE=DUP | 重复 | ALT 列为 <DUP> |
SVTYPE=INV | 倒位 | ALT 列为 <INV> |
SVTYPE=INS | 插入 | ALT 列为 <INS> 或具体序列 |
SVTYPE=BND | 断点(含易位) | ALT 列为 breakend notation,如 ]chr5:1000]A |
SVLEN | SV 长度 | DEL 为负值(如 -5000),INS 为正值 |
END | SV 结束位置 | INFO 字段中 |
SUPPORT / PE / SR | 支持 reads 数 | PE=read-pair, SR=split-read |
11. 延伸资源¶
论文(必读)¶
- Rausch et al. (2012) - "DELLY: structural variant discovery by integrated paired-end and split-read analysis" - Bioinformatics - Delly 原始论文
- Layer et al. (2014) - "LUMPY: a probabilistic framework for structural variant discovery" - Genome Biology - Lumpy 原始论文
- Chen et al. (2016) - "Manta: rapid detection of structural variants and indels for germline and cancer sequencing applications" - Bioinformatics - Manta 原始论文
- Sedlazeck et al. (2018) - "Accurate detection of complex structural variations using single-molecule sequencing" - Nature Methods - Sniffles v1
- Smolka et al. (2024) - "Detection of mosaic and population-level structural variants with Sniffles2" - Nature Biotechnology - Sniffles v2
- Jiang et al. (2020) - "Long-read-based human genomic structural variation detection with cuteSV" - Genome Biology - cuteSV
- Kosugi et al. (2019) - "Comprehensive evaluation of structural variation detection algorithms for whole genome sequencing" - Genome Biology - SV 工具大评测,非常值得读
在线资源¶
- Delly 教程: github.com/dellytools/delly(README 含完整 germline/somatic 流程)
- Sniffles2 文档: github.com/fritzsedlazeck/Sniffles
- AnnotSV 在线服务器: lbgi.fr/AnnotSV/(可直接网页提交注释)
- samplot 画廊: github.com/ryanlayer/samplot(README 有丰富示例图)
- SV benchmark: github.com/tjiangHIT/sv-benchmark(cuteSV 团队的评测框架)
- GIAB SV truth set: 用于评估 SV 检测工具准确率的金标准数据集(HG002 样本)
相关知识库文章¶
- 知识库2 #31: GATK 变异检测(SNP/InDel 检测流程)
- 知识库1 #14: 比对与组装工具(BWA-MEM / minimap2 比对步骤)
- 知识库2 #30: SAMtools/BCFtools(BAM/VCF 基础操作)