[Bioperl-l] Re: bioperl-db and postgres8.3 - status query

Siddhartha Basu sidd.basu at gmail.com
Fri Aug 20 15:59:59 UTC 2010


Hi, 

On Thu, 19 Aug 2010, Robert Buels wrote:

> Chris Fields wrote:
> > I think it's worth exploring having a DBIx::Class-based middle-ware 
> > approach similar to what Rob Buels has done for Chado.  That would be 
> > fairly easy to get started using DBIx::Class::Schema::Loader.
> > After that it would require optimization and tweaking, which is 
> > potentially more complex than Rob's setup as Chado is very Pg-specific, 
> > but maybe Rob can elaborate...
>
> Elaborating on how Bio::Chado::Schema is developed:
>
> The vast majority of the code and POD in BCS is autogenerated by 
> DBIx::Class::Schema::Loader.  DBICSL gives you a baseline set of 
> DBIx::Class classes that covers all the tables, views, columns, unique 
> constraints, and foreign key relationships.
>
> Beyond that, you have to add on yourself.  In BCS, we have mostly done 
> things like:
>
>   * make better-named aliases for some of the autogenerated
>     relationships (though DBICSL does a surprisingly good job of naming
>     relationships automatically most of the time)
>   * add a tiny bit of bioperl compatibility (this needs a lot more work
>     by somebody, volunteers needed!)
>   * add convenience methods for using some of the Chado property tables
>   * use DBIx::Class::Tree::NestedSet to add some powerful ways of
>     traversing phylogenetic tree relationships
>
> Regarding DB backend specificity, BCS isn't Pg-specific at all, because 
> DBIx::Class itself goes to great lengths to be compatible (and performant!) 
> with just about every relational database out there.  
I would vouch for that at least as far as chado in oracle is concerned.
So,  far BCS works out flawlessly with our oracle chado instance at
dictybase. Quite a chunk of BCS based code is also active in couple of
our Mojo based webapps. The part which i still couldn't use directly is
the 'synonym' table as it clashes with oracle specific reserved keywords. 
However,  overall it seems to quite cross-RDMS compatible and highly
recommended.

-siddhartha


>In fact, the BCS test 
> suite deploys a Chado schema into a temporary SQLite database using 
> DBIC::Schema's deploy() method, and runs all of its tests on that.  Very 
> handy.
>
> Chado's Pg-specific server-side functions can of course be called through 
> BCS if they are present, but it's perfectly possible to use Chado without 
> any of the server-side functions, and mostly the way I use it.
>
> Rob
> _______________________________________________
> Bioperl-l mailing list
> Bioperl-l at lists.open-bio.org
> http://lists.open-bio.org/mailman/listinfo/bioperl-l



More information about the Bioperl-l mailing list