X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;ds=sidebyside;f=filterseqscommand.cpp;h=82c73f3d439c1d3cc154c8dac67398075134a1e8;hb=8dd3c225255d7084e3aff8740aa4f1f1cabb367a;hp=173227f372f4d4cbf7445e5f3fea440220e70b4a;hpb=19fcbbdba99658f5eca244803280f9ee7f9f6607;p=mothur.git diff --git a/filterseqscommand.cpp b/filterseqscommand.cpp index 173227f..82c73f3 100644 --- a/filterseqscommand.cpp +++ b/filterseqscommand.cpp @@ -222,7 +222,7 @@ FilterSeqsCommand::FilterSeqsCommand(string option) { temp = validParameter.validFile(parameters, "processors", false); if (temp == "not found"){ temp = m->getProcessors(); } m->setProcessors(temp); - convert(temp, processors); + m->mothurConvert(temp, processors); vertical = validParameter.validFile(parameters, "vertical", false); if (vertical == "not found") { @@ -341,7 +341,7 @@ int FilterSeqsCommand::filterSequences() { #ifdef USE_MPI int pid, numSeqsPerProcessor, num; int tag = 2001; - vectorMPIPos; + vectorMPIPos; MPI_Status status; MPI_Comm_size(MPI_COMM_WORLD, &processors); //set processors to the number of mpi processes running @@ -420,12 +420,14 @@ int FilterSeqsCommand::filterSequences() { MPI_Barrier(MPI_COMM_WORLD); //make everyone wait - just in case #else - vector positions = m->divideFile(fastafileNames[s], processors); - + + #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux) + vector positions = m->divideFile(fastafileNames[s], processors); + for (int i = 0; i < (positions.size()-1); i++) { lines.push_back(new linePair(positions[i], positions[(i+1)])); } - #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux) + if(processors == 1){ int numFastaSeqs = driverRunFilter(filter, filteredFasta, fastafileNames[s], lines[0]); numSeqs += numFastaSeqs; @@ -444,6 +446,7 @@ int FilterSeqsCommand::filterSequences() { if (m->control_pressed) { return 1; } #else + lines.push_back(new linePair(0, 1000)); int numFastaSeqs = driverRunFilter(filter, filteredFasta, fastafileNames[s], lines[0]); numSeqs += numFastaSeqs; @@ -462,7 +465,7 @@ int FilterSeqsCommand::filterSequences() { } #ifdef USE_MPI /**************************************************************************************/ -int FilterSeqsCommand::driverMPIRun(int start, int num, MPI_File& inMPI, MPI_File& outMPI, vector& MPIPos) { +int FilterSeqsCommand::driverMPIRun(int start, int num, MPI_File& inMPI, MPI_File& outMPI, vector& MPIPos) { try { string outputString = ""; int count = 0; @@ -568,7 +571,7 @@ int FilterSeqsCommand::driverRunFilter(string F, string outputFilename, string i } #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux) - unsigned long int pos = in.tellg(); + unsigned long long pos = in.tellg(); if ((pos == -1) || (pos >= filePos->end)) { break; } #else if (in.eof()) { break; } @@ -676,7 +679,7 @@ string FilterSeqsCommand::createFilter() { #ifdef USE_MPI int pid, numSeqsPerProcessor, num; int tag = 2001; - vector MPIPos; + vector MPIPos; MPI_Status status; MPI_File inMPI; @@ -736,12 +739,14 @@ string FilterSeqsCommand::createFilter() { MPI_Barrier(MPI_COMM_WORLD); //make everyone wait - just in case #else - vector positions = m->divideFile(fastafileNames[s], processors); - for (int i = 0; i < (positions.size()-1); i++) { - lines.push_back(new linePair(positions[i], positions[(i+1)])); - } + #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux) + vector positions = m->divideFile(fastafileNames[s], processors); + for (int i = 0; i < (positions.size()-1); i++) { + lines.push_back(new linePair(positions[i], positions[(i+1)])); + } + if(processors == 1){ int numFastaSeqs = driverCreateFilter(F, fastafileNames[s], lines[0]); numSeqs += numFastaSeqs; @@ -752,6 +757,7 @@ string FilterSeqsCommand::createFilter() { if (m->control_pressed) { return filterString; } #else + lines.push_back(new linePair(0, 1000)); int numFastaSeqs = driverCreateFilter(F, fastafileNames[s], lines[0]); numSeqs += numFastaSeqs; if (m->control_pressed) { return filterString; } @@ -877,7 +883,7 @@ int FilterSeqsCommand::driverCreateFilter(Filters& F, string filename, linePair* } #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux) - unsigned long int pos = in.tellg(); + unsigned long long pos = in.tellg(); if ((pos == -1) || (pos >= filePos->end)) { break; } #else if (in.eof()) { break; } @@ -899,7 +905,7 @@ int FilterSeqsCommand::driverCreateFilter(Filters& F, string filename, linePair* } #ifdef USE_MPI /**************************************************************************************/ -int FilterSeqsCommand::MPICreateFilter(int start, int num, Filters& F, MPI_File& inMPI, vector& MPIPos) { +int FilterSeqsCommand::MPICreateFilter(int start, int num, Filters& F, MPI_File& inMPI, vector& MPIPos) { try { MPI_Status status;