#endif
}
else if(method == "suffix") { search = new SuffixDB(numSeqs); }
- else if(method == "blast") { search = new BlastDB(gapOpen, gapExtend, match, misMatch); }
+ else if(method == "blast") { search = new BlastDB(fastaFileName.substr(0,fastaFileName.find_last_of(".")+1), gapOpen, gapExtend, match, misMatch); }
else {
m->mothurOut(method + " is not a valid search option. I will run the command using kmer, ksize=8.");
m->mothurOutEndLine();
/**************************************************************************************************/
-BlastDB::BlastDB(float gO, float gE, float m, float mM) : Database(),
+BlastDB::BlastDB(string tag, float gO, float gE, float m, float mM) : Database(),
gapOpen(gO), gapExtend(gE), match(m), misMatch(mM) {
count = 0;
int randNumber = rand();
- dbFileName = toString(randNumber) + ".template.unaligned.fasta";
- queryFileName = toString(randNumber) + ".candidate.unaligned.fasta";
- blastFileName = toString(randNumber) + ".blast";
+ dbFileName = tag + toString(randNumber) + ".template.unaligned.fasta";
+ queryFileName = tag + toString(randNumber) + ".candidate.unaligned.fasta";
+ blastFileName = tag + toString(randNumber) + ".blast";
}
/**************************************************************************************************/
class BlastDB : public Database {
public:
- BlastDB(float, float, float, float);
+ BlastDB(string, float, float, float, float);
BlastDB();
~BlastDB();
}else if (searchMethod == "blast") {
//generate blastdb
- databaseLeft = new BlastDB(-1.0, -1.0, 1, -3);
+ databaseLeft = new BlastDB(m->getRootName(m->getSimpleName(templateFileName)), -1.0, -1.0, 1, -3);
for (int i = 0; i < templateSeqs.size(); i++) { databaseLeft->addSequence(*templateSeqs[i]); }
databaseLeft->generateDB();
}else if (searchMethod == "blast") {
//generate blastdb
- databaseLeft = new BlastDB(-1.0, -1.0, 1, -3);
+ databaseLeft = new BlastDB(m->getRootName(m->getSimpleName(templateFileName)), -1.0, -1.0, 1, -3);
for (int i = 0; i < userTemplate.size(); i++) { if (m->control_pressed) { return userTemplate; } databaseLeft->addSequence(*userTemplate[i]); }
databaseLeft->generateDB();
}
}
else if(method == "suffix") { database = new SuffixDB(numSeqs); }
- else if(method == "blast") { database = new BlastDB(gapOpen, gapExtend, match, misMatch); }
+ else if(method == "blast") { database = new BlastDB(tempFile.substr(0,tempFile.find_last_of(".")+1), gapOpen, gapExtend, match, misMatch); }
else if(method == "distance") { database = new DistanceDB(); }
else {
m->mothurOut(method + " is not a valid search option. I will run the command using kmer, ksize=8.");