[Bioperl-l] Fwd: SimpleAlign bug?

Michael Kiwala mkiwala at watson.wustl.edu
Wed Apr 11 11:51:35 EDT 2007

Kevin Brown wrote:
>> What is going on here? Can anyone remember doing this?
>> 	-Heikki 
>> Please can I ask what is the purpose of the line @pos = sort 
>> @pos; in the select_noncont subroutine of SimpleAlign.pm.
>> In previous versions this line was not present and I could 
>> use the function to reorder the alignment e.g in an alignment 
>> with 5 sequences I could reorder it to put the second 
>> sequence last using $aln->select_noncont(1,3,4,5,2). The sort 
>> function stops this, but even if the idea is to sort 
>> numerically this dos not work since the sort function as is 
>> will put 10 before 2, so that
>> ->select_noncont(1,2,3,4,5,6,7,8,9,10) would reorder the sequences in
>> the alignment to be 1, 10, 2, 3, 4,5, 6, 7, 8,9 .
> Not sure why 10 would come before 2 since perl would interpret that list
> as a series of integers even if they were entered as strings and do the
> sort.
Because, according to the documentation for Perl's sort function, 
sorting occurs "in standard string comparison order" unless the user 
specifies another comparison function to use.

More information about the Bioperl-l mailing list