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 //Data Structure for a fasta file.
21 #include "mothurout.h"
23 /**************************************************************************************************/
28 Sequence(string, string);
30 Sequence(istringstream&);
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();
55 int filterToPos(int); //any character before the pos is changed to . and aligned and unaligned strings changed
56 int filterFromPos(int); //any character after the pos is changed to . and aligned and unaligned strings changed
59 void removeAmbigBases();
60 int getLongHomoPolymer();
62 void printSequence(ostream&);
67 string getSequenceString(ifstream&, int&);
68 string getCommentString(ifstream&);
69 string getSequenceString(istringstream&, int&);
70 string getCommentString(istringstream&);
83 /**************************************************************************************************/