生信地基系列--tabix
2022-10-30 本文已影响0人
可能性之兽
高通量测序产生的存放大量数据的文件往往十分庞大,即使是压缩文件,也有几十G到几百G,这样的文件获取其中某一区间信息的时候使用常用的Linux命令,例如grep awk等将非常耗时,这个时候,我们可以使用一些工具来创建索引并加快这个过程。
对于那些排序好的包含染色体号及位置信息的文件,常见的VCF文件/Bam文件/GFF文件/Bed文件等,我们可以使用一些特殊工具例如samtools index/bcftools index等去创建索引,如下所示
>为排序好且使用bgzip压缩的vcf文件建立索引
bcftools index -t foo.vcf.gz
>为bam文件创建索引
samtools index -t foo.bam
这些命令事实上就是调用了tabix进行的索引创建,针对那些更加一般的包含染色体号和位置信息的文件,我们就可以使用tabix去建立索引了。
Tabix博德研究所开发的一个通用工具,它可以索引TAB分隔格式的位置排序文件,如GFF、BED、PSL、SAM和SQL导出,并快速检索与指定区域重叠的特征。Tabix的特点包括每次查询只调用很少的检索函数、兼容gzip的数据压缩和直接访问FTP/HTTP。Tabix是作为一个免费的命令行工具以及C、Java、Perl和Python中的一个库实现的。它对在命令行上手动检查本地基因组特征特别有用,并使基因组查看器能够支持巨大的数据文件和通过网络的远程自定义轨迹。
mamba install -c bioconda tabix
#文件示例
$zcat tabix_test.gz|head
1 13273 G C
1 13289 C T
1 13372 G C
1 13418 G A
1 14610 T C
1 14653 C T
1 14673 G C
1 14677 G A
1 14699 C G
1 14717 G A
建立索引
tabix -f -s 1 -b 2 -e 2 -c Chrom tabix_test.gz
#-s 为染色体号的列,从1开始计算
#-b 为具体位置的开始列
#-e 为具体位置的结束列,这里开始于结束时同一列
# -c 为忽略以某个标识开头的行
# -f 覆盖已经有的索引
tabix tabix_test.gz 22:16157449-16157603
22 16157449 T C
22 16157496 A G
22 16157603 G C
image.png
————————————————
Tabix: fast retrieval of sequence features from generic TAB-delimited files - PMC (nih.gov)