用途:在计算 VCF 摘要统计(Ts/Tv 比值、变异计数、等位基因频率分布)之前,对变异调用器(GATK HaplotypeCaller、bcftools mpileup、DeepVariant 等)输出的原始 VCF 进行质量过滤,避免假阳性拔高颠换数、压低 Ts/Tv 比值。
主要能力:识别 VCF 是否为原始未过滤(文件名含 raw、FILTER 列全为 .、大量 QUAL<30、Ts/Tv 明显偏低);按 QUAL 阈值过滤(默认 QUAL>=30,即千分之一错误率;宽松 20、严格 50、临床 100+);GATK 工作流可用 VQSR 或基于 INFO 注释的硬过滤;区分 .(未评估)、PASS(通过)、命名过滤(未通过)三种 FILTER 语义;给出 WGS Ts/Tv 期望 2.0-2.1、WES 2.8-3.3 等基准;并可先与用户确认分析目标、过滤方式、质量阈值、频率过滤、后果过滤、遗传模型等决策。
必要用法:先查看头部与 FILTER 分布(bcftools view -h input.vcf | grep -E '##(FILTER|source|GATKCommandLine|bcftools)';bcftools query -f '%FILTER\n' input.vcf | sort | uniq -c | sort -rn | head);按需过滤(bcftools view -i 'QUAL>=30' input.vcf -Oz -o filtered.vcf.gz;bcftools index filtered.vcf.gz);计算统计(bcftools stats input.vcf | grep ^TSTV;bcftools stats input.vcf | grep ^SN);过滤与统计可置入同一管道(bcftools view -i 'QUAL>=30' input.vcf | bcftools stats - > filtered_stats.txt);对比过滤前后变异数与 Ts/Tv。
适用场景:生殖系变异首轮过滤、罕见病检索、体细胞变异清单、群体研究、基因分型 panel 等,需按分析目标选择过滤方案。
限制:无通用正确过滤器,需先确认目的;已过滤文件不宜二次过滤;仅用 QUAL 会浪费 INFO 注释信息;自定义 Python 解析 Ts/Tv 易在多等位、复杂变异上出错;结果必须报告是否过滤、阈值与通过变异数。资料未提供具体收费、平台与价格信息。