#define USE_XCED 0 #if USE_XCED #include "config.h" #include "share.h" #else #endif #include #include #include #include #include #include #include #include #include "mtxutl.h" #define SHOWVERSION fprintf( stderr, "%s (%s) Version 5.571, model=%s\n", progName( argv[0] ), (dorp=='d')?"nuc":"aa", modelname ) #define FFT_THRESHOLD 70 #define FFT_WINSIZE_P 20 #define FFT_WINSIZE_D 100 #define DISPSEQF 60 #define DISPSITEI 0 #define MAXITERATION 500 #define M 10000 /* njob no saidaiti */ #define N 500000 /* nlen no saidaiti */ #define MAXSEG 100000 #define B 256 #define C 60 /* 1 gyou no mojisuu */ #define D 6 #define rnd() ( ( 1.0 / ( RAND_MAX + 1.0 ) ) * rand() ) #define MAX(X,Y) ( ((X)>(Y))?(X):(Y) ) #define MIN(X,Y) ( ((X)<(Y))?(X):(Y) ) #define G(X) ( ((X)>(0))?(X):(0) ) #define BEFF 1.0 /* 0.6 ni suruto zureru */ #define WIN 3 #define SGAPP -1000 #define GETA2 0.001 #define GETA3 0.001 #define NOTSPECIFIED 100009 #define SUEFF 0.1 /* upg/(spg+upg) -> sueff.sed */ #define DIVLOCAL 0 #define INTMTXSCALE 1000000.0 #define JTT 201 #define TM 202 char modelname[100]; int njob, nlenmax; int amino_n[0x80]; char amino_grp[0x80]; int amino_dis[0x80][0x80]; int n_dis[26][26]; char amino[26]; double polarity[20]; double volume[20]; int ppid; double fastathreshold; int pslocal, ppslocal; int constraint; int divpairscore; int fmodel; // 1-> fmodel 0->default -1->raw int nblosum; // 45, 50, 62, 80 int kobetsubunkatsu; int dorp; int niter; int contin; int calledByXced; int devide; int scmtd; int weight; int utree; int tbutree; int refine; int check; double cut; int cooling; int penalty, ppenalty; int penalty_ex, ppenalty_ex; int offset, poffset; int scoremtx; int TMorJTT; char use_fft; int fftscore; int fftWinSize; int fftThreshold; int fftRepeatStop; int fftNoAnchStop; int divWinSize; int divThreshold; int disp; int outgap; char alg; int cnst; int mix; int tbitr; int tbweight; int tbrweight; int disopt; int pamN; int checkC; float geta2; int treemethod; int kimuraR; char *swopt; int fftkeika; int score_check; int makedistmtx; char *inputfile; char *signalSM; FILE *prep_g; FILE *trap_g; /* sengen no ichi ha koko dake de ha nai */ extern void constants(); extern char **Calignm1(); extern char **Dalignm1(); extern char **align0(); extern double Cscore_m_1( char **, int, int, double ** ); extern double score_m_1( char **, int, int, double ** ); extern double score_calc0( char **, int, double **, int ); extern char seqcheck( char ** ); extern float substitution( char *, char * ); extern float substitution_score( char *, char * ); extern float substitution_nid( char *, char * ); extern float substitution_hosei( char *, char * ); extern double ipower( double, int ); extern float translate_and_Calign(); extern float A__align(); extern float A__align11(); extern float A__align_gapmap(); extern float partA__align(); extern float L__align11(); extern float G__align11(); extern float Falign(); extern float Falign_localhom(); extern float Conalign(); extern float Aalign(); extern float imp_match_out_sc( int, int ); extern float part_imp_match_out_sc( int, int ); extern void ErrorExit(); extern void cpmx_calc(); extern void intergroup_score( char **, char **, double *, double *, int, int, int, double * ); extern int conjuctionfortbfast(); extern int fastconjuction(); extern char seqcheck( char ** ); typedef struct _LocalHom { struct _LocalHom *next; int start1; int end1; int start2; int end2; double opt; int overlapaa; double importance; double wimportance; } LocalHom; typedef struct _NodeInCub { int step; int LorR; } NodeInCub; typedef struct _Node { struct _Node *children[3]; int tmpChildren[3]; double length[3]; double *weightptr[3]; int top[3]; int *members[3]; } Node; typedef struct _Segment { int start; int end; int center; double score; int skipForeward; int skipBackward; struct _Segment *pair; int number; } Segment; typedef struct _Segments { Segment group1; Segment group2; int number1; int number2; } Segments; typedef struct _Achain { int next; int prev; // int curr; } Achain; char **seq_g; char **res_g; typedef struct _Fukusosuu { double R; double I; } Fukusosuu; #include "fft.h" #include "functions.h"