Katzlab dd76ab1d12 Added PTL2 Scripts
These are PTL2 files from Auden 2/9
2023-02-14 11:20:52 -05:00

27 lines
894 B
C++

#ifndef ___3STATE_ALPH
#define ___3STATE_ALPH
#include "alphabet.h"
#include "errorMsg.h"
class threeStateAlphabet : public alphabet {
public:
explicit threeStateAlphabet();
virtual ~threeStateAlphabet() {}
virtual alphabet* clone() const { return new threeStateAlphabet(*this); }
int unknown() const {return -2;}
int gap() const {errorMsg::reportError("The method indel::gap() is used"); return -1;} // What is it for ? I don't need this !!!
int size() const {return 3;}
int stringSize() const {return 1;} // one letter code.
int relations(const int charInSeq, const int charToCheck) const;
int fromChar(const string& str, const int pos) const;
int fromChar(const char s) const;
string fromInt(const int in_id) const;
vector<int> fromString(const string& str) const;
bool isSpecific(const int id) const {return (id>=0 && id < size());}
};
#endif