use strict; use warnings; use Acme::Tools; my (%count, %organisms, %med, %number); my $ref_filelist = $ARGV[0]; my ($contig, $accession, $organism, $eval, $con_length, $map_length); open(FILELIST, $ref_filelist ) or die "Could not open Reference filelist...($!)"; print "Organism\tFrequency\tMedian_Eval\tMedian_Contig_Length\tMedian_Mapped_Length\n"; while (){ ( $contig, $accession, $organism, $eval, $con_length, $map_length ) = split ( '\t',); #my $median = $eval[($#eval / 2)]; my $med = median(@{$organisms{$organism}}); $med{$organism} = $med; #$organisms{$organism} = $eval; my $number = ++$count{$organism}; $number{$organism} = $number; } foreach $organism (sort {$number{$a} <=> $number{$b}} keys %organisms){ print "$organism:\t$number{$organism}\t$organisms{$organism}\t$med{$organism}\n" ; }