X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=sequence.hpp;h=c49899411f2dd7919d96ce9b9840c30b2b0dfcac;hb=HEAD;hp=94d7d29b6117da80862e9fc8b3d0855c4adb8edd;hpb=0bcfddf7bc721a334bdae42d86a580019303537d;p=mothur.git diff --git a/sequence.hpp b/sequence.hpp index 94d7d29..c498994 100644 --- a/sequence.hpp +++ b/sequence.hpp @@ -14,6 +14,9 @@ * */ + +//Data Structure for a fasta file. + #include "mothur.h" #include "mothurout.h" @@ -24,8 +27,8 @@ 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); @@ -45,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(); @@ -60,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;