fasta格式是一種基于文本用于表示核酸序列或多肽序列的格式。其中核酸或氨基酸均以單個字母來表示,且允許在序列前添加序列名及注釋。該格式已成為生物信息學(xué)領(lǐng)域的一項標(biāo)準。
fasta格式文件的第一行是由大于號“>”(較常用)或分號“;”打頭的任意文字說明,用于序列標(biāo)記。從第二行開始為序列本身,只允許使用既定的核苷酸或氨基酸編碼符號(參見支持代碼類型)。通常核苷酸符號大小寫均可,而氨基酸常用大寫字母。使用時應(yīng)注意有些程序?qū)Υ笮懹忻鞔_要求。一般每行60~80個字母。
大家在平時工作學(xué)習(xí)的時候,經(jīng)常要統(tǒng)計每一條序列的長度,一個基因或者是一條染色體常??梢员硎境蒮asta的形式,今天就向大家介紹幾種獲取fasta序列長度的方法。
一、使用awk命令獲取fasta序列的長度:
awk '/^>/{if (l!="") print l; print; l=0; next}{l+=length($0)}END{print l}' test.fasta

結(jié)果1
二、使用bioawk獲取fasta序列的長度:
###使用conda安裝bioawk
conda install bioawk
###bioawk 統(tǒng)計長度
bioawk -c fastx '{ print $name, length($seq) }' < test.fasta

結(jié)果2
三、使用seqkit獲取fasta序列的長度:
conda install seqkit
seqkit fx2tab --length --name --header-line test.fasta

結(jié)果3
四、使用samtools獲取fasta序列的長度
使用samtools faidx test.fasta 生成fai文件,可以看出前兩列就是fasta序列的名字和長度,
###提取前兩列:cut -f1-2 test.fasta.fai

結(jié)果四
當(dāng)然,以上方法不僅可以用來計算基因的長度,還可以用來計算染色體的長度,感興趣的小伙伴不妨試試哦。