]> git.donarmstrong.com Git - mothur.git/blobdiff - sequence.hpp
changes while testing
[mothur.git] / sequence.hpp
index f48bf13dc98d034cea520cf78b09124fff30cb33..ad3a4b40c238c4260d36f7afea027b903539c8a0 100644 (file)
@@ -14,6 +14,9 @@
  *
  */
 
+
+//Data Structure for a fasta file.
+
 #include "mothur.h"
 #include "mothurout.h"
 
@@ -24,6 +27,12 @@ public:
        Sequence();
        Sequence(string, string);
        Sequence(ifstream&);
+    Sequence(ifstream&, string&, bool);
+       Sequence(istringstream&);
+       //these constructors just set the unaligned string to save space
+       Sequence(string, string, string);  
+       Sequence(ifstream&, string);
+       Sequence(istringstream&, string);
        
        void setName(string);
        void setUnaligned(string);
@@ -31,17 +40,25 @@ public:
        void setAligned(string);
        void setLength();
        void reverseComplement();
+       void trim(int);
        
        string convert2ints();
        string getName();
        string getAligned();
        string getPairwise();
        string getUnaligned();
+       string getInlineSeq();
+    int getNumNs();
        int getNumBases();
        int getStartPos();
        int getEndPos();
+       void padToPos(int);
+       void padFromPos(int);
+    int filterToPos(int); //any character before the pos is changed to . and aligned and unaligned strings changed
+    int filterFromPos(int); //any character after the pos is changed to . and aligned and unaligned strings changed
        int getAlignLength();
        int getAmbigBases();
+       void removeAmbigBases();
        int getLongHomoPolymer();
        bool getIsAligned();
        void printSequence(ostream&);
@@ -49,8 +66,12 @@ public:
 private:
        MothurOut* m;
        void initialize();
-       string getSequenceString(ifstream&);
+       string getSequenceString(ifstream&, int&);
        string getCommentString(ifstream&);
+       string getSequenceString(istringstream&, int&);
+       string getCommentString(istringstream&);
+    string getSequenceName(ifstream&);
+    string getSequenceName(istringstream&);
        string name;
        string unaligned;
        string aligned;