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;