#include "referencedb.h"
/**************************************************************************************************/
-//deep copy
-AlignmentDB::AlignmentDB(const AlignmentDB& adb) : numSeqs(adb.numSeqs), longest(adb.longest), method(adb.method), emptySequence(adb.emptySequence) {
- try {
-
- m = MothurOut::getInstance();
- if (adb.method == "blast") {
- search = new BlastDB(*((BlastDB*)adb.search));
- }else if(adb.method == "kmer") {
- search = new KmerDB(*((KmerDB*)adb.search));
- }else if(adb.method == "suffix") {
- search = new SuffixDB(*((SuffixDB*)adb.search));
- }else {
- m->mothurOut("[ERROR]: cannot create copy of alignment database, unrecognized method - " + adb.method); m->mothurOutEndLine();
- }
-
- for (int i = 0; i < adb.templateSequences.size(); i++) {
- Sequence temp(adb.templateSequences[i]);
- templateSequences.push_back(temp);
- }
- }
- catch(exception& e) {
- m->errorOut(e, "AlignmentDB", "AlignmentDB");
- exit(1);
- }
-
-}
-/**************************************************************************************************/
-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;
bool needToGenerate = true;
ReferenceDB* rdb = ReferenceDB::getInstance();
bool silent = false;
+ threadID = tid;
if (fastaFileName == "saved-silent") {
fastaFileName = "saved"; silent = true;
#ifdef USE_MPI
int pid, processors;
- vector<unsigned long int> positions;
+ vector<unsigned long long> positions;
MPI_Status status;
MPI_File inMPI;
#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.");
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(); }