bcftools最常用的子命令是index,index子命令主要用于对vcf文件进行查看,过滤和取子集。
bcftools view snp.merged.vcf.gz -s C001 -t ^1 -r2,3 -Oz -o snp.chr2_3.vcf.gz
这里来解释一下这些常用参数,-s为取子集用的,这里提取了snp.merged.vcf.gz文件中的样本C001的基因型注释,我们也可以使用-S来读取文件中的样本名称,如下例子
$cat samples
C001
C002
C004
bcftools view -S samples snp.merged.vcf.gz -Oz -o subset.vcf
第二个参数-t/--target和第三个参数-r/--region均是用来提取某个染色体区域的位点的,区别存在如下两点
- -t参数可以使用^脱字符来取反,这里-t^1为提取除去1号染色体以外的区段的位点
- -t参数在检查indel是否在某个区域时,仅查看开头是否在,而-r参数会检查起始和结束的位置
而我们也可以使用-T和-R来读取文件中的区域信息,这里有一点需要注意的是-R的文件,如果是bed文件,那么程序将视为0-base的,否则视为1-base的文件,文件内容为CHROM POS TOPOS三列内容
输出最常用的参数是-O,它决定了输出文件的类型,一共有4种不同的文件可以做选择,分别是b(compressed bcf),
u(uncompressed bcf),z(compressed vcf)以及v(uncompressed vcf)。而-o则是输出文件的名称