WSTester updated to work plus hopefully all the other changes that need to go into...
[jabaws.git] / binaries / src / ViennaRNA / RNAforester / src / rna_alphabet.h
diff --git a/binaries/src/ViennaRNA/RNAforester/src/rna_alphabet.h b/binaries/src/ViennaRNA/RNAforester/src/rna_alphabet.h
new file mode 100644 (file)
index 0000000..1b1345e
--- /dev/null
@@ -0,0 +1,99 @@
+#ifndef _RNA_ALPHABET_
+#define _RNA_ALPHABET_
+
+#include <string>
+
+using namespace std;
+
+/*
+not every c++ compiler allows that enum types are used as
+template arguments
+
+typedef enum
+  {
+    ALPHA_UNDEFINED=-1,
+    ALPHA_BASE_A=0,
+    ALPHA_BASE_C,
+    ALPHA_BASE_G,
+    ALPHA_BASE_U,
+    ALPHA_BASEPAIR,
+    ALPHA_GAP,
+    ALPHA_BASE,
+    RNA_ALPHABET_SIZE,
+  } RNA_Alphabet;
+*/
+
+typedef char RNA_Alphabet;
+
+/** pair alphabet of RNA_Alphabet */
+typedef struct {RNA_Alphabet a; RNA_Alphabet b;} RNA_AlphaPair;
+
+
+//const int ALPHA_UNDEFINED=-1;
+/*
+const int ALPHA_BASE_A=0;
+const int ALPHA_BASE_C=1;
+const int ALPHA_BASE_G=2;
+const int ALPHA_BASE_U=3;
+const int ALPHA_BASEPAIR=4;
+const int ALPHA_GAP=5;
+const int ALPHA_BASE=6;*/
+
+
+const int ALPHA_BASE_A='a';
+const int ALPHA_BASE_C='c';
+const int ALPHA_BASE_G='g';
+const int ALPHA_BASE_U='u';
+const int ALPHA_BASEPAIR='P';
+const int ALPHA_GAP='-';
+const int ALPHA_BASE='B';
+
+const int RNA_ALPHABET_SIZE=7;
+
+/*const int ALPHABET_SIZE = 256;*/
+
+/*
+class RNA_AlphabetTransformation
+{
+private:
+       const static int m_alphabetsize;
+       const static int m_rna_alphabetsize;
+
+       RNA_Alphabet m_alpha2RNA_Alpha[ALPHABET_SIZE];
+       char m_RNA_Alpha2alpha[RNA_ALPHABET_SIZE];
+
+       void setMapEntry(RNA_Alphabet a, char c);
+public:
+       RNA_AlphabetTransformation();
+
+       inline RNA_Alphabet RNA_AlphabetTransformation::alpha2RNA_Alpha(char c)
+       {
+               return m_alpha2RNA_Alpha[(unsigned int)c];
+       };
+
+       inline char RNA_AlphabetTransformation::RNA_Alpha2alpha(RNA_Alphabet a)
+       {
+               return m_RNA_Alpha2alpha[(unsigned int)a];
+       };
+
+};*/
+
+const int ALPHA_PRO_BASE_A=0;
+const int ALPHA_PRO_BASE_C=1;
+const int ALPHA_PRO_BASE_G=2;
+const int ALPHA_PRO_BASE_U=3;
+const int ALPHA_PRO_BASEPAIR=4;
+const int ALPHA_PRO_GAP=5;
+const int ALPHA_PRO_BASE=6;
+
+struct RNA_Alphabet_Profile
+{
+       RNA_Alphabet_Profile() {};
+
+       double p[RNA_ALPHABET_SIZE];
+       string columnStr;
+};
+
+int alpha2RNA_Alpha(char c);
+
+#endif