}
//***************************************************************************************************************
-int Bellerophon::print(ostream& out, ostream& outAcc) {
+int Bellerophon::print(ostream& out, ostream& outAcc, string s) {
try {
int above1 = 0;
}
#ifdef USE_MPI
//***************************************************************************************************************
-int Bellerophon::print(MPI_File& out, MPI_File& outAcc) {
+int Bellerophon::print(MPI_File& out, MPI_File& outAcc, string s) {
try {
int pid;
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;
}
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); }
//played with this a bit, but it may be better to try user-defined datatypes with set string lengths??
vector<string> MPIBestSend = getBestWindow(lines[0]);
pref.clear();
-
+
//send your result to parent
for (int i = 0; i < numSeqs; i++) {
#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));
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;
}
int Bellerophon::createProcesses(vector<int> mid) {
try {
-#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux)
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux) || (__linux__) || (__unix__) || (__unix)
int process = 0;
int exitCommand = 1;
vector<int> processIDS;
int Bellerophon::generatePreferences(vector<SeqMap> left, vector<SeqMap> right, int mid){
try {
- //float dme = 0.0;
SeqMap::iterator itR;
SeqMap::iterator itL;
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;
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;
inTemp.close();
- remove(file.c_str());
+ m->mothurRemove(file);
return 0;
}