📄 tatstats.h
字号:
#ifndef MAXSQ#include "param.h"#endif#ifndef MAXSAV#ifdef FASTS#define MAXSAV 25#else#define MAXSAV 10#endif#endif#if defined(IBM_AIX) && defined(MAXSEG)#undef MAXSEG#endif#define MAXSEG 30struct savestr { int score; /* pam score with segment optimization */ int score0; /* pam score of best single segment */ int start0; /* score from global match */ int dp; /* diagonal of match */ int start; /* start of match in lib seq */ int stop; /* end of match in lib seq */ int exact; /* exact match */#if defined(FASTF) int *used; /* array of positions in aa0 that were used */#endif};struct dstruct { /* diagonal structure for saving current run */ int score; /* hash score of current match */ int start; /* start of current match */ int stop; /* end of current match */ struct savestr *dmax; /* location in vmax[] where best score data saved */};struct tat_str { double *probs; int lowscore; int highscore;};struct f_struct { struct dstruct *diag; struct savestr *vmax; /* best matches saved for one sequence */ struct savestr **vptr; struct slink *sarr; struct savestr *lowmax; int maxsav; /* max number of peptide alignments saved in search */ int maxsav_w; /* max number of peptide alignments saved in alignment */ int shuff_cnt; int nsave; int ndo; int noff; int nm0; /* number of fragments */#if defined(FASTS) || defined(FASTM) int *nmoff; /* offset number, start */ int *nm_u; int *aa0b; /* beginning of each segment */ int *aa0e; /* end of each segment */ int *aa0i; /* index of each segment */ int *aa0s; /* max score of each segment */ int *aa0l; /* longest possible peptide match */#else int nmoff; /* offset number, start */ unsigned char *aa0; int aa0ix;#endif unsigned char *aa0t; /* temp location for peptides */ int *aa0ti; /* temp index for peptides */ int hmask; /* hash constants */ int *pamh1; /* pam based array */ int *pamh2; /* pam based kfact array */#if defined(FASTS) || defined(FASTM) int *link, *harr, *l_end; /* hash arrays */#else struct hlstr *link, *harr; /* hash arrays */#endif int kshft; /* shift width */ int nsav, lowscor; /* number of saved runs, worst saved run */ unsigned char *aa1x; /* contains translated codons 111222333 */ unsigned char *aa1y; /* contains translated codons 123123123 */ int n10; int *waa; int *res; int max_res; double *priors;#if defined(FASTS) || defined(FASTM) struct tat_str **tatprobs; /* array of pointers to tat structs */ double **intprobs; /* array of integrated tatprobs */#endif int dotat; double spacefactor;};struct slink { int score; double tatprob; struct tat_str *tat; struct tat_str *newtat; struct savestr *vp; struct slink *next; struct slink *prev;};struct segstr { double tatprob; int length;};void generate_tatprobs(const unsigned char *query, int begin, int end, double *priors, int **pam2, int nsq, struct tat_str **tatarg, struct tat_str *oldtat);doublecalc_tatusov ( struct slink *last, struct slink *this, const unsigned char *aa0, int n0, const unsigned char *aa1, int n1, int **pam2, int nsq, struct f_struct *f_str, int pseudocts, int do_opt, int zsflag );double seg_tatprob(struct slink *start, const unsigned char *aa0, int n0, const unsigned char *aa1, int n1, struct f_struct *f_str, struct pstruct *ppst, int do_opt);void calc_priors(double *priors, struct pstruct *ppst, struct f_struct *f_str, const unsigned char *aa1, int n1, int pseudocts);double factorial (int a, int b);int max_score(int *scores, int nsq);int min_score(int *scores, int nsq);double calc_spacefactor(struct f_struct *f_str);void linreg(double *lnx, double *x, double *lny, int n, double *a, double *b, double *c, int start);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -