[Biojava-l] Using Java to create BLAST searches

mark.schreiber at novartis.com mark.schreiber at novartis.com
Wed Nov 1 09:53:33 UTC 2006


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" <g.etherington at imb.uq.edu.au>
Sent by: biojava-l-bounces at lists.open-bio.org
11/01/2006 04:39 PM

 
        To:     <biojava-l at lists.open-bio.org>
        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  -  Biojava-l at lists.open-bio.org
http://lists.open-bio.org/mailman/listinfo/biojava-l






More information about the Biojava-l mailing list