8 * Created by Pat Schloss on 12/15/08.
9 * Copyright 2008 Patrick D. Schloss. All rights reserved.
11 * A sequence object has three components: i) an accession number / name, ii) the unaligned primary sequence, iii) a
12 * pairwise aligned sequence, and iv) a sequence that is aligned to a reference alignment. This class has methods
13 * to set and get these values for the other classes where they are needed. *
18 #include "mothurout.h"
20 /**************************************************************************************************/
25 Sequence(string, string);
27 Sequence(istringstream&);
28 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),
29 alignmentLength(se.alignmentLength), isAligned(se.isAligned), longHomoPolymer(se.longHomoPolymer), ambigBases(se.ambigBases) { m = MothurOut::getInstance(); }
31 //these constructors just set the unaligned string to save space
32 Sequence(string, string, string);
33 Sequence(ifstream&, string);
34 Sequence(istringstream&, string);
37 void setUnaligned(string);
38 void setPairwise(string);
39 void setAligned(string);
41 void reverseComplement();
44 string convert2ints();
48 string getUnaligned();
49 string getInlineSeq();
57 void removeAmbigBases();
58 int getLongHomoPolymer();
60 void printSequence(ostream&);
65 string getSequenceString(ifstream&);
66 string getCommentString(ifstream&);
67 string getSequenceString(istringstream&);
68 string getCommentString(istringstream&);
81 /**************************************************************************************************/