* to set and get these values for the other classes where they are needed. *
*
*/
-using namespace std;
-#include "mothur.h"
+//Data Structure for a fasta file.
+
+#include "mothur.h"
+#include "mothurout.h"
/**************************************************************************************************/
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);
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 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&);
private:
+ MothurOut* m;
void initialize();
+ string getSequenceString(ifstream&, int&);
+ string getCommentString(ifstream&);
+ string getSequenceString(istringstream&, int&);
+ string getCommentString(istringstream&);
string name;
string unaligned;
string aligned;