[Genquire-dev] dbObj

David Block dblock@gnf.org
Tue, 18 Dec 2001 08:16:17 -0800


DbObj is context-specific - for a certain network xml adaptor I am 
writing, it is called Session.

I like making a separation between Context and adaptor.
Context is the module that organizes the various adaptors - it calls 
them all and assigns them to their objects.  So I thought of Context 
being the parent, and the adaptors being Context's children.

Oh, I see your confusion.  You are putting the stuff in at the wrong 
level.
You need to create a new folder called GB at the same level as DAS and 
DB.  Then your Context implementation becomes GQ::Server::GB::Context, 
and your adaptors become "GQ::Server::GB::Adaptor::XYZAdaptor"s.

The tricky part in the adaptor layer is loading stuff from the data 
source and storing it.  The editing part almost writes itself - you just 
have to change update_db and you're done.

I would cd DB/Adaptor; grep prepare * | lpr
and make sure all of the database calls are taken care of in your 
adaptors.

Have fun!

Dave

On Tuesday, December 18, 2001, at 07:26  AM, Mark Wilkinson wrote:

> Hey Dave!
>
> I have decided (since we are about to publish the Genquire paper and 
> book
> chapter) that it is about time we tested this adaptor API to ensure that
> a person with half a brain can put together their own adaptor layer...
> and I seem like a perfect candidate for THAT  job!!    ;-)
>
> I have imediately hit a point of confusion:
>
> In the gq_local.cfg file the first thing that is created is a DbObj, and
> this is sent as an initialization parameter for Context.  Is it 
> necessary
> for all Adaptor layers to have a DbObj, or is this required only by our
> own Genquire_local adaptor?  If the latter, then I will add a note in 
> the
> gq_local.cfg file indicating this, and will also clarify the API docs.
> It seems to be that the only thing that calls DbObj is the Context 
> module
> itself, so I am guessing that a DbObj is not a 'deep' part of Genquire.
>
> I am also wondering if it might be a good idea to put Context.pm into 
> the
> /Adaptor/  folder, since any new adaptor is going to require its own
> version of the Context module anyway (according to the API docs).  I am
> guessing we can leave ContextI where it is, since it should be common to
> all adaptors, but Context.pm itself seems to belong with its
> "brothers"....  what say you?
>
> To make my own adaptor layer, I have created a new folder
> /GB_FlatAdaptor/ and copied all of the modules from /Adaptor? into that
> folder.  I then updated the identities of the package statements, and 
> the
> @ISA and use statements.  There isn't anything more to this... right?...
> no hidden land mines that I should look out for?  (at least, none that
> you know about...)
>
> To be honest, it looks like it is going to be quite straightforward.  My
> gb_flat.cfg file is going to create a BioPerl Seq object from the GB 
> flat
> file, so I already have almost all of the Genquire functionality right 
> at
> hand before I even start coding!!
>
> please get back to me with *quick* answers ASAP so that I can continue.
>
> Actually, this looks like it is going to be a lot of fun!!!  I like 
> being
> a guinea pig   8^)
>
> M
>
>
>
> --
> --------------------------------
> "Speed is subsittute fo accurancy."
> ________________________________
>
> Dr. Mark Wilkinson
> Bioinformatics Group
> National Research Council of Canada
> Plant Biotechnology Institute
> 110 Gymnasium Place
> Saskatoon, SK
> Canada
>
>
>
>
>
> _______________________________________________
> Genquire-dev maillist  -  Genquire-dev@bioinformatics.org
> http://bioinformatics.org/mailman/listinfo/genquire-dev
>
>
David Block          (858)812-1513
Bioinformatics        http://www.gnf.org
dblock@gnf.org        Just ridin' the Coaster...