vcf文件做记录个体或群体突变的文件格式,在生物信息学应用中举足轻重。主流的生物信息分析软件,在处理变异信息时,也基本上需要考虑支持解析或输出vcf格式的文件。本文在介绍vcf文件格式的基本格式的同时,对vcf文件记录的细节进行描述。希望对广大开发者和生物信息学从业人员起到帮助。


1.vcf文件概述

vcf文件格式是变异结果存储的标准格式,一般多用于单核苷酸变异(SNV)或小片段的插入缺失(indels)的结果记录。除此之外,vcf文件也可以存储其他变异形式,比如CNV(拷贝数变异)、SV(结构变异)等,但目前难以形成主流。基因组结构类变异,目前相对较多的依然是bedbedpe文件,后面会陆续为各位进行介绍。

SNV 是基因组上单个位置的替换。|比如,在参考基因组上记录为 A ,通过检测,某个体由于个体差异或突变,在相同位置变异为C。Indel是指插入或缺失,例如在参考基因组上,某位置为ATCCA,在个体基因组上为ACA(中间位置的TC缺失),则记为A--CA,该位置为deletion。同理若个体基因组存在插入(insertion)情况,与deleltion一样也可以进行记录。insertion和deletion合称为indel。

vcf文件主要有三种模式:

  • 第一种为仅有位点信息,即对变异发生的位置和变异本身
  • 第二种为个体变异记录的是某个个体或个体组织的突变情况
  • 第三种为群体变异检测信息,记录的为突变在群体或家系中发生情况。

这三种类型文件虽然在记录内容上有所差别,但是都遵循vcf的基本规则。下图为vcf文件实例:

注意: 从上述说明中可以看出,单核苷酸的记录其实相对容易,但是对indel变异而言,由于插入缺失片段的长度不定,其位置并非固定的,因此在样本间的记录难以统一。


2. vcf meta 信息部分

vcf文件头部主要记录文件原信息(meta information),每行以##开始,主要记录内容包括下列内容

记录内容 说明
文件格式(fileformat) 记录文件格式;主要记录本文件所采用的vcf格式版本
信息区域(INFO)描述 该部分记录的是作为INFO区的基本描述,由于在vcf记录中,对INFO内容采用的是缩写,因此在此部分进行会对其含义以及数据类型进行说明。
过滤方式(FILTER) 该部分主要记录vcf文件经过生成过程中经过哪些过滤程序处理。记录包括命令行及对应参数
个体区域格式信息(FORMAT) 对于每个样本,vcf正文部分会记录多种信息,例如变异对应深度,该部分记录个体信息中每个字段含义及类型
突变类型(ALT) 标识出现在正文信息中突变类型,例如,Insertion、Deletion、Duplication 等
基因组信息(assembly) 标识对应的基因组版本
Contig信息 由于同一物种肯定存在多个基因组版本(如人类目前常用的有hg19和hg38两个版本),因此可能存在染色体名称相同,但内容不同的情况。因此该部分记录主要用于记录每个染色体的相信信息
样本基因组信息 vcf理论上支持不同样本比对于不同基因组的,该部分记录样本和基因组的对应关系(通常较少使用)
遗传谱系信息( Pedigree) 记录样本间的亲缘关系

3. vcf 列名称及正文

vcf文件meta信息记录结束之后,下一行就是列名称,列名称以#作为起始,主要包括以下几列:

  • CHROM:表示该列为变异所在的染色体位置。
  • POS:表示变异起始坐标,该部分需要注意的是对于结构变异,如Indel,其坐标记录方式不唯一。
  • ID:表示变异ID,一般常用的有rs编号或vep编号等。用户也可以根据具体问题自行设定编号,空缺时记为“.”。
  • REF:表示位点在参考基因组上的记录。
  • ALT:表示位点可能出现的变异情况。
  • QUAL:以Phred(即-log10)格式表示变异可靠性。通过不同变异检测软件得到的结果中,该项记录一般无可比性。
  • FILTER:表示过滤方式该部分用户也可以自定义,对于不同过滤标准可以进行不同的命名;但是对于通过过滤标准的,统一记为PASS。需要注意的是,对于一般的vcf处理软件来说,FILER只标记某个变异是否通过过滤条件。而不是删除记录。
  • INFO:该部分记录的变异的评价性指标以及注释信息,例如AC表示的等因突变的数量。该部分在不同的变异检测软件给出的结果也是不同的,大多数基础统计可以通过bcftools软件来进行追加。

上述八列信息是vcf中必然含有的部分,对于有样本信息,无论是样本还是单样本,都会有第9列 FORMAT列及后续样本信息列:

  • FORMAT:个体区域格式信息记录样本变异的记录格式。由于vcf文件样本记录中除了变异本身是否发生之外,还会记录针对变异的其他信息,例如对应位点的深度(AD)、基因型质量(GQ)等。FORMAT字段规定了这些信息的基本格式。

  • 个体信息: 个体信息是记录某个样本的具体变异情况,其包含的基本信息格式标准需要符合记录的FORMAT格式。特别需要注意的是基因型GT信息,如果是没有经过phased数据,以/分隔两个等位位点;如果经过phased则以|分隔。其余信息,均会在FORMAT字段有详细说明。

3. vcf记录标准问题

虽然vcf可以记录和表述突变具体情况,但是实践中由于不同变异检测工具对变异判定的区别,会造成对于同一个变异信息存在不同纪录的可能性(尤其是Indels类型记录)。因此,对于vcf文件而言,除了要求记录的信息全面这个最基本的要求之外,还需要做到两个标准。

3.1 简约性(Parsimony)

简约性是指,用尽可能少的核苷酸表示变体,而不会将任何等位基因的长度减少到0。其规定主要针对多核苷酸多样性而言(简称为MNP,指连续多处核苷酸发生突变)。下图列举了4种例子:

这四种颜色(红、绿、橙、蓝)的对于表示同一突变,其实是等效的。但是前三种记录均不是最简方法。因此,只有第四种蓝色的记录方式,符合简约性规范。

3.2 左对齐(Left alignment)

左对齐主要针对Indel类型的变异。其是指,当且仅当不再可能将其位置向左移动,同时保持其所有等位位点的长度不变时,则变异已左对齐。例如下图:

图中给出样本相对对于参考的基因组缺失“CA”碱基的5种记录方式,符合左对齐且简约的,只有最后一种(即紫色)对应的记录方式。

3.3 为什么要遵循上述原则

上述两个原则,其实并不是vcf文件格式规定的,但是相对而言比较重要。尤其对于变异的后期注释、挖掘和使用中,如果记录不满足上述标准,是很难对样本间进行合并或解读。

因此,一般拿到不明来源的vcf文件,比较良好的习惯就是对数据进行标准化处理,再进行其他操作。一般而言,GATKbcftools都提供了相应的功能,用户可以方便实现。


4.结构变异

vcf文件设计之处,对于结构变异的检测还不想目前这么百花齐放。因此虽然在vcf格式设计上考虑了结构变异的问题,但是相对而言记录比较粗糙。目前各类检测软件虽然基本上都保留了将结构变异输出成vcf的功能。

vcf中结构变异以以下形式展现

REF ALT 含义
s t[p[ 片段p在以从右侧开始的顺序,从t所在位置取代了s
s t]p] 片段 p 反转后(从左侧),从t所在位置取代s
s ]p]t 片段p在以从右侧开始的顺序,在t之前的位置取代s
s [p[t 片段 p 反转后(从左侧),从t之前位置取代s

例如:

由上面的例子可以看出,采用vcf记录结构变异实在不是一个好主意。相比之下,采用bed文件就更加清晰明了。在后面的内容中会向读者陆续介绍。

4. 小结

vcf作为最通用的变异记录文件格式,其格式的表达内容非常丰富,经过压缩后可以快速查询和定位。同时,基于该格式的应用种类相当多,因此是生物信息学重要的文件格式标准之一。

除了格式要求的明规则之外,使用vcf的时候还应该遵守"潜规则",目前主流变异检测软件对规范化的要求明显有所提高,因此最好在使用之前,进行一系列校正。

最后,vcf文件也支持表达结构变异,但是其人工阅读难度和可解析度其实都不太尽如人意。主流的注释工具更多的支持bed或其他格式的结构突变结果。因此,奉劝大家谨慎使用vcf记录结构变异。

变异记录文件格式 vcf相关推荐

  1. VCF变异结果文件详解

    看懂变异记录结果文件(VCF) VCF文件介绍: 做过DNA重测序,群体遗传进化,BSA,GWAS等项目的人都会遇到VCF文件,这个文件记录了所有样品全基因组中所有位置变异(主要包括SNP和InDel ...

  2. VCF变异文件读取和详细

    下载了千人基因组variants数据,是.vcf.gz和.vcf.gz.tbi文件格式,需要在linux上打开,此时我还是一个生信小菜鸡,记录一下vcf文件读取和详细解释. 在服务器先解压再打开, g ...

  3. 生物信息数据格式:vcf格式

    文章目录 格式说明 实操 查看头部注释信息 查看样本信息 查看主体信息 过滤质量值大于80小于20000的标记 只保留SNP 使用vcftools对vcf文件的操作 格式说明 VCF格式,Varian ...

  4. 非编码区单核苷酸变异

    自己写的笔记 1.WGS和WES 基因检测对明确诊断遗传缺陷病有重要意义,在疾病表型特异度不高,表型基因型对应不明确的情况下,WES-trio是寻找致病基因阳性率最实用的方法之一.WES-trio的阳 ...

  5. 基于Excel的VDS记录数据文件查看及转换工具(转MDA格式)

    一.XXXX当前采用VDS软件作为4S店及售后配套使用软件,该软件可读取车辆控制器的版本信息.读取/清除故障码信息. 与此同时VDS软件还可以实时读取及记录车辆控制器的运行参数数据,通过查看记录数据可 ...

  6. ebs 选择excel输出 后缀 html,EBS报表输出文件格式控制

    具体使用方法: 1.添加用户参数p_conc_request_id 2.在BeforeReport trigger中添加srw.user_exit('FND SRWINIT'); 和AfterRepo ...

  7. NGS数据分析实践:03. 涉及的常用数据格式[4] - bed和Wiggle/Bigwig/bedgraph格式

    NGS数据分析实践:03. 涉及的常用数据格式[4] - bed和Wiggle/Bigwig/bedgraph格式 4. bed格式 5. Wiggle/Bigwig/bedgraph格式 5.1 W ...

  8. 外显子和基因组基本概念(二)

    上接:外显子和基因组基本概念(一) (补)细胞周期(Cell cycle):含间期(Interphase)与分裂期(即M期:Mitosis有丝分裂:Meiosis减数分裂)两个阶段. 间期分为:DNA ...

  9. NGS数据分析实践:03. 涉及的常用数据格式[2] - sam/bam格式

    NGS数据分析实践:03. 涉及的常用数据格式[2] - sam/bam格式 2. sam和bam格式 系列文章: 二代测序方法:DNA测序之靶向重测序 NGS数据分析实践:00. 变异识别的基本流程 ...

  10. [更新中] NGS常见软件和数据库(肿瘤/遗传病)

    目录 0. 基础环境 1. 质控 trimmomatic fastqc 2. 比对 & 比对后处理 bwa TMAP 3. 变异识别(SNP/InDel) samtools gatk bedt ...

最新文章

  1. android 导入so库文件
  2. svn在linux下的使用(svn命令行)ubuntu 删除 新增 添加 提交 状态查询 恢复
  3. 贪心算法之活动选择问题
  4. fastboot devices 找不到设备_处理工业废气找不到好设备?您应该了解一下工业静电油烟净化器...
  5. Sound Ventures斥资百万美元举行NFT竞赛活动
  6. HDU 4714 Tree2cycle:贪心
  7. LeetCode 207. 课程表(广度优先遍历)
  8. C++基础——使用字符串作为函数模板的实参
  9. 官方 mysql管理工具下载_飘云mysql管理工具
  10. 2021年最新程序员培训机构排名,学习前避坑必看
  11. 数据分析SQL日期维度表生成(含节假日)
  12. 使用CSS将图标进行旋转无效
  13. 外汇EA是什么?EA可靠吗?EA有什么缺点?
  14. 半实物仿真技术在复杂控制系统研发过程中的典型应用
  15. java获取当前时间的前一个小时
  16. TOM游戏h5营销案例分析-高空运鸡蛋
  17. 【例16 Java从键盘读入学生成绩,找出最高分,并输出学生成绩等级】
  18. VM ware workstation 10 下载及安装密钥
  19. 威胁快报|首爆,新披露Jenkins RCE漏洞成ImposterMiner挖矿木马新“跳板”
  20. 犹太人传承了三千多年的10大赚钱定律

热门文章

  1. Visual Studio 2022配置GAMP出现 LNK2019无法解析外部符号_imp_timeGetTime@0
  2. 机器人入门困惑之资料总结
  3. 微信小程序 列表item点击事件
  4. IDEA打包jar包将依赖包打包到一起
  5. 数据结构(考研面试)
  6. 樱花FRP(SAKURA FRP)远程桌面+rdpwrap绕过限制
  7. 日志系统模块基础、C语言实现一个日志模块、zlog日志模块基础
  8. java写http接口,java如何写一个http接口?实例详解
  9. 通过VBA将excel数据导入至word文档
  10. Oracle 数据文件迁移过程中 执行 shartup mount 报ORA03113:通讯通道的文件结尾 问题解决过程