File: FastPairwiseAlign.h

package info (click to toggle)
clustalx 2.1%2Blgpl-9
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, forky, sid, trixie
  • size: 3,324 kB
  • sloc: cpp: 40,050; sh: 163; xml: 102; makefile: 16
file content (54 lines) | stat: -rw-r--r-- 1,485 bytes parent folder | download | duplicates (11)
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