VCF文件详细解释及操作方法

VCF文件详细解释及操作方法

vcf文件格式

  • 主要由两部分构成,分别是以#开头的注释信息及其余的正文信息

头文件:以#为开头

主体部分

chr1    137729  6       N       <DUP>   .       .       SVTYPE=DUP;STRANDS=-+:24;SVLEN=7738679;END=7876408;CIPOS=-137729,3977202;CIEND=-7,214089653;CIPOS95=0,3909085;CIEND95=-2,180520104;IMPRECISE;SU=24;PE=24;SR=0   GT:SU:PE:SR     ./.:24:24:0
chr1    829170  1       N       <DEL>   .       .       SVTYPE=DEL;STRANDS=+-:4;SVLEN=-35;END=829205;CIPOS=-9,8;CIEND=-9,8;CIPOS95=0,0;CIEND95=0,0;SU=4;PE=0;SR=4       GT:SU:PE:SR     ./.:4:0:4
chr1    1341872 2       N       <INV>   .       .       SVTYPE=INV;STRANDS=++:1,--:3;SVLEN=58711;END=1400583;CIPOS=-10,71;CIEND=0,3631;CIPOS95=0,69;CIEND95=0,3451;IMPRECISE;SU=4;PE=4;SR=0     GT:SU:PE:SR     ./.:4:4:0

**第1列:**CHROM-变异发生的染色体名称。

**第2列:**POS-变异发生的染色体上的位置。

**第3列:**ID-variant的ID,对应dbSNP数据库中的ID,若没有,则默认使用‘.’

**第4列:**REF-参考基因组上的碱基。

第5列:ALT:变异碱基或碱基序列。

第6列:QUAL-变异的质量值,表示变异的可信度。

**第7列:**FILTER 变异的过滤状态,表示是否通过了质量控制。如果是PASS,则表示此位点可以考虑为variant。

**第8列:**INFO 变异的附加信息,如变异类型、深度、基因功能等。

**第9列:**FORMAT 描述样本基因型的格式。

**第10列:**Sample1, Sample2, … 每个样本的基因型信息。

染色体染色体位置dbSNP_ID参考基因组碱基变异碱基/碱基序列变异质量值过滤状态附加信息基因型格式样本基因型信息
chr11377296N..SVTYPE=DUP;STRANDS=-+:24;SVLEN=7738679;END=7876408;CIPOS=-137729,3977202;CIEND=-7,214089653;CIPOS95=0,3909085;CIEND95=-2,180520104;IMPRECISE;SU=24;PE=24;SR=0GT:SU:PE:SR./.:24:24:0

bcftools

官方说明文档:BCFtools HowTo — (samtools.github.io)

bcftools isec -n=3 A.vcf.gz B.vcf.gz C.vcf.gz

[解决tabix建索引报错E::hts_idx_push] Unsorted positions on sequence # - 简书 (jianshu.com)

In general, whenever multiple VCFs are read simultaneously, they must be indexed and therefore also compressed.

bcftools在操作多个vcf文件的时候需要建立索引,因此一开始就建立好索引比较好.

vcf文件构建索引

tabix A.vcf.gz

–preset STR -p

  • 索引的输入格式,有效值为:gff、bed、sam、vcf。

tabix使用需要排序

(grep "^#" in.gff; grep -v "^#" in.gff | sort -t"`printf '\t'`" -k1,1 -k4,4n) | bgzip > sorted.gff.gz;
tabix -p gff sorted.gff.gz;
tabix sorted.gff.gz chr1:10,000,000-20,000,000;
cat vcf.gz | grep '^#' > head
zcat vcf.gz | grep -v '^#' | sort -k1,1d -k2,2n  > body
cat head body | bgzip -c > sorted.vf.gz
tabix sorted.vf.gz

比较多个vcf文件一致性

bcftools isec [OPTIONS] A.vcf.gz B.vcf.gz […]

http://samtools.github.io/bcftools/bcftools.html#isec

-p, --prefix DIR 输入到指定的文件夹

 bcftools isec -p dir A.vcf.gz B.vcf.gz

-c, --collapse snps|indels|both|all|some|none 控制比较的方式

-n, --nfiles [±=]INT|~BITMAP 控制比较文件的数量

  • +n表示在n及n以上的文件数量都出现;

  • -n表示在n及n以下的文件数量中共有;

  • ~表示按照文件匹配, 0表示不存在,1表示存在.

 bcftools isec -n~1100 -c all A.vcf.gz B.vcf.gz C.vcf.gz D.vcf.gz

输出A 和 B 中存在但 C 和 D 中不存在的记录列表

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值