[Bioperl-l] write protein sequence by Bio::SeqIO
Qiang Tu
tuqiang@mail.shcnc.ac.cn
Fri, 8 Nov 2002 19:02:14 GMT
Oh, thanks, it works now :)
Is it a bug of Bio::SeqIO::genbank? I am not sure, but I think the sequence
object has the correct alphabet, then the SeqIO should write the sequence
without other codes.
best,
suhoiy
---Original Message---
From: Remo Sanges<sanges@biogem.it>
Subject: Re: [Bioperl-l] write protein sequence by Bio::SeqIO
>suhoiy wrote:
>
>> No, it did not work. :( In fact, the $seq from $in has the correct alphabet
>> "protein", but the write_seq method will change it to "dna".
>
>
>I have try
>you then can add a line whit the function molecule for the seq object
>
>my $seq = $in->next_seq;
>
>
>#adding this work well ###
>
>#############################
>
>$seq->molecule('protein');###
>
>#############################
>$out->write_seq($seq);
>
>
>>
>> thansk anyway. :)
>
>
>nothing
>
>
>>
>>
>> ---Original Message---
>> From: Remo Sanges<sanges@biogem.it>
>> Subject: Re: [Bioperl-l] write protein sequence by Bio::SeqIO
>>
>>
>>>suhoiy wrote:
>>>
>>>
>>>>Hello all,
>>>>
>>>>I am sorry to bother you. There is a problem in my code. I want to write a protein
>>>>sequence in genbank format, but the code change it to nucleic acid sequence. For
>>>>example:
>>>>
>>>>========
>>>>my $in = Bio::SeqIO->new( '-format' => 'genbank',
>>>> '-file' => 'sample.genpept',
>>>> );
>>>>my $out = Bio::SeqIO->new('-format' => 'genbank',
>>>> '-file' => '>sampleout.genpept',
>>>> );
>>>>my $seq = $in->next_seq;
>>>>$out->write_seq($seq);
>>>>========
>>>>
>>>
>>>I thing, if the input file is ok and contains protein sequenences, you
>>>should set the '-alphabet' format in the constructor new:
>>>
>>>my $in = Bio::SeqIO->new( '-format' => 'genbank',
>>> '-file' => 'sample.genpept',
>>> 'alphabet'=> 'protein' );
>>>
>>>my $out = Bio::SeqIO->new( '-format' => 'genbank',
>>> '-file' => '>sampleout.genpept',
>>> '-alphabet'=> 'protein' );
>>>
>>>my $seq = $in->next_seq;
>>>$out->write_seq($seq);
>>>
>>>I havn't try but I thing it should go
>>>
>>>Let me know!|
>>>
>>>
>>>>the locus line of origin sequence is:
>>>>LOCUS 108_LYCES 102 aa linear PLN 15-JUL-1999
>>>>
>>>>while the locus line of the output sequence is:
>>>>LOCUS 108_LYCES 102 bp linear linear PLN 15-JUL-1999
>>>>
>>>>I use bioperl 1.0.2. there are these lines in the write_seq method in Bio::SeqIO::genbank:
>>>>
>>>>========
>>>> if( !$seq->can('molecule') || ! defined ($mol = $seq->molecule()) ) {
>>>> $mol = $seq->alphabet || 'DNA';
>>>> }
>>>>========
>>>>
>>>>many thanks for your help!
>>>>
>>>
>>>you are welcome!
>>>
>>>
>>>
>>>>suhoiy
>>>>
>>>>
>>>>
>>>>
>>>>_______________________________________________
>>>>Bioperl-l mailing list
>>>>Bioperl-l@bioperl.org
>>>>http://bioperl.org/mailman/listinfo/bioperl-l
>>>>
>>>>
>>>>
>>>__________________________________
>>>Remo Sanges
>>>BioGeM
>>>Gene Expression Core Lab
>>>Via Pietro Castellino 111
>>>80131 NaplesItaly
>>>+39 081 6132265
>>>sanges@biogem.it
>>>sanges@iigb.na.cnr.it
>>>__________________________________
>>>
>>>
>>>
>>>
>>>
>>
>>
>> ---End of Message---
>>
>>
>__________________________________
>Remo Sanges
>
>BioGeM
>Gene Expression Core Lab
>Via Pietro Castellino 111
>80131 NaplesItaly
>+39 081 6132303
>sanges@biogem.it
>sanges@iigb.na.cnr.it
>__________________________________
>
>
>
---End of Message---