[Bioperl-l] Fwd: SimpleAlign bug?
Michael Kiwala
mkiwala at watson.wustl.edu
Wed Apr 11 15:51:35 UTC 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