X-Git-Url: https://git.donarmstrong.com/?p=mothur.git;a=blobdiff_plain;f=kmerdb.cpp;h=9a5d23500be955b459413beee989601f6c0ec78f;hp=2703e16d481ceccd6019ff642b97432ba5cf819f;hb=b206f634aae1b4ce13978d203247fb64757d5482;hpb=0571957d68cbbc0e425af1db8e808f826010b9e2 diff --git a/kmerdb.cpp b/kmerdb.cpp index 2703e16..9a5d235 100644 --- a/kmerdb.cpp +++ b/kmerdb.cpp @@ -57,6 +57,8 @@ KmerDB::~KmerDB(){} vector KmerDB::findClosestSequences(Sequence* candidateSeq, int num){ try { + if (num > numSeqs) { m->mothurOut("[WARNING]: you requested " + toString(num) + " closest sequences, but the template only contains " + toString(numSeqs) + ", adjusting."); m->mothurOutEndLine(); num = numSeqs; } + vector topMatches; Kmer kmer(kmerSize); searchScore = 0; @@ -215,6 +217,20 @@ int KmerDB::getCount(int kmer) { } } /**************************************************************************************************/ +int KmerDB::getReversed(int kmerNumber) { + try { + Kmer kmer(kmerSize); + + if (kmerNumber < 0) { return 0; } //if user gives negative number + else if (kmerNumber > maxKmer) { return 0; } //or a kmer that is bigger than maxkmer + else { return kmer.getReverseKmerNumber(kmerNumber); } // kmer is in vector range + } + catch(exception& e) { + m->errorOut(e, "KmerDB", "getReversed"); + exit(1); + } +} +/**************************************************************************************************/ vector KmerDB::getSequencesWithKmer(int kmer) { try {