]> git.donarmstrong.com Git - mothur.git/blobdiff - sequence.hpp
working on pam
[mothur.git] / sequence.hpp
index 224ae5d7a7452172c3aa3be1e63906e0a876efe2..c49899411f2dd7919d96ce9b9840c30b2b0dfcac 100644 (file)
@@ -27,10 +27,8 @@ public:
        Sequence();
        Sequence(string, string);
        Sequence(ifstream&);
+    Sequence(ifstream&, string&, bool);
        Sequence(istringstream&);
-       Sequence(const Sequence& se) : name(se.name), unaligned(se.unaligned), aligned(se.aligned), pairwise(se.pairwise), numBases(se.numBases), startPos(se.startPos), endPos(se.endPos),
-                                                                       alignmentLength(se.alignmentLength), isAligned(se.isAligned), longHomoPolymer(se.longHomoPolymer), ambigBases(se.ambigBases) { m = MothurOut::getInstance(); }
-       
        //these constructors just set the unaligned string to save space
        Sequence(string, string, string);  
        Sequence(ifstream&, string);
@@ -50,11 +48,14 @@ public:
        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();
@@ -65,14 +66,17 @@ public:
 private:
        MothurOut* m;
        void initialize();
-       string getSequenceString(ifstream&);
+       string getSequenceString(ifstream&, int&);
        string getCommentString(ifstream&);
-       string getSequenceString(istringstream&);
+       string getSequenceString(istringstream&, int&);
        string getCommentString(istringstream&);
+    string getSequenceName(ifstream&);
+    string getSequenceName(istringstream&);
        string name;
        string unaligned;
        string aligned;
        string pairwise;
+    string comment;
        int numBases;
        int alignmentLength;
        bool isAligned;