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(ifstream&, string&, bool);
31 Sequence(istringstream&);
32 //these constructors just set the unaligned string to save space
33 Sequence(string, string, string);
34 Sequence(ifstream&, string);
35 Sequence(istringstream&, string);
38 void setUnaligned(string);
39 void setPairwise(string);
40 void setAligned(string);
42 void reverseComplement();
45 string convert2ints();
49 string getUnaligned();
50 string getInlineSeq();
57 int filterToPos(int); //any character before the pos is changed to . and aligned and unaligned strings changed
58 int filterFromPos(int); //any character after the pos is changed to . and aligned and unaligned strings changed
61 void removeAmbigBases();
62 int getLongHomoPolymer();
64 void printSequence(ostream&);
69 string getSequenceString(ifstream&, int&);
70 string getCommentString(ifstream&);
71 string getSequenceString(istringstream&, int&);
72 string getCommentString(istringstream&);
73 string getSequenceName(ifstream&);
74 string getSequenceName(istringstream&);
87 /**************************************************************************************************/