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. Eclipse-Java EE

    1.1 下载JDK 在Java官方网站下载最新版本的 Java SE:  http://www.oracle.com/technetwork/java/javase/downloads/index.h ...

  2. linux 守护进程(daemon process)代码-详细注释

    1. 进程组 组长不能创建新的 会话. 其它进程可以创建新的会话,创建后既成为会话首领,同时失去控制终端. 2. 会话首领可以重新打开控制终端 1 #include <stdio.h> 2 ...

  3. javascript 全选 反选 js代码

    <script type="text/javascript"> //全选function checkAll() { var objs = window.document ...

  4. SpringCloud使用jpa之Rest方式

    这个与上一篇的基本相同,需要修改的只有Dao层的文件: TablesDao.java package com.shinho.dao; import org.springframework.data.j ...

  5. bzoj4271: chemistry 化学

    给定点数n<=500,无标号,度<=4,无根树计数 预处理 无标号,孩子数<=3的有根树个数g 无标号,含k棵树,孩子数<=3的有根树森林个数s[k] 考虑大小为n的无根树的重 ...

  6. 敏感词文本文件 filtered_words.txt,里面的内容为以下内容,当用户输入敏感词语时,则打印出 Freedom,否则打印出 Human Rights

    敏感词文件内容: 代码: def filtered_words(path='filtered_words.txt'): words = [] with open(path, 'r', encoding ...

  7. 建造者模式及C++实现

    下面是我自己对建造者模式的理解.具体我还没在开发中应用过,这只是对于书本的理解. 建造者模式 建造者模式:将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示.这是建造者模式的标准 ...

  8. 2018-2019 20165226 Exp6 信息搜集与漏洞扫描

    2018-2019 20165226 Exp6 信息搜集与漏洞扫描 目录 一.实验内容说明及基础问题回答 二.实验过程 Task1 各种搜索技巧的应用 检测特定类型的文件 搜索网址目录结构 trace ...

  9. 云-AWS-清单:清单列表

    ylbtech-云-AWS-清单:清单列表 1.返回顶部   2.返回顶部   3.返回顶部   4.返回顶部   5.返回顶部     6.返回顶部   作者:ylbtech出处:http://yl ...

  10. 【HTTP】Fiddler 抓包工具

    [HTTP]Fiddler(一) - Fiddler简介 [HTTP]Fiddler(二) - 使用Fiddler做抓包分析 [HTTP]Fiddler(三)- Fiddler命令行和HTTP断点调试