4 * Copyright (c) 2007 Des Higgins, Julie Thompson and Toby Gibson.
6 #ifndef FULLPAIRWISEALIGN_H
7 #define FULLPAIRWISEALIGN_H
9 #include "PairwiseAlignBase.h"
14 class FullPairwiseAlign : public PairwiseAlignBase
19 virtual ~FullPairwiseAlign(){};
21 virtual void pairwiseAlign(Alignment *alignPtr, DistMatrix *distMat, int iStart,
22 int iEnd, int jStart, int jEnd);
28 int calcScore(int iat, int jat, int v1, int v2);
29 float tracePath(int tsb1, int tsb2);
30 void forwardPass(const vector<int>* seq1, const vector<int>* seq2, int n, int m);
31 void reversePass(const vector<int>* ia, const vector<int>* ib);
32 int diff(int A, int B, int M, int N, int tb, int te);
35 int tbgap(int k, int tb);
36 int tegap(int k, int te);
38 // I have constant pointers to the data. This allows for the fastest access.
39 const vector<int>* _ptrToSeq1;
40 const vector<int>* _ptrToSeq2;
52 int _gapOpen; // scaled to be an integer, this is not a mistake
53 int _gapExtend; // scaled to be an integer, not a mistake
56 int matrix[NUMRES][NUMRES];