X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=alignmentdb.cpp;h=f59c5db7d6e6ef2d039ccdda8b48a6ea3fb6428a;hb=f509429e06e545bde69c97cacc0eb436775bd329;hp=bac61c451854b96e256bae11545448fa38589ebd;hpb=783b9ef8e739307aed392f35970701f6b53390fb;p=mothur.git diff --git a/alignmentdb.cpp b/alignmentdb.cpp index bac61c4..f59c5db 100644 --- a/alignmentdb.cpp +++ b/alignmentdb.cpp @@ -13,19 +13,25 @@ #include "blastdb.hpp" #include "referencedb.h" - /**************************************************************************************************/ -AlignmentDB::AlignmentDB(string fastaFileName, string s, int kmerSize, float gapOpen, float gapExtend, float match, float misMatch){ // This assumes that the template database is in fasta format, may +AlignmentDB::AlignmentDB(string fastaFileName, string s, int kmerSize, float gapOpen, float gapExtend, float match, float misMatch, int tid){ // This assumes that the template database is in fasta format, may try { // need to alter this in the future? m = MothurOut::getInstance(); longest = 0; method = s; bool needToGenerate = true; ReferenceDB* rdb = ReferenceDB::getInstance(); + bool silent = false; + threadID = tid; + + if (fastaFileName == "saved-silent") { + fastaFileName = "saved"; silent = true; + } if (fastaFileName == "saved") { int start = time(NULL); - m->mothurOutEndLine(); m->mothurOut("Using sequences from " + rdb->getSavedReference() + " that are saved in memory."); m->mothurOutEndLine(); + + if (!silent) { m->mothurOutEndLine(); m->mothurOut("Using sequences from " + rdb->getSavedReference() + " that are saved in memory."); m->mothurOutEndLine(); } for (int i = 0; i < rdb->referenceSeqs.size(); i++) { templateSequences.push_back(rdb->referenceSeqs[i]); @@ -35,7 +41,7 @@ AlignmentDB::AlignmentDB(string fastaFileName, string s, int kmerSize, float gap fastaFileName = rdb->getSavedReference(); numSeqs = templateSequences.size(); - m->mothurOut("It took " + toString(time(NULL) - start) + " to load " + toString(rdb->referenceSeqs.size()) + " sequences.");m->mothurOutEndLine(); + if (!silent) { m->mothurOut("It took " + toString(time(NULL) - start) + " to load " + toString(rdb->referenceSeqs.size()) + " sequences.");m->mothurOutEndLine(); } }else { int start = time(NULL); @@ -44,7 +50,7 @@ AlignmentDB::AlignmentDB(string fastaFileName, string s, int kmerSize, float gap #ifdef USE_MPI int pid, processors; - vector positions; + vector positions; MPI_Status status; MPI_File inMPI; @@ -157,8 +163,9 @@ AlignmentDB::AlignmentDB(string fastaFileName, string s, int kmerSize, float gap #endif } else if(method == "suffix") { search = new SuffixDB(numSeqs); } - else if(method == "blast") { search = new BlastDB(fastaFileName.substr(0,fastaFileName.find_last_of(".")+1), gapOpen, gapExtend, match, misMatch, ""); } + else if(method == "blast") { search = new BlastDB(fastaFileName.substr(0,fastaFileName.find_last_of(".")+1), gapOpen, gapExtend, match, misMatch, "", threadID); } else { + method = "kmer"; m->mothurOut(method + " is not a valid search option. I will run the command using kmer, ksize=8."); m->mothurOutEndLine(); search = new KmerDB(fastaFileName, 8); @@ -198,7 +205,7 @@ AlignmentDB::AlignmentDB(string s){ method = s; if(method == "suffix") { search = new SuffixDB(); } - else if(method == "blast") { search = new BlastDB(""); } + else if(method == "blast") { search = new BlastDB("", 0); } else { search = new KmerDB(); }