1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
/**
* Author: Mark Larkin
*
* Copyright (c) 2007 Des Higgins, Julie Thompson and Toby Gibson.
*/
#ifndef FASTPAIRWISEALIGN_H
#define FASTPAIRWISEALIGN_H
#include "PairwiseAlignBase.h"
namespace clustalw
{
class FastPairwiseAlign : public PairwiseAlignBase
{
public:
/* Functions */
FastPairwiseAlign();
virtual ~FastPairwiseAlign(){};
virtual void pairwiseAlign(Alignment *alignPtr, DistMatrix *distMat, int iStart,
int iEnd, int jStart, int jEnd);
/* Attributes */
private:
/* Functions */
void pairAlign(const vector<int>* seq, int l1, int l2);
void makePPtrs(vector<int>& tptr, vector<int>& pl, const vector<int>* seq,
int length);
void makeNPtrs(vector<int>& tptr, vector<int>& pl, const vector<int>* seq,
int length);
void putFrag(int fs, int v1, int v2, int flen);
int fragRelPos(int a1, int b1, int a2, int b2);
void desQuickSort(vector<int>& array1, vector<int>& array2, int arraySize);
/* Attributes */
vector<int> displ;
vector<int> zza;
vector<int> zzb;
vector<int> zzc;
vector<int> zzd;
int next;
int currFrag;
int maxSoFar;
int vatend;
Array2D<int> accum;
vector<int> diagIndex;
vector<int> slopes;
int _maxAlnLength;
};
}
#endif
|