X-Git-Url: https://git.donarmstrong.com/?p=mothur.git;a=blobdiff_plain;f=sequence.hpp;h=c49899411f2dd7919d96ce9b9840c30b2b0dfcac;hp=224ae5d7a7452172c3aa3be1e63906e0a876efe2;hb=cf9987b67aa49777a4c91c2d21f96e58bf17aa82;hpb=96f25c3c0f3ba2a1634094de146630dbc9ee0d03 diff --git a/sequence.hpp b/sequence.hpp index 224ae5d..c498994 100644 --- a/sequence.hpp +++ b/sequence.hpp @@ -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;