[Biojava-l] library for running blast and formatdb

Michael L. Heuer heuermh@acm.org
Tue, 14 Jan 2003 11:59:01 -0500 (EST)


Last one, I promise.

There's also

Commons Configuration project

> http://jakarta.apache.org/commons/sandbox/configuration/index.html

   michael


On Tue, 14 Jan 2003, Michael L. Heuer wrote:

>
> On Tue, 14 Jan 2003, Michael L. Heuer wrote:
>
> >
> > Other designs to consider
> >
> > Configurable/Configuration
> >
> > > http://jakarta.apache.org/avalon/api/org/apache/avalon/framework/configuration/Configurable.html
> > > http://jakarta.apache.org/avalon/api/org/apache/avalon/framework/configuration/Configuration.html
> >
> > Parameterizable/Parameters
> >
> > > http://jakarta.apache.org/avalon/api/org/apache/avalon/framework/configuration/Parameterizable.html
> > > http://jakarta.apache.org/avalon/api/org/apache/avalon/framework/configuration/Parameters.html
>
> sorry, bad links.
>
> should be
>
> http://jakarta.apache.org/avalon/api/org/apache/avalon/framework/parameters/Parameterizable.java
> http://jakarta.apache.org/avalon/api/org/apache/avalon/framework/parameters/Parameters.java
>
> got caught by cut n' paste.
>
>    michael
>
> >
> >
> > I find the Apache Avalon project to be completely full of good ideas
> > and full of completely unusable implementation.
> >
> >    michael
> >
> >
> > On Tue, 14 Jan 2003, Patrick McConnell wrote:
> >
> > >
> > > What I have written provides two essential base classes: Program and
> > > Parameters.  The Program class provides the functionality for launching a
> > > program and capturing output.  I should also put in hooks for handling the
> > > input and output as streams as an alternative to capturing it in memory.
> > > The Parameters class builds command arguments based on the fields of the
> > > extending class using reflection.  It provides some flexibility for
> > > determining what the flags and delimitters look like.  There has been
> > > discussion to change the implementation somewhat to use jakarta's CLI
> > > library, and I think a hybrid of the two would be appropriate.
> > >
> > > I have written Program and Parameters implementations for NCBI's blastall
> > > and formatdb programs.  Now, after chatting with Jason Stajich here at
> > > Duke, I am working on a flexible queueing system for Programs.  This code
> > > isn't complete yet, though.
> > >
> > > So, if everyone likes this framework for launching programs, I'd be glad to
> > > donate it to BioJava.  If people don't like it, I'll change it based on
> > > suggestions.  Whomever is interested, please check out:
> > > http://www.dbsr.duke.edu/software/blast . My code is fully documented, and
> > > I have added a couple examples that demonstrate the ease of launching
> > > blast.
> > >
> > > As to the XML description of program parameters, I think that is a good
> > > idea, and can be a factory method in my Parameters class.  The method takes
> > > in the XML somehow (File or Stream or whatever) and returns a Parameters
> > > object.  But, I know that some people would prefer to handle the Parameters
> > > internally with code instead of externally in a File.  So, we should not
> > > limit ourselves to a single approach.
> > >
> > > Thanks!
> > >
> > > -Patrick
> > >
> > >
> > >
> > >
> > >
> > > "Schreiber, Mark" <mark.schreiber@agresearch.co.nz>@biojava.org on
> > > 01/13/2003 03:08:08 PM
> > >
> > > Sent by:    biojava-l-admin@biojava.org
> > >
> > >
> > > To:    "Patrick McConnell" <MCCon012@mc.duke.edu>
> > > cc:    <biojava-l@biojava.org>
> > >
> > > Subject:    RE: [Biojava-l] library for running blast and formatdb
> > >
> > > One thing sorely missing from BioJava is the ability to launch and
> > > capture the results of common bioinformatics programs. I know Java isn't
> > > the best at this but it's not that bad. It's also needed if you want to
> > > develop pipeline type applications.
> > >
> > > Would it be possible to get some kind of over-arching interface based
> > > API so that services can be made available with similar interfaces.
> > >
> > > Possibly a Service or Program interface a Paramater list or map, some
> > > kind of result stream?
> > >
> > > Just my $0.02
> > >
> > > - Mark
> > >
> > > > -----Original Message-----
> > > > From: Patrick McConnell [mailto:MCCon012@mc.duke.edu]
> > > > Sent: Tuesday, 14 January 2003 4:15 a.m.
> > > > To: biojava-l@biojava.org
> > > > Subject: Re: [Biojava-l] library for running blast and formatdb
> > > >
> > > >
> > > >
> > > >
> > > > >I suppose it's a matter of another external dependency vs.
> > > > reinvented
> > > > >utility code in biojava . . .  Would it make sense to merge
> > > > the better
> > > > >qualities of the two?
> > > >
> > > > The CLI project looks like it is quite flexible and robust.
> > > > But, with this, it is somewhat complex.  This is in contrast
> > > > to the simplicity of creating parameters via reflection.  I
> > > > think that these two methods could be effectively combined so
> > > > that we gain the simplicty of reflection with the flexibility
> > > > of CLI.  The base parameters class can use CLI to build its
> > > > parameters.  As an option, it can build CLI options via
> > > > reflection for simplicity.  When users extend the base class,
> > > > they can utilize the flexibility of CLI if they need it,
> > > > otherwise they can use reflection for a quick and dirty
> > > > parameter parsing.  The base class could even extend the
> > > > Options class, so we are really working with a hybrid of the
> > > > two.  What does everyone think?
> > > >
> > > > -Patrick
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > "Michael L. Heuer" <heuermh@acm.org>@shell3.shore.net> on
> > > > 01/10/2003 05:18:52 PM
> > > >
> > > > Sent by:    Michael Heuer <heuermh@shell3.shore.net>
> > > >
> > > >
> > > > To:    Patrick McConnell <MCCon012@mc.duke.edu>
> > > > cc:    biojava-l@biojava.org
> > > >
> > > > Subject:    Re: [Biojava-l] library for running blast and formatdb
> > > >
> > > >
> > > > On Fri, 10 Jan 2003, Patrick McConnell wrote:
> > > >
> > > > > In the process, I developed some useful and flexible base
> > > > classes for
> > > > > formatting parameters and running programs.  Parameters are
> > > > > automatically converted to an argument array via reflection and
> > > > > reading of standard out and standard error in separate threads is
> > > > > handled automatically.
> > > >
> > > > The base classes are nice, but I prefer the design of
> > > >
> > > > > http://jakarta.apache.org/commons/cli
> > > >
> > > > a lot better for handling parameters.
> > > >
> > > > I suppose it's a matter of another external dependency vs.
> > > > reinvented utility code in biojava . . .  Would it make sense
> > > > to merge the better qualities of the two?
> > > >
> > > > I also have a few simple classes for oneoff scripts with
> > > > command line & logging facade support that I use all the time, see
> > > >
> > > > > http://www.shore.net/~heuermh/oneoff.tar.gz
> > > >
> > > > but they don't have any extra support for external programs.
> > > >
> > > >    michael
> > > >
> > > > >
> > > > > Check it out if you are interested:
> > > > > http://www.dbsr.duke.edu/software/blast/default.htm .  The full
> > > > > source, javadocs, and binary class files are available.
> > > > Also, if this
> > > > > seems appropriate for BioJava, I have no problem donating it to the
> > > > > cause.  I think that at least the base classes, or some
> > > > modification
> > > > > of them, would be useful to others.
> > > > >
> > > > > Please email me with suggestions/comments,
> > > > >
> > > > > -Patrick McConnell
> > > > > Duke Bioinformatics Shared Resource
> > > > > mccon012@mc.duke.edu
> > > > >
> > > > >
> > > > > _______________________________________________
> > > > > Biojava-l mailing list  -  Biojava-l@biojava.org
> > > > > http://biojava.org/mailman/listinfo/biojava-l
> > > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > _______________________________________________
> > > > Biojava-l mailing list  -  Biojava-l@biojava.org
> > > > http://biojava.org/mailman/listinfo/biojava-l
> > > >
> > > =======================================================================
> > > Attention: The information contained in this message and/or attachments
> > > from AgResearch Limited is intended only for the persons or entities
> > > to which it is addressed and may contain confidential and/or privileged
> > > material. Any review, retransmission, dissemination or other use of, or
> > > taking of any action in reliance upon, this information by persons or
> > > entities other than the intended recipients is prohibited by AgResearch
> > > Limited. If you have received this message in error, please notify the
> > > sender immediately.
> > > =======================================================================
> > >
> > > _______________________________________________
> > > Biojava-l mailing list  -  Biojava-l@biojava.org
> > > http://biojava.org/mailman/listinfo/biojava-l
> > >
> > >
> > >
> > >
> > >
> > > _______________________________________________
> > > Biojava-l mailing list  -  Biojava-l@biojava.org
> > > http://biojava.org/mailman/listinfo/biojava-l
> > >
> >
> > _______________________________________________
> > Biojava-l mailing list  -  Biojava-l@biojava.org
> > http://biojava.org/mailman/listinfo/biojava-l
> >
>
> _______________________________________________
> Biojava-l mailing list  -  Biojava-l@biojava.org
> http://biojava.org/mailman/listinfo/biojava-l
>