从WGS测序得到的VCF文件里面提取位于外显子区域的【直播】我的基因组84

时间:2022-05-03
本文章向大家介绍从WGS测序得到的VCF文件里面提取位于外显子区域的【直播】我的基因组84,主要内容包括首先要下载并且得到人类基因组的外显子坐标记录文件、从VCF文件里面根据BED文件进行抽提、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

首先要下载并且得到人类基因组的外显子坐标记录文件

这里我用的参考基因组版本仍然是hg19,所以去CCDS数据库里面下载对应版本,并且格式化成BED文件。

wget  ftp://ftp.ncbi.nlm.nih.gov/pub/CCDS/archive/Hs37.3/CCDS.20110907.txtcat CCDS.20110907.txt |perl -alne '{/[(.*?)]/;next unless $1;$exons=$1;$exons=~s/s//g;$exons=~s/-/t/g;print "$F[0]t$" foreach split/,/,$exons;}' >hg19exon.bed

制作好的bed格式的人类全部的exon区域坐标文件如下:

1    801942  8024331    861321  8613921    865534  8657151    866418  8664681    871151  8712751    874419  8745081    874654  8748391    876523  8766851    877515  8776301    877789  877867

从VCF文件里面根据BED文件进行抽提

这里就不自己造轮子了,用现成的工具,而且是我们用过很多次的SnpEff套件,代码如下

cat snp.vcf | java -jar  ~/biosoft/SnpEff/snpEff/SnpSift.jar intervals hg19exon.bed >hg19exon.snp.vcfcat indel.vcf | java -jar  ~/biosoft/SnpEff/snpEff/SnpSift.jar intervals hg19exon.bed >hg19exon.indel.vcf

可以把我经由GATK best practice流程得到的SNP/INDEL记录的VCF文件都进行提取,用代码 wc -l *vcf简单统计一下提取的效果,如下:

      1042 hg19_exon.indel.vcf     25067 hg19_exon.snp.vcf    754755 indel.vcf   3784343 snp.vcf

很明显可以看到,位于外显子区域的mutation毕竟是少数,这时候还可以继续看看那些在外显子上面却没有被dbSNP数据库记录的mutation还有多少:

cat hg19_exon.snp.vcf |grep -v "^#" |cut -f 3 |grep '.' |wc

仍然有2315个SNV在外显子区域,却没有被dbSNP数据库记录,可能是我的家族特异性的位点,属于正常的基因型多样性,也有极小的可能性这些位点是后发突变,也就是通常癌症研究领域的somatic mutation 。

用下面的代码可以简单浏览一下这些在外显子上面的未知突变的情况。

cat hg19_exon.snp.vcf |perl -alne '{print if $F[2] eq "."}' |less -Scat hg19_exon.indel.vcf |perl -alne '{print if $F[2] eq "."}' |less -S