]> git.donarmstrong.com Git - mothur.git/blobdiff - sequence.hpp
adds group parameter to chimera.uchime so you can check for chimeras with template...
[mothur.git] / sequence.hpp
index ac9384bf156bf471cc35b3fe8d57f6ecf777e857..b4337405a811545d4c3b2f64dc8771d42898d1fc 100644 (file)
@@ -15,7 +15,7 @@
  */
 
 #include "mothur.h"
-
+#include "mothurout.h"
 
 /**************************************************************************************************/
 
@@ -24,6 +24,14 @@ public:
        Sequence();
        Sequence(string, string);
        Sequence(ifstream&);
+       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);
+       Sequence(istringstream&, string);
        
        void setName(string);
        void setUnaligned(string);
@@ -31,23 +39,33 @@ public:
        void setAligned(string);
        void setLength();
        void reverseComplement();
+       void trim(int);
        
        string convert2ints();
        string getName();
        string getAligned();
        string getPairwise();
        string getUnaligned();
+       string getInlineSeq();
        int getNumBases();
        int getStartPos();
        int getEndPos();
+       void padToPos(int);
+       void padFromPos(int);
        int getAlignLength();
        int getAmbigBases();
+       void removeAmbigBases();
        int getLongHomoPolymer();
        bool getIsAligned();
        void printSequence(ostream&);
        
 private:
+       MothurOut* m;
        void initialize();
+       string getSequenceString(ifstream&);
+       string getCommentString(ifstream&);
+       string getSequenceString(istringstream&);
+       string getCommentString(istringstream&);
        string name;
        string unaligned;
        string aligned;