+++ /dev/null
-#ifndef SEQUENCE_H
-#define SEQUENCE_H
-
-/*
- * sequence.h
- *
- *
- * 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. *
- *
- */
-
-
-//Data Structure for a fasta file.
-
-#include "mothur.h"
-#include "mothurout.h"
-
-/**************************************************************************************************/
-
-class Sequence {
-public:
- 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 setPairwise(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;
- string pairwise;
- int numBases;
- int alignmentLength;
- bool isAligned;
- int longHomoPolymer;
- int ambigBases;
- int startPos, endPos;
-};
-
-/**************************************************************************************************/
-
-#endif