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" <[EMAIL PROTECTED]>@biojava.org on > > 01/13/2003 03:08:08 PM > > > > Sent by: [EMAIL PROTECTED] > > > > > > To: "Patrick McConnell" <[EMAIL PROTECTED]> > > cc: <[EMAIL PROTECTED]> > > > > 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:[EMAIL PROTECTED]] > > > Sent: Tuesday, 14 January 2003 4:15 a.m. > > > To: [EMAIL PROTECTED] > > > 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" <[EMAIL PROTECTED]>@shell3.shore.net> on > > > 01/10/2003 05:18:52 PM > > > > > > Sent by: Michael Heuer <[EMAIL PROTECTED]> > > > > > > > > > To: Patrick McConnell <[EMAIL PROTECTED]> > > > cc: [EMAIL PROTECTED] > > > > > > 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 > > > > [EMAIL PROTECTED] > > > > > > > > > > > > _______________________________________________ > > > > Biojava-l mailing list - [EMAIL PROTECTED] > > > > http://biojava.org/mailman/listinfo/biojava-l > > > > > > > > > > > > > > > > > > > > > > > > > > > > _______________________________________________ > > > Biojava-l mailing list - [EMAIL PROTECTED] > > > 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 - [EMAIL PROTECTED] > > http://biojava.org/mailman/listinfo/biojava-l > > > > > > > > > > > > _______________________________________________ > > Biojava-l mailing list - [EMAIL PROTECTED] > > http://biojava.org/mailman/listinfo/biojava-l > > > > _______________________________________________ > Biojava-l mailing list - [EMAIL PROTECTED] > http://biojava.org/mailman/listinfo/biojava-l > _______________________________________________ Biojava-l mailing list - [EMAIL PROTECTED] http://biojava.org/mailman/listinfo/biojava-l
