为什么要 对fasta文件建立index
发布网友
发布时间:2022-04-23 23:51
我来回答
共1个回答
热心网友
时间:2022-04-09 08:13
fasta是常用的序列存储格式,软件对序列进行快速查找的时候通常需要建立索引文件,例如在GATK、IGV等软件中导入序列的时候都需要建立索引。fasta格式文件的一种索引为fai结尾的文件,可以使用samtools faidx命令创建,具体用法如下:
用法:
samtools faidx input.fa
该命令对输入的fasta序列有一定要求:对于每条序列,除了最后一行外, 其他行的长度必须相同,
>one
ATGCATGCATGCATGCATGCATGCATGCAT
GCATGCATGCATGCATGCATGCATGCATGC
ATGCAT
>two another chromosome
ATGCATGCATGCAT
GCATGCATGCATGC
最后生成的.fai文件如下, 共5列,\t分隔;
one 66 5 30 31
two 28 98 14 15
第一列 NAME : 序列的名称,只保留“>”后,第一个空白之前的内容;
第二列 LENGTH: 序列的长度, 单位为bp;
第三列 OFFSET : 第一个碱基的偏移量, 从0开始计数,换行符也统计进行;
第四列 LINEBASES : 除了最后一行外, 其他代表序列的行的碱基数, 单位为bp;
第五列 LINEWIDTH : 行宽, 除了最后一行外, 其他代表序列的行的长度, 包括换行符, 在windows系统中换行符为\r\n, 要在序列长度的基础上加2;
提取序列:
samtools faidx input.fa chr1 > chr1.fa
samtools faidx input.fa chr1:100-200 > chr1.fa