Re: Bio:Seq->translate with orf=1; behavior change between 1.5 and 1.6
"Fields, Christopher J" <[email protected]>
| Newsgroups | gmane.comp.lang.perl.bio.general |
|---|---|
| Message-ID | <[email protected]> |
I think may be related to changes related to issues with frame. I’ll post this to github in the meantime and see if I can bisect this. chris > On Mar 3, 2015, at 6:13 PM, Wilson, Colin (CC) <[email protected]> wrote: > > 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"; > } > > > > _______________________________________________ > Bioperl-l mailing list > [email protected] > http://mailman.open-bio.org/mailman/listinfo/bioperl-l _______________________________________________ Bioperl-l mailing list [email protected] http://mailman.open-bio.org/mailman/listinfo/bioperl-l