Mac binaries
[jabaws.git] / website / archive / binaries / mac / src / clustalw / src / multipleAlign / MyersMillerProfileAlign.h
diff --git a/website/archive/binaries/mac/src/clustalw/src/multipleAlign/MyersMillerProfileAlign.h b/website/archive/binaries/mac/src/clustalw/src/multipleAlign/MyersMillerProfileAlign.h
new file mode 100644 (file)
index 0000000..0a932fd
--- /dev/null
@@ -0,0 +1,70 @@
+/**
+ * Author: Mark Larkin
+ * 
+ * Copyright (c) 2007 Des Higgins, Julie Thompson and Toby Gibson.  
+ */
+#ifndef MYERSMILLERPROFILEALIGN_H
+#define MYERSMILLERPROFILEALIGN_H
+
+#include <vector>
+#include "ProfileAlignAlgorithm.h"
+#include "ProfileStandard.h"
+#include "ProfileWithSub.h"
+namespace clustalw
+{
+
+class MyersMillerProfileAlign : public ProfileAlignAlgorithm
+{
+    public:
+  virtual ~MyersMillerProfileAlign(){};
+
+    /* Functions */
+        MyersMillerProfileAlign();
+        virtual int profileAlign(Alignment* alnPtr, DistMatrix* distMat, 
+                                 vector<int>* group, int* aligned);
+    /* Attributes */
+    
+    private:
+    /* Functions */
+        void addGGaps(Alignment* alnPtr, SeqArray* seqArray);
+        void addGGapsMask(vector<char>* mask,int len, vector<int>* path1, vector<int>* path2);
+        int prfScore(int n, int m);
+        int progTracepath();
+        void progDel(int k);
+        void progAdd(int k);
+        void progAlign();
+        int progDiff(int A, int B, int M, int N, int go1, int go2);
+        int openPenalty1(int i, int j);
+        int extPenalty1(int i, int j);
+        int gapPenalty1(int i, int j, int k);
+        int openPenalty2(int i, int j);
+        int extPenalty2(int i, int j);
+        int gapPenalty2(int i, int j, int k);    
+    /* Attributes */
+        ProfileWithSub* profileWithSub;
+        ProfileStandard* profileStandard;
+        int gapcoef1;
+        int gapcoef2;
+        int lencoef1;
+        int lencoef2;
+        vector<int> displ;
+        vector<int> gS;
+        vector<int> HH;
+        vector<int> DD;
+        vector<int> RR;
+        vector<int> SS;
+        vector<int> alnPath1;
+        vector<int> alnPath2;
+        int printPtr;
+        int lastPrint;                        
+        int matrix[32][32];
+        vector<int> gaps;
+        bool switchProfiles;
+        const SeqArray* profile1;
+        const SeqArray* profile2;
+        int _gapPos1, _gapPos2;
+        int alignmentLength;                   
+};
+
+}
+#endif