[Biojava-l] LIMS framework- an open-bio project proposal

Matthew Pocock matthew_pocock@yahoo.co.uk
Sat, 09 Mar 2002 09:38:54 +0000


Hi Alex,

This sounds realy usefull. Perhaps it could go into the BioJava CVS tree 
under its own module? Do you have a URL for some JavaDoc so that we can 
have a browse?

Thanks,

Matthew

Alex Rolfe wrote:
> This is an outline/overview for a LIMS/Workflow framework project.  If
> it sounds like the sort of thing that you're interested in using or
> (better yet) helping with, please let me know.  Most of the design and
> some of the implementation are done and it's at the point where it can
> almost be useful to people without much work.
> 
> Many of us are familiar with writing LIMS software to track data from
> laboratory or computational experiments through some process.  The same
> components tend to get written over and over and the same mistakes get
> made too.  A LIMS framework makes this task easier by providing common
> functionality that lets you plug in simple, reusable components for
> process-specific work.
> 
> The lims is built around the idea of Materials, Events, Queues, and
> Listeners.  A Material is an object to represent a computational or
> biological material that will be put through some process.  Events are
> objects that represent the results of some work.  Queues are sets of
> Materials waiting for a specific step in the process.  A material can be
> in one queue per process at any time.  Listeners are objects that do the
> actual work.  Each Queue has a set of Listeners that process the
> materials in the queue.
> 
> In concrete terms, the lims system provides:
> - a GUI for lims design.  Instead of hooking up components in code, you
> specify the process structure with a flowchart.  The nodes in the
> flowchart correspond to Queues.  You specify what listeners go with each
> queue.  At each queue, at most one listener returns an Event to the
> system which determines the Queue to which the Material is routed.
> - a runtime engine.  The engine calls the listeners that you provided at the
> correct times with the appropriate materials.  It also records the
> state of the material and the history of the material.  
> - a reporting infrastructure to let end-users query the history and
> status of the material.
> 
> Right now, I'm using an SQL database for persistent storage of process
> definitions and state and JMS/SonicMQ as the core of the engine.
> Porting to other sql or jms implementations should be fairly easy.  All
> of the code is in java right now.  Providing an interface to other
> languages should be straightforward.  It could be done either
> with SOAP or http bindings or some other method of passing serialized
> objects.  
> 
> The lims framework would be a separate project from biojava.  I expect
> that it would be used by many of the same people, but the purposes are
> independent: process implementation vs. biological data representation.
>  
> There's a longer description of the system design and some ideas about
> other features at http://www-genome.wi.mit.edu/~arolfe/lims-notes.ps.
> Questions, suggestions, etc. are welcome.
> 
> 
> Alex
> _______________________________________________
> Biojava-l mailing list  -  Biojava-l@biojava.org
> http://biojava.org/mailman/listinfo/biojava-l
>