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