X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=maligner.cpp;h=5da4b9f9cece7a9e64dd4a5dd621477fc365e94e;hb=813f0516e9c7533859f57ebe6d7b8854896bf009;hp=f06884fcad747a84e8c3d8ae673a5eabf839f2ec;hpb=2bbb7273d4bf5209f098c764551c6e072d60df36;p=mothur.git diff --git a/maligner.cpp b/maligner.cpp index f06884f..5da4b9f 100644 --- a/maligner.cpp +++ b/maligner.cpp @@ -496,12 +496,7 @@ vector Maligner::getBlastSeqs(Sequence* q, int num) { try { indexes.clear(); vector refResults; - //generate blastdb - Database* database = new BlastDB(-2.0, -1.0, matchScore, misMatchPenalty); - for (int i = 0; i < db.size(); i++) { database->addSequence(*db[i]); } - database->generateDB(); - database->setNumSeqs(db.size()); - + //get parts of query string queryUnAligned = q->getUnaligned(); string leftQuery = queryUnAligned.substr(0, int(queryUnAligned.length() * 0.33)); //first 1/3 of the sequence @@ -510,8 +505,8 @@ vector Maligner::getBlastSeqs(Sequence* q, int num) { Sequence* queryLeft = new Sequence(q->getName(), leftQuery); Sequence* queryRight = new Sequence(q->getName(), rightQuery); - vector tempIndexesRight = database->findClosestMegaBlast(queryRight, num+1); - vector tempIndexesLeft = database->findClosestMegaBlast(queryLeft, num+1); + vector tempIndexesRight = databaseLeft->findClosestMegaBlast(queryRight, num+1); + vector tempIndexesLeft = databaseLeft->findClosestMegaBlast(queryLeft, num+1); //if ((tempIndexesRight.size() != (num+1)) || (tempIndexesLeft.size() != (num+1))) { m->mothurOut("megablast returned " + toString(tempIndexesRight.size()) + " results for the right end, and " + toString(tempIndexesLeft.size()) + " for the left end. Needed " + toString(num+1) + ". Unable to porcess sequence " + q->getName()); m->mothurOutEndLine(); return refResults; } @@ -564,8 +559,7 @@ vector Maligner::getBlastSeqs(Sequence* q, int num) { //cout << endl; delete queryRight; delete queryLeft; - delete database; - + return refResults; } catch(exception& e) {