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.
Sent from my iPhone
> On Jun 20, 2013, at 10:13 PM, "Fields, Christopher J"
>> On Jun 20, 2013, at 6:27 PM, Bob Freeman
>> 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
>> 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?
> 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.
>> 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 mailing list