使用perl语言计算fasta序列长度
2020-05-08 本文已影响0人
群体遗传学
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文件添加可执行权限,我们就可以直接运行以下命令:
计算油菜基因组染色体长度