Do you have tried the ExternalProcess class? (http://cvs.biojava.org/cgi-bin/viewcvs/viewcvs.cgi/biojava-live/src/org/bio java/utils/process/?cvsroot=biojava)
As far as I understand the problem the ExternalProcess class isn't affected by it. In addition, because it uses multiple threads from a thread pool, it's more robust against locks, which e.g. can happen, if the called program writes out data faster than the data is read in the calling program. This is a common problem but which does only happen sporadically. So it's very hard to locate and debug. Best regards Martin > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED] On Behalf Of > [EMAIL PROTECTED] > Sent: Wednesday, May 17, 2006 11:39 AM > To: Andreas Dräger > Cc: [EMAIL PROTECTED]; [email protected] > Subject: Re: [Biojava-l] external processes > > Sounds reasonable, > > Do you have CVS access? If so please submit this addition. > Can you also put javadoc comments giving the example of why > you might need to use a string[] as a parameter. > > Can you also add a @since 1.5 javadoc tag to the method and > add yourself as an author to the class (javadoc doesn't allow > for @author comments at the method level). > > Thanks, > > - Mark > > > > > > Andreas Dräger <[EMAIL PROTECTED]> > 05/17/2006 05:27 PM > > > To: [EMAIL PROTECTED] > cc: [email protected] > Subject: Re: [Biojava-l] external processes > > > Hello, > > I just tried the ExecRunner class with a compliation of a > Matlab skript. > My parameters are Matlab matrices and vectors like > [1 2 3; 4 5 6] > and so on. In the ExecRunner class this 2x3 matrix will be > destroyed by the StringTokenizer and my Matlab skript will be > started with the arguments [1, 2, 3;, 4, 5, 6] which doesn't > make any sense. I would like to suggest to add a method where > one can pass the aruments as a String[]-vector. In my case I > could pass every single Matlab matrix and every Matlab vector > as a single String. I just tried this out with the following code: > > public static String execute(String command[]) throws IOException { > String out = null, temp; > Process exe = Runtime.getRuntime().exec(command); > BufferedReader in = new BufferedReader( > new InputStreamReader(exe.getInputStream())); > for (out = ""; (temp = in.readLine()) != null; out += > temp + "\n"); > return out; > } > > It works fine. I would add something similar to the class > ExecRunner mentioned above, but adapted so that the other > features of this class will also be maintained. > > Andreas Dräger > > [EMAIL PROTECTED] wrote: > > >Hi all - > > > >I noticed that someone has posted a tutorial to the wiki page > >(http://biojava.org/wiki/BioJava:Tutorial:MultiAlignClustalW) > showing > >how to launch ClustalW from biojava which is very much > appreciated. The > >tutorial makes use of the standard Java Runtime and Process classes. > >Developers may also be interested in the ExecRunner class that is in > >the utils package of biojava1.4. > > > >There is also an entire API for handelling external processes in the > >CVS version of biojava (org.biojava.utils.process) which > makes handling > >of external processes much simpler. > > > >- Mark > > > >Mark Schreiber > >Research Investigator (Bioinformatics) > > > >Novartis Institute for Tropical Diseases (NITD) 10 Biopolis Road > >#05-01 Chromos > >Singapore 138670 > >www.nitd.novartis.com > > > >phone +65 6722 2973 > >fax +65 6722 2910 > > > >_______________________________________________ > >Biojava-l mailing list - [email protected] > >http://lists.open-bio.org/mailman/listinfo/biojava-l > > > > > > > > > > > > > -- > ================================== > Andreas Dräger > PhD student > Eberhard Karls University Tübingen > Center for Bioinformatics (ZBIT) > Phone: +49-7071-29-70436 > ================================== > > > > > > _______________________________________________ > Biojava-l mailing list - [email protected] > http://lists.open-bio.org/mailman/listinfo/biojava-l > > _______________________________________________ Biojava-l mailing list - [email protected] http://lists.open-bio.org/mailman/listinfo/biojava-l
