bcftools学习笔记(一)

作者: 生信修炼手册 | 来源:发表于2018-07-26 16:12 被阅读4112次

    欢迎关注"生信修炼手册"!

    本篇主要介绍index, view, query, sort, reheader这五个命令。

    1. index

    index命令用于对VCF文件建立索引,要求输入的VCF文件必须是使用bgzip压缩之后的文件,支持.csi.tbi两种索引,默认情况下建立的索引是.csi格式, 用法如下

    bgzip view.vcf
    bcftools index view.vcf.gz

    运行成功后,会生成索引文件view.vcf.gz.csi。如果需要建立.tbi格式的索引,用法如下

    bcftools index -t view.vcf.gz

    tbi索引文件为view.vcf.gz.tbi

    2.  view

    view命令可以用于VCF和BCF格式的转换,用法如下

    bcftools view view.vcf.gz -O u -o view.bcf

    -O参数指定输出文件的类型,b代表压缩后的BCF文件,u代表未经压缩的BCF文件,z代表压缩后的VCF文件,v代表未经压缩的VCF文件;-o参数指定输出文件的名字。

    还可以根据样本筛选VCF文件,用法如下

    bcftools view view.vcf.gz -s NA00001,NA00002  -o subset.vcf

    -s参数指定想要保留的样本信息,多个样本用逗号分隔。

    如果样本名称添加了^前缀,代表去除这些样本,比如-s ^NA00001,NA00002,这个写法表示从VCF文件中去除NA00001,NA00002这两个样本的信息。

    还可以过滤突变位点,过滤的条件非常多,可以根据突变位点的类型,基因型类型等等条件进行过滤,详细的参数可以参考软件的帮助文档,这里只做一个基本示例

    bcftools view view.vcf.gz -k -o known.vcf

    -k参数表示筛选已知的突变位点,即ID那一列值不是.的突变位点。

    3. query

    query命令也是用于格式转换,和view命令不同,query通过表达式来指定输出格式,可定制化程度更高。用法如下

    bcftools query -f '%CHROM\t%POS\t%REF\t%ALT[\t%SAMPLE=%GT]\n' view.vcf.gz

    -f参数通过一个表达式来指定输出格式,其中变量的写法如下

    1. %CHROM
      代表VCF文件中染色体那一列,其他的列,比如POS, ID, REF, ALT, QUAL, FILTER也是类似的写法

    2. []
      对于FORMAT字段的信息,必须要中括号括起来

    3. %SAMPLE
      代表样本名称

    4. %GT
      代表FORMAT字段中genotype的信息

    5. \t
      代表制表符分隔

    6. \n
      代表新的一行

    输出文件如下

    11 2343543 A . NA00001=0/0 NA00002=0/0 NA00003=0/0
    11 5464562 C T NA00001=./. NA00002=./. NA00003=./.
    20 76962 T C NA00001=0/1 NA00002=1/1 NA00003=1/1

    更多变量的写法请参考官方文档。

    4. sort

    sort 命令用于对VCF文件排序, 按照染色体位置进行排序,用法如下

    bcftools sort view.vcf.gz -o sort.view.vcf

    5. reheader

    reheader命令有两个用途,第一用途用于编辑VCF文件的头部,第二个用途用于替换VCF文件中的样本名。

    替换样本的用法如下

    bcftools reheader -s sample.file view.vcf -o new.sample.vcf

    -s参数指定需要替换的样本名,内容如下

    NA00001 NA1
    NA00002 NA2
    NA00003 NA3

    第一列代表VCF文件中原始的样本名称,第二列代表替换后的样本名称,两类之间用空格分隔,需要注意的是,样本名不允许有空格。

    编辑VCF文件的头部的用法如下

    bcftools reheader -h header.file  view.vcf -o new.header.vcf

    -h参数指定新的header文件,内容如下

    ##fileformat=VCFv4.3
    ##reference=file:///seq/references/1000Genomes-NCBI37.fasta
    ##contig=<ID=11,length=135006516>
    ##contig=<ID=20,length=63025520>
    ....

    扫描关注微信号,更多精彩内容等着你!

    相关文章

      网友评论

        本文标题:bcftools学习笔记(一)

        本文链接:https://www.haomeiwen.com/subject/msvbmftx.html