Fields, Christopher J | 21 Jun 04:13 2013

Re: Bio::PrimarySeq obj?

On Jun 20, 2013, at 6:27 PM, Bob Freeman <bob_freeman <at>> 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.


> -----------------------------------------------------
> 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>