前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >bcftools学习笔记(二)

bcftools学习笔记(二)

作者头像
生信修炼手册
发布2020-05-11 14:17:18
4K2
发布2020-05-11 14:17:18
举报

本篇主要介绍annotate, concat, merge, isec, stats这五个命令。

1. annotate

annotate命令有两个用途,第一个是用于注释VCF文件,用法如下

bcftools annotate -a db.vcf -c ID,QUAL,+TAG view.vcf -o annotate.vcf

-a参数指定注释用的数据库文件,格式可以是VCF, BED, 或者是\t分隔的自定义文件。在\t分隔的自定义文件中,必须包含CHROM, POS字段;-c参数指定将数据库的哪些信息添加到输出文件中。

第二个用途是编辑VCF文件,比如去除其中的某些注释信息,或者去除某些样本,用法如下

bcftools annotate -x ID,INFO/DP,FORMAT/DP  view.vcf -o remove.id.vcf

-x参数表示去除VCF文件中的注释信息,可以是其中的某一列,比如ID, 也可以是某些字段,比如INFO/DP,多个字段的信息用逗号分隔;去除之后,这些信息所在的列并不会去除,而是用.填充。

2. concat

concat命令可以将多个VCF文件合并为一个VCF文件,要求输入的VCF文件必须是排序之后的,如果包含多个样本的信息,样本的顺序也必须一致。经典的应用场景包括合并不同染色体上的VCF文件,合并SNP和INDEL 两种类型的VCF文件,用法如下

bcftools concat merge.2.a.vcf.gz merge.3.a.vcf.gz -o -o merge.vcf

还需要注意一点,输入的VCF文件必须是经过bgzip压缩的文件。

3. merge

merge命令也是用于合并VCF文件,主要用于将单个样本的VCF文件合并成一个多个样本的VCF文件。用法如下

bcftools merge merge.a.vcf.gz merge.b.vcf.gz -o merge.vcf

该命令要求输入文件必须是经过bgzip压缩的文件, 而且还需要有.tbi的索引。

4. isec

isec用于在多个VCF文件之间取交集,差集,并集等操作,经典的应用场景是对多种软件的SNP calling 结果进行venn 分析。用法如下

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

默认参数就是取交集,更多高级用法请参考帮助文档。

5. stats

stats命令用于统计VCF文件的基本信息,比如突变位点的总数,不同类型突变位点的个数等。用法如下

bcftools stats view.vcf >  view.stats

输出文件中记录了很多类型的统计数据,重点介绍以下几种

基本信息:

SN 0 number of samples: 3
SN 0 number of records: 15
SN 0 number of no-ALTs: 1
SN 0 number of SNPs: 11
SN 0 number of MNPs: 0
SN 0 number of indels: 3
SN 0 number of others: 0
SN 0 number of multiallelic sites: 1
SN 0 number of multiallelic SNP sites: 0

颠换和转换的比例:

# TSTV, transitions/transversions:
# TSTV  [2]id  [3]ts  [4]tv  [5]ts/tv  [6]ts (1st ALT) [7]tv (1st ALT) [8]ts/tv (1st ALT)
TSTV  0  8  3  2.67  8  3  2.67

Indel 长度分布:

# IDD, InDel distribution:
# IDD [2]id [3]length (deletions negative) [4]count
IDD 0 -2 1
IDD 0 1 2
IDD 0 3 1

碱基替换类型:

# ST, Substitution types:
# ST [2]id [3]type [4]count
ST 0 A>C 0
ST 0 A>G 0
ST 0 A>T 0
ST 0 C>A 1
ST 0 C>G 0
ST 0 C>T 4
ST 0 G>A 1
ST 0 G>C 1
ST 0 G>T 1
ST 0 T>A 0
ST 0 T>C 3
ST 0 T>G 0

输出文件可以用于plot-vcfstats命令,进行可视化, 这个脚本位于bcftools安装目录的misc目录下。用法如下

plot-vcfstats view.stats -p output

-p参数指定输出结果的目录,这个脚本依赖latex 生成pdf 文件,所以系统上的latext 一定要安装好。

输出目录下文件很多,详细列表如下

├── counts_by_af.indels.dat
├── counts_by_af.snps.dat
├── depth.0.dat
├── depth.0.pdf
├── depth.0.png
├── indels.0.dat
├── indels.0.pdf
├── indels.0.png
├── plot.py
├── plot-vcfstats.log
├── substitutions.0.pdf
├── substitutions.0.png
├── summary.aux
├── summary.log
├── summary.pdf
├── summary.tex
├── tstv_by_af.0.dat
└── tstv_by_qual.0.dat

主要看summary.pdf文件就可以了,该文件包含了很多信息

1.不同类型的突变位点汇总

2.插入缺失长度分布图

3.测序深度分布

4.碱基转换类型分布

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-07-03,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 生信修炼手册 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. annotate
  • 2. concat
  • 3. merge
  • 4. isec
  • 5. stats
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档