
154
|
第
5
章
现在我们若想结合使用多个过滤器,又该如何操作?我们可以完善
QD
过滤器的过
滤效果,争取过滤掉
DP
值极高的变异识别结果,因为这些结果大都属于假正类。
我们再次在先前输出结果上,运行
VariantFiltration
工具,只不过这次用新过滤器。
我们亦可使用原始数据,同时用两个过滤器,如下所示:
# gatk VariantFiltration \
-R ref/ref.fasta \
-V vcfs/motherSNP.vcf.gz \
--filter-expression "QD < 2.0 || DP > 100.0" \
--filter-name "lowQD_highDP" \
-O sandbox/motherSNP.QD2.DP100.vcf.gz
过滤表达式中的双管道符(
||
)等价于逻辑或(
OR
)表达式。其使用次数不限,并
且你还可以用
&&
表示逻辑与(
AND
)运算符,但是在构造极其复杂的过滤语句中
要当心。有时最好保持过滤语句简单,并将其拆分为单独组件,这样既简洁又方便
测试。
GATK
硬过滤工具为调试这些命令提供多种选项,其中包括对缺失值的处理方式。
可是你要记住,硬过滤是一种相对简单的过滤机制,它算不上
GATK
最佳实践。该
方法的优势在于,如果你能很好地理解注释的含义及其计算方式,它则非常直观。
实际上,它在专家级分析师手里可以做到非常有效。但是需调试的地方非常多,初
学者难以胜任,并且对于每个新项目往往需要新的分析工作,因为适用于一个数据
集的过滤阈值往往不能直接应用于其他数据集。 ...