[Bioperl-l] Using frame info from GFF in getting aSeq->spliced_seq

Chris Fields cjfields at uiuc.edu
Tue Dec 12 16:30:30 EST 2006


On Dec 12, 2006, at 10:05 AM, Amir Karger wrote:

>> Note that Jason suggested passing the frame/phase of the first exon
>> to translate(), not spliced_seq().  I also suggested translate().
>
> You're right. This brings the number of translated polypeptide  
> sequences
> that have lots of *s in them to 9 instead of 90.
>
> I guess I have two requests here. The first is, if a person wants  
> to see
> exactly which bps are translated to aas -- a nucelotide sequece of
> exactly 3N bp starting (usually) with ATG -- then they might want an
> argument to spliced_seq that skips the first one or two bp when
> necessary. After all, they might want to study the DNA, not the
> peptides.
>
> The second request is for "intelligent objects". If my SeqFeatures  
> know
> that they're in phase 1, then when I call spliced_seq I want the
> resulting objects to know that they're phase one, such that when I  
> call
> translate, Bioperl automatically skips the first bp or two.  
> Admittedly,
> there might be big ramifications to this.
>
> Both requests of course made in the knowledge that Bioperl is open
> source & developers have a lot to do with their time.
>
> -Amir Karger
...

Amir,

I committed some code to CVS where I added a -phase parameter option  
to SeqFeatureI::spliced_seq().  I also added some tests to SeqFeature.t.

If you run the following after creating the SeqFeature object $sf  
(the seq object is $seq):

$sf->attach_seq($seq);

for my $phase (-1..3) {
     my $spliced = $sf->spliced_seq(-phase => $phase);
     print $spliced->seq,"\n";
     print $spliced->translate->seq,"\n";
}

You should get warnings for any other value than 0, 1, or 2.

I'll also note that the sequence you are having trouble with  
(sbay_c127) is 712 bp, so it doesn't contain the complete coding  
region.  I used it in the test case in SeqFeature.t.

Chris


More information about the Bioperl-l mailing list