1)背景

伴随着大规模的基因分型及测序工程的产生(例如1000 Genomes Project),之前的信息贮存格式例如gff文件它记录了每一个基因的详细信息,其中许多基因信息在基因组之间是共享的,而我们需要记录的仅仅是不同基因组之间变异的地方,因此这些格式会显得格外冗余。这就迫切需要一种新的格式来记录高效的记录这些变异信息。VCF(Variant Call Format)就是这样一种用来贮存基因序列变异信息的文本文件(通常是压缩格式)。

2)VCF格式简介

VCF 格式文件包含有2部分:1) header section,元信息(meta-information),以‘##’为前缀,通常包含fileformat、fileDate、reference等信息,头行信息( header line ),以‘#’为前缀;2) data section,该部分为主题部分,记录了每个样品每个位点处的基因分型信息。

主题部分每列的含义:

1)CHROM - chromosome:参考基因组标识。
2)POS - position:变异位点相对于参考基因组所在的位置(1-based)。在每个染色体内,按照数字位置升序排列。
3)ID - identifier: 如果是dbSNP variant则需要给出相应的rs 号,若不是,则默认使用‘.’
4)REF - reference base(s): 参考序列碱基,必须是 A,C,G,T,N其中的一种。
5) ALT - alternate base(s): 表示variant的Allele,若有多个,则使用逗号分隔,(变异所支持的碱基类型及碱基数量)这里的碱基类型和碱基数量,对于SNP来说是单个碱基类型的编号,而对于Indel来说是指碱基个数的添加或缺失,以及碱基类型的变化
6)QUAL - quality:表示 Phred质量值,用来表示 ALT的可靠性
7)FILTER - filter status:表示是否通过过滤。PASS表示该位点通过过滤,否则表示没有通过。例如,q10表示质量值低于10
8)INFO - additional information:表示的是变异描述信息。包括18种,都是以<key>=[,data]格式,并使用分号分隔的形式,其中很多的注释信息在VCF文件的头部注释中给出。

AA :ancestral allele    AC  :allele count in genotypes, for each ALT allele, in the same order as listed    AF  :allele frequency for each ALT allele in the same order as listed: use this when  estimated from primary data, not called genotypes AN  :total number of alleles in called genotypes    BQ  :RMS base quality at this position  CIGAR :cigar string describing how to align an alternate allele to the reference alleleDB  :dbSNP membership   DP  :combined depth across samples, e.g. DP=154 END :end position of the variant described in this record H2  :membership in hapmap2  H3  :membership in hapmap3  MQ  :RMS mapping quality, e.g. MQ=52    MQ0 :Number of MAPQ == 0 reads covering this record NS  :Number of samples with data    SB  :strand bias at this position   SOMATIC :indicates that the record is a somatic mutation, for cancer genomics   VALIDATED :validated by follow-up experiment    1000G :membership in 1000 Genomes

9)FORMAT:可选的扩展,例如GT:AD:DP:GQ:PL。该部分是主体部分,表示基因型信息的多个标签,这些标签之间以冒号分割,其对应的值位于第10列,同样以冒号分割,表示第一个样品的基因型结果
10)SAMPLES:表示样本信息,各个Sample的值,由BAM文件中的@RG下的SM标签所决定,这些值对应着第9列的各个格式,不同格式的值用冒号分开,每一个sample对应着1列;多个samples则对应着多列,这种情况下列的数多余10列。

3)vcftools的下载与简单应用

vcftools 则是一款非常优秀的工具来处理vcf 文件,可以用来对vcf文件进行解析、分析、操作。vcftools大致可以被分为两个模块:1)Perl API,该模块主要是可以对vcf文件进行多种操作,包括合并,比较,取交并集,及简单的统计  2)第二个模块包含C++可执行程序,用来分析vcf文件中的SNP数据,可以用来估计等位基因频率,连锁不平衡,质量控制等分析。

1)下载https://github.com/vcftools/vcftools2)tar zxvf  vcftools-vcftools-v0.1.16-0-g93ec375.tar.gz3)./configure --help4)./configure5)make6)make install

下面会给出三个简单的例子:

1)比较两个文件共享变异位点
 vcftools --vcf input_data.vcf --diff other_data.vcf --out compare
2)计算等位基因频率
vcftools --vcf cohort.intersect.vcf --freq --out output
3)统计测序深度
vcftools --vcf input_data.vcf --depth  -c >output

4)参考资源

The Variant Call Format Specification,VCFv4.3 and BCFv2.2
The variant call format and VCFtools
https://en.wikipedia.org/wiki/Variant_Call_Format
http://www.cnblogs.com/emanlee/p/4562064.html
https://gatkforums.broadinstitute.org/gatk/discussion/1268/how-should-i-interpret-vcf-files-produced-by-the-gatk

vcf格式简介的更多相关文章

  1. vcf格式

    Variant Call Format(VCF)是一个用于存储基因序列突变信息的文本格式.表示单碱基突变, 插入/缺失, 拷贝数变异和结构变异等.BCF格式文件是VCF格式的二进制文件. CHROM ...

  2. Android Contact 导入导出 vcf格式(不依赖第三方库)

    Android sdk 支持vcf处理的(忘记最低哪个版本开始支持的了,可以查一查) 备注:此代码来自Stack Overflow(原地址找不到了,o(╥﹏╥)o) 1. 导出联系人为vcf格式 Co ...

  3. JSON数据表示格式简介(JavaScript对象表示法)

    [1] JSON简介    > JSON全称 JavaScript Object Notation    > 类似于JS中对象的创建的方法    > JSON和XML一样,都是一种表 ...

  4. vcf格式文件转化为Excel(csv)格式文件(R语言的write.csv,write.table功能,Excel表的文件导入功能)

    最近在整理文件,准备把vcf文件转化为Excel格式,或者CSV格式,网上搜了一堆资料,还真有人专门开发出转化格式的工具:叫vcf2csv(下载地址http://vcf2csv.sourceforge ...

  5. 33、VCF格式

    转载:http://blog.sina.com.cn/s/blog_7110867f0101njf5.html http://www.cnblogs.com/liuhui0622/p/6246111. ...

  6. IFC格式简介

    IFC是一个数据交换标准, 用于不同系统交换和共享数据.当需要多个软件协同完成任务时, 不同系统之间就会出现数据交换和共享的需求.这时, 工程人员都希望能将工作成果(这里就是工程数据), 从一个软件完 ...

  7. JSON格式简介

    一.JSON:JavaScript Object Notation的简写,是一种轻量级数据交换格式. 二.数据类型:标量.序列(数组).映射(key-value) 三.JSON的四个原则 1 .并列数 ...

  8. RIFF格式简介

    Resource Interchange File Format(简称RIFF),资源交换文件格式,是一种按照标记区块存储数据(tagged chunks)的通用文件存储格式,多用于存储音频.视频等多 ...

  9. LibSVM格式简介

    对于训练或预测,XGBoost采用如下格式的实例文件: train.txt 1 101:1.2 102:0.03 0 1:2.1 10001:300 10002:400 0 0:1.3 1:0.3 1 ...

随机推荐

  1. Mysql 性能优化1 硬件设备的选择

    --------------------------------------------目录------------------------------------------------- • 我们 ...

  2. android 关于 webview 控制其它view的显示 以及更改view数据失败的问题总结

    总结: 1.webview 无法直接更改view的属性,可以通过 handler实现,因为跨线程 2.webview可以通过js api读取 view的属性值 代码: private Handler ...

  3. 学习笔记之Cloud computing

    Cloud computing - Wikipedia https://en.wikipedia.org/wiki/Cloud_computing

  4. VBA 自动得到分数

    ' 将一个正数除以 y 返回一个整数或分数 Function RFs(ByVal x As Integer) As String Then RFs = Exit Function End If Dim ...

  5. java中使HttpDelete可以发送body信息

    java中使HttpDelete可以发送body信息RESTful api中用到了DELETE方法,android开发的同事遇到了问题,使用HttpDelete执行DELETE操作的时候,不能携带bo ...

  6. shell 3数组

    shell数组 shell支持一维数组(不支持多维数组),并且没有限定数组的大小. 定义数组 shell中,用括号来表示数组,数组元素用空格分隔,下标从0开始,元素的类型 方式1 数组名=(值1 值2 ...

  7. IntelliJ IDEA神器使用技巧笔记

    1. Alt + 数字 打开idea 快捷键打开相应的窗口: 高效定位代码: 无处不在的跳转 1.项目间的跳转: Windows ->   ctrl+alt+[   /  ] 2.文件之间的跳转 ...

  8. CentOS 6.6下Cacti安装部署

    Cacti简介 本章结构 常见平台 常见的服务器监控软件 cacti,流量与性能监测为主----http://www.cacti.net/ nagios,服务与性能监测为主---http://www. ...

  9. jar包双击执行引用外部包问题

    大家都知道一个java应用项目可以打包成一个jar,当然你必须指定一个拥有main函数的main class作为你这个jar包的程序入口. 具体的方法是修改jar包内目录META-INF下的MANIF ...

  10. (10/24) 图片跳坑大战--处理html中的图片

    补充,在前面的服务启动执行命令中,我们在package.json中的配置信息为: "scripts": { "server": "webpack-de ...