[BioSQL-l] Re: [Bioperl-l] Re: should Bio::PrimarySeq be
storage-independent after bioperl-db appear?
Juguang Xiao
juguang at tll.org.sg
Mon May 19 12:40:20 EDT 2003
On Saturday, May 17, 2003, at 02:11 AM, Hilmar Lapp wrote:
> Why does it make it heavy? I don't quite understand that. The adaptor
> is a singleton, so there is only a single instance per application. I
> don't quite see why adding a pointer to a singleton makes an object
> heavier than it was before (like a SeqI is anyway, and most sequence
> objects you're dealing with is SeqIs, not PrimarySeqIs).
>
Sorry, I did not notice adaptor is a singleton. I did not, and cannot
check in memory. I was wrong that I guess memory status by observing in
debug, since I cannot tell whether it is a reference or an instance
if debugger prints:
DB<1> x $seq
0 Bio::Seq=HASH(0x490630)
'_root_verbose' => 0
'primary_seq' => Bio::DB::Persistent::PrimarySeq=HASH(0x829ea4)
'_adaptor' => Bio::DB::BioSQL::PrimarySeqAdaptor=HASH(0x829ce8)
that my simple code is like:
my $seq = Bio::Seq->new(
-namespace => 'juguang'
-id => 'id1'
);
my $seq_adaptor = $db->get_object_adaptor('Bio::SeqI');
my $pseq = $seq_adaptor->find_by_unique_key($seq);
$seq = $pseq->obj;
; # break point.
And now, $seq is of a Bio::PrimarySeq, not a Bio::Seq, that i cannot
control.
> If you remove the adaptor, you are removing the persistence
> implementation by delegation. What is your proposal to maintain
> persistence instead? Through a naming context?
>
Even if adaptor is removed from Bio::PrimarySeq, NOT
Bio::DB::Persistence::PrimarySeq, we can use above code to re-generate
a same persistence, no?
Thanks.
Juguang
------------ATGCCGAGCTTNNNNCT--------------
Juguang Xiao
Temasek Life Sciences Laboratory, National University of Singapore
1 Research Link, Singapore 117604
juguang at tll.org.sg
More information about the BioSQL-l
mailing list