[Bioperl-l] bioperl-db -- a cautious first baby-steps

dblock@bioinfo.pbi.nrc.ca dblock@bioinfo.pbi.nrc.ca
Mon, 2 Apr 2001 14:30:29 -0600 (CST)


Way to go, Ewan!  I'll take a close look at this.

On Mon, 2 Apr 2001, Ewan Birney wrote:

> 
> 
> bioperl-db is ready for its first little baby-steps into the big bad
> world.
> 
> 
> bioperl-db is a pretty vanilla mysql-database-and-perl bindings for
> sequence database, written with an eye for more than sequence data being
> stored in there, but definitely sequence orientated at the moment.
> 
> 
> It is basically a starting point for replacing flat-file + DBM index, or
> simple usage of SRS/efetch etc. 
> 
> 
> I did look at David Block's annotation database, which I might steal stuff
> from in the future, but the implementation here was very "close
> binding" (ie, objects updated on set methods) and there was no easy way to
> move between implementations of Seq objects to be stored, something I
> favoured. Sorry David --- (But, I have to admit, I was very ammused to see
> the chat table in the middle of the database schema there. Much fun!)
> 
I am facing the same issue as we move away(?) from a tight binding
ourselves. I'll keep the list posted as to how we do it - I want to be
able to work from das/ensembl/corba/gff, but I like the immediacy I have.
We are kicking around something like a DataSourceI that provides the Seq
implementation with persistence.  That way you can write a tight DAS or
corba data source, and a DBI data source that has very few modifications
between DataSource::DB::Mysql and Datasource::DB::Oracle.

That's where I want to go this summer.

> 
> 
> bascially I wrote it very "new Ensembl style", which is basically like
> Java Beans (I hear). There are business objects which comply to the
> interfaces Bio::SeqI etc which store at least the database primary_id in
> the object and singleton "Adaptor" objects which mediates access to the
> database for all instances of the business object. 
> 
It sounds like I need to spend some more time with the gang of four (I
ordered a copy, it's in the mail).  I'm wanting to move the business
object one step up, I think, and make the database adaptor a little deeper
and smarter.

> 
> The mysql schema is in
> 
>   bioperl-db/sql/basicseqdb-mysql.sql
> 
> The code is mainly in
> 
>   Bio::DB::
> 
> and
> 
>   Bio::DB::SQL::
> 
The one with code, wins. ;)


> I have done basic sequence and description and database loading. This is
> enough for the Ensembl web site's use of this stuff, the whole reason I
> set off on this road, so now anything more is "just for fun". I am going
> to tackle basic sequence features over the next couple of days.
> 
> 
> The code base is pretty bare but there are two tests - filched Ensembl's
> great database test harness for testing. For people with a strong perl
> constitution and/or ensembl experience, the whole thing should be very
> useable. I will attempt to write a good README/bioperl-db.pod at some
> time.
> 
> 
> wait I guess 15mins or so if you are using anonymous cvs, otherwise code
> etc is at
> 
>   cvs module - bioperl-db
> 
> 
> 
> Enjoy!
> 

I will!
> 
> 
> 
> -----------------------------------------------------------------
> Ewan Birney. Mobile: +44 (0)7970 151230, Work: +44 1223 494420
> <birney@ebi.ac.uk>. 
> -----------------------------------------------------------------
> 
> 
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l@bioperl.org
> http://bioperl.org/mailman/listinfo/bioperl-l
> 
David Block
waiting for my old computer to come back, with its nice sig