[Bioperl-l] Another implementation

David Block dblock@gene.pbi.nrc.ca
Tue, 12 Sep 2000 16:57:54 -0600 (CST)

On Wed, 13 Sep 2000, J. H. Park wrote:

> Hi
> > > Does the Perl/BioTK work off SeqI/PrimarySeqI/SeqFeatureI stuff or does it
> > > straight to DBI to the database? It would be great if the BioTK stuff
> > > could work against the SeqI interfaces - we could then just point it at
> > > other SeqI implementing databases (eg, Flat file indexed GenBank or my
> > > ever favourite ensembl)
> > 
> > The problem I am seeing now is that we import data from our non-standard
> > database, and importing stuff from other dbs may break parts of our
> > non-bioperl code.  I will attempt to make this more robust.
> I think the best solution is you spend a little time
> in designing more general form(schema) for your DB and
> perhaps suggest the BioXX community a fairly acceptable
> format. This will save a lot of time in the end(not only
> for your but also for the next generation developers).
> I am interested in DB interface and representation of
> BioEntities for DBs. Why don't you share you experience
> on certain problems to tackle to make things more general
> and standard.
> > Our database is quite hairy right now, but the whole thing is built around
> > a few primary tables, primarily a GFF-like feature table.  I'll figure out
> > a visual DB schema if anyone is interested.  The database came first, and
> I am, very much so. 
> > this application is adapting to it, rather than the other way around.
> Too much specifics to your DB will hurt your application's
> future flexibility and standardization in my opinion.
> A bit of thinking on that matter (interface between DB and parsers and
> visualizations) will be good.
> Cheers,
> Jong
Okay, thanx for all the input and interest.  We have been using the old
David Searl's BioTk, with a few updates of our own mixed in.

This is what we are thinking now:
Given a valid BioPerl SeqI object, 
DrawableSequence (or Sequence::Drawable?) will create a zoomable,
scrollable map with indices, labels, and different-coloured rectangles for
each different kind of feature present.  It will be either vertical or
horizontal depending on programmer preference.

Workbench.pm will take a given SeqI and create two DrawableSequence
objects: a DraftSeq and a FinishedSeq.  It will allow the user to select
features from the DraftSeq, create genes comprising those features, and
export them to the FinishedSeq.  The FinishedSeq will update itself with
the new data and redraw itself.  Finished exons will be editable on a
base-by-base level.

To make this all work, Workbench.pm will allow blast searches of clicked
exons/groups of exons.  It will display translations of sequence, showing
stop codons, etc.  It will display comments, etc. that are part of
features that are clicked on in one of the DrawableSequences.

In addition, our implementation of Workbench will examine blast results
for each feature and be able to highlight all features that share
homology.  This is available to us because of our db implementation, and
because we have a dedicated linux beowulf cluster available for high-speed
blast searches.

We are actually close to delivering something like this.  Your input has
helped reformat some of our objects, and hopefully this workbench can be
usable no matter the data source.

> --
> "It is easier to fight for principles than to live up to them."
> -- Alfred Adler
Dave "Taking the chainsaw to DrawableSequence.pm now" Block