Hi,
I want to run blastall on several databases, so I run it with -d "dbName1 dbName2"...
This work well if I launch the command line in a terminal, but not if I launch it from my java program...
It seems like the "" are not reconized.
Here is what I've done :

Process blastRun;
String pOption, dOption, oOption, iOption, eOption, tOption, blastCommandLine, line;
BufferedReader errorBuff;
File outFile;


try {
pOption = " -p " + program;
tOption = " -T"; // out file in html format
dOption = " -d \"" + db + "\"";
iOption = " -i " + query;
eOption = " -e " + eValue;
oOption = " -o " + outFilePath;

blastCommandLine = exePath + pOption + dOption + tOption + iOption + eOption + oOption;


System.out.println("\nblastcommandLine = " + blastCommandLine);

// Call external blastall programm
blastRun = Runtime.getRuntime().exec(blastCommandLine);

// Catch blast error

System.out.println("\nErrorStream = " + blastRun.getErrorStream().read());
errorBuff = new BufferedReader(new InputStreamReader(blastRun.getErrorStream()));

System.out.println("\nerrorBuff = ");
while ((line = errorBuff.readLine()) != null) {
System.out.println(line);
}

System.out.println("\nOutputStream = " + blastRun.getOutputStream());

} catch (IOException ex) {

System.out.println("BLAST NOT RUN");

System.out.println("IOException : " + ex.toString());

}


And here is the error :

blastcommandLine = /Applications/blast/blastall -p blastp -d "db1 db2" -T -i query.faa -e 10.0 -o /out.html

ErrorStream = 91

errorBuff =
blastall] ERROR: Arguments must start with '-' (the offending argument #5 was: db2"')

OutputStream = [EMAIL PROTECTED]

The exactly same command line copy/pasted in a terminal works very well...

Is someone has an idea?

Laurence


--
Laurence HUMMEL
Génopole - Plate-Forme 4 "Intégration et Analyse Génomiques"
Institut Pasteur
28 rue du docteur Roux - 75015 PARIS
Tel : 01.44.38.95.36
_______________________________________________
Biojava-l mailing list  -  [EMAIL PROTECTED]
http://biojava.org/mailman/listinfo/biojava-l

Reply via email to