欢迎关注"生信修炼手册"
除了filter功能外,snpsift还提供了许多实用的功能,本篇文章主要看下注释相关的几个功能。
1. annotate
annotate
命令对输入的VCF文件进行注释,需要一个数据库的VCF文件,比如dbsnp等,通过在数据库中查找,将数据库VCF文件中的ID和INFO字段信息输出出来, 用法如下
java -jar SnpSift.jar annotate dbSnp132.vcf variants.vcf > variants_annotated.vcf
dbSnp132.vcf
就是数据库对应的VCF文件,variants.vcf
就是需要注释的VCF文件,输出结果通过重定向符号保存到variants_annotated.vcf
文件中。
variants.vcf
的内容如下
#CHROM POS ID REF ALT QUAL FILTER INFO
22 16157571 . T G 0.0 FAIL NS=53
22 16346045 . T C 0.0 FAIL NS=244
22 16350245 . C A 0.0 FAIL NS=192
22 17054103 . G A 0.0 PASS NS=404
22 17071906 . A T 0.0 PASS NS=464
22 17072347 . C T 0.0 PASS NS=464
22 17072394 . C G 0.0 PASS NS=463
22 17072411 . G T 0.0 PASS NS=464
默认情况下,会将数据库中的ID和INFO两个字段的信息都注释上去,输出结果如下
#CHROM POS ID REF ALT QUAL FILTER INFO
22 16157571 . T G 0.0 FAIL NS=53
22 16346045 rs56234788 T C 0.0 FAIL NS=244;RSPOS=16346045;GMAF=0.162248628884826;dbSNPBuildID=129;SSR=0;SAO=0;VP=050100000000000100000100;WGT=0;VC=SNV;SLO;GNO
22 16350245 rs2905295 C A 0.0 FAIL NS=192;RSPOS=16350245;GMAF=0.230804387568556;dbSNPBuildID=101;SSR=1;SAO=0;VP=050000000000000100000140;WGT=0;VC=SNV;GNO
22 17054103 rs4008588 G A 0.0 PASS NS=404;RSPOS=17054103;GMAF=0.123400365630713;dbSNPBuildID=108;SSR=0;SAO=0;VP=050100000000070010000100;WGT=0;VC=SNV;SLO;VLD;G5A;G5;KGPilot123
如果你只需要ID或者INFO中的一个,可以通过参数-id
和-info
选择你需要的注释信息,示例如下
java -jar SnpSift.jar annotate -id dbSnp132.vcf variants.vcf > variants_annotated.vcf
添加了-id
参数之后,就只会注释ID字段的信息了。
2. varType
varType
命令会在INFO字段中加入突变类型的信息,共有以下5种突变类型
SNP
MNP
INS
DEL
-
MIXED
如果输入的VCF文件中只包含了一个样本的突变信息,这个命令还会给出HOM/HET
的信息,用法如下
java -jar SnpSift.jar varType test.vcf | grep -v "^#" | head
20 10469 . C G 100.0 PASS SNP;HOM GT:AP 0|0:0.075,0.060
20 10492 . C T 100.0 PASS SNP;HET GT:AP 0|1:0.180,0.345
20 10575 . C CG 100.0 PASS DEL;HET GT:AP 0|1:0.000,0.000
20 10611 . CG C 100.0 PASS INS;HET GT:AP 0|1:0.000,0.010
20 10618 . GT TA 100.0 PASS MNP;HET GT:AP 0|1:0.020,0.030
3. gwasCat
gwasCat
命令使用GWAS catalog数据库对输入的VCF文件进行注释,用法如下
java -jar SnpSift.jar gwasCat gwascatalog.txt test.vcf | tee test.gwas.vcf
GWAS Catalog数据库存储了相关疾病和性状的SNP关联分析结果,输出结果如下
1 1005806 rs3934834 C T . PASS AF=0.091;GWASCAT=Body_mass_index
1 2069172 rs425277 C T . PASS AF=0.400;GWASCAT=Height
1 2069681 rs3753242 C T . PASS AF=0.211;GWASCAT=Reasoning
1 2392648
在输出结果中,会给出患病的风险率和相关疾病或性状的描述信息
4. dbnsfp
dbnfsp 是一个综合性的数据库,收录了SIFT
, Polyphen2
, LRT
, MutationTaster
等多种算法预测的基因组变异对功能的影响。通过snpsfit的dbnsfp
命令,可以用这个数据库对变异位点进行注释,用法如下
java -jar SnpSift.jar dbnsfp -v myFile.vcf > myFile.annotated.vcf
第一次运行时,会自动下载dbnsfp对应的数据库文件。自动下载的数据库文件是snpSift官方整理的,如果你发现不是最新版,也可以自己去dbnsfp的官网下载最新版,然后自己整理,命令如下
wget http://dbnsfp.houstonbioinformatics.org/dbNSFPzip/dbNSFP2.9.zip
unzip dbNSFP2.9.zip
(head -n 1 dbNSFP2.9_variant.chr1 ; cat dbNSFP2.9_variant.chr* | grep -v "^#" ) > dbNSFP2.9.txt
bgzip dbNSFP2.9.txt
tabix -s 1 -b 2 -e 2 dbNSFP2.9.txt.gz
5. phastCons
phastCons
是一款计算保守区域的软件,通过snpsift的phastCons
命令可以对变异位点进行保守区域的注释。
第一步下载数据库,命令如下
mkdir -p ~/snpEff/db/phastCons
cd ~/snpEff/db/phastCons
wget http://hgdownload.soe.ucsc.edu/goldenPath/hg19/phastCons100way/hg19.100way.phastCons/chr1.phastCons100way.wigFix.gz
...
wget http://hgdownload.soe.ucsc.edu/goldenPath/hg19/phastCons100way/hg19.100way.phastCons/chrY.phastCons100way.wigFix.gz
第二步,进行注释,命令如下
java -jar SnpSift.jar phastCons ~/snpEff/db/phastCons file.vcf > file.phastCons.vcf
6. geneSets
采用MSigDb
数据库提供的基因集注释信息,对突变位点所在基因进行注释,用法如下
java -jar SnpSift.jar geneSets -v db/msigDb/msigdb.v3.1.symbols.gmt test.ann.vcf > test.eff.geneSets.vcf
输出结果会在INFO中新增一个MSigDb
注释信息,示例如下
MSigDb=ACEVEDO_METHYLATED_IN_LIVER_CANCER_DN,CHR1P36,KEGG_OLFACTORY_TRANSDUCTION,REACTOME_GPCR_DOWNSTREAM_SIGNALING,REACTOME_OLFACTORY_SIGNALING_PATHWAY,REACTOME_SIGNALING_BY_GPCR
扫描关注微信号,更多精彩内容等着你!