Thanks so much for your reply Gunnar. However there is a bit complication. I just realize that hash table can only return the values of "unique" key.
Please try to execute the code below along with the attached file, and the target answer below for clarity, (the current code return the deviated answer).
____BEGIN___________ do 'ic.pl';
my %HoA = ( 'A' => [ 'AGCGGGGAG', 'AGCGGGGCG', 'AGCCGGGCG', 'AGCCAGGAG', ], 'B' => [ 'CGTGCCTCC', 'CGTCCCGCC', 'CGTGCCTCC', 'CGTCCCTCC',], 'C' => [ 'GCAGCTGGG', 'GCAGCTGGA', 'GGAGCTGGG', 'GGAGCTGAA',], 'D' => [ 'GAAGCTGAG', 'GGAGCTGGG', 'GGAGCTGAA'], 'E' => [ 'GCCCCGCAG', 'GCCCCCCAC', 'GTCCCCCAG'], 'F' => [ 'GGAAGCTGA', 'GGGAGCTGG', 'GGGAGCTGA'], ); foreach my $mykey ( sort keys %HoA ) {
$ic_value = compute_ic(@{$HoA{$mykey}}); # Not sure how to incorporate the $ic_value as another # hash field for later sorting purpose.
#print "$mykey: ", join( ",", @{$HoA{$mykey}} ), " ", $ic_value,"\n"; }
print "Sorted by Values\n"; for ( sort { $a <=> $b } keys %HoA ) { print "$_: @{ $HoA{$_} }", " ",compute_ic(@{ $HoA{$_} }),"\n"; }
print "\n";
print "Sorted by number of elements\n"; for ( sort { @{ $HoA{$a} } <=> @{ $HoA{$b} } } keys %HoA ) { print "$_: @{ $HoA{$_} }", " ",compute_ic(@{ $HoA{$_} }),"\n"; }
____END___________
___TARGET ANSWER_____
Sorted by Values A: AGCGGGGAG AGCGGGGCG AGCCGGGCG AGCCAGGAG 15.1887218755409 C: GCAGCTGGG GCAGCTGGA GGAGCTGGG GGAGCTGAA 15.1887218755409 D: GAAGCTGAG GGAGCTGGG GGAGCTGAA 15.2451124978365 E: GCCCCGCAG GCCCCCCAC GTCCCCCAG 15.2451124978365 F: GGAAGCTGA GGGAGCTGG GGGAGCTGA 16.163408331891 B: CGTGCCTCC CGTCCCGCC CGTGCCTCC CGTCCCTCC 16.1887218755409
Sorted by number of elements D: GAAGCTGAG GGAGCTGGG GGAGCTGAA 15.2451124978365 E: GCCCCGCAG GCCCCCCAC GTCCCCCAG 15.2451124978365 F: GGAAGCTGA GGGAGCTGG GGGAGCTGA 16.163408331891 A: AGCGGGGAG AGCGGGGCG AGCCGGGCG AGCCAGGAG 15.1887218755409 C: GCAGCTGGG GCAGCTGGA GGAGCTGGG GGAGCTGAA 15.1887218755409 B: CGTGCCTCC CGTCCCGCC CGTGCCTCC CGTCCCTCC 16.1887218755409 ___________________
I honestly don't want to sound like a guy who treats this forum as a help desk. But I really don't have a clue how to proceed.
Thanks so much again for your time.
Regards, Edward WIJAYA SINGAPORE
ic.pl
Description: Binary data-- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>