X-Git-Url: https://git.donarmstrong.com/?p=mothur.git;a=blobdiff_plain;f=sequence.hpp;h=ad3a4b40c238c4260d36f7afea027b903539c8a0;hp=f48bf13dc98d034cea520cf78b09124fff30cb33;hb=d1c97b8c04bb75faca1e76ffad60b37a4d789d3d;hpb=74844a60d80c6dd06e3fb02ee9b928424f9019b0 diff --git a/sequence.hpp b/sequence.hpp index f48bf13..ad3a4b4 100644 --- a/sequence.hpp +++ b/sequence.hpp @@ -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;