使用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文件添加可执行权限,我们就可以直接运行以下命令:
计算油菜基因组染色体长度

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值