前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >SnpSift学习笔记(三)

SnpSift学习笔记(三)

作者头像
生信修炼手册
发布2020-05-11 16:40:48
4060
发布2020-05-11 16:40:48
举报

本篇主要介绍caseControl, rmRefGen, tstv, rmInfo, gt, vcfcheck这6个命令的用法。

1. caseControl

caseControl命令用来计算不同样本分组中的纯合突变和杂合突变的样本数,以及突变位点的总数,在表示样本分组时,可以采用命令行参数的形式,也可以采用TFAM格式的文件来指定。

用命令行参数表示样本分组时,+代表case组,-代表control组,0代表忽略该样本,用法如下

java -jar SnpSift.jar caseControl "++++0-----" cc.vcf

cc.vcf中包含了10个样本的基因型信息,其中1-4号样本为case组,5号样本忽略不计,6-10号样本为control组。输出结果会在INFO字段中添加如下信息

INFO FORMAT Sample_01 Sample_02 Sample_03 Sample_04 Sample_05 Sample_06 Sample_07 Sample_08 Sample_09 Sample_10
AF=0.01;Cases=1,2,4;Controls=2,2,6 GT 0/1 1/1 1/0 0/0 0/0 0/1 1/1 1/1 1/0 0/0

case组的4个样本对应的基因型分别为0/1,1/1,1/0,0/0,其中纯合突变的样本数为1个,杂合突变的样本数为2个,突变位点总数为1个纯合的2个突变位点加上2个杂合的2个突变位点,一共是4个突变位点;control组5个样本对应的基因型分别为0/1, 1/1, 1/1, 1/0,0/0,其中纯合突变的样本数为2个,杂合突变的样本数为2个,突变位点总数为2 * 2 + 2 = 6个。

通过命令行参数表示样本分组时,必须按照VCF文件中样本的顺序依次进行指定。如果采用TFAM文件指定样本分组,则不需要考虑样本顺序,用法如下

java -jar SnpSift.jar caseControl -tfam samples.tfam cc.vcf
2. rmRefGen

rmRefGen命令用于删除VCF文件中没有发生突变的样本,用法如下

cat file.vcf | java -jar SnpSift.jar rmRefGen > file_noref.vcf

原始的file.vcf文件内容如下

#CHROM  POS ID REF ALT QUAL FILTER  INFO FORMAT M1 M2 X1 X2
2L 426906  . C G 53.30 . DP=169  GT:PL:GQ 0/1:7,0,255:4 0/1:7,0,255:4 0/0:0,0,0:6 0/0:0,30,255:35
2L 601171  . C A 999.00  . DP=154  GT:PL:GQ 0/1:81,0,141:78 0/1:42,0,251:39 0/0:0,0,0:4 0/0:0,33,255:36
2L 648611  . A T 999.00  . DP=225  GT:PL:GQ 0/1:52,0,42:47 1/1:75,21,0:14 0/0:0,0,0:3 0/0:0,60,255:61
2L 807373  . A G 106.00  . DP=349  GT:PL:GQ 0/1:14,0,65:12 0/1:60,0,42:50 0/0:0,0,0:4 0/0:0,69,255:72
2L 816766  . G T 999.00  . DP=411  GT:PL:GQ 0/1:108,0,45:53 0/1:7,0,255:6 0/0:0,0,0:4 0/0:0,57,255:59

可以看到X1X2两个样本的基因型都为0/0,没有发生突变。rmRefGen处理之后,输出结果如下

#CHROM  POS ID REF ALT QUAL FILTER  INFO FORMAT M1 M2 X1 X2
2L 426906  . C G 53.30 . DP=169  GT:PL:GQ 0/1:7,0,255:4 0/1:7,0,255:4 . .
2L 601171  . C A 999.00  . DP=154  GT:PL:GQ 0/1:81,0,141:78 0/1:42,0,251:39 . .
2L 648611  . A T 999.00  . DP=225  GT:PL:GQ 0/1:52,0,42:47 1/1:75,21,0:14 . .
2L 807373  . A G 106.00  . DP=349  GT:PL:GQ 0/1:14,0,65:12 0/1:60,0,42:50 . .
2L 816766  . G T 999.00  . DP=411  GT:PL:GQ 0/1:108,0,45:53 0/1:7,0,255:6 . .

可以看到,X1X2样本对应的记录都变成了.

3. tstv

tstv命令用于计算突变位点中,转换和颠换的比例,用法如下

java -jar SnpSift.jar tstv hom s.vcf

输出结果如下

Sample : 1  2  3  4  5  6  7  8  9  10 11 12 Total
Transitions : 150488 150464 158752 156674 152936 160356 152276 155314 156484 149276 151182 153468 1847670
Transversions : 70878 70358 73688 72434 70828 76150 72030 71958 72960 69348 70180 71688 862500
Ts/Tv : 2.123 2.139 2.154 2.163 2.159 2.106 2.114 2.158 2.145 2.153 2.154 2.141 2.142
4. rmInfo

rmInfo命令用于删除VCF文件中INFO中的sub fields的信息,用法如下

java -jar SnpSift.jar rmInfo test.snpeff.vcf EFF

这里的EFF代表你想要删除的字段的名字。

原始VCF文件内容如下

cat test.snpeff.vcf
#CHROM   POS   ID REF   ALT   QUAL  FILTER   INFO
1  734462   1032  G  A  .  s50   AC=348;EFF=DOWNSTREAM(MODIFIER|||||RP11-206L10.8|processed_transcript|NON_CODING|ENST00000447500||1),INTRON(MODIFIER|||||RP11-206L10.6|processed_transcript|NON_CODING|ENST00000429505|1|1)

删除之后的内容如下

#CHROM   POS   ID REF   ALT   QUAL  FILTER   INFO
1  734462   1032  G  A  .  s50   AC=348
5. gt

gt命令用于压缩VCF文件,主要是压缩其中各个样本的基因型信息,以减少VCF文件的大小。这个文件压缩的方法效率是非常高的,对于1000多个样本的VCF文件,可以由原来的1TB压缩到1G。

其压缩的方式也很简单,类似稀疏矩阵的存储方式,由于大部分样本都是没有突变的,基因型都为0/0, 所以只记录其中发生了突变位点的样本数,在实际处理时,只记录下面3种类型的样本数

  1. HO
  2. HE
  3. NA

HO代表纯合突变,基因型为1/1;HE代表杂合突变,基因型为0/1; NA代表没有基因型信息。

用法如下

java -jar SnpSift.jar gt test.vcf | tee test.gt.vcf

输出结果如下:

#CHROM  POS ID  REF  ALT  QUAL  FILTER  INFO FORMAT  Sample_1  Sample_2  Sample_3  Sample_4  Sample_5  Sample_6  Sample_7  Sample_8  Sample_9  Sample_10  Sample_11  Sample_12  Sample_13  Sample_14  Sample_15
1 861276  . A G . PASS AC=1;HO=1

所有样本的基因型信息都没有了,取而代之的是INFO字段中,记录的HO纯合突变的样本数。

除了压缩之外,通过添加-u参数,也可以解压缩,还原出之前的基因型信息,用法如下

java -jar SnpSift.jar gt -u test.gt.vcf
6. vcfCheck

vcfCheck命令用于检测VCF文件的格式是否有问题,用法如下

java -jar SnpSift.jar vcfCheck bad.vcf

当VCF存在一些常见错误时,会打印报错信息,可以当做一个debug的工具来使用。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-06-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信修炼手册 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. caseControl
  • 2. rmRefGen
  • 3. tstv
  • 4. rmInfo
  • 5. gt
  • 6. vcfCheck
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档