12 #include <sys/types.h>
19 #ifdef enablemultithread
23 #define VERSION "6.857b"
24 #define SHOWVERSION fprintf( stderr, "%s (%s) Version " VERSION " alg=%c, model=%s\n%d thread(s)\n", progName( argv[0] ), (dorp=='d')?"nuc":"aa", alg, modelname, nthread )
26 #define FFT_THRESHOLD 80
27 #define FFT_WINSIZE_P 20
28 #define FFT_WINSIZE_D 100
31 #define MAXITERATION 500
32 #define M 50000 /* njob no saidaiti */
33 #define N 5000000 /* nlen no saidaiti */
36 #define C 60 /* 1 gyou no mojisuu */
38 #define rnd() ( ( 1.0 / ( RAND_MAX + 1.0 ) ) * rand() )
39 #define MAX(X,Y) ( ((X)>(Y))?(X):(Y) )
40 #define MIN(X,Y) ( ((X)<(Y))?(X):(Y) )
41 #define G(X) ( ((X)>(0))?(X):(0) )
42 #define BEFF 1.0 /* 0.6 ni suruto zureru */
47 #define NOTSPECIFIED 100009
48 #define SUEFF 0.1 /* upg/(spg+upg) -> sueff.sed */
50 #define INTMTXSCALE 1000000.0
54 extern char modelname[100];
55 extern int njob, nlenmax;
56 extern int amino_n[0x80];
57 extern char amino_grp[0x80];
58 extern int amino_dis[0x80][0x80];
59 extern int amino_disLN[0x80][0x80];
60 extern double amino_dis_consweight_multi[0x80][0x80];
61 extern int n_dis[26][26];
62 extern int n_disFFT[26][26];
63 extern float n_dis_consweight_multi[26][26];
64 extern char amino[26];
65 extern double polarity[20];
66 extern double volume[20];
67 extern int ribosumdis[37][37];
70 extern double thrinter;
71 extern double fastathreshold;
72 extern int pslocal, ppslocal;
73 extern int constraint;
74 extern int divpairscore;
75 extern int fmodel; // 1-> fmodel 0->default -1->raw
76 extern int nblosum; // 45, 50, 62, 80
77 extern int kobetsubunkatsu;
82 extern int calledByXced;
92 extern int penalty, ppenalty, penaltyLN;
93 extern int RNApenalty, RNAppenalty;
94 extern int RNApenalty_ex, RNAppenalty_ex;
95 extern int penalty_ex, ppenalty_ex, penalty_exLN;
96 extern int penalty_EX, ppenalty_EX;
97 extern int penalty_OP, ppenalty_OP;
98 extern int offset, poffset, offsetLN, offsetFFT;
99 extern int RNAthr, RNApthr;
103 extern char force_fft;
104 extern int nevermemsave;
106 extern int fftWinSize;
107 extern int fftThreshold;
108 extern int fftRepeatStop;
109 extern int fftNoAnchStop;
110 extern int divWinSize;
111 extern int divThreshold;
119 extern int tbrweight;
124 extern int treemethod;
128 extern int score_check;
129 extern char *inputfile;
130 extern char *addfile;
131 extern int addprofile;
132 extern float consweight_multi;
133 extern float consweight_rna;
134 extern char RNAscoremtx;
136 extern char *signalSM;
142 extern char rnaprediction;
144 /* sengen no ichi ha koko dake de ha nai */
145 extern void constants();
146 extern char **Calignm1();
147 extern char **Dalignm1();
148 extern char **align0();
149 extern double Cscore_m_1( char **, int, int, double ** );
150 extern double score_m_1( char **, int, int, double ** );
151 extern double score_calc0( char **, int, double **, int );
152 extern char seqcheck( char ** );
153 extern float substitution( char *, char * );
154 extern float substitution_score( char *, char * );
155 extern float substitution_nid( char *, char * );
156 extern float substitution_hosei( char *, char * );
157 extern double ipower( double, int );
158 extern float translate_and_Calign();
159 extern float A__align();
160 extern float A__align11();
161 extern float A__align_gapmap();
162 extern float partA__align();
163 extern float L__align11();
164 extern float G__align11();
165 extern float Falign();
166 extern float Falign_localhom();
167 extern float Conalign();
168 extern float Aalign();
169 extern float imp_match_out_sc( int, int );
170 extern float part_imp_match_out_sc( int, int );
171 extern void ErrorExit();
172 extern void cpmx_calc();
173 extern void intergroup_score( char **, char **, double *, double *, int, int, int, double * );
174 extern int conjuctionfortbfast();
175 extern int fastconjuction();
176 extern char seqcheck( char ** );
178 typedef struct _LocalHom
181 struct _LocalHom *next;
182 struct _LocalHom *last;
196 typedef struct _NodeInCub
204 struct _Node *children[3];
207 double *weightptr[3];
212 typedef struct _Segment
220 struct _Segment *pair;
224 typedef struct _Segments
232 typedef struct _Bchain
234 struct _Bchain *next;
235 struct _Bchain *prev;
239 typedef struct _Achain
247 typedef struct _Fukusosuu
253 typedef struct _Gappattern
259 typedef struct _RNApair
269 typedef struct _Treedep
279 #include "functions.h"
281 #ifdef enablemultithread
287 extern TLS int commonAlloc1;
288 extern TLS int commonAlloc2;
289 extern TLS int **commonIP;
290 extern TLS int **commonJP;
292 extern int randomseed;
293 extern int parallelizationstrategy;
300 extern int outnumber;
302 extern char *newgapstr;