samtools建立fasta索引

本文摘抄自:https://www.omicsclass.com/article/42
侵刪!
fasta是常用的序列存儲格式,很多軟件(如GATK、IGV等)在導入序列以及進行快速查找時通常需要建立索引文件。下面就來介紹如何使用 samtools 便捷的建立fasta文件的索引以及快速進行序列提取。

1 建立索引

建立索引只需在Linux下輸入命令:samtools faidx input.fa

這里序列文件為 input.fa,生成的索引文件以 .fai 結尾。需要注意的是,輸入的fasta文件的每條序列除最后一行外,其余行的長度必須相同,否則會報錯哦!最后生成的.fai文件如下, 共5列,以制表符分隔;

第一列 NAME : 序列的名稱,只保留“>”后,第一個空白之前的內(nèi)容;

第二列 LENGTH : 序列的長度,單位為bp;

第三列 OFFSET : 第一個堿基的偏移量,從0開始計數(shù),換行符也統(tǒng)計進行;

第四列 LINEBASES : 除了最后一行外, 其他代表序列的行的堿基數(shù), 單位為bp;

第五列 LINEWIDTH : 行寬, 除了最后一行外, 其他代表序列的行的長度,包括換行符,在windows系統(tǒng)中換行符為\r\n,要在序列長度的基礎上加2。

2 提取序列

除建立索引外,還可以利用samtools方便的提取序列,例如:

samtools faidx input.fa chr2 > chr2.fa,會得到含chr2這條序列的fasta格式的文件,如果是多條序列,只需在文件后羅列需提取的序列ID即可,使用空格分隔,如 samtools faidx input.fa chr1 chr2 chr3 > chr.fa。

再如:samtools faidx input.fa chr2:1-1000 > chr2.fa,能得到chr2序列的第1到第1000個堿基的fasta格式的文件,同樣可以提取多條序列。

samtools 安裝

  1. 下載,地址如下:http://www.htslib.org/doc/samtools.html

  2. 安裝,使用命令tar -jxvf samtools-1.6.tar.bz2解壓下載的壓縮包,最后使用make命令就可以了。

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容