使用perl语言计算fasta序列长度

Fasta序列长度的计算的原理就是将不同染色体长度存入哈希,最后用length去计算哈希元素(字符串)的长度。

  • perl脚本如下:
#!/usr/bin/env perl
use strict;

my($name, %seq );
open IN, $ARGV[0];
die "Need the input fasta." if( ! defined $ARGV[0] );
while(<IN>){
        chomp;
        if( /^>(\S+)/ ){            #匹配染色体的名字
                $name = $1;
        }
        else{
                $seq{$name} .= $_;
        }
}
close IN;

print "[ INFO ] Length Infomation:\n\n";
foreach$name(sort{$a cmp $b} keys %seq ){
        print "Name: ".$name."\tLength: ".length($seq{$name})."\n";
}
print "\n";
  • 将上述代码写入length文件,并chmod a+x给length文件命令,给length文件添加可执行权限,我们就可以直接运行以下命令:
    计算油菜基因组染色体长度
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容