VCF是windows系统中的outlook名片存储格式文件。
VCF是一个C++编写的开源项目,全名Visual Component Framework,中文名:可视化组件框悄芦配架。
程序框架库可以算是系哗李统级软件,它提供给用户一种相对固化的编程方式,进而简化系统编程。
VCF格式通讯录格式现在用途广泛,一般诺基亚、摩托罗拉手机导出通讯录的格式即为VCF。可以把VCF格式保存到电脑上以备不时之需。而且现在很多网上通讯录的导入格式也是VCF,例如飞信现在就加入了导入联系人的功能,可以把手机通讯录导入飞信的通讯录里,这样不管手机在不在,只要有一台电脑就可以对自己的通讯录里的人了如指掌了。
VCF文件的开头是整体注释信息,通常以##作为起始,其后一般接以FILTER,INFO,FORMAT等字样。
例如:以##FILTER开头的行,表示注释VCF文件当中第7列中缩写词的说明;##INFO开头的行注释VCF第8列中的缩写字母说明,比如AF代表Allele Frequency也就是等位基因频率扮宏;##FORMAT开头的行注释VCF第9列中的缩写字母说明;另外还有其他的一些信息,文件版本"fileformat=VCFv4.0"等等简缺早。还能看到一些历史命令,通过这些命令可以知道这个vcf文件是如何得到的。
各列之间用tab空白隔开;前面9列为固定列,第10列开始为样品信息列,可以无限多个;图示样品信息列有130个
CHROM POS ID REF ALT QUAL FILTER INFO FORMAT
后面的列都为样品基因型信息列
1.CHROM 记录染色体编号
2.POS 记录变异位点在参考基因组中的位置。如果是SNP的话,POS即SNP的位置;如果是INDEL的话,位置是INDEL的第一个碱基位置。
3.ID SNP/INDEL的ID, 如在dbSNP中有该SNP的id,则会在此行给出;若没有,则用’.'表示其为一个novel variant 新变异,dbSNP编号通常以rs开头,一般只有人类基因组才有dbSNP编号
INDEL 指的是在基因组的某个位置上所发生的small deletion,small inverion小片段序列的插入或者删除,其长度通常在50bp以下
4.REF 参考基因组该位置碱基类型,必须是A,C,G,T,N N表示不确定碱基,SNP应该一个位点就是一个碱基
5.ALT 与参考序列比较,发生突变的变异碱基类型,必须是A,C,G,T,N,. 多个用逗号分割。"." 表示这个地方没有reads覆盖为缺失。
6.QUAL 变异位点检测质量值,越高越可靠。表示在该位点存在variant的可能性,该值越高,则variant的可能性越大
等于-10*log10(该变异位点检测错误的概率)。 用 . 表示,是质量值没有输出,不代表质量值为0
log0.1表示10的多少次方等于0.1,即为-1;10的-1次方为十分之一,10的-2次方为一百分之一
7.FILTER 如果该位点通过过滤标准那么我们可以在该列标记为"PASS",说明该列质量值高。
8. INFO为variant的详细信息 字段的意思可以在header里搜索去看
上面vcf 中INFO全为“.”了,是因为用 vcftools 某步过滤SNP输出文件时用了 --recode ,这样就不输出info信息,以 . 代替了,想输出info,可以--recode-INFO xx(如MQ) 或者 --recode-INFO-all (所有info全部输出)
#DP-read depth:样本在这个位置的reads覆盖度。是一些reads被过滤掉后的覆盖度。DP4:高质量测序碱基,位于REF或者ALT前后
#QD:通过深度来评估一个变异的可信度。Variant call confidence normalized by depth of sample reads supporting a variant
#MQ:表示覆盖序列质量的均方值RMS Mapping Quality
#FQ:phred值关于所有样本相似的可能性
#AC,AF 和 AN:AC(Allele Count) 表示该Allele的数目;AF(Allele Frequency) 表示Allele的频率; AN(Allele Number) 表示Allele的总数目。
对于1个diploid sample(双倍拦雀体)而言:则基因型 0/1 表示sample为杂合子,Allele数为1 (双倍体的sample在该位点只有1个等位基因发生了突变),Allele的频率为0.5 (双倍体的sample在该位点只有50%的等位基因发生了突变),总的Allele为2; 基因型 1/1 则表示sample为纯合的,Allele数为2,Allele的频率为1,总的Allele为2。
#MLEAC:Maximum likelihood expectation (MLE) for the allele counts (not necessarily the same as the AC), for each ALT allele, in the same order as listed
#MLEAF:Maximum likelihood expectation (MLE) for the allele frequency (not necessarily the same as the AF), for each ALT allele, in the same order as listed
#BaseQRankSum 比较支持变异的碱基和支持参考基因组的碱基的质量,负值表示支持变异的碱基质量值不及支持参考基因组的,
正值则相反,支持变异的质量值好于参考基因组的。0表示两者无明显差异。
#FS 使用F检验来检验测序是否存在链偏好性。链偏好性可能会导致变异等位基因检测出现错误。输出值Phred-scaled p-value,值越大越可能出现链偏好性。
#InbreedingCoeff 使用似然法检验样本间的近交系数(又或者称为近亲关系)。值越高越可能是近亲繁殖。
#MQRankSum 比较支持变异的序列和支持参考基因组的序列的质量,负值表示支持变异的碱基质量值不及支持参考基因组的,只针对杂合。
正值则相反,支持变异的质量值好于参考基因组的。0表示两者无明显差异。实际应用中一般过滤掉较小的负值。
#BaseCounts 所有样本在变异位点ATCG的数量
#ClippingRankSum 同前面两个类似,负值表示支持变异的read有更的的hard-clip碱基,正值表示支持参考基因组的的read有更多的hard-clip。0最好,无论是正值还是负值都表示可能可能存在人为偏差。
#ReadPosRankSum 检测变异位点是否有位置偏好性(是否存在于序列末端,此时往往容易出错)。最佳值为0,表示变异与其在序列上的位置无关。负值表示变异位点更容易在末端出现,正值表示参考基因组中的等位基因更容易在末端出现。
#ExcessHet 检测这些样本的相关性,与InbreedingCoeff相似,值越大越可能是错误。
#LikelihoodRankSum 评价支持变异和ref的序列与best hyplotype的匹配性,0为最佳值。负值表示支持变异的read匹配度不及支持ref的匹配度,正值则相反。值越大表示越可能是出现了错误。
#HaplotypeScore 分数越高越可能出现错误。Higher scores are indicative of regions with bad alignments, typically leading to artifactual SNP and indel calls.
#SOR:也是一个用来评估是否存在链偏向性的参数,相当于FS的升级版。The StrandOddsRatio annotation is one of several methods that aims to evaluate whether there is strand bias in the data. It is an updated form of the Fisher Strand Test that is better at taking into account large amounts of data in high coverage situations. It is used to determine if there is strand bias between forward and reverse strands for the reference or alternate allele. The reported value is ln-scaled.
#IS:插入缺失或部分插入缺失的reads允许的最大数量
#G3:ML 评估基因型出现的频率
#HWE:chi^2基于HWE的测试p值和G3
#CLR:在受到或者不受限制的情况下基因型出现可能性log值
#UGT:最可能不受限制的三种基因型结构
#CGT:最可能受限制三种基因型的结构
#PV4:四种P值的误差,分别是(strand、baseQ、mapQ、tail distance bias)
#INDEL:表示该位置的变异是插入缺失
#PC2:非参考等位基因的phred(变异的可能性)值在两个分组中大小不同
#PCHI2:后加权chi^2,根据p值来测试两组样本之间的联系
#QCHI2:Phred scaled PCHI2
#PR:置换产生的一个较小的PCHI2
#QBD:Quality by Depth,测序深度对质量的影响
#RPB:序列的误差位置(Read Position Bias)
#MDV:样本中高质量非参考序列的最大数目
#VDB:Variant Distance Bias,RNA序列中过滤人工拼接序列的变异误差范围
9.FORMAT 为后面10列信息的说明列,通常以" :"隔开各个缩写词。
10 列(包含)以后 为样品基因型列,各信息以":"分隔与FORMAT列一一对应;
(不确定 1/0与0/1 , 1/2与2/1 , 2/3与3/2 是否为一个意思,猜测可能是一个意思,没有去深究)
在过滤后只剩SNP的vcf文件中,GT只会存在 0/0 0/1 1/1 0(参考基因组等位基因类型)和1(样品的一种变异等位基因类型)
像下图,还存在除SNP外其他类型的变异,所以GT存在1/2,2/2等
AD 和DP: AD(Allele Depth)为sample中在此位置支持每种碱基型的reads深度,用逗号分割,前者对应ref基因型,后者对应variant基因型; DP(Depth)为sample中该位点的覆盖度,为该变异位点的深度和,也就是AD两个数字的和。
GQ : 基因型质量值 Phred值 = -10 * log (p) p为基因型错误的概率 越高越可靠
PL : 指定的三种基因型的似然值。这三种指定的基因型为(0/0,0/1,1/1),这三种基因型的概率总和为1。数值越小代表基因型越可靠,最小的数字对应的基因型判读为该样品的最可能的基因型。比如最后一列285,0,105,分别对应基因型0/0,0/1,1/1,说明0/1为可能的基因型。
PGT PID 也看了,没咋懂,不记录了
参考:
https://www.jianshu.com/p/1726696e54e5
https://www.jianshu.com/p/13f162636164
https://www.omicsclass.com/article/847
https://www.jianshu.com/p/bf0d27368eb9
https://www.jianshu.com/p/13f162636164
用 vcf2maf 批量把vcf转化成maf文件,使用的是本人写的 pipeline ,会自动记录哪些步骤已 run ,中断后重新开始不需要再 run 。
通过多进程方法,能同时运行多个 pipeline ,还能提示一个胡禅步骤运行了多少时间。
因为挂知乎新硬盘的原因,关机挂载硬盘,转移数据,重新运行脚本,按理说在关机前被中断的5个 vcf2maf 过程会重新开始,然而发现这5个 vcf2maf 的时间显著低于前面样本同步骤,且生成的maf大小明显偏低。
关机,挂硬盘折腾了一番,仍然如此,头大。
后来想着干脆全部样本重新跑试试 ,作备份时,把待转的vcf文件目录下,在 vcf2maf 过程中由 vep 生成的vep.vcf文件全部转移掉,再怀着试一试的想法重新运行 vcf2maf ,发现时间应该正常了!!
猜想:可能是 vcf2maf 调用 vep 前,如果检测到同目录下有 vcf 文件对应的 vep.vcf 文件,就认为已经完成 vep 注释过程, vcf2maf 会直接从 vep.vcf 文件转成 maf 文件。起初被中断的5个样本,并没有完成相应的 vep 注释就直接进入 生成裤猛尘maf 过程,从而出现一开始描述的问题。
解决方法: 及时把生成的vep.vcf文件转移或删除
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)