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


Attachment: 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>

Reply via email to