+ fixed automatic Python path settings in Makefiles
[qpalma.git] / DynProg / fill_matrix.h
1 #ifndef _FILLMATRIX_H__
2 #define _FILLMATRIX_H__
3
4 #include "Mathmatics.h"
5 #include "penalty_info.h"
6 #include <algorithm> //Eigentlich in Header
7 #include <assert.h>
8 #include <ctype.h>
9 #include <iostream>
10 #include <math.h>
11 #include <stdlib.h>
12 #include <string.h>
13
14
15 struct ArrayElem { //24B
16 double score;
17 int prev_j;
18 int prev_i;
19 int prev_matrix_no;
20 bool isSplice;
21 } ;
22
23 struct pre_score { //24B
24 double value; //8
25 int prev_i; //4
26 int prev_j; //4
27 int prev_matrix_no;//4
28 bool issplice;//4
29 };
30
31 typedef struct pre_score Pre_score;
32
33 typedef struct Align_pair { //24B
34 double value ;
35 bool issplice;
36 int previ,prevj ;
37 char est_char;
38 char dna_char;
39 };
40
41
42 void fill_matrix (int nr_paths, Pre_score* matrices[], int len_est, int len_dna, char* est, char* dna, double* prb, penalty_struct* functions, double* matchmatrix, penalty_struct* qualityScores, double* donor, double* acceptor, bool remove_duplicate_scores, int nr_donor_sites, int* donor_sites, int* max_score_positions);
43 // funktion aendern in void result_align(Pre_score* matrices[], int anzpath,
44
45 int check_char(char base);
46
47 bool result_align (Pre_score* matrices[], int matrixnr, int i, int j, int* result_length_ptr, char* est, char* dna, int* s_align, int* e_align, int* m_param, double* alignmentscores, int* max_score_positions );
48
49 extern void print_align(Pre_score* matrix, int length_est, int length_dna, Align_pair* vektor, int result_length, int print_matrix);
50
51 double getScore(double *matchmatrix,int mlen, int dnaChar, int estChar);
52
53
54 double scoreMatch(int dnaChar, int estChar, double baseScore);
55
56
57 #endif // _FILLMATRIX_H__