X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=bellerophon.cpp;h=833cfb907d6d4bd2aed8acb3d8522932ac3b2e7d;hb=250e3b11b1c9c1e1ad458ab6c7e71ac2e67e11d9;hp=f4d04ea074b1d2d95cb9bcff4fcc3084e7f234c6;hpb=4b6e3f7b5543822a2cca4fb076ab6af2ce8ca62d;p=mothur.git diff --git a/bellerophon.cpp b/bellerophon.cpp index f4d04ea..833cfb9 100644 --- a/bellerophon.cpp +++ b/bellerophon.cpp @@ -246,7 +246,7 @@ int Bellerophon::getChimeras() { numSeqsPerProcessor = iters / processors; //each process hits this only once - unsigned long int startPos = pid * numSeqsPerProcessor; + unsigned long long startPos = pid * numSeqsPerProcessor; if(pid == processors - 1){ numSeqsPerProcessor = iters - pid * numSeqsPerProcessor; } @@ -274,7 +274,7 @@ int Bellerophon::getChimeras() { MPI_Recv(&length, 1, MPI_INT, j, 2001, MPI_COMM_WORLD, &status); char* buf = new char[length]; - MPI_Recv(&buf, length, MPI_CHAR, j, 2001, MPI_COMM_WORLD, &status); + MPI_Recv(&buf[0], length, MPI_CHAR, j, 2001, MPI_COMM_WORLD, &status); string temp = buf; if (temp.length() > length) { temp = temp.substr(0, length); } @@ -293,7 +293,7 @@ int Bellerophon::getChimeras() { //played with this a bit, but it may be better to try user-defined datatypes with set string lengths?? vector MPIBestSend = getBestWindow(lines[0]); pref.clear(); - + //send your result to parent for (int i = 0; i < numSeqs; i++) { @@ -314,7 +314,7 @@ int Bellerophon::getChimeras() { #else //divide breakpoints between processors - #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux) + #if defined (__APPLE__) || (__MACH__) || (linux) || (__linux) || (__linux__) || (__unix__) || (__unix) if(processors == 1){ lines.push_back(linePair(0, iters)); @@ -326,7 +326,7 @@ int Bellerophon::getChimeras() { int numSeqsPerProcessor = iters / processors; for (int i = 0; i < processors; i++) { - unsigned long int startPos = i * numSeqsPerProcessor; + unsigned long long startPos = i * numSeqsPerProcessor; if(i == processors - 1){ numSeqsPerProcessor = iters - i * numSeqsPerProcessor; } @@ -356,7 +356,7 @@ int Bellerophon::getChimeras() { int Bellerophon::createProcesses(vector mid) { try { -#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux) +#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux) || (__linux__) || (__unix__) || (__unix) int process = 0; int exitCommand = 1; vector processIDS; @@ -677,7 +677,7 @@ int Bellerophon::writePrefs(string file, linePair tempLine) { for (int j = 0; j < numSeqs; j++) { - if (m->control_pressed) { outTemp.close(); remove(file.c_str()); return 0; } + if (m->control_pressed) { outTemp.close(); m->mothurRemove(file); return 0; } outTemp << pref[i][j].name << '\t' << pref[i][j].leftParent << '\t' << pref[i][j].rightParent << '\t'; outTemp << pref[i][j].score << '\t' << pref[i][j].closestLeft << '\t' << pref[i][j].closestRight << '\t' << pref[i][j].midpoint << endl; @@ -709,7 +709,7 @@ int Bellerophon::readPrefs(string file) { for (int j = 0; j < numSeqs; j++) { - if (m->control_pressed) { inTemp.close(); remove(file.c_str()); return 0; } + if (m->control_pressed) { inTemp.close(); m->mothurRemove(file); return 0; } inTemp >> pref[i][j].name >> pref[i][j].leftParent >> pref[i][j].rightParent; inTemp >> pref[i][j].score >> pref[i][j].closestLeft >> pref[i][j].closestRight >> pref[i][j].midpoint; @@ -719,7 +719,7 @@ int Bellerophon::readPrefs(string file) { inTemp.close(); - remove(file.c_str()); + m->mothurRemove(file); return 0; }