统计基因长度的方法
fasta格式是一种基于文本用于表示核酸序列或多肽序列的格式。其中核酸或氨基酸均以单个字母来表示,且允许在序列前添加序列名及注释。该格式已成为生物信息学领域的一项标准。
fasta格式文件的第一行是由大于号“>”(较常用)或分号“;”打头的任意文字说明,用于序列标记。从第二行开始为序列本身,只允许使用既定的核苷酸或氨基酸编码符号(参见支持代码类型)。通常核苷酸符号大小写均可,而氨基酸常用大写字母。使用时应注意有些程序对大小写有明确要求。一般每行60~80个字母。
大家在平时工作学习的时候,经常要统计每一条序列的长度,一个基因或者是一条染色体常常可以表示成fasta的形式,今天就向大家介绍几种获取fasta序列长度的方法。
一、使用awk命令获取fasta序列的长度:
awk '/^>/{if (l!="") print l; print; l=0; next}{l+=length($0)}END{print l}' test.fasta
二、使用bioawk获取fasta序列的长度:
###使用conda安装bioawk
conda install bioawk
###bioawk 统计长度
bioawk -c fastx '{ print $name, length($seq) }' < test.fasta
三、使用seqkit获取fasta序列的长度:
conda install seqkit
seqkit fx2tab --length --name --header-line test.fasta
四、使用samtools获取fasta序列的长度
使用samtools faidx test.fasta 生成fai文件,可以看出前两列就是fasta序列的名字和长度,
###提取前两列:cut -f1-2 test.fasta.fai
当然,以上方法不仅可以用来计算基因的长度,还可以用来计算染色体的长度,感兴趣的小伙伴不妨试试哦。
共有 0 条评论