X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=chimeraslayer.cpp;h=cd268d3d6f1a513e932940332bab8ed15c59ada1;hb=1cf188b912d6da8f2cd03dd71cecef664a699c1a;hp=59b2fea4fa895a10ffe6ff9f462c448c7fa88014;hpb=1b49ed179327150ebf24d77b33d9b3e6872cc8c0;p=mothur.git diff --git a/chimeraslayer.cpp b/chimeraslayer.cpp index 59b2fea..cd268d3 100644 --- a/chimeraslayer.cpp +++ b/chimeraslayer.cpp @@ -999,7 +999,7 @@ vector ChimeraSlayer::getRefSeqs(Sequence* q, vector& this //find closest seqs to query in template - returns copies of seqs so trim does not destroy - remember to deallocate Sequence* newSeq = new Sequence(q->getName(), q->getAligned()); runFilter(newSeq); - refSeqs = decalc->findClosest(newSeq, thisTemplate, thisFilteredTemplate, numWanted); + refSeqs = decalc->findClosest(newSeq, thisTemplate, thisFilteredTemplate, numWanted, minSim); delete newSeq; }else if (searchMethod == "blast") { refSeqs = getBlastSeqs(q, thisTemplate, numWanted); //fills indexes @@ -1025,12 +1025,12 @@ vector ChimeraSlayer::getBlastSeqs(Sequence* q, vector& db string leftQuery = queryUnAligned.substr(0, int(queryUnAligned.length() * 0.33)); //first 1/3 of the sequence string rightQuery = queryUnAligned.substr(int(queryUnAligned.length() * 0.66)); //last 1/3 of the sequence - Sequence* queryLeft = new Sequence(q->getName()+"left", leftQuery); - Sequence* queryRight = new Sequence(q->getName()+"right", rightQuery); - - vector tempIndexesLeft = databaseLeft->findClosestMegaBlast(queryLeft, num+1); - vector tempIndexesRight = databaseLeft->findClosestMegaBlast(queryRight, num+1); + Sequence* queryLeft = new Sequence(q->getName(), leftQuery); + Sequence* queryRight = new Sequence(q->getName(), rightQuery); + vector tempIndexesLeft = databaseLeft->findClosestMegaBlast(queryLeft, num+1, minSim); + vector tempIndexesRight = databaseLeft->findClosestMegaBlast(queryRight, num+1, minSim); + cout << q->getName() << '\t' << leftQuery << '\t' << "leftMatches = " << tempIndexesLeft.size() << '\t' << rightQuery << " rightMatches = " << tempIndexesRight.size() << endl; vector smaller; vector larger;