]> git.donarmstrong.com Git - mothur.git/blobdiff - suffixdb.cpp
added MPI code, broke up chimera.seqs into 5 separated commands, added parse.sff...
[mothur.git] / suffixdb.cpp
index 2aa8f3f3c04e734acb1d15406f324522b24ac2f0..b3496f60703ae6cadf09ad8159fdd4fa1fbf27e6 100644 (file)
@@ -26,6 +26,12 @@ SuffixDB::SuffixDB(int numSeqs) : Database() {
        suffixForest.resize(numSeqs);
        count = 0;
 }
+/**************************************************************************************************/
+
+SuffixDB::SuffixDB() : Database() {
+       count = 0;
+}
+
 /**************************************************************************************************/
 //assumes sequences have been added using addSequence
 vector<int> SuffixDB::findClosestSequences(Sequence* candidateSeq, int num){
@@ -76,4 +82,36 @@ void SuffixDB::addSequence(Sequence seq) {
 SuffixDB::~SuffixDB(){                                                                                                         
        for (int i = (suffixForest.size()-1); i >= 0; i--) {  suffixForest.pop_back();  }
 }
+#ifdef USE_MPI 
+/**************************************************************************************************/
+int SuffixDB::MPISend(int receiver) {
+       try {
+               
+               //send numSeqs - int
+               MPI_Send(&numSeqs, 1, MPI_INT, receiver, 2001, MPI_COMM_WORLD); 
+                                                                       
+               return 0;
+       }
+       catch(exception& e) {
+               m->errorOut(e, "SuffixDB", "MPISend");
+               exit(1);
+       }
+}
+/**************************************************************************************************/
+int SuffixDB::MPIRecv(int sender) {
+       try {
+               MPI_Status status;
+               //receive numSeqs - int
+               MPI_Recv(&numSeqs, 1, MPI_INT, sender, 2001, MPI_COMM_WORLD, &status);
+               
+               suffixForest.resize(numSeqs);
+               
+               return 0;
+       }
+       catch(exception& e) {
+               m->errorOut(e, "SuffixDB", "MPIRecv");
+               exit(1);
+       }
+}
+#endif 
 /**************************************************************************************************/