变异记录文件格式 vcf
vcf
文件做记录个体或群体突变的文件格式,在生物信息学应用中举足轻重。主流的生物信息分析软件,在处理变异信息时,也基本上需要考虑支持解析或输出vcf格式的文件。本文在介绍vcf文件格式的基本格式的同时,对vcf文件记录的细节进行描述。希望对广大开发者和生物信息学从业人员起到帮助。
1.vcf文件概述
vcf
文件格式是变异结果存储的标准格式,一般多用于单核苷酸变异(SNV)或小片段的插入缺失(indels)的结果记录。除此之外,vcf
文件也可以存储其他变异形式,比如CNV(拷贝数变异)、SV(结构变异)等,但目前难以形成主流。基因组结构类变异,目前相对较多的依然是bed
或bedpe
文件,后面会陆续为各位进行介绍。
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
文件,比较良好的习惯就是对数据进行标准化处理,再进行其他操作。一般而言,GATK
和bcftools
都提供了相应的功能,用户可以方便实现。
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相关推荐
- VCF变异结果文件详解
看懂变异记录结果文件(VCF) VCF文件介绍: 做过DNA重测序,群体遗传进化,BSA,GWAS等项目的人都会遇到VCF文件,这个文件记录了所有样品全基因组中所有位置变异(主要包括SNP和InDel ...
- VCF变异文件读取和详细
下载了千人基因组variants数据,是.vcf.gz和.vcf.gz.tbi文件格式,需要在linux上打开,此时我还是一个生信小菜鸡,记录一下vcf文件读取和详细解释. 在服务器先解压再打开, g ...
- 生物信息数据格式:vcf格式
文章目录 格式说明 实操 查看头部注释信息 查看样本信息 查看主体信息 过滤质量值大于80小于20000的标记 只保留SNP 使用vcftools对vcf文件的操作 格式说明 VCF格式,Varian ...
- 非编码区单核苷酸变异
自己写的笔记 1.WGS和WES 基因检测对明确诊断遗传缺陷病有重要意义,在疾病表型特异度不高,表型基因型对应不明确的情况下,WES-trio是寻找致病基因阳性率最实用的方法之一.WES-trio的阳 ...
- 基于Excel的VDS记录数据文件查看及转换工具(转MDA格式)
一.XXXX当前采用VDS软件作为4S店及售后配套使用软件,该软件可读取车辆控制器的版本信息.读取/清除故障码信息. 与此同时VDS软件还可以实时读取及记录车辆控制器的运行参数数据,通过查看记录数据可 ...
- ebs 选择excel输出 后缀 html,EBS报表输出文件格式控制
具体使用方法: 1.添加用户参数p_conc_request_id 2.在BeforeReport trigger中添加srw.user_exit('FND SRWINIT'); 和AfterRepo ...
- NGS数据分析实践:03. 涉及的常用数据格式[4] - bed和Wiggle/Bigwig/bedgraph格式
NGS数据分析实践:03. 涉及的常用数据格式[4] - bed和Wiggle/Bigwig/bedgraph格式 4. bed格式 5. Wiggle/Bigwig/bedgraph格式 5.1 W ...
- 外显子和基因组基本概念(二)
上接:外显子和基因组基本概念(一) (补)细胞周期(Cell cycle):含间期(Interphase)与分裂期(即M期:Mitosis有丝分裂:Meiosis减数分裂)两个阶段. 间期分为:DNA ...
- NGS数据分析实践:03. 涉及的常用数据格式[2] - sam/bam格式
NGS数据分析实践:03. 涉及的常用数据格式[2] - sam/bam格式 2. sam和bam格式 系列文章: 二代测序方法:DNA测序之靶向重测序 NGS数据分析实践:00. 变异识别的基本流程 ...
- [更新中] NGS常见软件和数据库(肿瘤/遗传病)
目录 0. 基础环境 1. 质控 trimmomatic fastqc 2. 比对 & 比对后处理 bwa TMAP 3. 变异识别(SNP/InDel) samtools gatk bedt ...
最新文章
- android 导入so库文件
- svn在linux下的使用(svn命令行)ubuntu 删除 新增 添加 提交 状态查询 恢复
- 贪心算法之活动选择问题
- fastboot devices 找不到设备_处理工业废气找不到好设备?您应该了解一下工业静电油烟净化器...
- Sound Ventures斥资百万美元举行NFT竞赛活动
- HDU 4714 Tree2cycle:贪心
- LeetCode 207. 课程表(广度优先遍历)
- C++基础——使用字符串作为函数模板的实参
- 官方 mysql管理工具下载_飘云mysql管理工具
- 2021年最新程序员培训机构排名,学习前避坑必看
- 数据分析SQL日期维度表生成(含节假日)
- 使用CSS将图标进行旋转无效
- 外汇EA是什么?EA可靠吗?EA有什么缺点?
- 半实物仿真技术在复杂控制系统研发过程中的典型应用
- java获取当前时间的前一个小时
- TOM游戏h5营销案例分析-高空运鸡蛋
- 【例16 Java从键盘读入学生成绩,找出最高分,并输出学生成绩等级】
- VM ware workstation 10 下载及安装密钥
- 威胁快报|首爆,新披露Jenkins RCE漏洞成ImposterMiner挖矿木马新“跳板”
- 犹太人传承了三千多年的10大赚钱定律
热门文章
- Visual Studio 2022配置GAMP出现 LNK2019无法解析外部符号_imp_timeGetTime@0
- 机器人入门困惑之资料总结
- 微信小程序 列表item点击事件
- IDEA打包jar包将依赖包打包到一起
- 数据结构(考研面试)
- 樱花FRP(SAKURA FRP)远程桌面+rdpwrap绕过限制
- 日志系统模块基础、C语言实现一个日志模块、zlog日志模块基础
- java写http接口,java如何写一个http接口?实例详解
- 通过VBA将excel数据导入至word文档
- Oracle 数据文件迁移过程中 执行 shartup mount 报ORA03113:通讯通道的文件结尾 问题解决过程