]> git.donarmstrong.com Git - mothur.git/blobdiff - kmerdb.cpp
moved utilities out of mothur.h and into mothurOut class.
[mothur.git] / kmerdb.cpp
index 2560a443044016d8096f7ce2f7cf0636291e97c1..29265933d8c22ea32c1f943a877b3b6cf62ccfe0 100644 (file)
@@ -42,12 +42,14 @@ KmerDB::KmerDB(string fastaFileName, int kSize) : Database(), kmerSize(kSize) {
                
        }
        catch(exception& e) {
-               errorOut(e, "KmerDB", "KmerDB");
+               m->errorOut(e, "KmerDB", "KmerDB");
                exit(1);
        }       
 
 }
 /**************************************************************************************************/
+KmerDB::KmerDB() : Database() {}
+/**************************************************************************************************/
 
 KmerDB::~KmerDB(){}
 
@@ -94,7 +96,7 @@ vector<int> KmerDB::findClosestSequences(Sequence* candidateSeq, int num){
                return topMatches;              
        }
        catch(exception& e) {
-               errorOut(e, "KmerDB", "findClosestSequences");
+               m->errorOut(e, "KmerDB", "findClosestSequences");
                exit(1);
        }       
 }
@@ -105,7 +107,10 @@ void KmerDB::generateDB(){
        try {
                
                ofstream kmerFile;                                                                              //      once we have the kmerLocations folder print it out
-               openOutputFile(kmerDBName, kmerFile);                                   //      to a file
+               m->openOutputFile(kmerDBName, kmerFile);                                        //      to a file
+               
+               //output version
+               kmerFile << m->getVersion() << endl;
                
                for(int i=0;i<maxKmer;i++){                                                             //      step through all of the possible kmer numbers
                        kmerFile << i << ' ' << kmerLocations[i].size();        //      print the kmer number and the number of sequences with
@@ -118,7 +123,7 @@ void KmerDB::generateDB(){
                
        }
        catch(exception& e) {
-               errorOut(e, "KmerDB", "generateDB");
+               m->errorOut(e, "KmerDB", "generateDB");
                exit(1);
        }       
        
@@ -143,7 +148,7 @@ void KmerDB::addSequence(Sequence seq) {
                count++;
        }
        catch(exception& e) {
-               errorOut(e, "KmerDB", "addSequence");
+               m->errorOut(e, "KmerDB", "addSequence");
                exit(1);
        }       
 }
@@ -154,6 +159,9 @@ void KmerDB::readKmerDB(ifstream& kmerDBFile){
                                        
                kmerDBFile.seekg(0);                                                                    //      start at the beginning of the file
                
+               //read version
+               string line = m->getline(kmerDBFile); m->gobble(kmerDBFile);
+               
                string seqName;
                int seqNumber;
 
@@ -170,7 +178,7 @@ void KmerDB::readKmerDB(ifstream& kmerDBFile){
                
        }
        catch(exception& e) {
-               errorOut(e, "KmerDB", "readKmerDB");
+               m->errorOut(e, "KmerDB", "readKmerDB");
                exit(1);
        }       
 }
@@ -183,7 +191,7 @@ int KmerDB::getCount(int kmer) {
                else {  return kmerLocations[kmer].size();      }  // kmer is in vector range
        }
        catch(exception& e) {
-               errorOut(e, "KmerDB", "getCount");
+               m->errorOut(e, "KmerDB", "getCount");
                exit(1);
        }       
 }
@@ -200,10 +208,11 @@ vector<int> KmerDB::getSequencesWithKmer(int kmer) {
                return seqs;
        }
        catch(exception& e) {
-               errorOut(e, "KmerDB", "getSequencesWithKmer");
+               m->errorOut(e, "KmerDB", "getSequencesWithKmer");
                exit(1);
        }       
 }
+/**************************************************************************************************/
 
 
 /**************************************************************************************************/