]> git.donarmstrong.com Git - mothur.git/blob - kmerdb.hpp
fixed some bugs
[mothur.git] / kmerdb.hpp
1 #ifndef KMERDB_HPP
2 #define KMERDB_HPP
3
4 /*
5  *  kmerdb.h
6  *  
7  *
8  *  Created by Pat Schloss on 12/16/08.
9  *  Copyright 2008 Patrick D. Schloss. All rights reserved.
10  *
11  *      This class is a child class of the Database class, which stores the template sequences as a kmer table and provides
12  *      a method of searching the kmer table for the sequence with the most kmers in common with a query sequence.
13  *      kmerLocations is the primary storage variable that is a two-dimensional vector where each row represents the
14  *      different number of kmers and each column contains the index to sequences that use that kmer.
15  *
16  *      Construction of an object of this type will first look for an appropriately named database file and if it is found
17  *      then will read in the database file (readKmerDB), otherwise it will generate one and store the data in memory
18  *      (generateKmerDB)
19
20  */
21
22 #include "mothur.h"
23
24 class KmerDB : public Database {
25         
26 public:
27         KmerDB(string, int);
28         ~KmerDB();
29         Sequence findClosestSequence(Sequence*);
30
31 private:
32         void generateKmerDB(string);
33         void readKmerDB(string, ifstream&);
34         int kmerSize;
35         int maxKmer;
36         vector<vector<int> > kmerLocations;
37 };
38
39 #endif