File: MyersMillerProfileAlign.h

package info (click to toggle)
clustalx 2.1%2Blgpl-3
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 2,332 kB
  • ctags: 3,424
  • sloc: cpp: 40,050; sh: 163; xml: 102; makefile: 11
file content (70 lines) | stat: -rw-r--r-- 2,016 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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
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