OptionParser parser(option);
map<string,string> parameters = parser.getParameters();
- ValidParameters validParameter;
+ ValidParameters validParameter("filter.seqs");
map<string,string>::iterator it;
//check to make sure all parameters are valid for command
if (path == "") { fastafileNames[i] = inputDir + fastafileNames[i]; }
}
- int ableToOpen;
ifstream in;
- ableToOpen = openInputFile(fastafileNames[i], in);
+ int ableToOpen = openInputFile(fastafileNames[i], in, "noerror");
+
+ //if you can't open it, try default location
+ if (ableToOpen == 1) {
+ if (m->getDefaultPath() != "") { //default path is set
+ string tryPath = m->getDefaultPath() + getSimpleName(fastafileNames[i]);
+ m->mothurOut("Unable to open " + fastafileNames[i] + ". Trying default " + tryPath); m->mothurOutEndLine();
+ ableToOpen = openInputFile(tryPath, in, "noerror");
+ fastafileNames[i] = tryPath;
+ }
+ }
+ in.close();
+
if (ableToOpen == 1) {
- m->mothurOut(fastafileNames[i] + " will be disregarded."); m->mothurOutEndLine();
+ m->mothurOut("Unable to open " + fastafileNames[i] + ". It will be disregarded."); m->mothurOutEndLine();
//erase from file list
fastafileNames.erase(fastafileNames.begin()+i);
i--;
#ifdef USE_MPI
int pid, start, end, numSeqsPerProcessor, num;
int tag = 2001;
- vector<long>MPIPos;
+ vector<unsigned long int>MPIPos;
MPI_Status status;
MPI_Comm_size(MPI_COMM_WORLD, &processors); //set processors to the number of mpi processes running
MPI_Comm_rank(MPI_COMM_WORLD, &pid); //find out who we are
-
+ cout << pid << "is in create filter " << endl;
MPI_File outMPI;
MPI_File tempMPI;
MPI_File inMPI;
}
#ifdef USE_MPI
/**************************************************************************************/
-int FilterSeqsCommand::driverMPIRun(int start, int num, MPI_File& inMPI, MPI_File& outMPI, vector<long>& MPIPos) {
+int FilterSeqsCommand::driverMPIRun(int start, int num, MPI_File& inMPI, MPI_File& outMPI, vector<unsigned long int>& MPIPos) {
try {
string outputString = "";
int count = 0;
#ifdef USE_MPI
int pid, numSeqsPerProcessor, num;
int tag = 2001;
- vector<long> MPIPos;
+ vector<unsigned long int> MPIPos;
MPI_Status status;
MPI_File inMPI;
}
#ifdef USE_MPI
/**************************************************************************************/
-int FilterSeqsCommand::MPICreateFilter(int start, int num, Filters& F, MPI_File& inMPI, vector<long>& MPIPos) {
+int FilterSeqsCommand::MPICreateFilter(int start, int num, Filters& F, MPI_File& inMPI, vector<unsigned long int>& MPIPos) {
try {
MPI_Status status;