commandFactory = CommandFactory::getInstance();
+ string tag = "";
+#ifdef USE_MPI
+ int pid;
+ MPI_Comm_rank(MPI_COMM_WORLD, &pid); //find out who we are
+
+ tag = toString(pid);
+#endif
+
m->mothurOut("Mothur's directories:"); m->mothurOutEndLine();
//redirect output
//test to make sure directory exists
output = m->getFullPathName(output);
- string outTemp = output + "temp";
+ string outTemp = output + tag + "temp";
ofstream out;
out.open(outTemp.c_str(), ios::trunc);
if(!out) {
m->mothurOut(output + " directory does not exist or is not writable."); m->mothurOutEndLine();
}else{
out.close();
- remove(outTemp.c_str());
+ m->mothurRemove(outTemp);
m->mothurOut("outputDir=" + output); m->mothurOutEndLine();
commandFactory->setOutputDirectory(output);
}
//test to make sure directory exists
input = m->getFullPathName(input);
- string inTemp = input + "temp";
+ string inTemp = input + tag + "temp";
ofstream in;
in.open(inTemp.c_str(), ios::trunc);
if(!in) {
m->mothurOut(input + " directory does not exist or is not writable."); m->mothurOutEndLine();
}else{
in.close();
- remove(inTemp.c_str());
+ m->mothurRemove(inTemp);
m->mothurOut("inputDir=" + input); m->mothurOutEndLine();
commandFactory->setInputDirectory(input);
}
if (lastChar != "\\") { tempdefault += "\\"; }
#endif
- m->mothurOut("tempDefault=" + tempdefault); m->mothurOutEndLine();
- m->setDefaultPath(tempdefault);
+ //test to make sure directory exists
+ tempdefault = m->getFullPathName(tempdefault);
+ string inTemp = tempdefault + tag + "temp";
+ ofstream in;
+ in.open(inTemp.c_str(), ios::trunc);
+ if(!in) {
+ m->mothurOut(tempdefault + " directory does not exist or is not writable."); m->mothurOutEndLine();
+ }else{
+ in.close();
+ m->mothurRemove(inTemp);
+ m->mothurOut("tempDefault=" + tempdefault); m->mothurOutEndLine();
+ m->setDefaultPath(tempdefault);
+ }
}
return 0;