#!perl
use warnings;
use strict;
use List::Util qw(max);
my (%hash);
open RSA, $ARGV[0] or die $!;
open SS, "> $ARGV[1].ss" or die $!;
while(<RSA>)
{
chomp;
next if(/^#/);
my @tmp = split;
my $maxv = max @tmp[7..9];
my $type;
for(my $i = 7; $i < 10; $i ++)
{
if($maxv == $tmp[$i])
{
if($i == 7)
{
$type = "H";
}elsif($i == 8){
$type = "E";
}elsif($i == 9){
$type = "C";
}
}
}
push @{$hash{$tmp[2]}}, $type;
print SS "$tmp[2]\t$tmp[1]\t$type\t$tmp[0]\n";
}
open DM, "> $ARGV[1].domains" or die $!;
foreach(keys %hash)
{
my $len = @{$hash{$_}};
print DM "$_\t$len";
my (@h, @e);
for(my $i = 0; $i < @{$hash{$_}}; $i ++)
{
if($hash{$_}[$i] eq "H")
{
push @h, $i + 1;
}elsif($hash{$_}[$i] eq "E"){
push
iTOL与netsurfp前期处理程序
最新推荐文章于 2024-05-06 11:36:40 发布