public void startGromacsProgram(List<String> commands,
OutputStream outStream, boolean interactive, OutputStream helperStream) throws IOException {
SSHDataHandler dataHandler = getHandler();
if (commands.get(0).equals(GromacsConstants.MDRUN)
&& remoteProject.isUseMPILib()) {
Session mpiSess = dataHandler.createSession();
mpiSess.execCommand(remoteProject.getMpiLib());
outputSession(mpiSess);
// outputStdout(mpiSess.getStdout());
// outputStdout(mpiSess.getStderr());
mpiSess.close();
commands.add(0, Integer.toString(remoteProject.getNp()));
commands.add(0, GromacsConstants.MPIRUNOPTION);
commands.add(0, GromacsConstants.MPIRUN);
}
String command = ToolBox.createCommandString(commands);
Session sess = dataHandler.createSession();
SSHGromacsThread gromacsThread = new SSHGromacsThread(command, sess,
outStream, interactive, helperStream);
if (interactive)
gromacsThread
.setInputString(inputStringForInteractiveThread(commands