Mercurial > repos > nick > duplex
comparison mafft/core/mltaln.h @ 18:e4d75f9efb90 draft
planemo upload commit b'4303231da9e48b2719b4429a29b72421d24310f4\n'-dirty
author | nick |
---|---|
date | Thu, 02 Feb 2017 18:44:31 -0500 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
17:836fa4fe9494 | 18:e4d75f9efb90 |
---|---|
1 #define USE_XCED 0 | |
2 | |
3 #if USE_XCED | |
4 #include "config.h" | |
5 #include "share.h" | |
6 #else | |
7 #endif | |
8 | |
9 #include "mafft.h" | |
10 #include <stdio.h> | |
11 #include <stdlib.h> | |
12 #include <stddef.h> | |
13 #include <sys/types.h> | |
14 #include <string.h> | |
15 #include <unistd.h> | |
16 #include <math.h> | |
17 #include <ctype.h> | |
18 #include "mtxutl.h" | |
19 #include <float.h> | |
20 #include <stdarg.h> | |
21 #ifdef enablemultithread | |
22 #include <pthread.h> | |
23 #endif | |
24 | |
25 #define VERSION "7.221" | |
26 #define SHOWVERSION reporterr( "%s (%s) Version " VERSION " alg=%c, model=%s, amax=%3.1f\n%d thread(s)\n", progName( argv[0] ), (dorp=='d')?"nuc":((nblosum==-2)?"text":"aa"), alg, modelname, specificityconsideration, nthread ) | |
27 | |
28 #define FFT_THRESHOLD 80 | |
29 #define FFT_WINSIZE_P 20 | |
30 #define FFT_WINSIZE_D 100 | |
31 #define DISPSEQF 60 | |
32 #define DISPSITEI 0 | |
33 #define MAXITERATION 500 | |
34 #define M 500000 /* njob no saidaiti */ | |
35 #define N 5000000 /* nlen no saidaiti */ | |
36 #define MAXSEG 100000 | |
37 #define B 256 | |
38 #define C 60 /* 1 gyou no mojisuu */ | |
39 #define D 6 | |
40 #define rnd() ( ( 1.0 / ( RAND_MAX + 1.0 ) ) * rand() ) | |
41 #define MAX(X,Y) ( ((X)>(Y))?(X):(Y) ) | |
42 #define MIN(X,Y) ( ((X)<(Y))?(X):(Y) ) | |
43 #define G(X) ( ((X)>(0))?(X):(0) ) | |
44 #define BEFF 1.0 /* 0.6 ni suruto zureru */ | |
45 #define WIN 3 | |
46 #define SGAPP -1000 | |
47 #define GETA2 0.001 | |
48 #define GETA3 0.001 | |
49 #define NOTSPECIFIED 100009 | |
50 #define SUEFF 0.1 /* upg/(spg+upg) -> sueff.sed */ | |
51 #define DIVLOCAL 0 | |
52 #define INTMTXSCALE 1000000.0 | |
53 #define JTT 201 | |
54 #define TM 202 | |
55 | |
56 extern char modelname[500]; | |
57 extern int njob, nlenmax; | |
58 extern int amino_n[0x80]; | |
59 extern char amino_grp[0x80]; | |
60 extern int amino_dis[0x80][0x80]; | |
61 extern double **n_disLN; | |
62 extern double amino_dis_consweight_multi[0x80][0x80]; | |
63 extern int **n_dis; | |
64 extern int **n_disFFT; | |
65 extern double **n_dis_consweight_multi; | |
66 extern char amino[0x80]; | |
67 extern double polarity[0x80]; | |
68 extern double volume[0x80]; | |
69 extern int ribosumdis[37][37]; | |
70 | |
71 extern int ppid; | |
72 extern double thrinter; | |
73 extern double fastathreshold; | |
74 extern int pslocal, ppslocal; | |
75 extern int constraint; | |
76 extern int divpairscore; | |
77 extern int fmodel; // 1-> fmodel 0->default -1->raw | |
78 extern int nblosum; // 45, 50, 62, 80 | |
79 extern int kobetsubunkatsu; | |
80 extern int bunkatsu; | |
81 extern int dorp; | |
82 extern int niter; | |
83 extern int contin; | |
84 extern int calledByXced; | |
85 extern int devide; | |
86 extern int scmtd; | |
87 extern int weight; | |
88 extern int utree; | |
89 extern int tbutree; | |
90 extern int refine; | |
91 extern int check; | |
92 extern double cut; | |
93 extern int cooling; | |
94 extern int trywarp; | |
95 extern int penalty, ppenalty, penaltyLN; | |
96 extern int penalty_dist, ppenalty_dist; | |
97 extern int RNApenalty, RNAppenalty; | |
98 extern int RNApenalty_ex, RNAppenalty_ex; | |
99 extern int penalty_ex, ppenalty_ex, penalty_exLN; | |
100 extern int penalty_EX, ppenalty_EX; | |
101 extern int penalty_OP, ppenalty_OP; | |
102 extern int penalty_shift; | |
103 extern double penalty_shift_factor; | |
104 extern int offset, poffset, offsetLN, offsetFFT; | |
105 extern int RNAthr, RNApthr; | |
106 extern int scoremtx; | |
107 extern int TMorJTT; | |
108 extern char use_fft; | |
109 extern char force_fft; | |
110 extern int nevermemsave; | |
111 extern int fftscore; | |
112 extern int fftWinSize; | |
113 extern int fftThreshold; | |
114 extern int fftRepeatStop; | |
115 extern int fftNoAnchStop; | |
116 extern int divWinSize; | |
117 extern int divThreshold; | |
118 extern int disp; | |
119 extern int outgap; | |
120 extern char alg; | |
121 extern int cnst; | |
122 extern int mix; | |
123 extern int tbitr; | |
124 extern int tbweight; | |
125 extern int tbrweight; | |
126 extern int disopt; | |
127 extern int pamN; | |
128 extern int checkC; | |
129 extern float geta2; | |
130 extern int treemethod; | |
131 extern int kimuraR; | |
132 extern char *swopt; | |
133 extern int fftkeika; | |
134 extern int score_check; | |
135 extern char *inputfile; | |
136 extern char *addfile; | |
137 extern int addprofile; | |
138 extern float consweight_multi; | |
139 extern float consweight_rna; | |
140 extern char RNAscoremtx; | |
141 | |
142 extern char *signalSM; | |
143 extern FILE *prep_g; | |
144 extern FILE *trap_g; | |
145 extern char **seq_g; | |
146 extern char **res_g; | |
147 extern int rnakozo; | |
148 extern char rnaprediction; | |
149 | |
150 /* sengen no ichi ha koko dake de ha nai */ | |
151 extern void constants(); | |
152 extern char **Calignm1(); | |
153 extern char **Dalignm1(); | |
154 extern char **align0(); | |
155 extern double Cscore_m_1( char **, int, int, double ** ); | |
156 extern double score_m_1( char **, int, int, double ** ); | |
157 extern double score_calc0( char **, int, double **, int ); | |
158 extern char seqcheck( char ** ); | |
159 extern float substitution( char *, char * ); | |
160 extern float substitution_score( char *, char * ); | |
161 extern float substitution_nid( char *, char * ); | |
162 extern float substitution_hosei( char *, char * ); | |
163 extern double ipower( double, int ); | |
164 extern float translate_and_Calign(); | |
165 extern float A__align(); | |
166 extern float A__align11(); | |
167 extern float A__align_gapmap(); | |
168 extern float partA__align(); | |
169 extern float L__align11( double **scoringmtx, float scoreoffset, char **seq1, char **seq2, int alloclen, int *off1pt, int *off2pt ); | |
170 extern float G__align11(); | |
171 extern float Falign(); | |
172 extern float Falign_localhom(); | |
173 extern float Conalign(); | |
174 extern float Aalign(); | |
175 extern float imp_match_out_sc( int, int ); | |
176 extern float part_imp_match_out_sc( int, int ); | |
177 extern void ErrorExit(); | |
178 extern void cpmx_calc(); | |
179 extern void intergroup_score( char **, char **, double *, double *, int, int, int, double * ); | |
180 extern int conjuctionfortbfast(); | |
181 extern int fastconjuction(); | |
182 extern char seqcheck( char ** ); | |
183 | |
184 typedef struct _LocalHom | |
185 { | |
186 int nokori; | |
187 struct _LocalHom *next; | |
188 struct _LocalHom *last; | |
189 int start1; | |
190 int end1; | |
191 int start2; | |
192 int end2; | |
193 double opt; | |
194 int overlapaa; | |
195 int extended; | |
196 double importance; | |
197 float fimportance; | |
198 double wimportance; | |
199 char korh; | |
200 } LocalHom; | |
201 | |
202 typedef struct _NodeInCub | |
203 { | |
204 int step; | |
205 int LorR; | |
206 } NodeInCub; | |
207 | |
208 typedef struct _Node | |
209 { | |
210 struct _Node *children[3]; | |
211 int tmpChildren[3]; | |
212 double length[3]; | |
213 double *weightptr[3]; | |
214 int top[3]; | |
215 int *members[3]; | |
216 } Node; | |
217 | |
218 typedef struct _Segment | |
219 { | |
220 int start; | |
221 int end; | |
222 int center; | |
223 double score; | |
224 int skipForeward; | |
225 int skipBackward; | |
226 struct _Segment *pair; | |
227 int number; | |
228 } Segment; | |
229 | |
230 typedef struct _Segments | |
231 { | |
232 Segment group1; | |
233 Segment group2; | |
234 int number1; | |
235 int number2; | |
236 } Segments; | |
237 | |
238 typedef struct _Bchain | |
239 { | |
240 struct _Bchain *next; | |
241 struct _Bchain *prev; | |
242 int pos; | |
243 } Bchain; | |
244 | |
245 typedef struct _Achain | |
246 { | |
247 int next; | |
248 int prev; | |
249 // int curr; | |
250 } Achain; | |
251 | |
252 | |
253 typedef struct _Fukusosuu | |
254 { | |
255 double R; | |
256 double I; | |
257 } Fukusosuu; | |
258 | |
259 typedef struct _Gappattern | |
260 { | |
261 int len; | |
262 float freq; | |
263 } Gappat; | |
264 | |
265 typedef struct _RNApair | |
266 { | |
267 int uppos; | |
268 float upscore; | |
269 int downpos; | |
270 float downscore; | |
271 int bestpos; | |
272 float bestscore; | |
273 } RNApair; | |
274 | |
275 typedef struct _Treedep | |
276 { | |
277 int child0; | |
278 int child1; | |
279 int done; | |
280 float distfromtip; | |
281 } Treedep; | |
282 | |
283 typedef struct _Addtree | |
284 { | |
285 int nearest; | |
286 float dist1; | |
287 char *neighbors; | |
288 float dist2; | |
289 } Addtree; | |
290 | |
291 #include "fft.h" | |
292 #include "dp.h" | |
293 #include "functions.h" | |
294 | |
295 #ifdef enablemultithread | |
296 #define TLS __thread | |
297 #else | |
298 #define TLS | |
299 #endif | |
300 | |
301 extern TLS int commonAlloc1; | |
302 extern TLS int commonAlloc2; | |
303 extern TLS int **commonIP; | |
304 extern TLS int **commonJP; | |
305 extern int nthread; | |
306 extern int randomseed; | |
307 extern int parallelizationstrategy; | |
308 #define BESTFIRST 0 | |
309 #define BAATARI0 1 | |
310 #define BAATARI1 2 | |
311 #define BAATARI2 3 | |
312 | |
313 extern int scoreout; | |
314 extern int spscoreout; | |
315 extern int outnumber; | |
316 | |
317 extern int legacygapcost; | |
318 | |
319 extern TLS char *newgapstr; | |
320 | |
321 extern int nalphabets; | |
322 extern int nscoredalphabets; | |
323 extern double specificityconsideration; | |
324 extern int ndistclass, maxdistclass; | |
325 | |
326 extern int gmsg; | |
327 | |
328 extern double sueff_global; |