N50 N90 calculation using Perl code

0(0명)
문서 역사

#/usr/bin/perl -w

use strict;

my ($len,$total)=(0,0);

my @x;

while(<>){

if(/^\>\@/){

if(len>0)

total+=$len;

push @x,$len;

}

len=0;

else

s///g;

len+=length();

if (len>0){

$total+=$len;

push @x,len;

@x=sortb<=>a @x;

my (count,$half)=(0,0);

for (my $j=0;$j<@x;$j++){

$count+=$xj;

if (($count>=$total/2)&&(half==0))

print "N50:xj\n";

$half=$xj

}elsif ($count>=$total*0.9){

print "N90: $x$j\n";

exit;

}

}