Hi Mark/Andy, I have a similar question relating to command line blast searches. I'm using elements from both flatfile.txt and i.html to present on a html page. How do I ensure each of blast1 or blast2 is completed before I start the next step? I'm not sure how to maintain control once the command line is being executed. Is there a way to test the presence of the output files? Does synchronize work in this situation. If so, how would I put it in the code? Any help would be appreciated!
thanks, peter blast1 = "CMD /c c:/blast/blastall -p blastn -d c:/blast/db/" + getLibrary() + " -i c:/blast/files/noc.txt -e .0001 -m 8 -o c:/blast/files/flatfile.txt -v 2 -b 2 -F F"; blast2 = "CMD /c c:/blast/blastall -p blastn -d c:/blast/db/" + getLibrary() + " -i c:/blast/files/noc.txt -e .0001 -m 0 -o c:/batchBLAST/" + i + ".html -T T -v 5 -b 5 -F F"; Runtime.getRuntime().exec(blast1); Runtime.getRuntime().exec(blast2); -- Regards, Peter Ng Laboratory Information Management Coordinator Laboratory Services BC Centre for Disease Control 655 West 12th Avenue Vancouver BC V5Z 4R4 Tel: 604-660-2058 Page: 604-205-4814 Fax: 604-660-6073 Web: www.bccdc.org -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of [EMAIL PROTECTED] Sent: November 1, 2006 1:54 AM To: Graham Etherington Cc: [email protected]; [EMAIL PROTECTED] Subject: Re: [Biojava-l] Using Java to create BLAST searches Hi - It may not like the command line having spaces in the path. Try installing blast somewhere else as a test. Eg put it in C:\blast and then try String cmd = "C:/blast/bin/blastall -p blastn -d ecoli.nt -i test.fas -o blast.out"; You could possibly even trick it by putting a short cut in the C directory. Also biojava has some nice tools for working with processes. - Mark Mark Schreiber Research Investigator (Bioinformatics) Novartis Institute for Tropical Diseases (NITD) 10 Biopolis Road #05-01 Chromos Singapore 138670 www.nitd.novartis.com www.dengueinfo.org phone +65 6722 2973 fax +65 6722 2910 "Graham Etherington" <[EMAIL PROTECTED]> Sent by: [EMAIL PROTECTED] 11/01/2006 04:39 PM To: <[email protected]> cc: (bcc: Mark Schreiber/GP/Novartis) Subject: [Biojava-l] Using Java to create BLAST searches Hi, I'm developing on Windows (using Apache Tomcat) using jsp's to create BLAST searches on a local BLAST database. Even though I'm not using BioJava (intend to use it to parse the results), I thought this formum would be the best place to ask for help. Even when I hard code a good BLAST search I keep getting the same error when I run my search, namely: " java.io.IOException: CreateProcess: sh -c "C:/Program Files/Apache Software Foundation/Tomcat 5.5/blast/bin/blastall -p blastn -d ecoli.nt -i test.fas -o blast.out" error=2 " The pertinent bits of code I'm using are... String cmd = "C:/Program Files/Apache Software Foundation/Tomcat 5.5/blast/bin/blastall -p blastn -d ecoli.nt -i test.fas -o blast.out"; ............ Runtime r = Runtime.getRuntime (); Process runBlast = r.exec (new String[] {"sh","-c",cmd}); runBlast.waitFor (); out.println ("Waiting for result"); //Write the results BufferedReader br = new BufferedReader (new FileReader (output)); String line = null; String results = ""; while ( (line = br.readLine ()) != null ) results = results.concat ("/n" + line); ............. I'm not sure why it give me an IOException. I've checked that the file input file exists and that all the paths are correct. Any ideas? Many thanks, Graham _______________________________________________ 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 _______________________________________________ Biojava-l mailing list - [email protected] http://lists.open-bio.org/mailman/listinfo/biojava-l
