Freeman, Robert M. | 21 Jun 14:08 2013
Picon

Re: Bio::PrimarySeq obj?

So, a number of things bother me about this:
- why is BioPerl deciding that I can't change this?
- no warning is thrown when I try to change any value of the object 
- documentation does not indicate the object is immutable 
- documentation does not indicate that a PrimarySeq is returned.
- Worse (at the time), the object is tied to the DB file, so when I dumped the object in the debugger, it started
dumping the whole DB Index. Not sure why this decision was made. 

LOL! Are these bugs or features?

Yeah, an option at fetch time would be nice.

-b

Sent from my iPhone

> On Jun 20, 2013, at 10:13 PM, "Fields, Christopher J" <cjfields <at> illinois.edu> wrote:
> 
>> On Jun 20, 2013, at 6:27 PM, Bob Freeman <bob_freeman <at> hms.harvard.edu> wrote:
>> 
>> Hoping for an easy answer on this…
>> 
>> Using Bio::DB::Fasta to retrive a seqobj with get_Seq_by_id. I can print the raw sequence with
seqobj->seq(), but when I try to change and set the raw sequence data (e.g. seqobj->seq("ACTT"), the
change is ignored (as evidenced when writing out to new FASTA file).
>> 
>> Looking under the hood with the Perl debugger, it appears that the object returned is a
Bio::PrimarySeq::FASTA, which points to the whole (indexed) FASTA file; not what I had expected.
>> 
>> Is the PrimarySeq obj that is returned immutable?
> 
> Right; the object is a lightweight representation IIRC and is designed to be immutable, I'm sure b/c the
data in the 'database' (file) can't be changed.
> 
>> If so, is there an easy way to 'copy' the object so that I can change the sequence and then write this out to a
different file?
>> 
>> Tx,
>> B
> 
> I would copy them to a new Bio::PrimarySeq; it's lighter that a full Bio::Seq and will work with
Bio::SeqIO.  Might be worth adding a method to Bio::DB::Fasta to do this for convenience.
> 
> chris
> 
>> -----------------------------------------------------
>> Bob Freeman, Ph.D.
>> Acorn Worm Informatics, Kirschner lab
>> Dept of Systems Biology, Alpert 524
>> Harvard Medical School
>> 200 Longwood Avenue
>> Boston, MA  02115
>> 617/432.2294, vox
>> 
>> "Sorry I'm late. Oh, God, that sounded insincere. I'm late."
>>    -- Karen Walker, from Will and Grace
>> 
>> 
>> 
>> 
>> _______________________________________________
>> Bioperl-l mailing list
>> Bioperl-l <at> lists.open-bio.org
>> http://lists.open-bio.org/mailman/listinfo/bioperl-l
> 

_______________________________________________
Bioperl-l mailing list
Bioperl-l <at> lists.open-bio.org
http://lists.open-bio.org/mailman/listinfo/bioperl-l

Gmane