用途:对 GATK、DeepVariant、bcftools 等流程产出的 VCF 进行功能注释与过滤,把原始变异调用转成可解释、可筛选的变异集合。SnpEff 预测每个变异的功能后果(影响等级 HIGH/MODERATE/LOW/MODIFIER、基因、转录本、氨基酸改变、HGVS 记法),SnpSift 负责过滤、排序并用 ClinVar、dbSNP 等外部数据库富集注释。两者均为 Java 命令行工具,也可通过 Python subprocess 调用,预构建基因组数据库(hg38、GRCh37、mm10 等 100 余种)可一条命令下载。
主要能力:注释 VCF 并写入 ANN INFO 字段(按转录本以竖线分隔,含 Allele、Effect、Impact、Gene、FeatureID、HGVS.c、HGVS.p 等);用 SnpSift filter 以布尔表达式筛选,如 ANN[].IMPACT = 'HIGH' 或 (ANN[].IMPACT = 'HIGH' | ANN[*].IMPACT = 'MODERATE') & (AF < 0.01);用 SnpSift annotate 合并 ClinVar 的 CLNSIG、CLNDN、CLNREVSTAT 与 dbSNP 的 rsID;用 extractFields 导出制表符或逗号分隔表格,再用 cyvcf2、pandas 解析分析。
使用方式:需 Java 11+。可 wget https://snpeff.blob.core.windows.net/versions/snpEff_latest_core.zip 解压,或 conda install -c bioconda snpeff。先运行 command -v snpEff 检查环境是否已安装;在 pixi 项目中用 pixi run snpEff。下载数据库:java -jar snpEff/snpEff.jar download hg38。注释:java -Xmx8g -jar snpEff/snpEff.jar -v -stats snpeff_summary.html hg38 input.vcf.gz > annotated.vcf。过滤:java -jar snpEff/SnpSift.jar filter "ANN[*].IMPACT = 'HIGH'" annotated.vcf.gz > high_impact.vcf。
适用场景:罕见病与肿瘤基因面板中优先筛选 HIGH 影响变异;为变异集添加 ClinVar 致病性分类与 dbSNP rsID;从注释 VCF 提取结构化字段做统计分析;结合等位基因频率与父母 VCF 排除识别候选新发变异。
限制:需 Java 环境与匹配的参考基因组数据库;大 VCF 需设置 JVM 堆内存(约 4–8 GB)避免内存溢出;过滤条件无安全默认值,需按研究问题确定;若需单次运行整合 gnomAD、CADD、SpliceAI 等多数据库注释,或需 REST API 与 VEP 专用插件,则应改用 ANNOVAR 或 Ensembl VEP。资料未提供收费、价格与效果数据。