[Bioperl-l] Bio:Seq->translate with orf=1; behavior change between 1.5 and 1.6
Wilson, Colin (CC)
CCWilson at dow.com
Wed Mar 4 00:13:56 UTC 2015
I've got an older application that I'm migrating from BioPerl 1.5 to 1.6.923, and it didn't pass testing due to a change in the behavior of Bio:Seq::translate between 1.5 and 1.6
Per the bioperl documentation Seq->translate(-orf=> 1) should return the first orf in a sequence. It appears to be returning the orf upstream of the first stop codon, so an internal out of frame orf is found instead of a full length orf.
Here's my test code. It passes in 1.5, fails in 1.6. Is there a switch or different parameter to get the old behavior? Is this a bug or intentional change in translate?
------------
use strict;
use Bio::Seq;
my ($bs, $prot, $orf0, $orf1, $orf) ;
$bs = Bio::Seq->new( -seq => "ATGAATGTAAATAA",
-display_id => "TestSequence",
-alphabet => 'dna' );
$orf0 = $bs->translate(-frame=>0);
$orf1 = $bs->translate(-frame=>1);
# should output MNVN orf that starts in frame 0, not M* orf that starts in frame 1
$orf = $bs->translate(-orf=>1, -start=> 'atg');
if ($orf0->seq eq $orf->seq) {
print "PASS";
}
else {
print $orf0->seq . " != " . $orf->seq . "\n";
}
More information about the Bioperl-l
mailing list