//***************************************************************************************************************
ChimeraSlayer::ChimeraSlayer(string file, string temp, bool trim, string mode, int k, int ms, int mms, int win, float div,
-int minsim, int mincov, int minbs, int minsnp, int par, int it, int inc, int numw, bool r, string blas) : Chimera() {
+int minsim, int mincov, int minbs, int minsnp, int par, int it, int inc, int numw, bool r, string blas, int tid) : Chimera() {
try {
fastafile = file;
templateFileName = temp; templateSeqs = readSeqs(temp);
trimChimera = trim;
numNoParents = 0;
blastlocation = blas;
+ threadID = tid;
doPrep();
}
//***************************************************************************************************************
//template=self
ChimeraSlayer::ChimeraSlayer(string file, string temp, bool trim, map<string, int>& prior, string mode, int k, int ms, int mms, int win, float div,
- int minsim, int mincov, int minbs, int minsnp, int par, int it, int inc, int numw, bool r, string blas) : Chimera() {
+ int minsim, int mincov, int minbs, int minsnp, int par, int it, int inc, int numw, bool r, string blas, int tid) : Chimera() {
try {
fastafile = file; templateSeqs = readSeqs(fastafile);
templateFileName = temp;
priority = prior;
numNoParents = 0;
blastlocation = blas;
+ threadID = tid;
createFilter(templateSeqs, 0.0); //just removed columns where all seqs have a gap
if (searchMethod == "distance") {
- createFilter(templateSeqs, 0.0); //just removed columns where all seqs have a gap
+ //createFilter(templateSeqs, 0.0); //just removed columns where all seqs have a gap
//run filter on template copying templateSeqs into filteredTemplateSeqs
for (int i = 0; i < templateSeqs.size(); i++) {
}else if (searchMethod == "blast") {
//generate blastdb
- databaseLeft = new BlastDB(m->getRootName(m->getSimpleName(fastafile)), -1.0, -1.0, 1, -3, blastlocation);
+ databaseLeft = new BlastDB(m->getRootName(m->getSimpleName(fastafile)), -1.0, -1.0, 1, -3, blastlocation, threadID);
if (m->control_pressed) { return 0; }
}else if (searchMethod == "blast") {
//generate blastdb
- databaseLeft = new BlastDB(m->getRootName(m->getSimpleName(templateFileName)), -1.0, -1.0, 1, -3, blastlocation);
+ databaseLeft = new BlastDB(m->getRootName(m->getSimpleName(templateFileName)), -1.0, -1.0, 1, -3, blastlocation, threadID);
if (m->control_pressed) { return userTemplate; }
if (chimeraFlag == "yes") {
if ((chimeraResults[0].bsa >= minBS) || (chimeraResults[0].bsb >= minBS)) {
- m->mothurOut(querySeq.getName() + "\tyes"); m->mothurOutEndLine();
+ m->mothurOut(toString(threadID) +"\t"+ querySeq.getName() + "\tyes"); m->mothurOutEndLine();
outAcc << querySeq.getName() << endl;
if (templateFileName == "self") { chimericSeqs.insert(querySeq.getName()); }