]> git.donarmstrong.com Git - mothur.git/blobdiff - sequence.hpp
added screen.seqs command - pds
[mothur.git] / sequence.hpp
index dea06bdca0bdcd5844c02c8e94694a3b9b8d28e4..929ca781ba9906c736bc83e2a79b556b583651f2 100644 (file)
@@ -8,6 +8,10 @@
  *  Created by Pat Schloss on 12/15/08.
  *  Copyright 2008 Patrick D. Schloss. All rights reserved.
  *
+ *     A sequence object has three components: i) an accession number / name, ii) the unaligned primary sequence, iii) a
+ *     pairwise aligned sequence, and iv) a sequence that is aligned to a reference alignment.  This class has methods
+ *     to set and get these values for the other classes where they are needed.  *
+ *
  */
 using namespace std;
 
@@ -20,6 +24,7 @@ class Sequence {
 public:
        Sequence();
        Sequence(string, string);
+       Sequence(ifstream&);
        
        void setName(string);
        void setUnaligned(string);
@@ -32,16 +37,27 @@ public:
        string getAligned();
        string getPairwise();
        string getUnaligned();
-       int getLength();
-       void printSequence(ofstream&);
+       int getNumBases();
+       int getStartPos();
+       int getEndPos();
+       int getAlignLength();
+       int getAmbigBases();
+       int getLongHomoPolymer();
+       bool getIsAligned();
+       void printSequence(ostream&);
        
 private:
+       void initialize();
        string name;
        string unaligned;
        string aligned;
        string pairwise;
-       int length;
-       int lengthAligned;
+       int numBases;
+       int alignmentLength;
+       bool isAligned;
+       int longHomoPolymer;
+       int ambigBases;
+       int startPos, endPos;
 };
 
 /**************************************************************************************************/