RTG-tools 简介
RTG工具是RTG核心的子集,包括几个有用的实用程序,用于处理VCF文件和序列数据。其中最有趣的可能是vcfeval命令,它执行VCF文件的复杂比较。
传统工具尝试通过直接比较变异位置、等位基因和基因型来进行比较,然而它们本质上无法处理常见的表示差异,特别是处理复杂变异或比较由不同的调用程序产生的变异时。
RTG vcfeval在单倍型水平上执行变异比较,也就是确定在应用于参考基因组时,比较的VCF中鉴定的基因型是否导致相同的基因组序列。迄今为止,没有其他工具能够像RTG vcfeval一样准确且快速地执行此分析。RTG vcfeval输出包含比较结果、摘要指标和ROC曲线数据文件的VCF文件。
与vcfeval一起,rocplot命令提供了一种轻松的方法来交互式地检查来自一个或多个vcfeval运行的ROC曲线,以帮助选择适当的评分属性和过滤阈值。
RTG-tools 使用
具体安装步骤不再赘述,参考 RTG-tools GitHub Installation操作即可。
基本使用命令行:
rtg vcfeval --template RTG_hg19_SDF \
--baseline HG001_GRCh37_1_22_v4.2.1_benchmark.vcf.gz \
--calls sample.call.vcf.gz \
--sample HG001,NA12878 \
--output ./GIAB_NA12878
参数说明:
--template
用于指定参考基因组 SDF 文件资源目录, 目录中包含如下文件:
├── done
├── format.log
├── mainIndex
├── namedata0
├── nameIndex0
├── namepointer0
├── progress
├── reference.txt
├── seqdata0
├── seqdata1
├── seqdata2
├── seqdata3
├── seqpointer0
├── seqpointer1
├── seqpointer2
├── seqpointer3
├── sequenceIndex0
├── suffixdata0
├── suffixIndex0
├── suffixpointer0
└── summary.txt
使用如下命令生成 SDF 资源文件:
rtg format -o human_REF_SDF human_REF.fasta
--baseline
指定 VCF 格式的变异基线文件,例如 GIAB 的 NA12878 等标准品的突变基线文件。--calls
指定需要比较的 VCF 文件。--sample
如果 VCF 文件中包含多个样品信息,通过这个参数分别指定基线文件的样品 ID 和待比较文件的样品 ID,逗号前指定--baseline
文件中的样品 ID,逗号后指定--calls
文件中的样品 ID。--output
指定输出目录。
针对靶向区域进行比较
当我们的测序方式为靶向测序,如果进行整体比较那么结果会被非靶向区域低覆盖区域所影响,所以需要针对靶向区域进行比较。
方法比较简单,为程序提供靶向区域的 bed 文件即可。命令行如下:
rtg vcfeval --template RTG_hg19_SDF \
--bed-regions target_region.bed
--evaluation-regions target_region.bed
--baseline HG001_GRCh37_1_22_v4.2.1_benchmark.vcf.gz \
--calls sample.call.vcf.gz \
--sample HG001,NA12878 \
--output ./GIAB_NA12878
参数说明:
--bed-regions
设置该参数,将只会读取 VCF 与提供的 Bed 文件区域内 overlap 的记录。--evaluation-regions
设置该参数,将在提供的 bed 文件区域内进行评估。
结果
软件的运行速度很快,尤其是与 hap.py
软件对比更加明显。
结果目录下文件一览:
├── done
├── fn.vcf.gz
├── fn.vcf.gz.tbi
├── fp.vcf.gz
├── fp.vcf.gz.tbi
├── non_snp_roc.tsv.gz
├── phasing.txt
├── progress
├── snp_roc.tsv.gz
├── summary.txt
├── tp-baseline.vcf.gz
├── tp-baseline.vcf.gz.tbi
├── tp.vcf.gz
├── tp.vcf.gz.tbi
├── vcfeval.log
└── weighted_roc.tsv.gz
其中最重要的文件是summary.txt
里面包含了真阳性位点、假阳性位点、假阴性位点的数量、精确性、灵敏性和F-measure指数。
如果想知道这几类位点的具体信息可以分别查看结果目录中其他 vcf.gz 文件。
名称 | 缩写 | 定义 |
---|---|---|
false positive | FP | 在高置信度区域由变体调用者调用的变体,但与黄金标准数据的基因型不同 |
false negative | FN | 高置信度的黄金标准变体未被变体调用者调用 |
true positive | TP | 在高置信度区域由变体调用者调用的变体与黄金标准数据具有相同的基因型 |
true negative | TN | 高置信度区域中的参考等位基因,而不是金标准变体 |
精确性指标计算公式: Precision = TP/(TP + FP)
灵敏性指标计算公式: Sensitivity = TP/(TP + FN)
通常我们根据 Precision 和 Sensitivity 两个指标就可以判断某个变异检测流程的准确性如何了。