4 * Copyright (c) 2007 Des Higgins, Julie Thompson and Toby Gibson.
6 #ifndef MYERSMILLERPROFILEALIGN_H
7 #define MYERSMILLERPROFILEALIGN_H
10 #include "ProfileAlignAlgorithm.h"
11 #include "ProfileStandard.h"
12 #include "ProfileWithSub.h"
16 class MyersMillerProfileAlign : public ProfileAlignAlgorithm
19 virtual ~MyersMillerProfileAlign(){};
22 MyersMillerProfileAlign();
23 virtual int profileAlign(Alignment* alnPtr, DistMatrix* distMat,
24 vector<int>* group, int* aligned);
29 void addGGaps(Alignment* alnPtr, SeqArray* seqArray);
30 void addGGapsMask(vector<char>* mask,int len, vector<int>* path1, vector<int>* path2);
31 int prfScore(int n, int m);
36 int progDiff(int A, int B, int M, int N, int go1, int go2);
37 int openPenalty1(int i, int j);
38 int extPenalty1(int i, int j);
39 int gapPenalty1(int i, int j, int k);
40 int openPenalty2(int i, int j);
41 int extPenalty2(int i, int j);
42 int gapPenalty2(int i, int j, int k);
44 ProfileWithSub* profileWithSub;
45 ProfileStandard* profileStandard;
63 const SeqArray* profile1;
64 const SeqArray* profile2;
65 int _gapPos1, _gapPos2;