]> git.donarmstrong.com Git - mothur.git/blobdiff - fastamap.h
This is mothur v 1.2.0 - the April ~24, 2009 release
[mothur.git] / fastamap.h
index 8ba2fc6ec3e9507a018084080d6dd6275b1203d1..355a8df51786bdac9c229aed9d4233bd46d41c3e 100644 (file)
  
 using namespace std;
  
-#include <iostream>
-#include <fstream>
-#include <string>
-#include <map>
-#include "utilities.hpp"
+#include "mothur.h"
 
 
 /* This class represents the fasta file.  It reads a fasta file a populates the internal data structure "data".
@@ -33,13 +29,12 @@ public:
        string getGroupName(string);  //pass a sequence name get its group
        int getGroupNumber(string);  //pass a sequence name get number of sequence in its group
        string getNames(string);        //pass a sequence get the string of names in the group separated by ','s.
-       void push_back(string, string); //sequencename, groupname
-       void set(string, string, string); //sequencename, groupname, groupnumber, names.
-       void clear();
-       int size();                                     //returns number of unique sequences
-       void print(ostream&);           //produces a 2 column file with the groupname in the first column and the names in the second column.
+       void push_back(string, string); //sequencename, sequence
+       int sizeUnique();                                       //returns number of unique sequences
+       void printNamesFile(ostream&);          //produces a 2 column file with the groupname in the first column and the names in the second column - a names file.
        void printCondensedFasta(ostream&);             //produces a fasta file.
        void readFastaFile(ifstream&);
+       string getSequence(string);             //pass it a name of a sequence, it returns the sequence.
 
 private:
        struct group {
@@ -48,8 +43,10 @@ private:
                string names;                                           //the names of the sequence separated by ','.
        };
 
-       map<string, group>  data;  //sequence, groupinfo
+       map<string, group>  data;  //sequence, groupinfo        - condensed representation of file
+       map<string, string>  seqmap;  //name, sequence  -  uncondensed representation of file
        map<string, group>::iterator it;
+       map<string, string>::iterator it2;
 };
 
 #endif