#include #include #include #include #include "include/externs.h" #include "include/cephes.h" /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * O V E R L A P P I N G T E M P L A T E T E S T * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ double Pr(int u, double eta); int OverlappingTemplateMatchings(int m, int n, BitSequence *epsilon) { int ret = 0; int i, k, match; double W_obs, eta, sum, chi2, p_value, lambda; int M, N, j, K = 5; unsigned int nu[6] = { 0, 0, 0, 0, 0, 0 }; double pi[6] = { 0.143783, 0.139430, 0.137319, 0.124314, 0.106209, 0.348945 }; BitSequence *sequence; M = 1032; N = n/M; if ( (sequence = (BitSequence *) calloc(m, sizeof(BitSequence))) == NULL ) { return 0; } else { for (i = 0; i < m; i++) sequence[i] = 1; } lambda = (double)(M-m+1)/pow(2,m); eta = lambda/2.0; sum = 0.0; for ( i=0; i