vcf格式文件基础知识与编辑操作的方法是什么

vcf格式文件基础知识与编辑操作的方法是什么

这篇文章主要介绍“vcf格式文件基础知识与编辑操作的方法是什么”,在日常操作中,相信很多人在vcf格式文件基础知识与编辑操作的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”vcf格式文件基础知识与编辑操作的方法是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

1. VCF文件基础知识介绍:

vcf格式文件基础知识与编辑操作的方法是什么

VCF文件介绍:
做过DNA重测序,群体遗传进化,BSA,GWAS等项目的人都会遇到VCF文件,这个文件记录了所有样品基因组中所有位置变异(主要包括SNP和InDel)信息。后续几乎所有的分析内容都是基于此文件,比如进化树分析、群体结构分析、PCA分析、GWAS关联分析等等。

因此了解VCF文件格式及其记录结果的意义非常重要。VCF文件其实是文本文件,可以用Windows当中文本编辑器软件打开,比如editplus等。由于VCF文件往往很大(通常超过1G),在Windows系统下直接打开会消耗大量内存进而造成卡死的现象。如果想顺利打开的话,这里建议使用pilotedit。

下面是一个典型VCF文件的部分示例(可左右拖动):

##fileformat=VCFv4.0##fileDate=20090805##source=myImputationProgramV3.1##reference=1000GenomesPilot-NCBI36##phasing=partial##INFO=<ID=NS,Number=1,Type=Integer,Description="NumberofSamplesWithData">##INFO=<ID=DP,Number=1,Type=Integer,Description="TotalDepth">##INFO=<ID=AF,Number=.,Type=Float,Description="AlleleFrequency">##INFO=<ID=AA,Number=1,Type=String,Description="AncestralAllele">##INFO=<ID=DB,Number=0,Type=Flag,Description="dbSNPmembership,build129">##INFO=<ID=H2,Number=0,Type=Flag,Description="HapMap2membership">##FILTER=<ID=q10,Description="Qualitybelow10">##FILTER=<ID=s50,Description="Lessthan50%ofsampleshavedata">##FORMAT=<ID=GT,Number=1,Type=String,Description="Genotype">##FORMAT=<ID=GQ,Number=1,Type=Integer,Description="GenotypeQuality">##FORMAT=<ID=DP,Number=1,Type=Integer,Description="ReadDepth">##FORMAT=<ID=HQ,Number=2,Type=Integer,Description="HaplotypeQuality">#CHROMPOSIDREFALTQUALFILTERINFOFORMATNA00001NA00002NA000032014370rs6054257GA29PASSNS=3;DP=14;AF=0.5;DB;H2GT:GQ:DP:HQ0|0:48:1:51,511|0:48:8:51,511/1:43:5:.,.2017330.TA3q10NS=3;DP=11;AF=0.017GT:GQ:DP:HQ0|0:49:3:58,500|1:3:5:65,30/0:41:3201110696rs6040355AG,T67PASSNS=2;DP=10;AF=0.333,0.667;AA=T;DBGT:GQ:DP:HQ1|2:21:6:23,272|1:2:0:18,22/2:35:4201230237.T.47PASSNS=3;DP=13;AA=TGT:GQ:DP:HQ0|0:54:7:56,600|0:48:4:51,510/0:61:2201234567microsat1GTCTG,GTACT50PASSNS=3;DP=9;AA=GGT:GQ:DP0/1:35:40/2:17:21/1:40:3

整体说明信息(Meta-information lines)

VCF文件的开头是整体注释信息,通常以##作为起始,其后一般接以FILTER,INFO,FORMAT等字样。

例如:以##FILTER开头的行,表示注释VCF文件当中第7列中缩写词的说明,比如q10为Quality below 10;##INFO开头的行注释VCF第8列中的缩写字母说明,比如AF代表Allele Frequency也就是等位基因频率;##FILTER开头的行注释VCF第9列中的缩写字母说明;另外还有其他的一些信息,文件版本"fileformat=VCFv4.0"等等。

VCF各列意义说明

各列之间用tab空白隔开;前面9列为固定列,第10列开始为样品信息列,可以无限多个;

  • #CHROM

  • POS

  • ID

  • REF

  • ALT

  • QUAL

  • FILTER

  • INFO

  • FORMAT

  • 后面的列都为样品基因型信息列

具体说明如下

  1. CHROM 记录染色体编号

  2. POS 记录染色体位置信息

  3. ID SNP/INDEL的dbSNP编号通常以rs开头,一般只有人类基因组才有dbSNP编号

  4. REF 参考基因组碱基类型,必须是A,C,G,T,N且都大写。

  5. ALT 变异碱基类型,必须是A,C,G,T,N,. 且都大写,多个用逗号分割。"."表示这个地方没有reads覆盖为缺失。

  6. QUAL 变异信息的检测质量值,越高越可靠。

  7. FILTER 标记过滤结果的列,通常我们把VCF文件中的变异信息进行质控,过滤掉低质量的变异位点,如果该位点通过过滤标准那么我们可以在该列标记为"PASS",说明该列质量值高。标记完之后我们就可以用其他工具,把标记为"PASS"的列给筛选出来,这样方便后续分析。如果没有应用缺失值"."代替。

  8. INFO 为附加信息列,一般以=;形式添加额外的注释信息列,常见的如DP=18 表示该位点测序深度为18X;AF=0.1表示等位基因频率为0.1;

  9. FORMAT 为后面10列信息的说明列,通常以":"隔开各个缩写词。不同的变异检测软件可能会有差异,以下用GATK的检测结果为例:

  10. 10列(包含)以后为样品基因型列,各信息以":"分隔与FORMAT列一一对应;

  • GT 表示genotype,通常用”/” or “|”分隔两个数字,“|”phase过也就是杂合的两个等位基因知道哪个等位基因来自哪条染色体;0代表参考基因组的碱基类型;1代表ALT碱基类型的第一个碱基(多个碱基用","分隔),2代表ALT第二个碱基,以此类推;比如 REF列为:A, ALT列为G,T;那么0/1基因型为AG 杂合,1/1基因型为GG纯合SNP;1/2代表GT基因型;./.表示缺失;

  • AD 两种碱基各自支持的碱基数量,用","分开两个数据,分别代表两个等位基因的深度;

  • DP 该样品该变异位点的测序深度总和,也就是AD两个数字的和;

  • PL 归一化后各基因型的可能性,通常有三个数字用','隔开,顺序对应AA,AB,BB基因型,A代表REF,B代表ALT(也就是0/0, 0/1, and 1/1),由于是归一化之后,数值越小代表基因型越可靠;那么最小的数字对应的基因型判读为该样品的最可能的基因型;

  • GQ 针对PL的判读得到的基因型的质量值,此值越大基因型质量值越好。由于PL归一化之后通常最小的数字为0;那么基因型的质量值取PL中第二小的数字,如果第二小的数字大于99,我们只取99,因为在GATK中再大的值是没有意义的,第二小的数大于99的话一般说明基因型的判读是很可靠的,只有当第二小的数小于99的时候,才有必要怀疑基因型的可靠性。

介绍到这里,大家应该对VCF文件有了一个初步理解,如有其他问题请下方留言。

2. VCF文件处理工具介绍:

筛选特定条件下的SNP/Indel信息是比较常见的个性化分析需求,不过VCF文件通常比较大,不建议在Windows当中处理。那么我们怎么筛选处理VCF文件呢?这里介绍一个Linux中非常好用的vcf处理工具,vcftools http://vcftools.sourceforge.net/man_latest.html。这是他的帮助链接; 功能非常丰富;vcftools是一款处理vcf文件的工具,体积小、运行速度快,可以按位点信息、碱基位置等信息筛选特定条件下的变异信息,也可以比较两个vcf文件之间变异信息的差异,还可以对VCF文件拆分,格式转换,质量过滤筛选等等功能;强烈推荐使用;这里介绍一下我在工作中用过的一些命令选项。

过滤变异类型

vcf文件中可能会同时包含snp以及indel两种变异类型,vcftools可以很快的将两者进行分离。

使用方法:

过滤掉indel,只保留snp,用到的命令选项:--remove-indels

执行以下命令:

vcftools--remove-indels--recode--recode-INFO-all--vcfraw.vcf--stdout>raw.snp.vcf

过滤掉snp,只保留indel,用到的命令选项:--keep-only-indels

执行以下命令:

vcftools--keep-only-indels--recode--recode-INFO-all--vcfraw.vcf--stdout>raw.indel.vcf

这样,就可以分别得到只包含snp和indel的vcf文件。

筛选指定位置变异位点

vcftools还可以挑选出基因组上某些区域的变异信息。

使用方法:

vcftools--vcfVariants.snp.unknown_multianno.vcf--chrA03--from-bp577700--to-bp607700--outout_prefix--recode--recode-INFO-all

这里解释一下各个参数:

--vcf:后面跟的是vcf文件

--chr:后面跟筛选区域所在的染色体

--form-bp:后跟筛选区域的起始位置

--to-bp:后跟筛选区域的终止位置

--out:输出文件的前缀

--recode:没有此参数则不会输出

过滤指定缺失率的变异位点

vcf 文件中很多snp在某些样品中是缺失的,也就是基因型为 "./." 。如果缺失率较高,这种snp位点在很多分析中是不能用的,需要去掉。这里用到的选项是--max-missing

使用方法:

vcftools--vcfsnp.vcf--recode--recode-INFO-all--stdout--max-missing1>snp.new.vcf

--max-missing后跟的值为 0-1 ,1代表不允许缺失,0代表允许全部缺失。

计算snp缺失率

vcftools中有两个参数可以计算vcf文件中snp的缺失率。

分别是:

--missing-indv:生成一个文件,报告每个样品的缺失情况,该文件的后缀为“.imiss”。

--missing-site:生成一个文件,报告每个snp位点的缺失情况,该文件的后缀为“.lmiss”。

使用方法:

vcftools--vcfsnp.vcf.--missing-site

运行以上命令后会在当前目录生成一个 out.lmiss 文件,其格式如下:

CHRPOSN_DATAN_GENOTYPE_FILTEREDN_MISSF_MISSchr0119492198803680.37247chr0138471498802040.206478chr0138471998802020.204453chr0151843898804880.493927chr0151847398804520.45749chr0151857998804180.423077chr0151863598804280.433198chr0168078698803460.350202chr0168083498804120.417004

前两列为snp所在位置,第三列为等位基因总数,第5列为缺失的总数,最后一列为缺失率。

vcftools--vcfsnp.vcf.--missing-indv

运行以上命令后会在当前目录生成一个 out.imiss 文件,其格式如下:

INDVN_DATAN_GENOTYPES_FILTEREDN_MISSF_MISS18747036320.415228108747012640.1445071028747020160.2304791058747063220.7227621068747023650.2703781078747043760.5002861088747056820.6495941098747018770.214588118747010390.118784

第一列为样品名称,第二列为总的snp数,第4列为缺失的总数,最后一列为缺失率。

随机抽取指定个样品

vcftools可以随机抽取指定个样品的vcf文件,用到的选项为--max-indv,指定要从vcf文件中随机抽取指定个样品。

使用方法:

随机抽取5个样品,执行以下代码:

vcftools--vcfsnp.vcf--max-indv5--remove-indels--recode--outoutfilename

到此,关于“vcf格式文件基础知识与编辑操作的方法是什么”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注恰卡编程网网站,小编会继续努力为大家带来更多实用的文章!

发布于 2022-03-19 21:12:52
收藏
分享
海报
0 条评论
38
上一篇:PS视图操作的方法有哪些 下一篇:PS文件操作的方法有哪些
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码