[Bioperl-l] Fwd: SimpleAlign bug?

Kevin Brown Kevin.M.Brown at asu.edu
Thu Apr 12 11:24:15 EDT 2007


> >> What is going on here? Can anyone remember doing this?

> >> 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.

OK, guess I never realized that since I've used just "sort @array" and
gotten things back how I expected them to be.



More information about the Bioperl-l mailing list