[Bioperl-l] automation of translation based on alignment
    Chris Fields 
    cjfields at illinois.edu
       
    Mon Mar 22 12:58:00 UTC 2010
    
    
  
On Mar 22, 2010, at 12:30 AM, Ross KK Leung wrote:
> Dear Chris,
> 
> It seems that Bioperl is "clever" enough to "rectify" my start and stop by
> reversing the order.
> 
> e.g.
> start = 2300
> stop = 1600
> 
> It will reverse back to 1600 and then 2300.
> What else to tell that I'm now working on a circular genome?
Reverse it where, the alignment or the feature?  The svn version of BioPerl, for alignments, retains strand information (this was a bug that was fixed).  For features, start is always less than end, with directionality determined by strand.  For a circular genome, the feature is split across the origin, as you have seen in the original sequence you posted:
...
    gene            join(2307..3215,1..1623)
                    /gene="P"
...
This would be represented as a Bio::Location::SplitLocation in the feature; it would joined based on that order if $seq->is_circular() is true (or at least it should).  In cases like this, the safe bet is to call spliced_seq() to get the joined sequence in all cases, then call translate() to get the protein sequence.
chris
    
    
More information about the Bioperl-l
mailing list