#include <stdio.h>#include "seqaln.h"Defines | |
| #define | append_score(X, Y) |
| #define | scandiag() |
| #define | scanup() |
| #define | scanleft() |
Functions | |
| void | ptrace (struct SEQALN_SEQUENCE *seq, struct SEQALN_PROFILE *pro, struct SEQALN_CONSTANTS *scoring, struct SEQALN_RESULTS *results, struct SEQALN_IO *io) |
Value:
(scorel = \
(SEQALN_TRACE *)newmem(1, sizeof(SEQALN_TRACE)), \
scorel->i = i, \
scorel->j = j, \
scorel->next = results->trace, \
results->trace = scorel)
| #define scandiag | ( | ) |
| #define scanleft | ( | ) |
Value:
if (j > 0) { \ tmplast = results->S[i][j]; \ if (palpha_eq_pbeta) { /* just check one position up */\ if (results->S[i][j-1]+scoring->palpha == tmplast) {\ results->align_len++; \ j--; \ foundalign = 1; \ } \ } \ else { /* check to start of column if necessary */ \ nextj = j; \ tmpgap = scoring->palpha - scoring->pbeta; \ Slast = results->S[i][j]; \ do { \ tmpgap += scoring->pbeta; \ tmplast = results->S[i][--nextj]; \ } while (nextj>0 && Slast != tmplast + tmpgap); \ if (Slast == tmplast + tmpgap) { \ results->align_len += j - nextj; \ j = nextj; \ foundalign = 1; /* found a deletion */ \ } \ } \ }
| #define scanup | ( | ) |
Value:
if (i > 0) { \ tmplast = results->S[i][j]; \ if (alpha_eq_beta) { /* just check one position up */\ if (results->S[i-1][j]+scoring->alpha == tmplast) { \ results->align_len++; \ i--; \ foundalign = 1; \ } \ } \ else { /* check to start of column if necessary */ \ nexti = i; \ tmpgap = scoring->alpha - scoring->beta; \ Slast = results->S[i][j]; \ do { \ tmpgap += scoring->beta; \ tmplast = results->S[--nexti][j]; \ } while (nexti>0 && Slast != tmplast + tmpgap); \ if (Slast == tmplast + tmpgap) { \ results->align_len += i - nexti; \ i = nexti; \ foundalign = 1; /* found a deletion */ \ } \ } \ }
| void ptrace | ( | struct SEQALN_SEQUENCE * | seq, | |
| struct SEQALN_PROFILE * | pro, | |||
| struct SEQALN_CONSTANTS * | scoring, | |||
| struct SEQALN_RESULTS * | results, | |||
| struct SEQALN_IO * | io | |||
| ) |
References SEQALN_RESULTS::align_len, SEQALN_RESULTS::aligned, SEQALN_PROFILE::alpha, SEQALN_CONSTANTS::alpha, append_score, SEQALN_RESULTS::bestS, SEQALN_RESULTS::bestSi, SEQALN_RESULTS::bestSj, SEQALN_PROFILE::beta, SEQALN_CONSTANTS::beta, SEQALN_CONSTANTS::Debug, SEQALN_CONSTANTS::deltafn, SEQALN_CONSTANTS::envelope, FIT, GLOBAL, LOCAL, nexti, nextj, OVER, SEQALN_CONSTANTS::palpha, print_trace(), SEQALN_CONSTANTS::ptype, SEQALN_RESULTS::S, scandiag, scanleft, scanup, SEQALN_IO::STDERR, SEQALN_IO::STDOUT, SEQALN_RESULTS::trace, and SEQALN_CONSTANTS::traceupper.
Referenced by main().
1.5.6