X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=database.hpp;h=b2817a779dc1b95070ef77fbe6e8bf5b11159a3c;hb=8dd3c225255d7084e3aff8740aa4f1f1cabb367a;hp=01916d1924bb86466798dc2667f83aaeda174c3d;hpb=63e089e0b3aad1741bab60119ed7ccc784dce347;p=mothur.git diff --git a/database.hpp b/database.hpp index 01916d1..b2817a7 100644 --- a/database.hpp +++ b/database.hpp @@ -20,6 +20,7 @@ struct seqMatch { //used to select top n matches int seq; int match; + seqMatch() {} seqMatch(int s, int m) : seq(s), match(m) {} }; /**************************************************************************************************/ @@ -44,18 +45,28 @@ class Database { public: Database(); + Database(const Database& db) : numSeqs(db.numSeqs), longest(db.longest), searchScore(db.searchScore), results(db.results), Scores(db.Scores) { m = MothurOut::getInstance(); } virtual ~Database(); virtual void generateDB() = 0; virtual void addSequence(Sequence) = 0; //add sequence to search engine + virtual string getName(int) { return ""; } virtual vector findClosestSequences(Sequence*, int) = 0; // returns indexes of n closest sequences to query + virtual vector findClosestMegaBlast(Sequence*, int, int){return results;} virtual float getSearchScore(); + virtual vector getSearchScores() { return Scores; } //assumes you already called findClosestMegaBlast virtual int getLongestBase(); virtual void readKmerDB(ifstream&){}; virtual void setNumSeqs(int i) { numSeqs = i; } + virtual vector getSequencesWithKmer(int){ vector filler; return filler; }; + virtual int getReversed(int) { return 0; } + virtual int getMaxKmer(){ return 1; } protected: + MothurOut* m; int numSeqs, longest; float searchScore; + vector results; + vector Scores; }; /**************************************************************************************************/ #endif