1 | /* |
---|
2 | |
---|
3 | PhyML: a program that computes maximum likelihood phylogenies from |
---|
4 | DNA or AA homologous sequences. |
---|
5 | |
---|
6 | Copyright (C) Stephane Guindon. Oct 2003 onward. |
---|
7 | |
---|
8 | All parts of the source except where indicated are distributed under |
---|
9 | the GNU public licence. See http://www.opensource.org for details. |
---|
10 | |
---|
11 | */ |
---|
12 | |
---|
13 | #include "init.h" |
---|
14 | |
---|
15 | void Init_Eigen_Struct(eigen *this) |
---|
16 | { |
---|
17 | this->next = NULL; |
---|
18 | this->prev = NULL; |
---|
19 | } |
---|
20 | |
---|
21 | ////////////////////////////////////////////////////////////// |
---|
22 | ////////////////////////////////////////////////////////////// |
---|
23 | |
---|
24 | void Init_Scalar_Dbl(scalar_dbl *p) |
---|
25 | { |
---|
26 | p->v = -1.; |
---|
27 | p->onoff = ON; |
---|
28 | p->next = NULL; |
---|
29 | p->prev = NULL; |
---|
30 | } |
---|
31 | |
---|
32 | ////////////////////////////////////////////////////////////// |
---|
33 | ////////////////////////////////////////////////////////////// |
---|
34 | |
---|
35 | void Init_Scalar_Int(scalar_int *p) |
---|
36 | { |
---|
37 | p->v = -1.; |
---|
38 | p->next = NULL; |
---|
39 | p->prev = NULL; |
---|
40 | } |
---|
41 | |
---|
42 | ////////////////////////////////////////////////////////////// |
---|
43 | ////////////////////////////////////////////////////////////// |
---|
44 | |
---|
45 | void Init_Vect_Dbl(int len, vect_dbl *p) |
---|
46 | { |
---|
47 | p->len = len; |
---|
48 | p->next = NULL; |
---|
49 | p->prev = NULL; |
---|
50 | p->v = NULL; |
---|
51 | } |
---|
52 | |
---|
53 | ////////////////////////////////////////////////////////////// |
---|
54 | ////////////////////////////////////////////////////////////// |
---|
55 | |
---|
56 | void Init_Vect_Int(int len, vect_int *p) |
---|
57 | { |
---|
58 | p->len = len; |
---|
59 | p->next = NULL; |
---|
60 | p->prev = NULL; |
---|
61 | p->v = NULL; |
---|
62 | } |
---|
63 | |
---|
64 | ////////////////////////////////////////////////////////////// |
---|
65 | ////////////////////////////////////////////////////////////// |
---|
66 | |
---|
67 | void Init_String(t_string *ts) |
---|
68 | { |
---|
69 | ts->len = -1.; |
---|
70 | ts->next = NULL; |
---|
71 | ts->prev = NULL; |
---|
72 | } |
---|
73 | |
---|
74 | ////////////////////////////////////////////////////////////// |
---|
75 | ////////////////////////////////////////////////////////////// |
---|
76 | |
---|
77 | void Init_Triplet_Struct(triplet *t) |
---|
78 | { |
---|
79 | t->next = NULL; |
---|
80 | t->prev = NULL; |
---|
81 | } |
---|
82 | |
---|
83 | ////////////////////////////////////////////////////////////// |
---|
84 | ////////////////////////////////////////////////////////////// |
---|
85 | |
---|
86 | void Init_Efrq(t_efrq *f) |
---|
87 | { |
---|
88 | f->next = NULL; |
---|
89 | f->prev = NULL; |
---|
90 | } |
---|
91 | |
---|
92 | ////////////////////////////////////////////////////////////// |
---|
93 | ////////////////////////////////////////////////////////////// |
---|
94 | |
---|
95 | void Init_Tree(t_tree *tree, int n_otu) |
---|
96 | { |
---|
97 | tree->n_otu = n_otu; |
---|
98 | tree->mat = NULL; |
---|
99 | tree->n_root = NULL; |
---|
100 | tree->e_root = NULL; |
---|
101 | tree->ps_tree = NULL; |
---|
102 | tree->short_l = NULL; |
---|
103 | tree->mutmap = NULL; |
---|
104 | tree->next = NULL; |
---|
105 | tree->prev = NULL; |
---|
106 | tree->next = NULL; |
---|
107 | tree->prev = NULL; |
---|
108 | tree->mixt_tree = NULL; |
---|
109 | tree->geo = NULL; |
---|
110 | |
---|
111 | tree->is_mixt_tree = NO; |
---|
112 | tree->tree_num = 0; |
---|
113 | tree->depth_curr_path = 0; |
---|
114 | tree->has_bip = NO; |
---|
115 | tree->n_moves = 0; |
---|
116 | tree->n_improvements = 0; |
---|
117 | tree->bl_from_node_stamps = 0; |
---|
118 | tree->lock_topo = NO; |
---|
119 | tree->ps_page_number = 0; |
---|
120 | tree->init_lnL = UNLIKELY; |
---|
121 | tree->best_lnL = UNLIKELY; |
---|
122 | tree->old_lnL = UNLIKELY; |
---|
123 | tree->c_lnL = UNLIKELY; |
---|
124 | tree->sum_min_sum_scale = .0; |
---|
125 | tree->n_swap = 0; |
---|
126 | tree->best_pars = 1E+5; |
---|
127 | tree->n_pattern = -1; |
---|
128 | tree->n_root_pos = -1.; |
---|
129 | tree->write_labels = YES; |
---|
130 | tree->write_br_lens = YES; |
---|
131 | tree->print_boot_val = 0; |
---|
132 | tree->print_alrt_val = 0; |
---|
133 | tree->num_curr_branch_available = 0; |
---|
134 | tree->tip_order_score = .0; |
---|
135 | tree->write_tax_names = YES; |
---|
136 | tree->update_alias_subpatt = NO; |
---|
137 | tree->bl_ndigits = 8; |
---|
138 | tree->n_short_l = 100; |
---|
139 | tree->norm_scale = 0.0; |
---|
140 | tree->br_len_recorded = NO; |
---|
141 | tree->max_spr_depth = 0; |
---|
142 | tree->apply_lk_scaling = YES; |
---|
143 | tree->dp = 0; |
---|
144 | } |
---|
145 | |
---|
146 | ////////////////////////////////////////////////////////////// |
---|
147 | ////////////////////////////////////////////////////////////// |
---|
148 | |
---|
149 | |
---|
150 | void Init_Edge_Light(t_edge *b, int num) |
---|
151 | { |
---|
152 | b->num = num; |
---|
153 | b->bip_score = 0; |
---|
154 | b->dist_btw_edges = .0; |
---|
155 | b->topo_dist_btw_edges = 0; |
---|
156 | b->has_zero_br_len = NO; |
---|
157 | b->n_jumps = 0; |
---|
158 | b->l_var->v = -1.; |
---|
159 | b->does_exist = YES; |
---|
160 | b->l->v = -1.; |
---|
161 | b->bin_cod_num = -1.; |
---|
162 | b->l->onoff = ON; |
---|
163 | |
---|
164 | b->next = NULL; |
---|
165 | b->prev = NULL; |
---|
166 | b->next_mixt = NULL; |
---|
167 | b->prev_mixt = NULL; |
---|
168 | |
---|
169 | b->p_lk_left = NULL; |
---|
170 | b->p_lk_rght = NULL; |
---|
171 | b->p_lk_loc_left = NULL; |
---|
172 | b->p_lk_loc_rght = NULL; |
---|
173 | b->Pij_rr = NULL; |
---|
174 | b->labels = NULL; |
---|
175 | } |
---|
176 | |
---|
177 | ////////////////////////////////////////////////////////////// |
---|
178 | ////////////////////////////////////////////////////////////// |
---|
179 | |
---|
180 | |
---|
181 | void Init_Node_Light(t_node *n, int num) |
---|
182 | { |
---|
183 | n->num = num; |
---|
184 | n->tax = -1; |
---|
185 | n->dist_to_root = .0; |
---|
186 | n->common = 1; |
---|
187 | n->ext_node = NULL; |
---|
188 | n->name = NULL; |
---|
189 | n->ori_name = NULL; |
---|
190 | n->c_seq = NULL; |
---|
191 | n->c_seq_anc = NULL; |
---|
192 | n->y_rank = 0.; |
---|
193 | n->y_rank_ori = 0.; |
---|
194 | n->y_rank_max = 0.; |
---|
195 | n->y_rank_min = 0.; |
---|
196 | n->anc = NULL; |
---|
197 | n->rank = 0; |
---|
198 | n->match_node = NULL; |
---|
199 | n->id_rank = 0; |
---|
200 | n->next = NULL; |
---|
201 | n->prev = NULL; |
---|
202 | /* n->next = NULL; */ |
---|
203 | /* n->prev = NULL; */ |
---|
204 | } |
---|
205 | |
---|
206 | ////////////////////////////////////////////////////////////// |
---|
207 | ////////////////////////////////////////////////////////////// |
---|
208 | |
---|
209 | |
---|
210 | void Init_NNI(nni *a_nni) |
---|
211 | { |
---|
212 | a_nni->left = NULL; |
---|
213 | a_nni->rght = NULL; |
---|
214 | a_nni->b = NULL; |
---|
215 | a_nni->init_l = -1.; |
---|
216 | a_nni->init_lk = .0; |
---|
217 | a_nni->score = +1.0; |
---|
218 | a_nni->best_l = -1.; |
---|
219 | a_nni->swap_node_v1 = NULL; |
---|
220 | a_nni->swap_node_v2 = NULL; |
---|
221 | a_nni->swap_node_v3 = NULL; |
---|
222 | a_nni->swap_node_v4 = NULL; |
---|
223 | a_nni->lk0 = UNLIKELY; |
---|
224 | a_nni->lk1 = UNLIKELY; |
---|
225 | a_nni->lk2 = UNLIKELY; |
---|
226 | a_nni->l0 = -1.0; |
---|
227 | a_nni->l1 = -1.0; |
---|
228 | a_nni->l2 = -1.0; |
---|
229 | } |
---|
230 | |
---|
231 | ////////////////////////////////////////////////////////////// |
---|
232 | ////////////////////////////////////////////////////////////// |
---|
233 | |
---|
234 | void Init_Nexus_Format(nexcom **com) |
---|
235 | { |
---|
236 | |
---|
237 | /*****************************/ |
---|
238 | |
---|
239 | strcpy(com[0]->name,"dimensions"); |
---|
240 | com[0]->nparm = 2; |
---|
241 | com[0]->nxt_token_t = NEXUS_PARM; |
---|
242 | com[0]->cur_token_t = NEXUS_COM; |
---|
243 | |
---|
244 | com[0]->parm[0] = Make_Nexus_Parm(); |
---|
245 | strcpy(com[0]->parm[0]->name,"ntax"); |
---|
246 | com[0]->parm[0]->fp = Read_Nexus_Dimensions; |
---|
247 | com[0]->parm[0]->com = com[0]; |
---|
248 | com[0]->parm[0]->nxt_token_t = NEXUS_EQUAL; |
---|
249 | com[0]->parm[0]->cur_token_t = NEXUS_PARM; |
---|
250 | |
---|
251 | com[0]->parm[1] = Make_Nexus_Parm(); |
---|
252 | strcpy(com[0]->parm[1]->name,"nchar"); |
---|
253 | com[0]->parm[1]->fp = Read_Nexus_Dimensions; |
---|
254 | com[0]->parm[1]->com = com[0]; |
---|
255 | com[0]->parm[1]->nxt_token_t = NEXUS_EQUAL; |
---|
256 | com[0]->parm[1]->cur_token_t = NEXUS_PARM; |
---|
257 | |
---|
258 | /*****************************/ |
---|
259 | |
---|
260 | strcpy(com[1]->name,"format"); |
---|
261 | com[1]->nparm = 11; |
---|
262 | com[1]->nxt_token_t = NEXUS_PARM; |
---|
263 | com[1]->cur_token_t = NEXUS_COM; |
---|
264 | |
---|
265 | com[1]->parm[0] = Make_Nexus_Parm(); |
---|
266 | strcpy(com[1]->parm[0]->name,"datatype"); |
---|
267 | com[1]->parm[0]->fp = Read_Nexus_Format; |
---|
268 | com[1]->parm[0]->com = com[1]; |
---|
269 | com[1]->parm[0]->nxt_token_t = NEXUS_EQUAL; |
---|
270 | com[1]->parm[0]->cur_token_t = NEXUS_PARM; |
---|
271 | |
---|
272 | com[1]->parm[1] = Make_Nexus_Parm(); |
---|
273 | strcpy(com[1]->parm[1]->name,"respectcase"); |
---|
274 | com[1]->parm[1]->fp = Read_Nexus_Format; |
---|
275 | com[1]->parm[1]->com = com[1]; |
---|
276 | com[1]->parm[1]->nxt_token_t = NEXUS_PARM; |
---|
277 | com[1]->parm[1]->cur_token_t = NEXUS_VALUE; |
---|
278 | |
---|
279 | com[1]->parm[2] = Make_Nexus_Parm(); |
---|
280 | strcpy(com[1]->parm[2]->name,"missing"); |
---|
281 | com[1]->parm[2]->fp = Read_Nexus_Format; |
---|
282 | com[1]->parm[2]->com = com[1]; |
---|
283 | com[1]->parm[2]->nxt_token_t = NEXUS_EQUAL; |
---|
284 | com[1]->parm[2]->cur_token_t = NEXUS_PARM; |
---|
285 | |
---|
286 | com[1]->parm[3] = Make_Nexus_Parm(); |
---|
287 | strcpy(com[1]->parm[3]->name,"gap"); |
---|
288 | com[1]->parm[3]->fp = Read_Nexus_Format; |
---|
289 | com[1]->parm[3]->com = com[1]; |
---|
290 | com[1]->parm[3]->nxt_token_t = NEXUS_EQUAL; |
---|
291 | com[1]->parm[3]->cur_token_t = NEXUS_PARM; |
---|
292 | |
---|
293 | com[1]->parm[4] = Make_Nexus_Parm(); |
---|
294 | strcpy(com[1]->parm[4]->name,"symbols"); |
---|
295 | com[1]->parm[4]->fp = Read_Nexus_Format; |
---|
296 | com[1]->parm[4]->com = com[1]; |
---|
297 | com[1]->parm[4]->nxt_token_t = NEXUS_EQUAL; |
---|
298 | com[1]->parm[4]->cur_token_t = NEXUS_PARM; |
---|
299 | |
---|
300 | com[1]->parm[5] = Make_Nexus_Parm(); |
---|
301 | strcpy(com[1]->parm[5]->name,"equate"); |
---|
302 | com[1]->parm[5]->fp = Read_Nexus_Format; |
---|
303 | com[1]->parm[5]->com = com[1]; |
---|
304 | com[1]->parm[5]->nxt_token_t = NEXUS_EQUAL; |
---|
305 | com[1]->parm[5]->cur_token_t = NEXUS_PARM; |
---|
306 | |
---|
307 | com[1]->parm[6] = Make_Nexus_Parm(); |
---|
308 | strcpy(com[1]->parm[6]->name,"matchchar"); |
---|
309 | com[1]->parm[6]->fp = Read_Nexus_Format; |
---|
310 | com[1]->parm[6]->com = com[1]; |
---|
311 | com[1]->parm[6]->nxt_token_t = NEXUS_EQUAL; |
---|
312 | com[1]->parm[6]->cur_token_t = NEXUS_PARM; |
---|
313 | |
---|
314 | com[1]->parm[7] = Make_Nexus_Parm(); |
---|
315 | strcpy(com[1]->parm[7]->name,"transpose"); |
---|
316 | com[1]->parm[7]->fp = Read_Nexus_Format; |
---|
317 | com[1]->parm[7]->com = com[1]; |
---|
318 | com[1]->parm[7]->nxt_token_t = NEXUS_PARM; |
---|
319 | com[1]->parm[7]->cur_token_t = NEXUS_VALUE; |
---|
320 | |
---|
321 | com[1]->parm[8] = Make_Nexus_Parm(); |
---|
322 | strcpy(com[1]->parm[8]->name,"interleave"); |
---|
323 | com[1]->parm[8]->fp = Read_Nexus_Format; |
---|
324 | com[1]->parm[8]->com = com[1]; |
---|
325 | com[1]->parm[8]->nxt_token_t = NEXUS_PARM; |
---|
326 | com[1]->parm[8]->cur_token_t = NEXUS_VALUE; |
---|
327 | |
---|
328 | com[1]->parm[9] = Make_Nexus_Parm(); |
---|
329 | strcpy(com[1]->parm[9]->name,"items"); |
---|
330 | com[1]->parm[9]->fp = Read_Nexus_Format; |
---|
331 | com[1]->parm[9]->com = com[1]; |
---|
332 | com[1]->parm[9]->nxt_token_t = NEXUS_EQUAL; |
---|
333 | com[1]->parm[9]->cur_token_t = NEXUS_PARM; |
---|
334 | |
---|
335 | com[1]->parm[10] = Make_Nexus_Parm(); |
---|
336 | strcpy(com[1]->parm[10]->name,"statesformat"); |
---|
337 | com[1]->parm[10]->fp = Read_Nexus_Format; |
---|
338 | com[1]->parm[10]->com = com[1]; |
---|
339 | com[1]->parm[10]->nxt_token_t = NEXUS_EQUAL; |
---|
340 | com[1]->parm[10]->cur_token_t = NEXUS_PARM; |
---|
341 | |
---|
342 | /*****************************/ |
---|
343 | |
---|
344 | strcpy(com[2]->name,"eliminate"); |
---|
345 | com[2]->nparm = 0; |
---|
346 | com[2]->nxt_token_t = NEXUS_VALUE; |
---|
347 | com[2]->cur_token_t = NEXUS_COM; |
---|
348 | |
---|
349 | /*****************************/ |
---|
350 | |
---|
351 | strcpy(com[3]->name,"taxlabels"); |
---|
352 | com[3]->nparm = 0; |
---|
353 | com[3]->nxt_token_t = -1; |
---|
354 | com[3]->cur_token_t = -1; |
---|
355 | |
---|
356 | /*****************************/ |
---|
357 | |
---|
358 | strcpy(com[4]->name,"charstatelabels"); |
---|
359 | com[4]->nparm = 0; |
---|
360 | com[4]->nxt_token_t = -1; |
---|
361 | com[4]->cur_token_t = -1; |
---|
362 | |
---|
363 | /*****************************/ |
---|
364 | |
---|
365 | strcpy(com[5]->name,"charlabels"); |
---|
366 | com[5]->nparm = 0; |
---|
367 | com[5]->nxt_token_t = -1; |
---|
368 | com[5]->cur_token_t = -1; |
---|
369 | |
---|
370 | /*****************************/ |
---|
371 | |
---|
372 | strcpy(com[6]->name,"statelabels"); |
---|
373 | com[6]->nparm = 0; |
---|
374 | com[6]->nxt_token_t = -1; |
---|
375 | com[6]->cur_token_t = -1; |
---|
376 | |
---|
377 | /*****************************/ |
---|
378 | |
---|
379 | strcpy(com[7]->name,"matrix"); |
---|
380 | com[7]->nparm = 1; |
---|
381 | com[7]->nxt_token_t = NEXUS_COM; |
---|
382 | com[7]->cur_token_t = NEXUS_VALUE; /* This will allow us to skip directly |
---|
383 | to the matrix reading function */ |
---|
384 | |
---|
385 | com[7]->parm[0] = Make_Nexus_Parm(); |
---|
386 | strcpy(com[7]->parm[0]->name,"matrix"); |
---|
387 | com[7]->parm[0]->fp = Read_Nexus_Matrix; |
---|
388 | com[7]->parm[0]->com = com[7]; |
---|
389 | com[7]->parm[0]->nxt_token_t = NEXUS_COM; |
---|
390 | com[7]->parm[0]->cur_token_t = -1; |
---|
391 | |
---|
392 | /*****************************/ |
---|
393 | |
---|
394 | strcpy(com[8]->name,"begin"); |
---|
395 | com[8]->nparm = 3; |
---|
396 | |
---|
397 | com[8]->nxt_token_t = NEXUS_PARM; |
---|
398 | com[8]->cur_token_t = NEXUS_COM; |
---|
399 | |
---|
400 | com[8]->parm[0] = Make_Nexus_Parm(); |
---|
401 | strcpy(com[8]->parm[0]->name,"data"); |
---|
402 | com[8]->parm[0]->fp = Read_Nexus_Begin; |
---|
403 | com[8]->parm[0]->com = com[8]; |
---|
404 | com[8]->parm[0]->nxt_token_t = NEXUS_COM; |
---|
405 | com[8]->parm[0]->cur_token_t = NEXUS_PARM; |
---|
406 | |
---|
407 | |
---|
408 | com[8]->parm[1] = Make_Nexus_Parm(); |
---|
409 | strcpy(com[8]->parm[1]->name,"trees"); |
---|
410 | com[8]->parm[1]->fp = Read_Nexus_Begin; |
---|
411 | com[8]->parm[1]->com = com[8]; |
---|
412 | com[8]->parm[1]->nxt_token_t = NEXUS_COM; |
---|
413 | com[8]->parm[1]->cur_token_t = NEXUS_PARM; |
---|
414 | |
---|
415 | |
---|
416 | com[8]->parm[2] = Make_Nexus_Parm(); |
---|
417 | strcpy(com[8]->parm[2]->name,"taxa"); |
---|
418 | com[8]->parm[2]->fp = Read_Nexus_Taxa; |
---|
419 | com[8]->parm[2]->com = com[8]; |
---|
420 | com[8]->parm[2]->nxt_token_t = NEXUS_COM; |
---|
421 | com[8]->parm[2]->cur_token_t = NEXUS_VALUE; |
---|
422 | |
---|
423 | |
---|
424 | /*****************************/ |
---|
425 | |
---|
426 | strcpy(com[9]->name,"end"); |
---|
427 | com[9]->nparm = 0; |
---|
428 | com[9]->nxt_token_t = -1; |
---|
429 | com[9]->cur_token_t = -1; |
---|
430 | |
---|
431 | /*****************************/ |
---|
432 | |
---|
433 | strcpy(com[10]->name,"translate"); |
---|
434 | com[10]->nparm = 1; |
---|
435 | com[10]->nxt_token_t = NEXUS_COM; |
---|
436 | com[10]->cur_token_t = NEXUS_VALUE; |
---|
437 | |
---|
438 | com[10]->parm[0] = Make_Nexus_Parm(); |
---|
439 | strcpy(com[10]->parm[0]->name,"translate"); |
---|
440 | com[10]->parm[0]->fp = Read_Nexus_Translate; |
---|
441 | com[10]->parm[0]->com = com[10]; |
---|
442 | com[10]->parm[0]->nxt_token_t = NEXUS_COM; |
---|
443 | com[10]->parm[0]->cur_token_t = -1; |
---|
444 | |
---|
445 | /*****************************/ |
---|
446 | |
---|
447 | strcpy(com[11]->name,"tree"); |
---|
448 | com[11]->nparm = 1; |
---|
449 | com[11]->nxt_token_t = NEXUS_COM; |
---|
450 | com[11]->cur_token_t = NEXUS_VALUE; |
---|
451 | |
---|
452 | com[11]->parm[0] = Make_Nexus_Parm(); |
---|
453 | strcpy(com[11]->parm[0]->name,"tree"); |
---|
454 | com[11]->parm[0]->fp = Read_Nexus_Tree; |
---|
455 | com[11]->parm[0]->com = com[11]; |
---|
456 | com[11]->parm[0]->nxt_token_t = -1; |
---|
457 | com[11]->parm[0]->cur_token_t = -1; |
---|
458 | |
---|
459 | |
---|
460 | /*****************************/ |
---|
461 | |
---|
462 | } |
---|
463 | |
---|
464 | ////////////////////////////////////////////////////////////// |
---|
465 | ////////////////////////////////////////////////////////////// |
---|
466 | |
---|
467 | void Init_Mat(matrix *mat, calign *data) |
---|
468 | { |
---|
469 | int i; |
---|
470 | |
---|
471 | mat->n_otu = data->n_otu; |
---|
472 | mat->r = mat->n_otu; |
---|
473 | mat->curr_int = mat->n_otu; |
---|
474 | mat->method = 1; |
---|
475 | |
---|
476 | For(i,data->n_otu) |
---|
477 | { |
---|
478 | strcpy(mat->name[i],data->c_seq[i]->name); |
---|
479 | mat->on_off[i] = 1; |
---|
480 | } |
---|
481 | } |
---|
482 | |
---|
483 | ////////////////////////////////////////////////////////////// |
---|
484 | ////////////////////////////////////////////////////////////// |
---|
485 | |
---|
486 | void Set_Defaults_Input(option* io) |
---|
487 | { |
---|
488 | io->fp_in_align = NULL; |
---|
489 | io->fp_in_tree = NULL; |
---|
490 | io->fp_in_constraint_tree = NULL; |
---|
491 | io->fp_out_tree = NULL; |
---|
492 | io->fp_out_trees = NULL; |
---|
493 | io->fp_out_boot_tree = NULL; |
---|
494 | io->fp_out_boot_stats = NULL; |
---|
495 | io->fp_out_stats = NULL; |
---|
496 | io->long_tax_names = NULL; |
---|
497 | io->short_tax_names = NULL; |
---|
498 | io->lon = NULL; |
---|
499 | io->lat = NULL; |
---|
500 | io->z_scores = NULL; |
---|
501 | io->cstr_tree = NULL; |
---|
502 | io->next = NULL; |
---|
503 | io->prev = NULL; |
---|
504 | io->tree = NULL; |
---|
505 | io->mod = NULL; |
---|
506 | strcpy(io->nt_or_cd,"nucleotides"); |
---|
507 | io->n_data_sets = 1; |
---|
508 | io->interleaved = 1; |
---|
509 | io->in_tree = 0; |
---|
510 | io->out_tree_file_open_mode = 1; |
---|
511 | io->out_stats_file_open_mode = 1; |
---|
512 | io->init_len = -1; |
---|
513 | io->n_otu = -1; |
---|
514 | io->n_data_set_asked = -1; |
---|
515 | io->print_boot_trees = 1; |
---|
516 | io->n_part = 1; |
---|
517 | io->ratio_test = ABAYES; |
---|
518 | io->multigene = 0; |
---|
519 | io->config_multigene = 0; |
---|
520 | io->curr_interface = 0; |
---|
521 | io->r_seed = -1; |
---|
522 | io->collapse_boot = 0; |
---|
523 | io->random_boot_seq_order = 1; |
---|
524 | io->print_trace = 0; |
---|
525 | io->print_site_lnl = 0; |
---|
526 | io->m4_model = NO; |
---|
527 | io->rm_ambigu = 0; |
---|
528 | io->append_run_ID = 0; |
---|
529 | io->quiet = 0; |
---|
530 | io->datatype = NT; |
---|
531 | io->colalias = YES; |
---|
532 | io->data_file_format = PHYLIP; |
---|
533 | io->tree_file_format = PHYLIP; |
---|
534 | io->boot_prog_every = 20; |
---|
535 | io->mem_question = YES; |
---|
536 | io->do_alias_subpatt = NO; |
---|
537 | io->lk_approx = EXACT; |
---|
538 | io->codpos = -1; |
---|
539 | io->mutmap = NO; |
---|
540 | io->state_len = 1; |
---|
541 | |
---|
542 | MCMC_Init_MCMC_Struct(NULL,io,io->mcmc); |
---|
543 | RATES_Init_Rate_Struct(io->rates,NULL,-1); |
---|
544 | io->rates->model = GUINDON; |
---|
545 | } |
---|
546 | |
---|
547 | ////////////////////////////////////////////////////////////// |
---|
548 | ////////////////////////////////////////////////////////////// |
---|
549 | |
---|
550 | void Init_Rmat(t_rmat *rmat) |
---|
551 | { |
---|
552 | rmat->n_diff_rr = 1; |
---|
553 | } |
---|
554 | |
---|
555 | ////////////////////////////////////////////////////////////// |
---|
556 | ////////////////////////////////////////////////////////////// |
---|
557 | |
---|
558 | void Set_Defaults_Model(t_mod *mod) |
---|
559 | { |
---|
560 | strcpy(mod->modelname->s,"HKY85"); |
---|
561 | strcpy(mod->custom_mod_string->s,"000000"); |
---|
562 | mod->next = NULL; |
---|
563 | mod->prev = NULL; |
---|
564 | mod->next_mixt = NULL; |
---|
565 | mod->prev_mixt = NULL; |
---|
566 | mod->r_mat = NULL; |
---|
567 | mod->e_frq = NULL; |
---|
568 | mod->whichmodel = HKY85; |
---|
569 | mod->ras->n_catg = 4; |
---|
570 | mod->n_mixt_classes = 0; |
---|
571 | mod->mod_num = 0; |
---|
572 | mod->update_eigen = NO; |
---|
573 | mod->is_mixt_mod = NO; |
---|
574 | mod->ras->normalise_rr = YES; |
---|
575 | |
---|
576 | mod->kappa->v = 4.0; |
---|
577 | mod->ras->alpha->v = 1.0; |
---|
578 | mod->lambda->v = 1.0; |
---|
579 | mod->ras->pinvar->v = 0.0; |
---|
580 | mod->l_var_sigma = 1.E-2; |
---|
581 | mod->e_frq_weight->v = 1.0; |
---|
582 | mod->r_mat_weight->v = 1.0; |
---|
583 | |
---|
584 | mod->bootstrap = 0; |
---|
585 | mod->ras->invar = NO; |
---|
586 | mod->ns = 4; |
---|
587 | mod->use_m4mod = NO; |
---|
588 | mod->ras->gamma_median = NO; |
---|
589 | mod->m4mod = NULL; |
---|
590 | |
---|
591 | /* mod->r_mat->n_diff_rr = 0; */ |
---|
592 | /* mod->r_mat->rr = NULL; */ |
---|
593 | /* mod->r_mat->rr_val = NULL; */ |
---|
594 | /* mod->r_mat->n_rr_per_cat = NULL; */ |
---|
595 | |
---|
596 | mod->io = NULL; |
---|
597 | mod->log_l = NO; |
---|
598 | mod->ras->free_mixt_rates = NO; |
---|
599 | mod->gamma_mgf_bl = NO; |
---|
600 | mod->br_len_multiplier->v = 1.0; |
---|
601 | |
---|
602 | |
---|
603 | mod->ras->parent_class_number = 0; |
---|
604 | mod->ras->init_r_proba = YES; |
---|
605 | mod->ras->init_rr = YES; |
---|
606 | |
---|
607 | |
---|
608 | #if !(defined PHYTIME || defined SERGEII) |
---|
609 | mod->l_min = 1.E-8; |
---|
610 | mod->l_max = 100.0; |
---|
611 | #else |
---|
612 | mod->l_min = 1.E-8; |
---|
613 | mod->l_max = 2.0; |
---|
614 | #endif |
---|
615 | |
---|
616 | mod->l_var_min = mod->l_min; |
---|
617 | mod->l_var_max = mod->l_max; |
---|
618 | |
---|
619 | |
---|
620 | } |
---|
621 | |
---|
622 | ////////////////////////////////////////////////////////////// |
---|
623 | ////////////////////////////////////////////////////////////// |
---|
624 | |
---|
625 | void Set_Defaults_Optimiz(t_opt *s_opt) |
---|
626 | { |
---|
627 | s_opt->print = YES; |
---|
628 | s_opt->last_opt = YES; |
---|
629 | s_opt->opt_subst_param = YES; |
---|
630 | s_opt->opt_alpha = YES; |
---|
631 | s_opt->opt_kappa = YES; |
---|
632 | s_opt->opt_bl = YES; |
---|
633 | s_opt->opt_lambda = NO; |
---|
634 | s_opt->opt_pinvar = NO; |
---|
635 | s_opt->opt_cov_delta = NO; |
---|
636 | s_opt->opt_cov_alpha = NO; |
---|
637 | s_opt->opt_cov_free_rates = NO; |
---|
638 | s_opt->opt_rr = NO; |
---|
639 | s_opt->init_lk = UNLIKELY; |
---|
640 | s_opt->n_it_max = 1000; |
---|
641 | s_opt->opt_topo = YES; |
---|
642 | s_opt->topo_search = NNI_MOVE; |
---|
643 | s_opt->random_input_tree = 0; |
---|
644 | s_opt->n_rand_starts = 5; |
---|
645 | s_opt->brent_it_max = BRENT_IT_MAX; |
---|
646 | s_opt->steph_spr = YES; |
---|
647 | s_opt->user_state_freq = NO; |
---|
648 | s_opt->min_diff_lk_local = 1.E-04; |
---|
649 | s_opt->min_diff_lk_global = 1.E-03; |
---|
650 | s_opt->min_diff_lk_move = 1.E-02; |
---|
651 | s_opt->p_moves_to_examine = 0.15; |
---|
652 | s_opt->fast_nni = NO; |
---|
653 | s_opt->greedy = NO; |
---|
654 | s_opt->general_pars = NO; |
---|
655 | s_opt->tree_size_mult = 1; |
---|
656 | s_opt->opt_five_branch = YES; |
---|
657 | |
---|
658 | s_opt->pars_thresh = 5; |
---|
659 | |
---|
660 | s_opt->hybrid_thresh = NO; |
---|
661 | s_opt->quickdirty = NO; |
---|
662 | s_opt->spr_pars = YES; |
---|
663 | s_opt->spr_lnL = NO; |
---|
664 | s_opt->min_depth_path = 0; |
---|
665 | s_opt->max_depth_path = 20; |
---|
666 | s_opt->deepest_path = 20; |
---|
667 | s_opt->max_delta_lnL_spr = 50.; |
---|
668 | s_opt->br_len_in_spr = 10; |
---|
669 | s_opt->opt_free_mixt_rates = YES; |
---|
670 | s_opt->constrained_br_len = NO; |
---|
671 | s_opt->opt_gamma_br_len = NO; |
---|
672 | s_opt->first_opt_free_mixt_rates = YES; |
---|
673 | |
---|
674 | s_opt->wim_n_rgrft = -1; |
---|
675 | s_opt->wim_n_globl = -1; |
---|
676 | s_opt->wim_max_dist = -1; |
---|
677 | s_opt->wim_n_optim = -1; |
---|
678 | s_opt->wim_n_best = -1; |
---|
679 | s_opt->wim_inside_opt = 0; |
---|
680 | |
---|
681 | s_opt->opt_rmat_weight = NO; |
---|
682 | s_opt->opt_efrq_weight = NO; |
---|
683 | |
---|
684 | s_opt->skip_tree_traversal = NO; |
---|
685 | s_opt->serial_free_rates = YES; |
---|
686 | |
---|
687 | s_opt->curr_opt_free_rates = NO; |
---|
688 | } |
---|
689 | |
---|
690 | ////////////////////////////////////////////////////////////// |
---|
691 | ////////////////////////////////////////////////////////////// |
---|
692 | |
---|
693 | void XML_Init_Attribute(xml_attr *attr) |
---|
694 | { |
---|
695 | } |
---|
696 | |
---|
697 | ////////////////////////////////////////////////////////////// |
---|
698 | ////////////////////////////////////////////////////////////// |
---|
699 | |
---|
700 | void XML_Init_Node(xml_node *parent, xml_node *new_node, char *name) |
---|
701 | { |
---|
702 | if(name) strcpy(new_node->name,name); |
---|
703 | |
---|
704 | new_node->parent = parent ? parent : NULL; |
---|
705 | new_node->next = NULL; |
---|
706 | new_node->prev = NULL; |
---|
707 | new_node->child = NULL; |
---|
708 | new_node->ds->obj = NULL; |
---|
709 | new_node->ds->next = NULL; |
---|
710 | |
---|
711 | if(parent) |
---|
712 | { |
---|
713 | if(!parent->child) |
---|
714 | { |
---|
715 | parent->child = new_node; |
---|
716 | } |
---|
717 | else |
---|
718 | { |
---|
719 | xml_node *node = parent->child; |
---|
720 | while(node->next) node = node->next; |
---|
721 | node->next = new_node; |
---|
722 | new_node->prev = node; |
---|
723 | } |
---|
724 | } |
---|
725 | |
---|
726 | new_node->attr = NULL; |
---|
727 | } |
---|
728 | |
---|
729 | ////////////////////////////////////////////////////////////// |
---|
730 | ////////////////////////////////////////////////////////////// |
---|
731 | |
---|
732 | void RATES_Init_Rate_Struct(t_rate *rates, t_rate *existing_rates, int n_otu) |
---|
733 | { |
---|
734 | int i; |
---|
735 | |
---|
736 | if(existing_rates && (existing_rates->model != -1)) |
---|
737 | { |
---|
738 | rates->model = existing_rates->model; |
---|
739 | } |
---|
740 | else |
---|
741 | { |
---|
742 | rates->model = NONE; |
---|
743 | } |
---|
744 | |
---|
745 | |
---|
746 | if(rates->model == NONE) |
---|
747 | rates->model_log_rates = NO; |
---|
748 | else if(rates->model == THORNE) |
---|
749 | rates->model_log_rates = YES; |
---|
750 | else if(rates->model == GUINDON) |
---|
751 | rates->model_log_rates = YES; |
---|
752 | else if(rates->model == GAMMA) |
---|
753 | rates->model_log_rates = NO; |
---|
754 | else if(rates->model == STRICTCLOCK) |
---|
755 | rates->model_log_rates = NO; |
---|
756 | else |
---|
757 | { |
---|
758 | PhyML_Printf("\n== Please initialize model properly."); |
---|
759 | PhyML_Printf("\n== Err in file %s at line %d\n",__FILE__,__LINE__); |
---|
760 | Warn_And_Exit(""); |
---|
761 | } |
---|
762 | |
---|
763 | |
---|
764 | rates->met_within_gibbs = NO; |
---|
765 | rates->c_lnL_rates = UNLIKELY; |
---|
766 | rates->c_lnL_jps = UNLIKELY; |
---|
767 | rates->adjust_rates = 0; |
---|
768 | rates->use_rates = 1; |
---|
769 | rates->lexp = 1.E-3; |
---|
770 | rates->norm_fact = 1.0; |
---|
771 | rates->inflate_var = 1.0; |
---|
772 | rates->nd_t_recorded = NO; |
---|
773 | rates->br_r_recorded = NO; |
---|
774 | |
---|
775 | rates->birth_rate = 1.E-2; |
---|
776 | rates->birth_rate_min = 1.E-6; |
---|
777 | rates->birth_rate_max = 1.E+1; |
---|
778 | |
---|
779 | if(rates->model_log_rates == YES) |
---|
780 | { |
---|
781 | rates->max_rate = LOG(10.); |
---|
782 | rates->min_rate = -LOG(10.); |
---|
783 | /* rates->max_rate = MDBL_MAX; */ |
---|
784 | /* rates->min_rate = -MDBL_MAX; */ |
---|
785 | } |
---|
786 | else |
---|
787 | { |
---|
788 | rates->max_rate = 10.0; |
---|
789 | rates->min_rate = 0.0; |
---|
790 | } |
---|
791 | /* rates->max_rate = 6.0; */ |
---|
792 | /* rates->min_rate = 0.0; */ |
---|
793 | |
---|
794 | |
---|
795 | rates->clock_r = 1.E-4; |
---|
796 | rates->min_clock = 1.E-8; |
---|
797 | rates->max_clock = 1.E-3; |
---|
798 | |
---|
799 | /* rates->clock_r = 3.E-4; */ |
---|
800 | /* rates->max_clock = 1.E-3; */ |
---|
801 | /* rates->min_clock = 1.E-5; */ |
---|
802 | |
---|
803 | if(rates->model != GAMMA) |
---|
804 | { |
---|
805 | rates->nu = 1.E-3; |
---|
806 | rates->min_nu = 0.0; |
---|
807 | rates->max_nu = 1.0; |
---|
808 | } |
---|
809 | else |
---|
810 | { |
---|
811 | rates->nu = 1.E-1; |
---|
812 | rates->min_nu = 1.E-2; |
---|
813 | rates->max_nu = 100.0; |
---|
814 | } |
---|
815 | |
---|
816 | /* rates->max_nu = 2.0; */ |
---|
817 | |
---|
818 | /* rates->nu = 1.E-4; */ |
---|
819 | /* rates->max_nu = 1.E-1; */ |
---|
820 | /* rates->min_nu = 1.E-5; */ |
---|
821 | |
---|
822 | rates->min_dt = 0.0; |
---|
823 | |
---|
824 | rates->step_rate = 1.E-4; |
---|
825 | rates->approx = 1; |
---|
826 | rates->bl_from_rt = 0; |
---|
827 | |
---|
828 | rates->update_mean_l = NO; |
---|
829 | rates->update_cov_l = NO; |
---|
830 | |
---|
831 | rates->p_max = 0.01; |
---|
832 | |
---|
833 | rates->true_tree_size = 0.0; |
---|
834 | |
---|
835 | if(n_otu > 0) |
---|
836 | { |
---|
837 | For(i,(2*n_otu-2)*(2*n_otu-2)) rates->cov_l[i] = 0.0; |
---|
838 | |
---|
839 | For(i,2*n_otu-2) |
---|
840 | { |
---|
841 | rates->n_jps[i] = -1; |
---|
842 | rates->t_jps[i] = -1; |
---|
843 | rates->mean_r[i] = 1.0; |
---|
844 | rates->mean_l[i] = 0.0; |
---|
845 | } |
---|
846 | |
---|
847 | For(i,2*n_otu-1) |
---|
848 | { |
---|
849 | if(rates->model_log_rates == YES) |
---|
850 | { |
---|
851 | rates->nd_r[i] = 0.0; |
---|
852 | rates->br_r[i] = 0.0; |
---|
853 | } |
---|
854 | else |
---|
855 | { |
---|
856 | rates->nd_r[i] = 1.0; |
---|
857 | rates->br_r[i] = 1.0; |
---|
858 | } |
---|
859 | |
---|
860 | rates->mean_t[i] = 0.0; |
---|
861 | rates->nd_t[i] = 0.0; |
---|
862 | rates->true_t[i] = 0.0; |
---|
863 | if(i < n_otu) |
---|
864 | { |
---|
865 | rates->t_has_prior[i] = YES; |
---|
866 | rates->t_prior_max[i] = 0.0; |
---|
867 | rates->t_prior_min[i] = 0.0; |
---|
868 | } |
---|
869 | else |
---|
870 | { |
---|
871 | rates->t_has_prior[i] = NO; |
---|
872 | rates->t_prior_max[i] = BIG; |
---|
873 | rates->t_prior_min[i] = -BIG; |
---|
874 | } |
---|
875 | |
---|
876 | rates->br_do_updt[i] = YES; |
---|
877 | rates->has_survived[i] = NO; |
---|
878 | |
---|
879 | rates->t_ranked[i] = i; |
---|
880 | } |
---|
881 | } |
---|
882 | |
---|
883 | rates->calib = NULL; |
---|
884 | |
---|
885 | } |
---|
886 | |
---|
887 | ////////////////////////////////////////////////////////////// |
---|
888 | ////////////////////////////////////////////////////////////// |
---|
889 | |
---|
890 | void Init_One_Spr(t_spr *a_spr) |
---|
891 | { |
---|
892 | a_spr->lnL = UNLIKELY; |
---|
893 | a_spr->pars = 1E+5; |
---|
894 | a_spr->depth_path = 0; |
---|
895 | a_spr->dist = 0; |
---|
896 | a_spr->init_target_l = -1.; |
---|
897 | a_spr->init_target_v = -1.; |
---|
898 | a_spr->l0 = -1.; |
---|
899 | a_spr->l1 = -1.; |
---|
900 | a_spr->l2 = -1.; |
---|
901 | a_spr->v0 = -1.; |
---|
902 | a_spr->v1 = -1.; |
---|
903 | a_spr->v2 = -1.; |
---|
904 | a_spr->n_link = NULL; |
---|
905 | a_spr->n_opp_to_link = NULL; |
---|
906 | a_spr->b_opp_to_link = NULL; |
---|
907 | a_spr->b_target = NULL; |
---|
908 | a_spr->b_init_target = NULL; |
---|
909 | a_spr->next = NULL; |
---|
910 | a_spr->prev = NULL; |
---|
911 | a_spr->next = NULL; |
---|
912 | a_spr->prev = NULL; |
---|
913 | } |
---|
914 | |
---|
915 | ////////////////////////////////////////////////////////////// |
---|
916 | ////////////////////////////////////////////////////////////// |
---|
917 | |
---|
918 | void Init_Model(calign *data, t_mod *mod, option *io) |
---|
919 | { |
---|
920 | int i,j; |
---|
921 | phydbl sum,aux; |
---|
922 | int result; |
---|
923 | phydbl *dr, *di, *space; |
---|
924 | |
---|
925 | mod->ns = io->mod->ns; |
---|
926 | |
---|
927 | if(io->datatype == GENERIC) mod->whichmodel = JC69; |
---|
928 | |
---|
929 | /* if(!mod->ras->invar) For(i,data->crunch_len) data->invar[i] = 0; */ |
---|
930 | |
---|
931 | dr = (phydbl *)mCalloc( mod->ns,sizeof(phydbl)); |
---|
932 | di = (phydbl *)mCalloc( mod->ns,sizeof(phydbl)); |
---|
933 | space = (phydbl *)mCalloc(2*mod->ns,sizeof(phydbl)); |
---|
934 | |
---|
935 | if(mod->log_l == YES) |
---|
936 | { |
---|
937 | mod->l_min = LOG(mod->l_min); |
---|
938 | mod->l_max = LOG(mod->l_max); |
---|
939 | } |
---|
940 | |
---|
941 | if(mod->ras->init_r_proba == YES) |
---|
942 | { |
---|
943 | For(i,mod->ras->n_catg) mod->ras->gamma_r_proba->v[i] = (phydbl)1./mod->ras->n_catg; |
---|
944 | For(i,mod->ras->n_catg) mod->ras->gamma_r_proba_unscaled->v[i] = (phydbl)(i+1); |
---|
945 | } |
---|
946 | else |
---|
947 | { |
---|
948 | mod->ras->gamma_r_proba_unscaled->v[0] = mod->ras->gamma_r_proba->v[0]; |
---|
949 | for(i=1;i<mod->ras->n_catg;i++) |
---|
950 | mod->ras->gamma_r_proba_unscaled->v[i] = |
---|
951 | mod->ras->gamma_r_proba_unscaled->v[i-1] + |
---|
952 | mod->ras->gamma_r_proba->v[i]; |
---|
953 | } |
---|
954 | |
---|
955 | if(mod->ras->init_rr == YES) |
---|
956 | { |
---|
957 | if(mod->ras->n_catg > 1) |
---|
958 | { |
---|
959 | For(i,mod->ras->n_catg) mod->ras->gamma_rr->v[i] = (phydbl)i; |
---|
960 | For(i,mod->ras->n_catg) mod->ras->gamma_rr_unscaled->v[i] = (phydbl)i; |
---|
961 | } |
---|
962 | else |
---|
963 | { |
---|
964 | mod->ras->gamma_rr->v[0] = 1.0; |
---|
965 | mod->ras->gamma_rr_unscaled->v[0] = 1.0; |
---|
966 | } |
---|
967 | } |
---|
968 | |
---|
969 | |
---|
970 | |
---|
971 | |
---|
972 | mod->br_len_multiplier->v = 1.0; |
---|
973 | |
---|
974 | For(i,mod->ns) |
---|
975 | { |
---|
976 | mod->e_frq->pi->v[i] = data->b_frq[i]; |
---|
977 | mod->e_frq->pi_unscaled->v[i] = mod->e_frq->pi->v[i] * 100.; |
---|
978 | } |
---|
979 | |
---|
980 | if(io->datatype == NT) |
---|
981 | { |
---|
982 | /* Set the substitution parameters to their default values |
---|
983 | if they are not fixed by the user */ |
---|
984 | if(mod->s_opt->opt_kappa == YES) |
---|
985 | { |
---|
986 | mod->kappa->v = 4.0; |
---|
987 | mod->lambda->v = 1.0; |
---|
988 | } |
---|
989 | |
---|
990 | /* if(mod->s_opt->opt_rr) */ |
---|
991 | if(mod->whichmodel == GTR || mod->whichmodel == CUSTOM) |
---|
992 | { |
---|
993 | int i; |
---|
994 | |
---|
995 | For(i,6) |
---|
996 | { |
---|
997 | mod->r_mat->rr->v[i] = 1.0; |
---|
998 | mod->r_mat->rr_val->v[i] = 1.0; |
---|
999 | } |
---|
1000 | } |
---|
1001 | } |
---|
1002 | |
---|
1003 | if(mod->s_opt->opt_alpha) mod->ras->alpha->v = 1.0; |
---|
1004 | if(mod->s_opt->opt_pinvar) mod->ras->pinvar->v = 0.2; |
---|
1005 | |
---|
1006 | |
---|
1007 | if(io->datatype == NT) /* Nucleotides */ |
---|
1008 | { |
---|
1009 | /* init for nucleotides */ |
---|
1010 | mod->lambda->v = 1.; |
---|
1011 | /* mod->update_eigen = YES; */ |
---|
1012 | |
---|
1013 | if(mod->whichmodel == JC69) |
---|
1014 | { |
---|
1015 | mod->e_frq->pi->v[0] = mod->e_frq->pi->v[1] = mod->e_frq->pi->v[2] = mod->e_frq->pi->v[3] = .25; |
---|
1016 | mod->kappa->v = 1.; |
---|
1017 | mod->s_opt->opt_state_freq = NO; |
---|
1018 | mod->s_opt->opt_kappa = NO; |
---|
1019 | mod->s_opt->opt_lambda = NO; |
---|
1020 | mod->update_eigen = NO; |
---|
1021 | } |
---|
1022 | |
---|
1023 | if(mod->whichmodel == K80) |
---|
1024 | { |
---|
1025 | mod->e_frq->pi->v[0] = mod->e_frq->pi->v[1] = mod->e_frq->pi->v[2] = mod->e_frq->pi->v[3] = .25; |
---|
1026 | mod->s_opt->opt_state_freq = NO; |
---|
1027 | mod->s_opt->opt_lambda = NO; |
---|
1028 | mod->update_eigen = NO; |
---|
1029 | } |
---|
1030 | |
---|
1031 | if(mod->whichmodel == F81) |
---|
1032 | { |
---|
1033 | mod->kappa->v = 1.; |
---|
1034 | mod->update_eigen = NO; |
---|
1035 | } |
---|
1036 | |
---|
1037 | if(mod->whichmodel == F84) |
---|
1038 | { |
---|
1039 | aux = ((mod->e_frq->pi->v[0]+mod->e_frq->pi->v[2])-(mod->e_frq->pi->v[1]+mod->e_frq->pi->v[3]))/(2.*mod->kappa->v); |
---|
1040 | mod->lambda->v = ((mod->e_frq->pi->v[1]+mod->e_frq->pi->v[3]) + aux)/((mod->e_frq->pi->v[0]+mod->e_frq->pi->v[2]) - aux); |
---|
1041 | mod->update_eigen = NO; |
---|
1042 | } |
---|
1043 | |
---|
1044 | if(mod->whichmodel == TN93) |
---|
1045 | { |
---|
1046 | mod->update_eigen = NO; |
---|
1047 | if(io->mod->s_opt->opt_kappa) io->mod->s_opt->opt_lambda = 1; |
---|
1048 | } |
---|
1049 | |
---|
1050 | if(mod->whichmodel == GTR) |
---|
1051 | { |
---|
1052 | mod->kappa->v = 1.; |
---|
1053 | mod->update_eigen = YES; |
---|
1054 | io->mod->s_opt->opt_rr = YES; |
---|
1055 | } |
---|
1056 | |
---|
1057 | if(mod->whichmodel == CUSTOM) |
---|
1058 | { |
---|
1059 | mod->kappa->v = 1.; |
---|
1060 | mod->update_eigen = YES; |
---|
1061 | /* io->mod->s_opt->opt_rr = YES; */ /* What if the user decided not to optimise the rates? */ |
---|
1062 | } |
---|
1063 | |
---|
1064 | if(mod->whichmodel == GTR) |
---|
1065 | { |
---|
1066 | mod->custom_mod_string->s[0] = '0'; |
---|
1067 | mod->custom_mod_string->s[1] = '1'; |
---|
1068 | mod->custom_mod_string->s[2] = '2'; |
---|
1069 | mod->custom_mod_string->s[3] = '3'; |
---|
1070 | mod->custom_mod_string->s[4] = '4'; |
---|
1071 | mod->custom_mod_string->s[5] = '5'; |
---|
1072 | Translate_Custom_Mod_String(mod); |
---|
1073 | } |
---|
1074 | |
---|
1075 | if(mod->s_opt->user_state_freq == YES) |
---|
1076 | { |
---|
1077 | For(i,4) |
---|
1078 | { |
---|
1079 | mod->e_frq->pi->v[i] = mod->user_b_freq->v[i]; |
---|
1080 | } |
---|
1081 | } |
---|
1082 | |
---|
1083 | if(((mod->whichmodel == GTR) || |
---|
1084 | (mod->whichmodel == CUSTOM) || |
---|
1085 | (mod->whichmodel == HKY85)) && |
---|
1086 | (mod->use_m4mod == NO)) |
---|
1087 | { |
---|
1088 | mod->update_eigen = YES; |
---|
1089 | Update_Eigen(mod); |
---|
1090 | mod->update_eigen = NO; |
---|
1091 | } |
---|
1092 | /* if((mod->whichmodel != GTR) && */ |
---|
1093 | /* (mod->whichmodel != CUSTOM) && */ |
---|
1094 | /* (mod->whichmodel != HKY85)) mod->update_eigen = NO; */ |
---|
1095 | } |
---|
1096 | else if(mod->io->datatype == AA) |
---|
1097 | { |
---|
1098 | |
---|
1099 | /* init for amino-acids */ |
---|
1100 | /* see comments of PMat_Empirical for details */ |
---|
1101 | /* read pi and Q from file */ |
---|
1102 | |
---|
1103 | /* These initialisations are needed when analysing multiple |
---|
1104 | * data sets |
---|
1105 | */ |
---|
1106 | For(i,mod->ns*mod->ns) mod->r_mat->qmat->v[i] = .0; |
---|
1107 | For(i,mod->ns ) mod->e_frq->pi->v[i] = .0; |
---|
1108 | |
---|
1109 | switch(mod->whichmodel) |
---|
1110 | { |
---|
1111 | case DAYHOFF : |
---|
1112 | { |
---|
1113 | Init_Qmat_Dayhoff(mod->r_mat->qmat->v,mod->e_frq->pi->v); |
---|
1114 | if(mod->s_opt->opt_state_freq) |
---|
1115 | For(i,mod->ns) mod->e_frq->pi->v[i] = data->b_frq[i]; |
---|
1116 | break; |
---|
1117 | } |
---|
1118 | case JTT : |
---|
1119 | { |
---|
1120 | Init_Qmat_JTT(mod->r_mat->qmat->v,mod->e_frq->pi->v); |
---|
1121 | if(mod->s_opt->opt_state_freq) |
---|
1122 | For(i,mod->ns) mod->e_frq->pi->v[i] = data->b_frq[i]; |
---|
1123 | break; |
---|
1124 | } |
---|
1125 | case MTREV : |
---|
1126 | { |
---|
1127 | Init_Qmat_MtREV(mod->r_mat->qmat->v,mod->e_frq->pi->v); |
---|
1128 | if(mod->s_opt->opt_state_freq) |
---|
1129 | For(i,mod->ns) mod->e_frq->pi->v[i] = data->b_frq[i]; |
---|
1130 | break; |
---|
1131 | } |
---|
1132 | case LG : |
---|
1133 | { |
---|
1134 | Init_Qmat_LG(mod->r_mat->qmat->v,mod->e_frq->pi->v); |
---|
1135 | if(mod->s_opt->opt_state_freq) |
---|
1136 | For(i,mod->ns) mod->e_frq->pi->v[i] = data->b_frq[i]; |
---|
1137 | break; |
---|
1138 | } |
---|
1139 | case WAG : |
---|
1140 | { |
---|
1141 | Init_Qmat_WAG(mod->r_mat->qmat->v,mod->e_frq->pi->v); |
---|
1142 | if(mod->s_opt->opt_state_freq) |
---|
1143 | For(i,mod->ns) mod->e_frq->pi->v[i] = data->b_frq[i]; |
---|
1144 | break; |
---|
1145 | } |
---|
1146 | case DCMUT : |
---|
1147 | { |
---|
1148 | Init_Qmat_DCMut(mod->r_mat->qmat->v,mod->e_frq->pi->v); |
---|
1149 | if(mod->s_opt->opt_state_freq) |
---|
1150 | For(i,mod->ns) mod->e_frq->pi->v[i] = data->b_frq[i]; |
---|
1151 | break; |
---|
1152 | } |
---|
1153 | case RTREV : |
---|
1154 | { |
---|
1155 | Init_Qmat_RtREV(mod->r_mat->qmat->v,mod->e_frq->pi->v); |
---|
1156 | if(mod->s_opt->opt_state_freq) |
---|
1157 | For(i,mod->ns) mod->e_frq->pi->v[i] = data->b_frq[i]; |
---|
1158 | break; |
---|
1159 | } |
---|
1160 | case CPREV : |
---|
1161 | { |
---|
1162 | Init_Qmat_CpREV(mod->r_mat->qmat->v,mod->e_frq->pi->v); |
---|
1163 | if(mod->s_opt->opt_state_freq) |
---|
1164 | For(i,mod->ns) mod->e_frq->pi->v[i] = data->b_frq[i]; |
---|
1165 | break; |
---|
1166 | } |
---|
1167 | case VT : |
---|
1168 | { |
---|
1169 | Init_Qmat_VT(mod->r_mat->qmat->v,mod->e_frq->pi->v); |
---|
1170 | if(mod->s_opt->opt_state_freq) |
---|
1171 | For(i,mod->ns) mod->e_frq->pi->v[i] = data->b_frq[i]; |
---|
1172 | break; |
---|
1173 | } |
---|
1174 | case BLOSUM62 : |
---|
1175 | { |
---|
1176 | Init_Qmat_Blosum62(mod->r_mat->qmat->v,mod->e_frq->pi->v); |
---|
1177 | if(mod->s_opt->opt_state_freq) |
---|
1178 | For(i,mod->ns) mod->e_frq->pi->v[i] = data->b_frq[i]; |
---|
1179 | break; |
---|
1180 | } |
---|
1181 | case MTMAM : |
---|
1182 | { |
---|
1183 | Init_Qmat_MtMam(mod->r_mat->qmat->v,mod->e_frq->pi->v); |
---|
1184 | if(mod->s_opt->opt_state_freq) |
---|
1185 | For(i,mod->ns) mod->e_frq->pi->v[i] = data->b_frq[i]; |
---|
1186 | break; |
---|
1187 | } |
---|
1188 | case MTART : |
---|
1189 | { |
---|
1190 | Init_Qmat_MtArt(mod->r_mat->qmat->v,mod->e_frq->pi->v); |
---|
1191 | if(mod->s_opt->opt_state_freq) |
---|
1192 | For(i,mod->ns) mod->e_frq->pi->v[i] = data->b_frq[i]; |
---|
1193 | break; |
---|
1194 | } |
---|
1195 | case HIVW : |
---|
1196 | { |
---|
1197 | Init_Qmat_HIVw(mod->r_mat->qmat->v,mod->e_frq->pi->v); |
---|
1198 | if(mod->s_opt->opt_state_freq) |
---|
1199 | For(i,mod->ns) mod->e_frq->pi->v[i] = data->b_frq[i]; |
---|
1200 | break; |
---|
1201 | } |
---|
1202 | case HIVB : |
---|
1203 | { |
---|
1204 | Init_Qmat_HIVb(mod->r_mat->qmat->v,mod->e_frq->pi->v); |
---|
1205 | if(mod->s_opt->opt_state_freq) |
---|
1206 | For(i,mod->ns) mod->e_frq->pi->v[i] = data->b_frq[i]; |
---|
1207 | break; |
---|
1208 | } |
---|
1209 | case CUSTOMAA : |
---|
1210 | { |
---|
1211 | Read_Qmat(mod->r_mat->qmat->v,mod->e_frq->pi->v,mod->fp_aa_rate_mat); |
---|
1212 | /* Print_Qmat_AA(mod->r_mat->qmat->v,mod->e_frq->pi->v); */ |
---|
1213 | if(mod->s_opt->opt_state_freq) For(i,mod->ns) mod->e_frq->pi->v[i] = data->b_frq[i]; |
---|
1214 | break; |
---|
1215 | } |
---|
1216 | default : |
---|
1217 | { |
---|
1218 | Init_Qmat_LG(mod->r_mat->qmat->v,mod->e_frq->pi->v); |
---|
1219 | if(mod->s_opt->opt_state_freq) |
---|
1220 | For(i,mod->ns) mod->e_frq->pi->v[i] = data->b_frq[i]; |
---|
1221 | break; |
---|
1222 | } |
---|
1223 | } |
---|
1224 | |
---|
1225 | /* /\* multiply the nth col of Q by the nth term of pi/100 just as in PAML *\/ */ |
---|
1226 | For(i,mod->ns) For(j,mod->ns) mod->r_mat->qmat->v[i*mod->ns+j] *= mod->e_frq->pi->v[j] / 100.0; |
---|
1227 | |
---|
1228 | /* compute diagonal terms of Q and mean rate mr = l/t */ |
---|
1229 | mod->mr->v= .0; |
---|
1230 | For (i,mod->ns) |
---|
1231 | { |
---|
1232 | sum=.0; |
---|
1233 | For(j, mod->ns) sum += mod->r_mat->qmat->v[i*mod->ns+j]; |
---|
1234 | mod->r_mat->qmat->v[i*mod->ns+i] = -sum; |
---|
1235 | mod->mr->v += mod->e_frq->pi->v[i] * sum; |
---|
1236 | } |
---|
1237 | |
---|
1238 | /* scale imod->nstantaneous rate matrix so that mu=1 */ |
---|
1239 | For (i,mod->ns*mod->ns) mod->r_mat->qmat->v[i] /= mod->mr->v; |
---|
1240 | |
---|
1241 | /* compute eigenvectors/values */ |
---|
1242 | result = 0; |
---|
1243 | |
---|
1244 | For(i,mod->ns*mod->ns) mod->r_mat->qmat_buff->v[i] = mod->r_mat->qmat->v[i]; |
---|
1245 | |
---|
1246 | if(!Eigen(1,mod->r_mat->qmat_buff->v,mod->eigen->size,mod->eigen->e_val, |
---|
1247 | mod->eigen->e_val_im,mod->eigen->r_e_vect, |
---|
1248 | mod->eigen->r_e_vect_im,mod->eigen->space)) |
---|
1249 | { |
---|
1250 | /* compute inverse(Vr) into Vi */ |
---|
1251 | For (i,mod->ns*mod->ns) mod->eigen->l_e_vect[i] = mod->eigen->r_e_vect[i]; |
---|
1252 | if(!Matinv(mod->eigen->l_e_vect,mod->eigen->size,mod->eigen->size,YES)) |
---|
1253 | { |
---|
1254 | PhyML_Printf("\n== Err in file %s at line %d.",__FILE__,__LINE__); |
---|
1255 | Exit("\n"); |
---|
1256 | } |
---|
1257 | |
---|
1258 | /* compute the diagonal terms of EXP(D) */ |
---|
1259 | For(i,mod->ns) mod->eigen->e_val[i] = (phydbl)EXP(mod->eigen->e_val[i]); |
---|
1260 | } |
---|
1261 | else |
---|
1262 | { |
---|
1263 | if (result==-1) PhyML_Printf("\n== Eigenvalues/vectors computation does not converge : computation cancelled"); |
---|
1264 | else if (result==1) PhyML_Printf("\n== Complex eigenvalues/vectors : computation cancelled"); |
---|
1265 | } |
---|
1266 | } |
---|
1267 | else if(mod->io->datatype == GENERIC) |
---|
1268 | { |
---|
1269 | /* Uniform state frequencies */ |
---|
1270 | For(i,mod->ns) mod->e_frq->pi->v[i] = 1./(phydbl)mod->ns; |
---|
1271 | mod->kappa->v = 1; |
---|
1272 | mod->s_opt->opt_state_freq = NO; |
---|
1273 | mod->s_opt->opt_kappa = NO; |
---|
1274 | mod->s_opt->opt_lambda = NO; |
---|
1275 | mod->update_eigen = NO; |
---|
1276 | } |
---|
1277 | else |
---|
1278 | { |
---|
1279 | PhyML_Printf("\n== Datatype not recognized.\n"); |
---|
1280 | PhyML_Printf("\n== Err. in file %s at line %d\n",__FILE__,__LINE__); |
---|
1281 | Warn_And_Exit(""); |
---|
1282 | } |
---|
1283 | |
---|
1284 | if(!mod->use_m4mod) Set_Model_Parameters(mod); |
---|
1285 | |
---|
1286 | Init_Eigen_Struct(mod->eigen); |
---|
1287 | |
---|
1288 | free(dr);free(di);free(space); |
---|
1289 | } |
---|
1290 | |
---|
1291 | ////////////////////////////////////////////////////////////// |
---|
1292 | ////////////////////////////////////////////////////////////// |
---|
1293 | |
---|
1294 | int Init_Qmat_Dayhoff(phydbl *daa, phydbl *pi) |
---|
1295 | { |
---|
1296 | /* Dayhoff's model data |
---|
1297 | * Dayhoff, M.O., Schwartz, R.M., Orcutt, B.C. (1978) |
---|
1298 | * "A model of evolutionary change in proteins." |
---|
1299 | * Dayhoff, M.O.(ed.) Atlas of Protein Sequence Structur., Vol5, Suppl3. |
---|
1300 | * National Biomedical Research Foundation, Washington DC, pp.345-352. |
---|
1301 | */ |
---|
1302 | int i,j,naa; |
---|
1303 | |
---|
1304 | naa = 20; |
---|
1305 | |
---|
1306 | /* PhyML_Printf("\n\n. REMINDER : THIS IS NOT DAYHOFF !!!\n\n"); */ |
---|
1307 | |
---|
1308 | /* daa[1*20 + 0] = 0.538903; */ |
---|
1309 | /* daa[2*20 + 0] = 0.412504; */ |
---|
1310 | /* daa[2*20 + 1] = 0.736081; */ |
---|
1311 | /* daa[3*20 + 0] = 0.586915; */ |
---|
1312 | /* daa[3*20 + 1] = 0.108051; */ |
---|
1313 | /* daa[3*20 + 2] = 5.446642; */ |
---|
1314 | /* daa[4*20 + 0] = 2.189718; */ |
---|
1315 | /* daa[4*20 + 1] = 0.830604; */ |
---|
1316 | /* daa[4*20 + 2] = 0.573426; */ |
---|
1317 | /* daa[4*20 + 3] = 0.077565; */ |
---|
1318 | /* daa[5*20 + 0] = 1.08213; */ |
---|
1319 | /* daa[5*20 + 1] = 2.950693; */ |
---|
1320 | /* daa[5*20 + 2] = 1.739514; */ |
---|
1321 | /* daa[5*20 + 3] = 0.559035; */ |
---|
1322 | /* daa[5*20 + 4] = 0.111314; */ |
---|
1323 | /* daa[6*20 + 0] = 1.386865; */ |
---|
1324 | /* daa[6*20 + 1] = 0.358434; */ |
---|
1325 | /* daa[6*20 + 2] = 0.541447; */ |
---|
1326 | /* daa[6*20 + 3] = 5.406871; */ |
---|
1327 | /* daa[6*20 + 4] = 0.003738; */ |
---|
1328 | /* daa[6*20 + 5] = 4.124043; */ |
---|
1329 | /* daa[7*20 + 0] = 2.085747; */ |
---|
1330 | /* daa[7*20 + 1] = 0.453132; */ |
---|
1331 | /* daa[7*20 + 2] = 1.815844; */ |
---|
1332 | /* daa[7*20 + 3] = 1.08647; */ |
---|
1333 | /* daa[7*20 + 4] = 0.526418; */ |
---|
1334 | /* daa[7*20 + 5] = 0.347693; */ |
---|
1335 | /* daa[7*20 + 6] = 0.438476; */ |
---|
1336 | /* daa[8*20 + 0] = 0.407898; */ |
---|
1337 | /* daa[8*20 + 1] = 2.689322; */ |
---|
1338 | /* daa[8*20 + 2] = 5.386808; */ |
---|
1339 | /* daa[8*20 + 3] = 0.884563; */ |
---|
1340 | /* daa[8*20 + 4] = 0.658583; */ |
---|
1341 | /* daa[8*20 + 5] = 4.588358; */ |
---|
1342 | /* daa[8*20 + 6] = 0.386218; */ |
---|
1343 | /* daa[8*20 + 7] = 0.368668; */ |
---|
1344 | /* daa[9*20 + 0] = 0.10177; */ |
---|
1345 | /* daa[9*20 + 1] = 0.104875; */ |
---|
1346 | /* daa[9*20 + 2] = 0.16239; */ |
---|
1347 | /* daa[9*20 + 3] = 0.011698; */ |
---|
1348 | /* daa[9*20 + 4] = 0.253282; */ |
---|
1349 | /* daa[9*20 + 5] = 0.083872; */ |
---|
1350 | /* daa[9*20 + 6] = 0.041767; */ |
---|
1351 | /* daa[9*20 + 7] = 0.009778; */ |
---|
1352 | /* daa[9*20 + 8] = 0.1042; */ |
---|
1353 | /* daa[10*20 + 0] = 0.248202; */ |
---|
1354 | /* daa[10*20 + 1] = 0.375742; */ |
---|
1355 | /* daa[10*20 + 2] = 0.093863; */ |
---|
1356 | /* daa[10*20 + 3] = 0.019241; */ |
---|
1357 | /* daa[10*20 + 4] = 0.572688; */ |
---|
1358 | /* daa[10*20 + 5] = 0.703538; */ |
---|
1359 | /* daa[10*20 + 6] = 0.071961; */ |
---|
1360 | /* daa[10*20 + 7] = 0.03006; */ |
---|
1361 | /* daa[10*20 + 8] = 0.418222; */ |
---|
1362 | /* daa[10*20 + 9] = 3.702051; */ |
---|
1363 | /* daa[11*20 + 0] = 0.652019; */ |
---|
1364 | /* daa[11*20 + 1] = 5.940478; */ |
---|
1365 | /* daa[11*20 + 2] = 2.352253; */ |
---|
1366 | /* daa[11*20 + 3] = 0.231001; */ |
---|
1367 | /* daa[11*20 + 4] = 0.027995; */ |
---|
1368 | /* daa[11*20 + 5] = 3.646743; */ |
---|
1369 | /* daa[11*20 + 6] = 1.507981; */ |
---|
1370 | /* daa[11*20 + 7] = 0.331175; */ |
---|
1371 | /* daa[11*20 + 8] = 0.698362; */ |
---|
1372 | /* daa[11*20 + 9] = 0.140326; */ |
---|
1373 | /* daa[11*20 + 10] = 0.171396; */ |
---|
1374 | /* daa[12*20 + 0] = 0.694226; */ |
---|
1375 | /* daa[12*20 + 1] = 0.419899; */ |
---|
1376 | /* daa[12*20 + 2] = 0.326927; */ |
---|
1377 | /* daa[12*20 + 3] = 0.039488; */ |
---|
1378 | /* daa[12*20 + 4] = 0.844827; */ |
---|
1379 | /* daa[12*20 + 5] = 1.394214; */ |
---|
1380 | /* daa[12*20 + 6] = 0.133235; */ |
---|
1381 | /* daa[12*20 + 7] = 0.085075; */ |
---|
1382 | /* daa[12*20 + 8] = 0.347092; */ |
---|
1383 | /* daa[12*20 + 9] = 4.051255; */ |
---|
1384 | /* daa[12*20 + 10] = 6.650794; */ |
---|
1385 | /* daa[12*20 + 11] = 0.617549; */ |
---|
1386 | /* daa[13*20 + 0] = 0.155206; */ |
---|
1387 | /* daa[13*20 + 1] = 0.057971; */ |
---|
1388 | /* daa[13*20 + 2] = 0.09816; */ |
---|
1389 | /* daa[13*20 + 3] = 0.020441; */ |
---|
1390 | /* daa[13*20 + 4] = 0.904305; */ |
---|
1391 | /* daa[13*20 + 5] = 0.052719; */ |
---|
1392 | /* daa[13*20 + 6] = 0.0219; */ |
---|
1393 | /* daa[13*20 + 7] = 0.046668; */ |
---|
1394 | /* daa[13*20 + 8] = 0.890005; */ |
---|
1395 | /* daa[13*20 + 9] = 0.844963; */ |
---|
1396 | /* daa[13*20 + 10] = 2.348881; */ |
---|
1397 | /* daa[13*20 + 11] = 0.028372; */ |
---|
1398 | /* daa[13*20 + 12] = 1.671635; */ |
---|
1399 | /* daa[14*20 + 0] = 1.433475; */ |
---|
1400 | /* daa[14*20 + 1] = 0.328393; */ |
---|
1401 | /* daa[14*20 + 2] = 0.173181; */ |
---|
1402 | /* daa[14*20 + 3] = 0.431874; */ |
---|
1403 | /* daa[14*20 + 4] = 0.09902; */ |
---|
1404 | /* daa[14*20 + 5] = 0.592324; */ |
---|
1405 | /* daa[14*20 + 6] = 0.488352; */ |
---|
1406 | /* daa[14*20 + 7] = 0.23865; */ |
---|
1407 | /* daa[14*20 + 8] = 0.462856; */ |
---|
1408 | /* daa[14*20 + 9] = 0.057048; */ |
---|
1409 | /* daa[14*20 + 10] = 0.233532; */ |
---|
1410 | /* daa[14*20 + 11] = 0.387808; */ |
---|
1411 | /* daa[14*20 + 12] = 0.096377; */ |
---|
1412 | /* daa[14*20 + 13] = 0.079912; */ |
---|
1413 | /* daa[15*20 + 0] = 4.887126; */ |
---|
1414 | /* daa[15*20 + 1] = 0.883923; */ |
---|
1415 | /* daa[15*20 + 2] = 4.627163; */ |
---|
1416 | /* daa[15*20 + 3] = 1.122164; */ |
---|
1417 | /* daa[15*20 + 4] = 3.186667; */ |
---|
1418 | /* daa[15*20 + 5] = 1.085947; */ |
---|
1419 | /* daa[15*20 + 6] = 0.569339; */ |
---|
1420 | /* daa[15*20 + 7] = 1.993432; */ |
---|
1421 | /* daa[15*20 + 8] = 0.867972; */ |
---|
1422 | /* daa[15*20 + 9] = 0.070512; */ |
---|
1423 | /* daa[15*20 + 10] = 0.163009; */ |
---|
1424 | /* daa[15*20 + 11] = 0.718913; */ |
---|
1425 | /* daa[15*20 + 12] = 0.301103; */ |
---|
1426 | /* daa[15*20 + 13] = 0.32579; */ |
---|
1427 | /* daa[15*20 + 14] = 1.449582; */ |
---|
1428 | /* daa[16*20 + 0] = 2.030538; */ |
---|
1429 | /* daa[16*20 + 1] = 0.639463; */ |
---|
1430 | /* daa[16*20 + 2] = 2.076294; */ |
---|
1431 | /* daa[16*20 + 3] = 0.377239; */ |
---|
1432 | /* daa[16*20 + 4] = 1.42848; */ |
---|
1433 | /* daa[16*20 + 5] = 0.979403; */ |
---|
1434 | /* daa[16*20 + 6] = 0.647562; */ |
---|
1435 | /* daa[16*20 + 7] = 0.145556; */ |
---|
1436 | /* daa[16*20 + 8] = 0.493329; */ |
---|
1437 | /* daa[16*20 + 9] = 0.973405; */ |
---|
1438 | /* daa[16*20 + 10] = 0.271824; */ |
---|
1439 | /* daa[16*20 + 11] = 1.20033; */ |
---|
1440 | /* daa[16*20 + 12] = 1.659187; */ |
---|
1441 | /* daa[16*20 + 13] = 0.1217; */ |
---|
1442 | /* daa[16*20 + 14] = 0.571399; */ |
---|
1443 | /* daa[16*20 + 15] = 6.641034; */ |
---|
1444 | /* daa[17*20 + 0] = 0.131405; */ |
---|
1445 | /* daa[17*20 + 1] = 0.552911; */ |
---|
1446 | /* daa[17*20 + 2] = 0.079985; */ |
---|
1447 | /* daa[17*20 + 3] = 0.060514; */ |
---|
1448 | /* daa[17*20 + 4] = 0.633662; */ |
---|
1449 | /* daa[17*20 + 5] = 0.21823; */ |
---|
1450 | /* daa[17*20 + 6] = 0.074988; */ |
---|
1451 | /* daa[17*20 + 7] = 0.169114; */ |
---|
1452 | /* daa[17*20 + 8] = 0.847725; */ |
---|
1453 | /* daa[17*20 + 9] = 0.10627; */ |
---|
1454 | /* daa[17*20 + 10] = 0.622044; */ |
---|
1455 | /* daa[17*20 + 11] = 0.060755; */ |
---|
1456 | /* daa[17*20 + 12] = 0.719575; */ |
---|
1457 | /* daa[17*20 + 13] = 3.14824; */ |
---|
1458 | /* daa[17*20 + 14] = 0.077123; */ |
---|
1459 | /* daa[17*20 + 15] = 0.276716; */ |
---|
1460 | /* daa[17*20 + 16] = 0.148883; */ |
---|
1461 | /* daa[18*20 + 0] = 0.165179; */ |
---|
1462 | /* daa[18*20 + 1] = 0.224883; */ |
---|
1463 | /* daa[18*20 + 2] = 0.528334; */ |
---|
1464 | /* daa[18*20 + 3] = 0.121252; */ |
---|
1465 | /* daa[18*20 + 4] = 1.174118; */ |
---|
1466 | /* daa[18*20 + 5] = 0.177062; */ |
---|
1467 | /* daa[18*20 + 6] = 0.074715; */ |
---|
1468 | /* daa[18*20 + 7] = 0.042356; */ |
---|
1469 | /* daa[18*20 + 8] = 5.911187; */ |
---|
1470 | /* daa[18*20 + 9] = 0.192481; */ |
---|
1471 | /* daa[18*20 + 10] = 0.321454; */ |
---|
1472 | /* daa[18*20 + 11] = 0.090556; */ |
---|
1473 | /* daa[18*20 + 12] = 0.406415; */ |
---|
1474 | /* daa[18*20 + 13] = 10.908861; */ |
---|
1475 | /* daa[18*20 + 14] = 0.070752; */ |
---|
1476 | /* daa[18*20 + 15] = 0.328483; */ |
---|
1477 | /* daa[18*20 + 16] = 0.181539; */ |
---|
1478 | /* daa[18*20 + 17] = 3.823886; */ |
---|
1479 | /* daa[19*20 + 0] = 1.78517; */ |
---|
1480 | /* daa[19*20 + 1] = 0.166975; */ |
---|
1481 | /* daa[19*20 + 2] = 0.106482; */ |
---|
1482 | /* daa[19*20 + 3] = 0.041707; */ |
---|
1483 | /* daa[19*20 + 4] = 1.876812; */ |
---|
1484 | /* daa[19*20 + 5] = 0.22421; */ |
---|
1485 | /* daa[19*20 + 6] = 0.247356; */ |
---|
1486 | /* daa[19*20 + 7] = 0.06688; */ |
---|
1487 | /* daa[19*20 + 8] = 0.1436; */ |
---|
1488 | /* daa[19*20 + 9] = 9.60184; */ |
---|
1489 | /* daa[19*20 + 10] = 1.599119; */ |
---|
1490 | /* daa[19*20 + 11] = 0.17319; */ |
---|
1491 | /* daa[19*20 + 12] = 1.645134; */ |
---|
1492 | /* daa[19*20 + 13] = 0.438571; */ |
---|
1493 | /* daa[19*20 + 14] = 0.252486; */ |
---|
1494 | /* daa[19*20 + 15] = 0.105536; */ |
---|
1495 | /* daa[19*20 + 16] = 1.789097; */ |
---|
1496 | /* daa[19*20 + 17] = 0.147951; */ |
---|
1497 | /* daa[19*20 + 18] = 0.200571; */ |
---|
1498 | |
---|
1499 | |
---|
1500 | |
---|
1501 | /* for (i=0; i<naa; i++) for (j=0; j<i; j++) daa[j*naa+i] = daa[i*naa+j]; */ |
---|
1502 | |
---|
1503 | |
---|
1504 | /* pi[0] = 0.093862; */ |
---|
1505 | /* pi[1] = 0.05757; */ |
---|
1506 | /* pi[2] = 0.037017; */ |
---|
1507 | /* pi[3] = 0.060952; */ |
---|
1508 | /* pi[4] = 0.011004; */ |
---|
1509 | /* pi[5] = 0.044631; */ |
---|
1510 | /* pi[6] = 0.083648; */ |
---|
1511 | /* pi[7] = 0.053004; */ |
---|
1512 | /* pi[8] = 0.022528; */ |
---|
1513 | /* pi[9] = 0.060152; */ |
---|
1514 | /* pi[10] = 0.092314; */ |
---|
1515 | /* pi[11] = 0.065886; */ |
---|
1516 | /* pi[12] = 0.021075; */ |
---|
1517 | /* pi[13] = 0.033928; */ |
---|
1518 | /* pi[14] = 0.043333; */ |
---|
1519 | /* pi[15] = 0.052957; */ |
---|
1520 | /* pi[16] = 0.053465; */ |
---|
1521 | /* pi[17] = 0.00928; */ |
---|
1522 | /* pi[18] = 0.030025; */ |
---|
1523 | /* pi[19] = 0.073369; */ |
---|
1524 | |
---|
1525 | |
---|
1526 | daa[ 1*20+ 0] = 27.00; daa[ 2*20+ 0] = 98.00; daa[ 2*20+ 1] = 32.00; daa[ 3*20+ 0] = 120.00; |
---|
1527 | daa[ 3*20+ 1] = 0.00; daa[ 3*20+ 2] = 905.00; daa[ 4*20+ 0] = 36.00; daa[ 4*20+ 1] = 23.00; |
---|
1528 | daa[ 4*20+ 2] = 0.00; daa[ 4*20+ 3] = 0.00; daa[ 5*20+ 0] = 89.00; daa[ 5*20+ 1] = 246.00; |
---|
1529 | daa[ 5*20+ 2] = 103.00; daa[ 5*20+ 3] = 134.00; daa[ 5*20+ 4] = 0.00; daa[ 6*20+ 0] = 198.00; |
---|
1530 | daa[ 6*20+ 1] = 1.00; daa[ 6*20+ 2] = 148.00; daa[ 6*20+ 3] = 1153.00; daa[ 6*20+ 4] = 0.00; |
---|
1531 | daa[ 6*20+ 5] = 716.00; daa[ 7*20+ 0] = 240.00; daa[ 7*20+ 1] = 9.00; daa[ 7*20+ 2] = 139.00; |
---|
1532 | daa[ 7*20+ 3] = 125.00; daa[ 7*20+ 4] = 11.00; daa[ 7*20+ 5] = 28.00; daa[ 7*20+ 6] = 81.00; |
---|
1533 | daa[ 8*20+ 0] = 23.00; daa[ 8*20+ 1] = 240.00; daa[ 8*20+ 2] = 535.00; daa[ 8*20+ 3] = 86.00; |
---|
1534 | daa[ 8*20+ 4] = 28.00; daa[ 8*20+ 5] = 606.00; daa[ 8*20+ 6] = 43.00; daa[ 8*20+ 7] = 10.00; |
---|
1535 | daa[ 9*20+ 0] = 65.00; daa[ 9*20+ 1] = 64.00; daa[ 9*20+ 2] = 77.00; daa[ 9*20+ 3] = 24.00; |
---|
1536 | daa[ 9*20+ 4] = 44.00; daa[ 9*20+ 5] = 18.00; daa[ 9*20+ 6] = 61.00; daa[ 9*20+ 7] = 0.00; |
---|
1537 | daa[ 9*20+ 8] = 7.00; daa[10*20+ 0] = 41.00; daa[10*20+ 1] = 15.00; daa[10*20+ 2] = 34.00; |
---|
1538 | daa[10*20+ 3] = 0.00; daa[10*20+ 4] = 0.00; daa[10*20+ 5] = 73.00; daa[10*20+ 6] = 11.00; |
---|
1539 | daa[10*20+ 7] = 7.00; daa[10*20+ 8] = 44.00; daa[10*20+ 9] = 257.00; daa[11*20+ 0] = 26.00; |
---|
1540 | daa[11*20+ 1] = 464.00; daa[11*20+ 2] = 318.00; daa[11*20+ 3] = 71.00; daa[11*20+ 4] = 0.00; |
---|
1541 | daa[11*20+ 5] = 153.00; daa[11*20+ 6] = 83.00; daa[11*20+ 7] = 27.00; daa[11*20+ 8] = 26.00; |
---|
1542 | daa[11*20+ 9] = 46.00; daa[11*20+10] = 18.00; daa[12*20+ 0] = 72.00; daa[12*20+ 1] = 90.00; |
---|
1543 | daa[12*20+ 2] = 1.00; daa[12*20+ 3] = 0.00; daa[12*20+ 4] = 0.00; daa[12*20+ 5] = 114.00; |
---|
1544 | daa[12*20+ 6] = 30.00; daa[12*20+ 7] = 17.00; daa[12*20+ 8] = 0.00; daa[12*20+ 9] = 336.00; |
---|
1545 | daa[12*20+10] = 527.00; daa[12*20+11] = 243.00; daa[13*20+ 0] = 18.00; daa[13*20+ 1] = 14.00; |
---|
1546 | daa[13*20+ 2] = 14.00; daa[13*20+ 3] = 0.00; daa[13*20+ 4] = 0.00; daa[13*20+ 5] = 0.00; |
---|
1547 | daa[13*20+ 6] = 0.00; daa[13*20+ 7] = 15.00; daa[13*20+ 8] = 48.00; daa[13*20+ 9] = 196.00; |
---|
1548 | daa[13*20+10] = 157.00; daa[13*20+11] = 0.00; daa[13*20+12] = 92.00; daa[14*20+ 0] = 250.00; |
---|
1549 | daa[14*20+ 1] = 103.00; daa[14*20+ 2] = 42.00; daa[14*20+ 3] = 13.00; daa[14*20+ 4] = 19.00; |
---|
1550 | daa[14*20+ 5] = 153.00; daa[14*20+ 6] = 51.00; daa[14*20+ 7] = 34.00; daa[14*20+ 8] = 94.00; |
---|
1551 | daa[14*20+ 9] = 12.00; daa[14*20+10] = 32.00; daa[14*20+11] = 33.00; daa[14*20+12] = 17.00; |
---|
1552 | daa[14*20+13] = 11.00; daa[15*20+ 0] = 409.00; daa[15*20+ 1] = 154.00; daa[15*20+ 2] = 495.00; |
---|
1553 | daa[15*20+ 3] = 95.00; daa[15*20+ 4] = 161.00; daa[15*20+ 5] = 56.00; daa[15*20+ 6] = 79.00; |
---|
1554 | daa[15*20+ 7] = 234.00; daa[15*20+ 8] = 35.00; daa[15*20+ 9] = 24.00; daa[15*20+10] = 17.00; |
---|
1555 | daa[15*20+11] = 96.00; daa[15*20+12] = 62.00; daa[15*20+13] = 46.00; daa[15*20+14] = 245.00; |
---|
1556 | daa[16*20+ 0] = 371.00; daa[16*20+ 1] = 26.00; daa[16*20+ 2] = 229.00; daa[16*20+ 3] = 66.00; |
---|
1557 | daa[16*20+ 4] = 16.00; daa[16*20+ 5] = 53.00; daa[16*20+ 6] = 34.00; daa[16*20+ 7] = 30.00; |
---|
1558 | daa[16*20+ 8] = 22.00; daa[16*20+ 9] = 192.00; daa[16*20+10] = 33.00; daa[16*20+11] = 136.00; |
---|
1559 | daa[16*20+12] = 104.00; daa[16*20+13] = 13.00; daa[16*20+14] = 78.00; daa[16*20+15] = 550.00; |
---|
1560 | daa[17*20+ 0] = 0.00; daa[17*20+ 1] = 201.00; daa[17*20+ 2] = 23.00; daa[17*20+ 3] = 0.00; |
---|
1561 | daa[17*20+ 4] = 0.00; daa[17*20+ 5] = 0.00; daa[17*20+ 6] = 0.00; daa[17*20+ 7] = 0.00; |
---|
1562 | daa[17*20+ 8] = 27.00; daa[17*20+ 9] = 0.00; daa[17*20+10] = 46.00; daa[17*20+11] = 0.00; |
---|
1563 | daa[17*20+12] = 0.00; daa[17*20+13] = 76.00; daa[17*20+14] = 0.00; daa[17*20+15] = 75.00; |
---|
1564 | daa[17*20+16] = 0.00; daa[18*20+ 0] = 24.00; daa[18*20+ 1] = 8.00; daa[18*20+ 2] = 95.00; |
---|
1565 | daa[18*20+ 3] = 0.00; daa[18*20+ 4] = 96.00; daa[18*20+ 5] = 0.00; daa[18*20+ 6] = 22.00; |
---|
1566 | daa[18*20+ 7] = 0.00; daa[18*20+ 8] = 127.00; daa[18*20+ 9] = 37.00; daa[18*20+10] = 28.00; |
---|
1567 | daa[18*20+11] = 13.00; daa[18*20+12] = 0.00; daa[18*20+13] = 698.00; daa[18*20+14] = 0.00; |
---|
1568 | daa[18*20+15] = 34.00; daa[18*20+16] = 42.00; daa[18*20+17] = 61.00; daa[19*20+ 0] = 208.00; |
---|
1569 | daa[19*20+ 1] = 24.00; daa[19*20+ 2] = 15.00; daa[19*20+ 3] = 18.00; daa[19*20+ 4] = 49.00; |
---|
1570 | daa[19*20+ 5] = 35.00; daa[19*20+ 6] = 37.00; daa[19*20+ 7] = 54.00; daa[19*20+ 8] = 44.00; |
---|
1571 | daa[19*20+ 9] = 889.00; daa[19*20+10] = 175.00; daa[19*20+11] = 10.00; daa[19*20+12] = 258.00; |
---|
1572 | daa[19*20+13] = 12.00; daa[19*20+14] = 48.00; daa[19*20+15] = 30.00; daa[19*20+16] = 157.00; |
---|
1573 | daa[19*20+17] = 0.00; daa[19*20+18] = 28.00; |
---|
1574 | |
---|
1575 | for (i=0; i<naa; i++) for (j=0; j<i; j++) daa[j*naa+i] = daa[i*naa+j]; |
---|
1576 | |
---|
1577 | pi[ 0] = 0.087127; pi[ 1] = 0.040904; pi[ 2] = 0.040432; pi[ 3] = 0.046872; |
---|
1578 | pi[ 4] = 0.033474; pi[ 5] = 0.038255; pi[ 6] = 0.049530; pi[ 7] = 0.088612; |
---|
1579 | pi[ 8] = 0.033618; pi[ 9] = 0.036886; pi[10] = 0.085357; pi[11] = 0.080482; |
---|
1580 | pi[12] = 0.014753; pi[13] = 0.039772; pi[14] = 0.050680; pi[15] = 0.069577; |
---|
1581 | pi[16] = 0.058542; pi[17] = 0.010494; pi[18] = 0.029916; pi[19] = 0.064718; |
---|
1582 | |
---|
1583 | |
---|
1584 | |
---|
1585 | return 1; |
---|
1586 | } |
---|
1587 | |
---|
1588 | ////////////////////////////////////////////////////////////// |
---|
1589 | ////////////////////////////////////////////////////////////// |
---|
1590 | |
---|
1591 | |
---|
1592 | int Init_Qmat_DCMut(phydbl *daa, phydbl *pi) |
---|
1593 | { |
---|
1594 | /* |
---|
1595 | DCMut : new implementation based on Dayhoff et al.'s raw data and amino acid mutabilities |
---|
1596 | C. Kosiol and N. Goldman. (2005), |
---|
1597 | ``Different versions of the Dayhoff rate matrix'', |
---|
1598 | Mol. Biol. Evol., 22. 193-199. |
---|
1599 | */ |
---|
1600 | |
---|
1601 | int i,j,naa; |
---|
1602 | |
---|
1603 | naa = 20; |
---|
1604 | |
---|
1605 | daa[ 1*20+ 0] = 26.78280; daa[ 2*20+ 0] = 98.44740; daa[ 2*20+ 1] = 32.70590; daa[ 3*20+ 0] = 119.98050; |
---|
1606 | daa[ 3*20+ 1] = 0.00000; daa[ 3*20+ 2] = 893.15150; daa[ 4*20+ 0] = 36.00160; daa[ 4*20+ 1] = 23.23740; |
---|
1607 | daa[ 4*20+ 2] = 0.00000; daa[ 4*20+ 3] = 0.00000; daa[ 5*20+ 0] = 88.77530; daa[ 5*20+ 1] = 243.99390; |
---|
1608 | daa[ 5*20+ 2] = 102.85090; daa[ 5*20+ 3] = 134.85510; daa[ 5*20+ 4] = 0.00000; daa[ 6*20+ 0] = 196.11670; |
---|
1609 | daa[ 6*20+ 1] = 0.00000; daa[ 6*20+ 2] = 149.34090; daa[ 6*20+ 3] = 1138.86590; daa[ 6*20+ 4] = 0.00000; |
---|
1610 | daa[ 6*20+ 5] = 708.60220; daa[ 7*20+ 0] = 238.61110; daa[ 7*20+ 1] = 8.77910; daa[ 7*20+ 2] = 138.53520; |
---|
1611 | daa[ 7*20+ 3] = 124.09810; daa[ 7*20+ 4] = 10.72780; daa[ 7*20+ 5] = 28.15810; daa[ 7*20+ 6] = 81.19070; |
---|
1612 | daa[ 8*20+ 0] = 22.81160; daa[ 8*20+ 1] = 238.31480; daa[ 8*20+ 2] = 529.00240; daa[ 8*20+ 3] = 86.82410; |
---|
1613 | daa[ 8*20+ 4] = 28.27290; daa[ 8*20+ 5] = 601.16130; daa[ 8*20+ 6] = 43.94690; daa[ 8*20+ 7] = 10.68020; |
---|
1614 | daa[ 9*20+ 0] = 65.34160; daa[ 9*20+ 1] = 63.26290; daa[ 9*20+ 2] = 76.80240; daa[ 9*20+ 3] = 23.92480; |
---|
1615 | daa[ 9*20+ 4] = 43.80740; daa[ 9*20+ 5] = 18.03930; daa[ 9*20+ 6] = 60.95260; daa[ 9*20+ 7] = 0.00000; |
---|
1616 | daa[ 9*20+ 8] = 7.69810; daa[10*20+ 0] = 40.64310; daa[10*20+ 1] = 15.49240; daa[10*20+ 2] = 34.11130; |
---|
1617 | daa[10*20+ 3] = 0.00000; daa[10*20+ 4] = 0.00000; daa[10*20+ 5] = 73.07720; daa[10*20+ 6] = 11.28800; |
---|
1618 | daa[10*20+ 7] = 7.15140; daa[10*20+ 8] = 44.35040; daa[10*20+ 9] = 255.66850; daa[11*20+ 0] = 25.86350; |
---|
1619 | daa[11*20+ 1] = 461.01240; daa[11*20+ 2] = 314.83710; daa[11*20+ 3] = 71.69130; daa[11*20+ 4] = 0.00000; |
---|
1620 | daa[11*20+ 5] = 151.90780; daa[11*20+ 6] = 83.00780; daa[11*20+ 7] = 26.76830; daa[11*20+ 8] = 27.04750; |
---|
1621 | daa[11*20+ 9] = 46.08570; daa[11*20+10] = 18.06290; daa[12*20+ 0] = 71.78400; daa[12*20+ 1] = 89.63210; |
---|
1622 | daa[12*20+ 2] = 0.00000; daa[12*20+ 3] = 0.00000; daa[12*20+ 4] = 0.00000; daa[12*20+ 5] = 112.74990; |
---|
1623 | daa[12*20+ 6] = 30.48030; daa[12*20+ 7] = 17.03720; daa[12*20+ 8] = 0.00000; daa[12*20+ 9] = 333.27320; |
---|
1624 | daa[12*20+10] = 523.01150; daa[12*20+11] = 241.17390; daa[13*20+ 0] = 18.36410; daa[13*20+ 1] = 13.69060; |
---|
1625 | daa[13*20+ 2] = 13.85030; daa[13*20+ 3] = 0.00000; daa[13*20+ 4] = 0.00000; daa[13*20+ 5] = 0.00000; |
---|
1626 | daa[13*20+ 6] = 0.00000; daa[13*20+ 7] = 15.34780; daa[13*20+ 8] = 47.59270; daa[13*20+ 9] = 195.19510; |
---|
1627 | daa[13*20+10] = 156.51600; daa[13*20+11] = 0.00000; daa[13*20+12] = 92.18600; daa[14*20+ 0] = 248.59200; |
---|
1628 | daa[14*20+ 1] = 102.83130; daa[14*20+ 2] = 41.92440; daa[14*20+ 3] = 13.39400; daa[14*20+ 4] = 18.75500; |
---|
1629 | daa[14*20+ 5] = 152.61880; daa[14*20+ 6] = 50.70030; daa[14*20+ 7] = 34.71530; daa[14*20+ 8] = 93.37090; |
---|
1630 | daa[14*20+ 9] = 11.91520; daa[14*20+10] = 31.62580; daa[14*20+11] = 33.54190; daa[14*20+12] = 17.02050; |
---|
1631 | daa[14*20+13] = 11.05060; daa[15*20+ 0] = 405.18700; daa[15*20+ 1] = 153.15900; daa[15*20+ 2] = 488.58920; |
---|
1632 | daa[15*20+ 3] = 95.60970; daa[15*20+ 4] = 159.83560; daa[15*20+ 5] = 56.18280; daa[15*20+ 6] = 79.39990; |
---|
1633 | daa[15*20+ 7] = 232.22430; daa[15*20+ 8] = 35.36430; daa[15*20+ 9] = 24.79550; daa[15*20+10] = 17.14320; |
---|
1634 | daa[15*20+11] = 95.45570; daa[15*20+12] = 61.99510; daa[15*20+13] = 45.99010; daa[15*20+14] = 242.72020; |
---|
1635 | daa[16*20+ 0] = 368.03650; daa[16*20+ 1] = 26.57450; daa[16*20+ 2] = 227.16970; daa[16*20+ 3] = 66.09300; |
---|
1636 | daa[16*20+ 4] = 16.23660; daa[16*20+ 5] = 52.56510; daa[16*20+ 6] = 34.01560; daa[16*20+ 7] = 30.66620; |
---|
1637 | daa[16*20+ 8] = 22.63330; daa[16*20+ 9] = 190.07390; daa[16*20+10] = 33.10900; daa[16*20+11] = 135.05990; |
---|
1638 | daa[16*20+12] = 103.15340; daa[16*20+13] = 13.66550; daa[16*20+14] = 78.28570; daa[16*20+15] = 543.66740; |
---|
1639 | daa[17*20+ 0] = 0.00000; daa[17*20+ 1] = 200.13750; daa[17*20+ 2] = 22.49680; daa[17*20+ 3] = 0.00000; |
---|
1640 | daa[17*20+ 4] = 0.00000; daa[17*20+ 5] = 0.00000; daa[17*20+ 6] = 0.00000; daa[17*20+ 7] = 0.00000; |
---|
1641 | daa[17*20+ 8] = 27.05640; daa[17*20+ 9] = 0.00000; daa[17*20+10] = 46.17760; daa[17*20+11] = 0.00000; |
---|
1642 | daa[17*20+12] = 0.00000; daa[17*20+13] = 76.23540; daa[17*20+14] = 0.00000; daa[17*20+15] = 74.08190; |
---|
1643 | daa[17*20+16] = 0.00000; daa[18*20+ 0] = 24.41390; daa[18*20+ 1] = 7.80120; daa[18*20+ 2] = 94.69400; |
---|
1644 | daa[18*20+ 3] = 0.00000; daa[18*20+ 4] = 95.31640; daa[18*20+ 5] = 0.00000; daa[18*20+ 6] = 21.47170; |
---|
1645 | daa[18*20+ 7] = 0.00000; daa[18*20+ 8] = 126.54000; daa[18*20+ 9] = 37.48340; daa[18*20+10] = 28.65720; |
---|
1646 | daa[18*20+11] = 13.21420; daa[18*20+12] = 0.00000; daa[18*20+13] = 695.26290; daa[18*20+14] = 0.00000; |
---|
1647 | daa[18*20+15] = 33.62890; daa[18*20+16] = 41.78390; daa[18*20+17] = 60.80700; daa[19*20+ 0] = 205.95640; |
---|
1648 | daa[19*20+ 1] = 24.03680; daa[19*20+ 2] = 15.80670; daa[19*20+ 3] = 17.83160; daa[19*20+ 4] = 48.46780; |
---|
1649 | daa[19*20+ 5] = 34.69830; daa[19*20+ 6] = 36.72500; daa[19*20+ 7] = 53.81650; daa[19*20+ 8] = 43.87150; |
---|
1650 | daa[19*20+ 9] = 881.00380; daa[19*20+10] = 174.51560; daa[19*20+11] = 10.38500; daa[19*20+12] = 256.59550; |
---|
1651 | daa[19*20+13] = 12.36060; daa[19*20+14] = 48.50260; daa[19*20+15] = 30.38360; daa[19*20+16] = 156.19970; |
---|
1652 | daa[19*20+17] = 0.00000; daa[19*20+18] = 27.93790; |
---|
1653 | |
---|
1654 | for (i=0; i<naa; i++) for (j=0; j<i; j++) daa[j*naa+i] = daa[i*naa+j]; |
---|
1655 | |
---|
1656 | pi[ 0] = 0.087127; pi[ 1] = 0.040904; pi[ 2] = 0.040432; pi[ 3] = 0.046872; |
---|
1657 | pi[ 4] = 0.033474; pi[ 5] = 0.038255; pi[ 6] = 0.049530; pi[ 7] = 0.088612; |
---|
1658 | pi[ 8] = 0.033619; pi[ 9] = 0.036886; pi[10] = 0.085357; pi[11] = 0.080481; |
---|
1659 | pi[12] = 0.014753; pi[13] = 0.039772; pi[14] = 0.050680; pi[15] = 0.069577; |
---|
1660 | pi[16] = 0.058542; pi[17] = 0.010494; pi[18] = 0.029916; pi[19] = 0.064718; |
---|
1661 | |
---|
1662 | return 1; |
---|
1663 | } |
---|
1664 | |
---|
1665 | ////////////////////////////////////////////////////////////// |
---|
1666 | ////////////////////////////////////////////////////////////// |
---|
1667 | |
---|
1668 | |
---|
1669 | int Init_Qmat_MtArt(phydbl *daa, phydbl *pi) // Added by Federico Abascal |
---|
1670 | { |
---|
1671 | /* |
---|
1672 | Federico Abascal, April 2005 (c). |
---|
1673 | |
---|
1674 | This model has been derived from 36 artropoda mitochondrial genomes. |
---|
1675 | |
---|
1676 | Each gene of the given species was aligned individually. Then, alignments of the whole set |
---|
1677 | of 13 genes where concatenated and passed through GBlocks (Castresana, 2000, in JME) with |
---|
1678 | parameters and output: |
---|
1679 | |
---|
1680 | Minimum Number Of Sequences For A Conserved Position: 20 |
---|
1681 | Minimum Number Of Sequences For A Flanking Position: 32 |
---|
1682 | Maximum Number Of Contiguous Nonconserved Positions: 8 |
---|
1683 | Minimum Length Of A Block: 10 |
---|
1684 | Allowed Gap Positions: With Half |
---|
1685 | Use Similarity Matrices: Yes |
---|
1686 | |
---|
1687 | Flank positions of the 40 selected block(s) |
---|
1688 | Flanks: [6 22] [26 44] [61 70] [77 143] [145 185] [208 236] [309 640] |
---|
1689 | [644 802] [831 941] [956 966] [973 1062] [1085 1339] [1343 1702] |
---|
1690 | [1754 1831] [1840 1911] [1916 1987] [2011 2038] [2097 2118] [2125 2143] |
---|
1691 | [2179 2215] [2243 2268] [2277 2288] [2333 2347] [2476 2518] [2539 2558] |
---|
1692 | [2600 2613] [2637 2672] [2738 2759] [2784 2839] [2882 2924] [2948 3097] |
---|
1693 | [3113 3123] [3210 3235] [3239 3322] [3348 3392] [3406 3526] [3588 3617] |
---|
1694 | [3660 3692] [3803 3830] [3909 3928] |
---|
1695 | |
---|
1696 | New number of positions in MtArt-strict.phy.fasta-gb: <b> 2664 </b> (67% of the original 3933 positions) |
---|
1697 | |
---|
1698 | The species included in the analysis were: |
---|
1699 | Harpiosquilla harpax [NCBI_TaxID 287944] |
---|
1700 | Ixodes uriae [NCBI_TaxID 59655] |
---|
1701 | Heptathela hangzhouensis [NCBI_TaxID 216259] |
---|
1702 | Triops longicaudatus [NCBI_TaxID 58777] |
---|
1703 | Gryllotalpa orientalis [NCBI_TaxID 213494] |
---|
1704 | lepidopsocid RS-2001 [NCBI_TaxID 159971] |
---|
1705 | Locusta migratoria [NCBI_TaxID 7004] |
---|
1706 | Drosophila yakuba [NCBI_TaxID 7245] |
---|
1707 | Ostrinia furnacalis [NCBI_TaxID 93504] |
---|
1708 | Megabalanus volcano [NCBI_TaxID 266495] |
---|
1709 | Periplaneta fuliginosa [NCBI_TaxID 36977] |
---|
1710 | Thermobia domestica [NCBI_TaxID 89055] |
---|
1711 | Aleurochiton aceris [NCBI_TaxID 266942] |
---|
1712 | Schizaphis graminum [NCBI_TaxID 13262] |
---|
1713 | Pteronarcys princeps [NCBI_TaxID 285953] |
---|
1714 | Aleurodicus dugesii [NCBI_TaxID 30099] |
---|
1715 | Pollicipes polymerus [NCBI_TaxID 36137] |
---|
1716 | Gomphiocephalus hodgsoni [NCBI_TaxID 221270] |
---|
1717 | Habronattus oregonensis [NCBI_TaxID 130930] |
---|
1718 | Speleonectes tulumensis [NCBI_TaxID 84346] |
---|
1719 | Hutchinsoniella macracantha [NCBI_TaxID 84335] |
---|
1720 | Haemaphysalis flava [NCBI_TaxID 181088] |
---|
1721 | Scutigera coleoptrata [NCBI_TaxID 29022] |
---|
1722 | Vargula hilgendorfii [NCBI_TaxID 6674] |
---|
1723 | Tricholepidion gertschi [NCBI_TaxID 89825] |
---|
1724 | Varroa destructor [NCBI_TaxID 109461] |
---|
1725 | Bombyx mandarina [NCBI_TaxID 7092] |
---|
1726 | Thyropygus sp. [NCBI_TaxID 174155] |
---|
1727 | Tribolium castaneum [NCBI_TaxID 7070] |
---|
1728 | Pagurus longicarpus [NCBI_TaxID 111067] |
---|
1729 | Limulus polyphemus [NCBI_TaxID 6850] |
---|
1730 | Tetrodontophora bielanensis [NCBI_TaxID 48717] |
---|
1731 | Penaeus monodon [NCBI_TaxID 6687] |
---|
1732 | Daphnia pulex [NCBI_TaxID 6669] |
---|
1733 | Apis mellifera [NCBI_TaxID 7469] |
---|
1734 | Anopheles gambiae [NCBI_TaxID 7165] |
---|
1735 | |
---|
1736 | The topology used for inferring the model was: |
---|
1737 | (((Daph_pulex,Trio_longi),((((((Aleu_aceri,Aleu_duges),Schi_grami),lepi_RS_20), |
---|
1738 | ((((Ostr_furna,Bomb_manda),(Dros_yakub,Anop_gambi)),Apis_melli),Trib_casta)), |
---|
1739 | ((Gryl_orien,Locu_migra),(Pter_princ,Peri_fulig))),(Tric_gerts,Ther_domes)), |
---|
1740 | (Scut_coleo,Thyr_sp),Varg_hilge,Hutc_macra,((((Ixod_uriae,Haem_flava),Varr_destr), |
---|
1741 | (Habr_orego,Hept_hangz)),Limu_polyp),(Poll_polym,Mega_volca),(Gomp_hodgs,Tetr_biela), |
---|
1742 | ((Pagu_longi,Pena_monod),Harp_harpa),Spel_tulum)); |
---|
1743 | |
---|
1744 | Note this is not the ML topoLOGy but the consensus one (based on morphoLOGical data, |
---|
1745 | phyLOGenetic reconstruction using nuclear genes, etc). Where relationships are |
---|
1746 | not clear, a polytomy was introduced (it contains quite a lot of polytomies!). |
---|
1747 | |
---|
1748 | The model was estimated using (the great and helpful) Ziheng Yang's Paml software package. |
---|
1749 | A four-categorized gamma distribution was used to account for heterogeneity (alpha |
---|
1750 | was estimated to be 0.47821). Sites with ambiguity data were taken into account. |
---|
1751 | |
---|
1752 | If you would like the data related to this matrix, please contact fabascal@uvigo.es. |
---|
1753 | Federico Abascal (c)2005. |
---|
1754 | */ |
---|
1755 | |
---|
1756 | int i,j,naa; |
---|
1757 | naa = 20; |
---|
1758 | daa[1*20+ 0] = 0.2; daa[2*20+ 0] = 0.2; daa[2*20+ 1] = 0.2; daa[3*20+ 0] = 0.6; |
---|
1759 | daa[3*20+ 1] = 4.3; daa[3*20+ 2] = 500.2; daa[4*20+ 0] = 253.5; daa[4*20+ 1] = 35.5; |
---|
1760 | daa[4*20+ 2] = 98.2; daa[4*20+ 3] = 10.6; daa[5*20+ 0] = 0.2; daa[5*20+ 1] = 154.0; |
---|
1761 | daa[5*20+ 2] = 261.8; daa[5*20+ 3] = 0.2; daa[5*20+ 4] = 0.2; daa[6*20+ 0] = 0.2; |
---|
1762 | daa[6*20+ 1] = 0.2; daa[6*20+ 2] = 183.0; daa[6*20+ 3] = 861.8; daa[6*20+ 4] = 0.2; |
---|
1763 | daa[6*20+ 5] = 261.6; daa[7*20+ 0] = 199.8; daa[7*20+ 1] = 0.2; daa[7*20+ 2] = 120.5; |
---|
1764 | daa[7*20+ 3] = 12.5; daa[7*20+ 4] = 80.5; daa[7*20+ 5] = 2.6; daa[7*20+ 6] = 43.9; |
---|
1765 | daa[8*20+ 0] = 0.2; daa[8*20+ 1] = 41.3; daa[8*20+ 2] = 179.5; daa[8*20+ 3] = 0.2; |
---|
1766 | daa[8*20+ 4] = 12.4; daa[8*20+ 5] = 313.5; daa[8*20+ 6] = 15.2; daa[8*20+ 7] = 0.2; |
---|
1767 | daa[9*20+ 0] = 25.7; daa[9*20+ 1] = 1.8; daa[9*20+ 2] = 21.3; daa[9*20+ 3] = 6.6; |
---|
1768 | daa[9*20+ 4] = 63.0; daa[9*20+ 5] = 10.5; daa[9*20+ 6] = 6.8; daa[9*20+ 7] = 2.7; |
---|
1769 | daa[9*20+ 8] = 0.2; daa[10*20+ 0] = 3.7; daa[10*20+ 1] = 1.8; daa[10*20+ 2] = 12.6; |
---|
1770 | daa[10*20+ 3] = 1.2; daa[10*20+ 4] = 78.7; daa[10*20+ 5] = 16.3; daa[10*20+ 6] = 1.7; |
---|
1771 | daa[10*20+ 7] = 1.4; daa[10*20+ 8] = 5.5; daa[10*20+ 9] = 514.5; daa[11*20+ 0] = 0.2; |
---|
1772 | daa[11*20+ 1] = 208.6; daa[11*20+ 2] = 467.3; daa[11*20+ 3] = 1.7; daa[11*20+ 4] = 0.2; |
---|
1773 | daa[11*20+ 5] = 349.3; daa[11*20+ 6] = 106.3; daa[11*20+ 7] = 0.2; daa[11*20+ 8] = 0.2; |
---|
1774 | daa[11*20+ 9] = 3.5; daa[11*20+ 10] = 3.8; daa[12*20+ 0] = 120.6; daa[12*20+ 1] = 5.2; |
---|
1775 | daa[12*20+ 2] = 78.8; daa[12*20+ 3] = 0.2; daa[12*20+ 4] = 312.3; daa[12*20+ 5] = 67.3; |
---|
1776 | daa[12*20+ 6] = 0.2; daa[12*20+ 7] = 55.7; daa[12*20+ 8] = 0.2; daa[12*20+ 9] = 514.8; |
---|
1777 | daa[12*20+ 10] = 885.5; daa[12*20+ 11] = 105.6; daa[13*20+ 0] = 13.1; daa[13*20+ 1] = 4.7; |
---|
1778 | daa[13*20+ 2] = 19.7; daa[13*20+ 3] = 0.2; daa[13*20+ 4] = 184.1; daa[13*20+ 5] = 0.2; |
---|
1779 | daa[13*20+ 6] = 0.2; daa[13*20+ 7] = 0.8; daa[13*20+ 8] = 13.8; daa[13*20+ 9] = 117.9; |
---|
1780 | daa[13*20+ 10] = 262.6; daa[13*20+ 11] = 10.7; daa[13*20+ 12] = 321.6; daa[14*20+ 0] = 49.3; |
---|
1781 | daa[14*20+ 1] = 0.2; daa[14*20+ 2] = 16.5; daa[14*20+ 3] = 0.2; daa[14*20+ 4] = 0.2; |
---|
1782 | daa[14*20+ 5] = 39.3; daa[14*20+ 6] = 7.9; daa[14*20+ 7] = 0.2; daa[14*20+ 8] = 0.8; |
---|
1783 | daa[14*20+ 9] = 0.2; daa[14*20+ 10] = 12.2; daa[14*20+ 11] = 16.8; daa[14*20+ 12] = 5.3; |
---|
1784 | daa[14*20+ 13] = 14.6; daa[15*20+ 0] = 673.0; daa[15*20+ 1] = 2.7; daa[15*20+ 2] = 398.4; |
---|
1785 | daa[15*20+ 3] = 44.4; daa[15*20+ 4] = 664.2; daa[15*20+ 5] = 52.4; daa[15*20+ 6] = 31.5; |
---|
1786 | daa[15*20+ 7] = 226.0; daa[15*20+ 8] = 10.6; daa[15*20+ 9] = 7.2; daa[15*20+ 10] = 8.2; |
---|
1787 | daa[15*20+ 11] = 144.2; daa[15*20+ 12] = 111.7; daa[15*20+ 13] = 36.1; daa[15*20+ 14] = 86.5; |
---|
1788 | daa[16*20+ 0] = 243.9; daa[16*20+ 1] = 0.2; daa[16*20+ 2] = 165.9; daa[16*20+ 3] = 0.2; |
---|
1789 | daa[16*20+ 4] = 182.8; daa[16*20+ 5] = 43.7; daa[16*20+ 6] = 43.4; daa[16*20+ 7] = 0.2; |
---|
1790 | daa[16*20+ 8] = 18.6; daa[16*20+ 9] = 203.7; daa[16*20+ 10] = 47.8; daa[16*20+ 11] = 69.5; |
---|
1791 | daa[16*20+ 12] = 288.6; daa[16*20+ 13] = 13.5; daa[16*20+ 14] = 46.8; daa[16*20+ 15] = 660.4; |
---|
1792 | daa[17*20+ 0] = 0.2; daa[17*20+ 1] = 0.2; daa[17*20+ 2] = 7.7; daa[17*20+ 3] = 0.2; |
---|
1793 | daa[17*20+ 4] = 21.6; daa[17*20+ 5] = 6.7; daa[17*20+ 6] = 11.0; daa[17*20+ 7] = 1.9; |
---|
1794 | daa[17*20+ 8] = 0.2; daa[17*20+ 9] = 0.2; daa[17*20+ 10] = 21.1; daa[17*20+ 11] = 16.0; |
---|
1795 | daa[17*20+ 12] = 70.7; daa[17*20+ 13] = 53.7; daa[17*20+ 14] = 0.2; daa[17*20+ 15] = 2.4; |
---|
1796 | daa[17*20+ 16] = 0.2; daa[18*20+ 0] = 1.2; daa[18*20+ 1] = 3.9; daa[18*20+ 2] = 251.2; |
---|
1797 | daa[18*20+ 3] = 0.2; daa[18*20+ 4] = 72.0; daa[18*20+ 5] = 86.7; daa[18*20+ 6] = 7.7; |
---|
1798 | daa[18*20+ 7] = 8.6; daa[18*20+ 8] = 191.4; daa[18*20+ 9] = 12.3; daa[18*20+ 10] = 19.8; |
---|
1799 | daa[18*20+ 11] = 117.1; daa[18*20+ 12] = 70.9; daa[18*20+ 13] = 791.6; daa[18*20+ 14] = 18.4; |
---|
1800 | daa[18*20+ 15] = 30.5; daa[18*20+ 16] = 46.0; daa[18*20+ 17] = 37.7; daa[19*20+ 0] = 339.9; |
---|
1801 | daa[19*20+ 1] = 0.2; daa[19*20+ 2] = 22.6; daa[19*20+ 3] = 0.2; daa[19*20+ 4] = 350.4; |
---|
1802 | daa[19*20+ 5] = 0.2; daa[19*20+ 6] = 13.6; daa[19*20+ 7] = 2.6; daa[19*20+ 8] = 0.2; |
---|
1803 | daa[19*20+ 9] = 1854.5; daa[19*20+ 10] = 84.7; daa[19*20+ 11] = 26.1; daa[19*20+ 12] = 281.3; |
---|
1804 | daa[19*20+ 13] = 51.9; daa[19*20+ 14] = 31.7; daa[19*20+ 15] = 60.6; daa[19*20+ 16] = 544.1; |
---|
1805 | daa[19*20+ 17] = 0.2; daa[19*20+ 18] = 1.6; |
---|
1806 | |
---|
1807 | /* MtArt.old: esta es la MtArt que hice con 26 secuencias (2 outgroups) con una topoLOGia incorrecta |
---|
1808 | daa[1*20+ 0] = 0.2; daa[2*20+ 0] = 0.2; daa[2*20+ 1] = 8.0; daa[3*20+ 0] = 0.2; |
---|
1809 | daa[3*20+ 1] = 0.2; daa[3*20+ 2] = 441.7; daa[4*20+ 0] = 287.9; daa[4*20+ 1] = 48.4; |
---|
1810 | daa[4*20+ 2] = 82.4; daa[4*20+ 3] = 0.2; daa[5*20+ 0] = 0.2; daa[5*20+ 1] = 149.9; |
---|
1811 | daa[5*20+ 2] = 278.6; daa[5*20+ 3] = 0.2; daa[5*20+ 4] = 21.7; daa[6*20+ 0] = 6.6; |
---|
1812 | daa[6*20+ 1] = 0.2; daa[6*20+ 2] = 213.9; daa[6*20+ 3] = 760.8; daa[6*20+ 4] = 0.2; |
---|
1813 | daa[6*20+ 5] = 292.9; daa[7*20+ 0] = 228.2; daa[7*20+ 1] = 0.2; daa[7*20+ 2] = 97.1; |
---|
1814 | daa[7*20+ 3] = 10.4; daa[7*20+ 4] = 98.4; daa[7*20+ 5] = 4.0; daa[7*20+ 6] = 48.7; |
---|
1815 | daa[8*20+ 0] = 0.2; daa[8*20+ 1] = 56.7; daa[8*20+ 2] = 156.4; daa[8*20+ 3] = 24.5; |
---|
1816 | daa[8*20+ 4] = 15.5; daa[8*20+ 5] = 328.6; daa[8*20+ 6] = 7.0; daa[8*20+ 7] = 8.4; |
---|
1817 | daa[9*20+ 0] = 26.4; daa[9*20+ 1] = 1.6; daa[9*20+ 2] = 40.1; daa[9*20+ 3] = 0.2; |
---|
1818 | daa[9*20+ 4] = 22.1; daa[9*20+ 5] = 13.8; daa[9*20+ 6] = 0.2; daa[9*20+ 7] = 3.6; |
---|
1819 | daa[9*20+ 8] = 0.2; daa[10*20+ 0] = 3.4; daa[10*20+ 1] = 0.6; daa[10*20+ 2] = 13.8; |
---|
1820 | daa[10*20+ 3] = 0.7; daa[10*20+ 4] = 76.9; daa[10*20+ 5] = 12.1; daa[10*20+ 6] = 5.4; |
---|
1821 | daa[10*20+ 7] = 2.5; daa[10*20+ 8] = 2.9; daa[10*20+ 9] = 542.6; daa[11*20+ 0] = 0.2; |
---|
1822 | daa[11*20+ 1] = 240.2; daa[11*20+ 2] = 602.8; daa[11*20+ 3] = 35.5; daa[11*20+ 4] = 0.2; |
---|
1823 | daa[11*20+ 5] = 357.6; daa[11*20+ 6] = 62.6; daa[11*20+ 7] = 0.2; daa[11*20+ 8] = 3.3; |
---|
1824 | daa[11*20+ 9] = 0.2; daa[11*20+ 10] = 17.5; daa[12*20+ 0] = 119.0; daa[12*20+ 1] = 0.2; |
---|
1825 | daa[12*20+ 2] = 91.4; daa[12*20+ 3] = 6.4; daa[12*20+ 4] = 332.3; daa[12*20+ 5] = 65.4; |
---|
1826 | daa[12*20+ 6] = 0.2; daa[12*20+ 7] = 60.4; daa[12*20+ 8] = 2.4; daa[12*20+ 9] = 492.5; |
---|
1827 | daa[12*20+ 10] = 815.8; daa[12*20+ 11] = 67.3; daa[13*20+ 0] = 8.2; daa[13*20+ 1] = 6.4; |
---|
1828 | daa[13*20+ 2] = 31.5; daa[13*20+ 3] = 3.4; daa[13*20+ 4] = 174.4; daa[13*20+ 5] = 5.7; |
---|
1829 | daa[13*20+ 6] = 5.7; daa[13*20+ 7] = 2.1; daa[13*20+ 8] = 11.0; daa[13*20+ 9] = 94.4; |
---|
1830 | daa[13*20+ 10] = 243.3; daa[13*20+ 11] = 12.3; daa[13*20+ 12] = 357.8; daa[14*20+ 0] = 62.5; |
---|
1831 | daa[14*20+ 1] = 0.4; daa[14*20+ 2] = 17.5; daa[14*20+ 3] = 0.2; daa[14*20+ 4] = 0.2; |
---|
1832 | daa[14*20+ 5] = 48.6; daa[14*20+ 6] = 17.7; daa[14*20+ 7] = 2.7; daa[14*20+ 8] = 0.2; |
---|
1833 | daa[14*20+ 9] = 0.2; daa[14*20+ 10] = 11.2; daa[14*20+ 11] = 21.7; daa[14*20+ 12] = 5.2; |
---|
1834 | daa[14*20+ 13] = 12.6; daa[15*20+ 0] = 659.0; daa[15*20+ 1] = 5.2; daa[15*20+ 2] = 469.8; |
---|
1835 | daa[15*20+ 3] = 52.3; daa[15*20+ 4] = 570.7; daa[15*20+ 5] = 47.8; daa[15*20+ 6] = 37.3; |
---|
1836 | daa[15*20+ 7] = 227.8; daa[15*20+ 8] = 12.7; daa[15*20+ 9] = 12.3; daa[15*20+ 10] = 7.4; |
---|
1837 | daa[15*20+ 11] = 189.0; daa[15*20+ 12] = 155.3; daa[15*20+ 13] = 43.8; daa[15*20+ 14] = 103.4; |
---|
1838 | daa[16*20+ 0] = 276.4; daa[16*20+ 1] = 1.6; daa[16*20+ 2] = 175.6; daa[16*20+ 3] = 0.2; |
---|
1839 | daa[16*20+ 4] = 96.2; daa[16*20+ 5] = 71.4; daa[16*20+ 6] = 37.4; daa[16*20+ 7] = 0.2; |
---|
1840 | daa[16*20+ 8] = 14.2; daa[16*20+ 9] = 212.5; daa[16*20+ 10] = 38.5; daa[16*20+ 11] = 97.4; |
---|
1841 | daa[16*20+ 12] = 254.7; daa[16*20+ 13] = 2.1; daa[16*20+ 14] = 41.6; daa[16*20+ 15] = 670.6; |
---|
1842 | daa[17*20+ 0] = 6.2; daa[17*20+ 1] = 0.2; daa[17*20+ 2] = 0.2; daa[17*20+ 3] = 5.6; |
---|
1843 | daa[17*20+ 4] = 0.2; daa[17*20+ 5] = 0.2; daa[17*20+ 6] = 3.1; daa[17*20+ 7] = 0.4; |
---|
1844 | daa[17*20+ 8] = 0.2; daa[17*20+ 9] = 15.2; daa[17*20+ 10] = 11.5; daa[17*20+ 11] = 32.6; |
---|
1845 | daa[17*20+ 12] = 82.4; daa[17*20+ 13] = 81.9; daa[17*20+ 14] = 0.2; daa[17*20+ 15] = 9.7; |
---|
1846 | daa[17*20+ 16] = 0.2; daa[18*20+ 0] = 1.6; daa[18*20+ 1] = 7.7; daa[18*20+ 2] = 242.5; |
---|
1847 | daa[18*20+ 3] = 0.2; daa[18*20+ 4] = 88.0; daa[18*20+ 5] = 93.1; daa[18*20+ 6] = 0.2; |
---|
1848 | daa[18*20+ 7] = 6.0; daa[18*20+ 8] = 113.7; daa[18*20+ 9] = 22.1; daa[18*20+ 10] = 17.2; |
---|
1849 | daa[18*20+ 11] = 138.5; daa[18*20+ 12] = 37.6; daa[18*20+ 13] = 770.2; daa[18*20+ 14] = 5.3; |
---|
1850 | daa[18*20+ 15] = 25.0; daa[18*20+ 16] = 55.5; daa[18*20+ 17] = 69.3; daa[19*20+ 0] = 307.8; |
---|
1851 | daa[19*20+ 1] = 2.2; daa[19*20+ 2] = 6.9; daa[19*20+ 3] = 0.2; daa[19*20+ 4] = 405.7; |
---|
1852 | daa[19*20+ 5] = 0.8; daa[19*20+ 6] = 20.2; daa[19*20+ 7] = 5.7; daa[19*20+ 8] = 0.2; |
---|
1853 | daa[19*20+ 9] = 1687.9; daa[19*20+ 10] = 49.4; daa[19*20+ 11] = 23.4; daa[19*20+ 12] = 329.9; |
---|
1854 | daa[19*20+ 13] = 86.3; daa[19*20+ 14] = 27.3; daa[19*20+ 15] = 95.0; daa[19*20+ 16] = 443.0; |
---|
1855 | daa[19*20+ 17] = 2.4; daa[19*20+ 18] = 0.2; |
---|
1856 | 3*/ |
---|
1857 | for (i=0; i<naa; i++) for (j=0; j<i; j++) daa[j*naa+i] = daa[i*naa+j]; |
---|
1858 | |
---|
1859 | pi[0] = 0.054116; pi[1] = 0.018227; pi[2] = 0.039903; pi[3] = 0.020160; pi[4] = 0.009709; |
---|
1860 | pi[5] = 0.018781; pi[6] = 0.024289; pi[7] = 0.068183; pi[8] = 0.024518; pi[9] = 0.092639; |
---|
1861 | pi[10] = 0.148658; pi[11] = 0.021718; pi[12] = 0.061453; pi[13] = 0.088668; pi[14] = 0.041826; |
---|
1862 | pi[15] = 0.091030; pi[16] = 0.049194; pi[17] = 0.029786; pi[18] = 0.039443; pi[19] = 0.057701; |
---|
1863 | /* pi[0] = 0.055505; pi[1] = 0.018320; pi[2] = 0.036614; pi[3] = 0.019517; pi[4] = 0.009878; |
---|
1864 | pi[5] = 0.018732; pi[6] = 0.021591; pi[7] = 0.068414; pi[8] = 0.023638; pi[9] = 0.092558; |
---|
1865 | pi[10] = 0.154697; pi[11] = 0.020168; pi[12] = 0.062033; pi[13] = 0.089433; pi[14] = 0.040642; |
---|
1866 | pi[15] = 0.090298; pi[16] = 0.050134; pi[17] = 0.027693; pi[18] = 0.038448; pi[19] = 0.061687; |
---|
1867 | */ |
---|
1868 | return 1; |
---|
1869 | } |
---|
1870 | |
---|
1871 | ////////////////////////////////////////////////////////////// |
---|
1872 | ////////////////////////////////////////////////////////////// |
---|
1873 | |
---|
1874 | |
---|
1875 | int Init_Qmat_HIVb(phydbl *daa, phydbl *pi) //added by FEDE |
---|
1876 | { |
---|
1877 | /* |
---|
1878 | Nickle DC, Heath L, Jensen MA, Gilbert PB, Mullins JI, Kosakovsky Pond SL. |
---|
1879 | HIV-Specific Probabilistic Models of Protein Evolution. |
---|
1880 | PLoS ONE. 2007 Jun 6;2:e503. |
---|
1881 | |
---|
1882 | [thanks to Sergei L. Kosakovsky] |
---|
1883 | |
---|
1884 | Translated from HYPHY to Phyml format by Federico Abascal. |
---|
1885 | */ |
---|
1886 | |
---|
1887 | int i,j,naa; |
---|
1888 | naa = 20; |
---|
1889 | |
---|
1890 | daa[1*20+0]= 0.307507; daa[2*20+0]= 0.005; daa[2*20+1]= 0.295543; daa[3*20+0]= 1.45504; |
---|
1891 | daa[3*20+1]= 0.005; daa[3*20+2]= 17.6612; daa[4*20+0]= 0.123758; daa[4*20+1]= 0.351721; |
---|
1892 | daa[4*20+2]= 0.0860642; daa[4*20+3]= 0.005; daa[5*20+0]= 0.0551128; daa[5*20+1]= 3.4215; |
---|
1893 | daa[5*20+2]= 0.672052; daa[5*20+3]= 0.005; daa[5*20+4]= 0.005; daa[6*20+0]= 1.48135; |
---|
1894 | daa[6*20+1]= 0.0749218; daa[6*20+2]= 0.0792633; daa[6*20+3]= 10.5872; daa[6*20+4]= 0.005; |
---|
1895 | daa[6*20+5]= 2.5602; daa[7*20+0]= 2.13536; daa[7*20+1]= 3.65345; daa[7*20+2]= 0.323401; |
---|
1896 | daa[7*20+3]= 2.83806; daa[7*20+4]= 0.897871; daa[7*20+5]= 0.0619137; daa[7*20+6]= 3.92775; |
---|
1897 | daa[8*20+0]= 0.0847613; daa[8*20+1]= 9.04044; daa[8*20+2]= 7.64585; daa[8*20+3]= 1.9169; |
---|
1898 | daa[8*20+4]= 0.240073; daa[8*20+5]= 7.05545; daa[8*20+6]= 0.11974; daa[8*20+7]= 0.005; |
---|
1899 | daa[9*20+0]= 0.005; daa[9*20+1]= 0.677289; daa[9*20+2]= 0.680565; daa[9*20+3]= 0.0176792; |
---|
1900 | daa[9*20+4]= 0.005; daa[9*20+5]= 0.005; daa[9*20+6]= 0.00609079; daa[9*20+7]= 0.005; |
---|
1901 | daa[9*20+8]= 0.103111; daa[10*20+0]= 0.215256; daa[10*20+1]= 0.701427; daa[10*20+2]= 0.005; |
---|
1902 | daa[10*20+3]= 0.00876048; daa[10*20+4]= 0.129777; daa[10*20+5]= 1.49456; daa[10*20+6]= 0.005; |
---|
1903 | daa[10*20+7]= 0.005; daa[10*20+8]= 1.74171; daa[10*20+9]= 5.95879; daa[11*20+0]= 0.005; |
---|
1904 | daa[11*20+1]= 20.45; daa[11*20+2]= 7.90443; daa[11*20+3]= 0.005; daa[11*20+4]= 0.005; |
---|
1905 | daa[11*20+5]= 6.54737; daa[11*20+6]= 4.61482; daa[11*20+7]= 0.521705; daa[11*20+8]= 0.005; |
---|
1906 | daa[11*20+9]= 0.322319; daa[11*20+10]= 0.0814995; daa[12*20+0]= 0.0186643; daa[12*20+1]= 2.51394; |
---|
1907 | daa[12*20+2]= 0.005; daa[12*20+3]= 0.005; daa[12*20+4]= 0.005; daa[12*20+5]= 0.303676; |
---|
1908 | daa[12*20+6]= 0.175789; daa[12*20+7]= 0.005; daa[12*20+8]= 0.005; daa[12*20+9]= 11.2065; |
---|
1909 | daa[12*20+10]= 5.31961; daa[12*20+11]= 1.28246; daa[13*20+0]= 0.0141269; daa[13*20+1]= 0.005; |
---|
1910 | daa[13*20+2]= 0.005; daa[13*20+3]= 0.005; daa[13*20+4]= 9.29815; daa[13*20+5]= 0.005; |
---|
1911 | daa[13*20+6]= 0.005; daa[13*20+7]= 0.291561; daa[13*20+8]= 0.145558; daa[13*20+9]= 3.39836; |
---|
1912 | daa[13*20+10]= 8.52484; daa[13*20+11]= 0.0342658; daa[13*20+12]= 0.188025; daa[14*20+0]= 2.12217; |
---|
1913 | daa[14*20+1]= 1.28355; daa[14*20+2]= 0.00739578; daa[14*20+3]= 0.0342658; daa[14*20+4]= 0.005; |
---|
1914 | daa[14*20+5]= 4.47211; daa[14*20+6]= 0.0120226; daa[14*20+7]= 0.005; daa[14*20+8]= 2.45318; |
---|
1915 | daa[14*20+9]= 0.0410593; daa[14*20+10]= 2.07757; daa[14*20+11]= 0.0313862; daa[14*20+12]= 0.005; |
---|
1916 | daa[14*20+13]= 0.005; daa[15*20+0]= 2.46633; daa[15*20+1]= 3.4791; daa[15*20+2]= 13.1447; |
---|
1917 | daa[15*20+3]= 0.52823; daa[15*20+4]= 4.69314; daa[15*20+5]= 0.116311; daa[15*20+6]= 0.005; |
---|
1918 | daa[15*20+7]= 4.38041; daa[15*20+8]= 0.382747; daa[15*20+9]= 1.21803; daa[15*20+10]= 0.927656; |
---|
1919 | daa[15*20+11]= 0.504111; daa[15*20+12]= 0.005; daa[15*20+13]= 0.956472; daa[15*20+14]= 5.37762; |
---|
1920 | daa[16*20+0]= 15.9183; daa[16*20+1]= 2.86868; daa[16*20+2]= 6.88667; daa[16*20+3]= 0.274724; |
---|
1921 | daa[16*20+4]= 0.739969; daa[16*20+5]= 0.243589; daa[16*20+6]= 0.289774; daa[16*20+7]= 0.369615; |
---|
1922 | daa[16*20+8]= 0.711594; daa[16*20+9]= 8.61217; daa[16*20+10]= 0.0437673; daa[16*20+11]= 4.67142; |
---|
1923 | daa[16*20+12]= 4.94026; daa[16*20+13]= 0.0141269; daa[16*20+14]= 2.01417; daa[16*20+15]= 8.93107; |
---|
1924 | daa[17*20+0]= 0.005; daa[17*20+1]= 0.991338; daa[17*20+2]= 0.005; daa[17*20+3]= 0.005; |
---|
1925 | daa[17*20+4]= 2.63277; daa[17*20+5]= 0.026656; daa[17*20+6]= 0.005; daa[17*20+7]= 1.21674; |
---|
1926 | daa[17*20+8]= 0.0695179; daa[17*20+9]= 0.005; daa[17*20+10]= 0.748843; daa[17*20+11]= 0.005; |
---|
1927 | daa[17*20+12]= 0.089078; daa[17*20+13]= 0.829343; daa[17*20+14]= 0.0444506; daa[17*20+15]= 0.0248728; |
---|
1928 | daa[17*20+16]= 0.005; daa[18*20+0]= 0.005; daa[18*20+1]= 0.00991826; daa[18*20+2]= 1.76417; |
---|
1929 | daa[18*20+3]= 0.674653; daa[18*20+4]= 7.57932; daa[18*20+5]= 0.113033; daa[18*20+6]= 0.0792633; |
---|
1930 | daa[18*20+7]= 0.005; daa[18*20+8]= 18.6943; daa[18*20+9]= 0.148168; daa[18*20+10]= 0.111986; |
---|
1931 | daa[18*20+11]= 0.005; daa[18*20+12]= 0.005; daa[18*20+13]= 15.34; daa[18*20+14]= 0.0304381; |
---|
1932 | daa[18*20+15]= 0.648024; daa[18*20+16]= 0.105652; daa[18*20+17]= 1.28022; daa[19*20+0]= 7.61428; |
---|
1933 | daa[19*20+1]= 0.0812454; daa[19*20+2]= 0.026656; daa[19*20+3]= 1.04793; daa[19*20+4]= 0.420027; |
---|
1934 | daa[19*20+5]= 0.0209153; daa[19*20+6]= 1.02847; daa[19*20+7]= 0.953155; daa[19*20+8]= 0.005; |
---|
1935 | daa[19*20+9]= 17.7389; daa[19*20+10]= 1.41036; daa[19*20+11]= 0.265829; daa[19*20+12]= 6.8532; |
---|
1936 | daa[19*20+13]= 0.723274; daa[19*20+14]= 0.005; daa[19*20+15]= 0.0749218; daa[19*20+16]= 0.709226; |
---|
1937 | daa[19*20+17]= 0.005; daa[19*20+18]= 0.0410593; |
---|
1938 | for (i=0; i<naa; i++) for (j=0; j<i; j++) daa[j*naa+i] = daa[i*naa+j]; |
---|
1939 | |
---|
1940 | pi[0]= 0.060490222; pi[1]= 0.066039665; pi[2]= 0.044127815; pi[3]= 0.042109048; |
---|
1941 | pi[4]= 0.020075899; pi[5]= 0.053606488; pi[6]= 0.071567447; pi[7]= 0.072308239; |
---|
1942 | pi[8]= 0.022293943; pi[9]= 0.069730629; pi[10]= 0.098851122; pi[11]= 0.056968211; |
---|
1943 | pi[12]= 0.019768318; pi[13]= 0.028809447; pi[14]= 0.046025282; pi[15]= 0.05060433; |
---|
1944 | pi[16]= 0.053636813; pi[17]= 0.033011601; pi[18]= 0.028350243; pi[19]= 0.061625237; |
---|
1945 | return 1; |
---|
1946 | } |
---|
1947 | |
---|
1948 | ////////////////////////////////////////////////////////////// |
---|
1949 | ////////////////////////////////////////////////////////////// |
---|
1950 | |
---|
1951 | int Init_Qmat_HIVw(phydbl *daa, phydbl *pi) |
---|
1952 | { |
---|
1953 | /* |
---|
1954 | Nickle DC, Heath L, Jensen MA, Gilbert PB, Mullins JI, Kosakovsky Pond SL. |
---|
1955 | HIV-Specific Probabilistic Models of Protein Evolution. |
---|
1956 | PLoS ONE. 2007 Jun 6;2:e503. |
---|
1957 | |
---|
1958 | [thanks to Sergei L. Kosakovsky] |
---|
1959 | |
---|
1960 | Translated from HYPHY to Phyml format by Federico Abascal. |
---|
1961 | */ |
---|
1962 | |
---|
1963 | int i,j,naa; |
---|
1964 | naa = 20; |
---|
1965 | |
---|
1966 | daa[1*20+0]= 0.0744808; daa[2*20+0]= 0.617509; daa[2*20+1]= 0.16024; daa[3*20+0]= 4.43521; |
---|
1967 | daa[3*20+1]= 0.0674539; daa[3*20+2]= 29.4087; daa[4*20+0]= 0.167653; daa[4*20+1]= 2.86364; |
---|
1968 | daa[4*20+2]= 0.0604932; daa[4*20+3]= 0.005; daa[5*20+0]= 0.005; daa[5*20+1]= 10.6746; |
---|
1969 | daa[5*20+2]= 0.342068; daa[5*20+3]= 0.005; daa[5*20+4]= 0.005; daa[6*20+0]= 5.56325; |
---|
1970 | daa[6*20+1]= 0.0251632; daa[6*20+2]= 0.201526; daa[6*20+3]= 12.1233; daa[6*20+4]= 0.005; |
---|
1971 | daa[6*20+5]= 3.20656; daa[7*20+0]= 1.8685; daa[7*20+1]= 13.4379; daa[7*20+2]= 0.0604932; |
---|
1972 | daa[7*20+3]= 10.3969; daa[7*20+4]= 0.0489798; daa[7*20+5]= 0.0604932; daa[7*20+6]= 14.7801; |
---|
1973 | daa[8*20+0]= 0.005; daa[8*20+1]= 6.84405; daa[8*20+2]= 8.59876; daa[8*20+3]= 2.31779; |
---|
1974 | daa[8*20+4]= 0.005; daa[8*20+5]= 18.5465; daa[8*20+6]= 0.005; daa[8*20+7]= 0.005; |
---|
1975 | daa[9*20+0]= 0.005; daa[9*20+1]= 1.34069; daa[9*20+2]= 0.987028; daa[9*20+3]= 0.145124; |
---|
1976 | daa[9*20+4]= 0.005; daa[9*20+5]= 0.0342252; daa[9*20+6]= 0.0390512; daa[9*20+7]= 0.005; |
---|
1977 | daa[9*20+8]= 0.005; daa[10*20+0]= 0.16024; daa[10*20+1]= 0.586757; daa[10*20+2]= 0.005; |
---|
1978 | daa[10*20+3]= 0.005; daa[10*20+4]= 0.005; daa[10*20+5]= 2.89048; daa[10*20+6]= 0.129839; |
---|
1979 | daa[10*20+7]= 0.0489798; daa[10*20+8]= 1.76382; daa[10*20+9]= 9.10246; daa[11*20+0]= 0.592784; |
---|
1980 | daa[11*20+1]= 39.8897; daa[11*20+2]= 10.6655; daa[11*20+3]= 0.894313; daa[11*20+4]= 0.005; |
---|
1981 | daa[11*20+5]= 13.0705; daa[11*20+6]= 23.9626; daa[11*20+7]= 0.279425; daa[11*20+8]= 0.22406; |
---|
1982 | daa[11*20+9]= 0.817481; daa[11*20+10]= 0.005; daa[12*20+0]= 0.005; daa[12*20+1]= 3.28652; |
---|
1983 | daa[12*20+2]= 0.201526; daa[12*20+3]= 0.005; daa[12*20+4]= 0.005; daa[12*20+5]= 0.005; |
---|
1984 | daa[12*20+6]= 0.005; daa[12*20+7]= 0.0489798; daa[12*20+8]= 0.005; daa[12*20+9]= 17.3064; |
---|
1985 | daa[12*20+10]= 11.3839; daa[12*20+11]= 4.09564; daa[13*20+0]= 0.597923; daa[13*20+1]= 0.005; |
---|
1986 | daa[13*20+2]= 0.005; daa[13*20+3]= 0.005; daa[13*20+4]= 0.362959; daa[13*20+5]= 0.005; |
---|
1987 | daa[13*20+6]= 0.005; daa[13*20+7]= 0.005; daa[13*20+8]= 0.005; daa[13*20+9]= 1.48288; |
---|
1988 | daa[13*20+10]= 7.48781; daa[13*20+11]= 0.005; daa[13*20+12]= 0.005; daa[14*20+0]= 1.00981; |
---|
1989 | daa[14*20+1]= 0.404723; daa[14*20+2]= 0.344848; daa[14*20+3]= 0.005; daa[14*20+4]= 0.005; |
---|
1990 | daa[14*20+5]= 3.04502; daa[14*20+6]= 0.005; daa[14*20+7]= 0.005; daa[14*20+8]= 13.9444; |
---|
1991 | daa[14*20+9]= 0.005; daa[14*20+10]= 9.83095; daa[14*20+11]= 0.111928; daa[14*20+12]= 0.005; |
---|
1992 | daa[14*20+13]= 0.0342252; daa[15*20+0]= 8.5942; daa[15*20+1]= 8.35024; daa[15*20+2]= 14.5699; |
---|
1993 | daa[15*20+3]= 0.427881; daa[15*20+4]= 1.12195; daa[15*20+5]= 0.16024; daa[15*20+6]= 0.005; |
---|
1994 | daa[15*20+7]= 6.27966; daa[15*20+8]= 0.725157; daa[15*20+9]= 0.740091; daa[15*20+10]= 6.14396; |
---|
1995 | daa[15*20+11]= 0.005; daa[15*20+12]= 0.392575; daa[15*20+13]= 4.27939; daa[15*20+14]= 14.249; |
---|
1996 | daa[16*20+0]= 24.1422; daa[16*20+1]= 0.928203; daa[16*20+2]= 4.54206; daa[16*20+3]= 0.630395; |
---|
1997 | daa[16*20+4]= 0.005; daa[16*20+5]= 0.203091; daa[16*20+6]= 0.458743; daa[16*20+7]= 0.0489798; |
---|
1998 | daa[16*20+8]= 0.95956; daa[16*20+9]= 9.36345; daa[16*20+10]= 0.005; daa[16*20+11]= 4.04802; |
---|
1999 | daa[16*20+12]= 7.41313; daa[16*20+13]= 0.114512; daa[16*20+14]= 4.33701; daa[16*20+15]= 6.34079; |
---|
2000 | daa[17*20+0]= 0.005; daa[17*20+1]= 5.96564; daa[17*20+2]= 0.005; daa[17*20+3]= 0.005; |
---|
2001 | daa[17*20+4]= 5.49894; daa[17*20+5]= 0.0443298; daa[17*20+6]= 0.005; daa[17*20+7]= 2.8258; |
---|
2002 | daa[17*20+8]= 0.005; daa[17*20+9]= 0.005; daa[17*20+10]= 1.37031; daa[17*20+11]= 0.005; |
---|
2003 | daa[17*20+12]= 0.005; daa[17*20+13]= 0.005; daa[17*20+14]= 0.005; daa[17*20+15]= 1.10156; |
---|
2004 | daa[17*20+16]= 0.005; daa[18*20+0]= 0.005; daa[18*20+1]= 0.005; daa[18*20+2]= 5.06475; |
---|
2005 | daa[18*20+3]= 2.28154; daa[18*20+4]= 8.34835; daa[18*20+5]= 0.005; daa[18*20+6]= 0.005; |
---|
2006 | daa[18*20+7]= 0.005; daa[18*20+8]= 47.4889; daa[18*20+9]= 0.114512; daa[18*20+10]= 0.005; |
---|
2007 | daa[18*20+11]= 0.005; daa[18*20+12]= 0.579198; daa[18*20+13]= 4.12728; daa[18*20+14]= 0.005; |
---|
2008 | daa[18*20+15]= 0.933142; daa[18*20+16]= 0.490608; daa[18*20+17]= 0.005; daa[19*20+0]= 24.8094; |
---|
2009 | daa[19*20+1]= 0.279425; daa[19*20+2]= 0.0744808; daa[19*20+3]= 2.91786; daa[19*20+4]= 0.005; |
---|
2010 | daa[19*20+5]= 0.005; daa[19*20+6]= 2.19952; daa[19*20+7]= 2.79622; daa[19*20+8]= 0.827479; |
---|
2011 | daa[19*20+9]= 24.8231; daa[19*20+10]= 2.95344; daa[19*20+11]= 0.128065; daa[19*20+12]= 14.7683; |
---|
2012 | daa[19*20+13]= 2.28; daa[19*20+14]= 0.005; daa[19*20+15]= 0.862637; daa[19*20+16]= 0.005; |
---|
2013 | daa[19*20+17]= 0.005; daa[19*20+18]= 1.35482; |
---|
2014 | for (i=0; i<naa; i++) for (j=0; j<i; j++) daa[j*naa+i] = daa[i*naa+j]; |
---|
2015 | |
---|
2016 | pi[0]= 0.0377494; pi[1]= 0.057321; pi[2]= 0.0891129; pi[3]= 0.0342034; |
---|
2017 | pi[4]= 0.0240105; pi[5]= 0.0437824; pi[6]= 0.0618606; pi[7]= 0.0838496; |
---|
2018 | pi[8]= 0.0156076; pi[9]= 0.0983641; pi[10]= 0.0577867; pi[11]= 0.0641682; |
---|
2019 | pi[12]= 0.0158419; pi[13]= 0.0422741; pi[14]= 0.0458601; pi[15]= 0.0550846; |
---|
2020 | pi[16]= 0.0813774; pi[17]= 0.019597; pi[18]= 0.0205847; pi[19]= 0.0515639; |
---|
2021 | return 1; |
---|
2022 | } |
---|
2023 | |
---|
2024 | ////////////////////////////////////////////////////////////// |
---|
2025 | ////////////////////////////////////////////////////////////// |
---|
2026 | |
---|
2027 | int Init_Qmat_JTT(phydbl *daa, phydbl *pi) |
---|
2028 | { |
---|
2029 | int i,j,naa; |
---|
2030 | |
---|
2031 | /* JTT's model data |
---|
2032 | * D.T.Jones, W.R.Taylor and J.M.Thornton |
---|
2033 | * "The rapid generation of mutation data matrices from protein sequences" |
---|
2034 | * CABIOS vol.8 no.3 1992 pp275-282 |
---|
2035 | */ |
---|
2036 | |
---|
2037 | naa = 20; |
---|
2038 | |
---|
2039 | /* PhyML_Printf("\n\n. REMINDER : THIS IS NOT JTT !!!\n\n"); */ |
---|
2040 | |
---|
2041 | |
---|
2042 | /* daa[1*20 + 0] = 0.592439084; */ |
---|
2043 | /* daa[2*20 + 0] = 0.427686326; */ |
---|
2044 | /* daa[2*20 + 1] = 0.795121783; */ |
---|
2045 | /* daa[3*20 + 0] = 0.649119246; */ |
---|
2046 | /* daa[3*20 + 1] = 0.116285502; */ |
---|
2047 | /* daa[3*20 + 2] = 6.004659556; */ |
---|
2048 | /* daa[4*20 + 0] = 2.384113318; */ |
---|
2049 | /* daa[4*20 + 1] = 0.925080814; */ |
---|
2050 | /* daa[4*20 + 2] = 0.648459384; */ |
---|
2051 | /* daa[4*20 + 3] = 0.088632079; */ |
---|
2052 | /* daa[5*20 + 0] = 1.188499461; */ |
---|
2053 | /* daa[5*20 + 1] = 3.230029905; */ |
---|
2054 | /* daa[5*20 + 2] = 1.910660418; */ |
---|
2055 | /* daa[5*20 + 3] = 0.599639374; */ |
---|
2056 | /* daa[5*20 + 4] = 0.123291416; */ |
---|
2057 | /* daa[6*20 + 0] = 1.534092487; */ |
---|
2058 | /* daa[6*20 + 1] = 0.390654981; */ |
---|
2059 | /* daa[6*20 + 2] = 0.566472743; */ |
---|
2060 | /* daa[6*20 + 3] = 5.916482256; */ |
---|
2061 | /* daa[6*20 + 4] = 0.001457992; */ |
---|
2062 | /* daa[6*20 + 5] = 4.564894849; */ |
---|
2063 | /* daa[7*20 + 0] = 2.282012114; */ |
---|
2064 | /* daa[7*20 + 1] = 0.502549742; */ |
---|
2065 | /* daa[7*20 + 2] = 1.97013036; */ |
---|
2066 | /* daa[7*20 + 3] = 1.198016556; */ |
---|
2067 | /* daa[7*20 + 4] = 0.565245125; */ |
---|
2068 | /* daa[7*20 + 5] = 0.382529852; */ |
---|
2069 | /* daa[7*20 + 6] = 0.477515495; */ |
---|
2070 | /* daa[8*20 + 0] = 0.447587408; */ |
---|
2071 | /* daa[8*20 + 1] = 2.948365572; */ |
---|
2072 | /* daa[8*20 + 2] = 5.900694893; */ |
---|
2073 | /* daa[8*20 + 3] = 0.96157692; */ |
---|
2074 | /* daa[8*20 + 4] = 0.757153271; */ |
---|
2075 | /* daa[8*20 + 5] = 5.048587596; */ |
---|
2076 | /* daa[8*20 + 6] = 0.410583482; */ |
---|
2077 | /* daa[8*20 + 7] = 0.406115605; */ |
---|
2078 | /* daa[9*20 + 0] = 0.105337934; */ |
---|
2079 | /* daa[9*20 + 1] = 0.115421183; */ |
---|
2080 | /* daa[9*20 + 2] = 0.178948502; */ |
---|
2081 | /* daa[9*20 + 3] = 0.01319564; */ |
---|
2082 | /* daa[9*20 + 4] = 0.269637325; */ |
---|
2083 | /* daa[9*20 + 5] = 0.087618072; */ |
---|
2084 | /* daa[9*20 + 6] = 0.045232757; */ |
---|
2085 | /* daa[9*20 + 7] = 0.00958642; */ |
---|
2086 | /* daa[9*20 + 8] = 0.116145048; */ |
---|
2087 | /* daa[10*20 + 0] = 0.269460438; */ |
---|
2088 | /* daa[10*20 + 1] = 0.416549984; */ |
---|
2089 | /* daa[10*20 + 2] = 0.100490196; */ |
---|
2090 | /* daa[10*20 + 3] = 0.021637571; */ |
---|
2091 | /* daa[10*20 + 4] = 0.610442865; */ |
---|
2092 | /* daa[10*20 + 5] = 0.782347175; */ |
---|
2093 | /* daa[10*20 + 6] = 0.077565847; */ |
---|
2094 | /* daa[10*20 + 7] = 0.034916545; */ |
---|
2095 | /* daa[10*20 + 8] = 0.456334781; */ |
---|
2096 | /* daa[10*20 + 9] = 4.057302736; */ |
---|
2097 | /* daa[11*20 + 0] = 0.71706921; */ |
---|
2098 | /* daa[11*20 + 1] = 6.469532749; */ |
---|
2099 | /* daa[11*20 + 2] = 2.606469511; */ |
---|
2100 | /* daa[11*20 + 3] = 0.239488567; */ |
---|
2101 | /* daa[11*20 + 4] = 0.020594132; */ |
---|
2102 | /* daa[11*20 + 5] = 3.978479772; */ |
---|
2103 | /* daa[11*20 + 6] = 1.669092348; */ |
---|
2104 | /* daa[11*20 + 7] = 0.368262509; */ |
---|
2105 | /* daa[11*20 + 8] = 0.744835535; */ |
---|
2106 | /* daa[11*20 + 9] = 0.153626461; */ |
---|
2107 | /* daa[11*20 + 10] = 0.186106976; */ |
---|
2108 | /* daa[12*20 + 0] = 0.766271778; */ |
---|
2109 | /* daa[12*20 + 1] = 0.465902609; */ |
---|
2110 | /* daa[12*20 + 2] = 0.352429433; */ |
---|
2111 | /* daa[12*20 + 3] = 0.04670109; */ |
---|
2112 | /* daa[12*20 + 4] = 0.930016402; */ |
---|
2113 | /* daa[12*20 + 5] = 1.529072358; */ |
---|
2114 | /* daa[12*20 + 6] = 0.149497081; */ |
---|
2115 | /* daa[12*20 + 7] = 0.092795029; */ |
---|
2116 | /* daa[12*20 + 8] = 0.367452788; */ |
---|
2117 | /* daa[12*20 + 9] = 4.443975824; */ |
---|
2118 | /* daa[12*20 + 10] = 7.305963709; */ |
---|
2119 | /* daa[12*20 + 11] = 0.691067831; */ |
---|
2120 | /* daa[13*20 + 0] = 0.164314785; */ |
---|
2121 | /* daa[13*20 + 1] = 0.064046051; */ |
---|
2122 | /* daa[13*20 + 2] = 0.108166343; */ |
---|
2123 | /* daa[13*20 + 3] = 0.021096631; */ |
---|
2124 | /* daa[13*20 + 4] = 0.9869692; */ |
---|
2125 | /* daa[13*20 + 5] = 0.054959009; */ |
---|
2126 | /* daa[13*20 + 6] = 0.025919221; */ |
---|
2127 | /* daa[13*20 + 7] = 0.053577857; */ |
---|
2128 | /* daa[13*20 + 8] = 0.933637734; */ |
---|
2129 | /* daa[13*20 + 9] = 0.928915383; */ |
---|
2130 | /* daa[13*20 + 10] = 2.549658015; */ |
---|
2131 | /* daa[13*20 + 11] = 0.032602723; */ |
---|
2132 | /* daa[13*20 + 12] = 1.837397986; */ |
---|
2133 | /* daa[14*20 + 0] = 1.57937466; */ |
---|
2134 | /* daa[14*20 + 1] = 0.360749538; */ |
---|
2135 | /* daa[14*20 + 2] = 0.189183366; */ |
---|
2136 | /* daa[14*20 + 3] = 0.475387263; */ |
---|
2137 | /* daa[14*20 + 4] = 0.108255878; */ |
---|
2138 | /* daa[14*20 + 5] = 0.645294956; */ |
---|
2139 | /* daa[14*20 + 6] = 0.537278362; */ |
---|
2140 | /* daa[14*20 + 7] = 0.264516985; */ |
---|
2141 | /* daa[14*20 + 8] = 0.510062949; */ |
---|
2142 | /* daa[14*20 + 9] = 0.063380048; */ |
---|
2143 | /* daa[14*20 + 10] = 0.25549658; */ |
---|
2144 | /* daa[14*20 + 11] = 0.42259906; */ |
---|
2145 | /* daa[14*20 + 12] = 0.105330979; */ |
---|
2146 | /* daa[14*20 + 13] = 0.092650543; */ |
---|
2147 | /* daa[15*20 + 0] = 5.358849732; */ |
---|
2148 | /* daa[15*20 + 1] = 0.980362668; */ |
---|
2149 | /* daa[15*20 + 2] = 5.114953674; */ |
---|
2150 | /* daa[15*20 + 3] = 1.242898123; */ |
---|
2151 | /* daa[15*20 + 4] = 3.417258976; */ |
---|
2152 | /* daa[15*20 + 5] = 1.199117804; */ |
---|
2153 | /* daa[15*20 + 6] = 0.61024061; */ |
---|
2154 | /* daa[15*20 + 7] = 2.200746452; */ |
---|
2155 | /* daa[15*20 + 8] = 0.928717085; */ |
---|
2156 | /* daa[15*20 + 9] = 0.07737779; */ |
---|
2157 | /* daa[15*20 + 10] = 0.17657022; */ |
---|
2158 | /* daa[15*20 + 11] = 0.768621405; */ |
---|
2159 | /* daa[15*20 + 12] = 0.330215244; */ |
---|
2160 | /* daa[15*20 + 13] = 0.359985962; */ |
---|
2161 | /* daa[15*20 + 14] = 1.559718375; */ |
---|
2162 | /* daa[16*20 + 0] = 2.21115657; */ |
---|
2163 | /* daa[16*20 + 1] = 0.711040813; */ |
---|
2164 | /* daa[16*20 + 2] = 2.273163111; */ |
---|
2165 | /* daa[16*20 + 3] = 0.408851733; */ |
---|
2166 | /* daa[16*20 + 4] = 1.57572444; */ |
---|
2167 | /* daa[16*20 + 5] = 1.074674746; */ |
---|
2168 | /* daa[16*20 + 6] = 0.707096016; */ |
---|
2169 | /* daa[16*20 + 7] = 0.157418108; */ |
---|
2170 | /* daa[16*20 + 8] = 0.543088926; */ |
---|
2171 | /* daa[16*20 + 9] = 1.056024176; */ |
---|
2172 | /* daa[16*20 + 10] = 0.294118282; */ |
---|
2173 | /* daa[16*20 + 11] = 1.325676171; */ |
---|
2174 | /* daa[16*20 + 12] = 1.834248079; */ |
---|
2175 | /* daa[16*20 + 13] = 0.136987103; */ |
---|
2176 | /* daa[16*20 + 14] = 0.63778855; */ |
---|
2177 | /* daa[16*20 + 15] = 7.294506488; */ |
---|
2178 | /* daa[17*20 + 0] = 0.142106331; */ |
---|
2179 | /* daa[17*20 + 1] = 0.600995696; */ |
---|
2180 | /* daa[17*20 + 2] = 0.079481793; */ |
---|
2181 | /* daa[17*20 + 3] = 0.069125482; */ |
---|
2182 | /* daa[17*20 + 4] = 0.701931839; */ |
---|
2183 | /* daa[17*20 + 5] = 0.23881661; */ |
---|
2184 | /* daa[17*20 + 6] = 0.082469159; */ |
---|
2185 | /* daa[17*20 + 7] = 0.185722676; */ |
---|
2186 | /* daa[17*20 + 8] = 0.911694299; */ |
---|
2187 | /* daa[17*20 + 9] = 0.11679729; */ |
---|
2188 | /* daa[17*20 + 10] = 0.688555894; */ |
---|
2189 | /* daa[17*20 + 11] = 0.063328042; */ |
---|
2190 | /* daa[17*20 + 12] = 0.780079225; */ |
---|
2191 | /* daa[17*20 + 13] = 3.432193724; */ |
---|
2192 | /* daa[17*20 + 14] = 0.088827331; */ |
---|
2193 | /* daa[17*20 + 15] = 0.293602516; */ |
---|
2194 | /* daa[17*20 + 16] = 0.158083832; */ |
---|
2195 | /* daa[18*20 + 0] = 0.178618354; */ |
---|
2196 | /* daa[18*20 + 1] = 0.243634289; */ |
---|
2197 | /* daa[18*20 + 2] = 0.567657832; */ |
---|
2198 | /* daa[18*20 + 3] = 0.134890583; */ |
---|
2199 | /* daa[18*20 + 4] = 1.28093676; */ |
---|
2200 | /* daa[18*20 + 5] = 0.180560506; */ |
---|
2201 | /* daa[18*20 + 6] = 0.081426157; */ |
---|
2202 | /* daa[18*20 + 7] = 0.044067219; */ |
---|
2203 | /* daa[18*20 + 8] = 6.464181222; */ |
---|
2204 | /* daa[18*20 + 9] = 0.206728215; */ |
---|
2205 | /* daa[18*20 + 10] = 0.334379787; */ |
---|
2206 | /* daa[18*20 + 11] = 0.102051407; */ |
---|
2207 | /* daa[18*20 + 12] = 0.431775879; */ |
---|
2208 | /* daa[18*20 + 13] = 11.87781125; */ |
---|
2209 | /* daa[18*20 + 14] = 0.078070175; */ |
---|
2210 | /* daa[18*20 + 15] = 0.359969114; */ |
---|
2211 | /* daa[18*20 + 16] = 0.199064371; */ |
---|
2212 | /* daa[18*20 + 17] = 4.185797039; */ |
---|
2213 | /* daa[19*20 + 0] = 1.964727121; */ |
---|
2214 | /* daa[19*20 + 1] = 0.18579405; */ |
---|
2215 | /* daa[19*20 + 2] = 0.113068304; */ |
---|
2216 | /* daa[19*20 + 3] = 0.046258503; */ |
---|
2217 | /* daa[19*20 + 4] = 2.069983598; */ |
---|
2218 | /* daa[19*20 + 5] = 0.247259847; */ |
---|
2219 | /* daa[19*20 + 6] = 0.272991021; */ |
---|
2220 | /* daa[19*20 + 7] = 0.073432734; */ |
---|
2221 | /* daa[19*20 + 8] = 0.158879333; */ |
---|
2222 | /* daa[19*20 + 9] = 10.52590329; */ |
---|
2223 | /* daa[19*20 + 10] = 1.74812825; */ |
---|
2224 | /* daa[19*20 + 11] = 0.188152512; */ |
---|
2225 | /* daa[19*20 + 12] = 1.800124087; */ |
---|
2226 | /* daa[19*20 + 13] = 0.478606732; */ |
---|
2227 | /* daa[19*20 + 14] = 0.277216066; */ |
---|
2228 | /* daa[19*20 + 15] = 0.104728903; */ |
---|
2229 | /* daa[19*20 + 16] = 1.963379491; */ |
---|
2230 | /* daa[19*20 + 17] = 0.16552242; */ |
---|
2231 | /* daa[19*20 + 18] = 0.222040517; */ |
---|
2232 | |
---|
2233 | /* for (i=0; i<naa; i++) for (j=0; j<i; j++) daa[j*naa+i] = daa[i*naa+j]; */ |
---|
2234 | |
---|
2235 | /* pi[0] = 0.093862; */ |
---|
2236 | /* pi[1] = 0.05757; */ |
---|
2237 | /* pi[2] = 0.037017; */ |
---|
2238 | /* pi[3] = 0.060952; */ |
---|
2239 | /* pi[4] = 0.011004; */ |
---|
2240 | /* pi[5] = 0.044631; */ |
---|
2241 | /* pi[6] = 0.083648; */ |
---|
2242 | /* pi[7] = 0.053004; */ |
---|
2243 | /* pi[8] = 0.022528; */ |
---|
2244 | /* pi[9] = 0.060152; */ |
---|
2245 | /* pi[10] = 0.092314; */ |
---|
2246 | /* pi[11] = 0.065886; */ |
---|
2247 | /* pi[12] = 0.021075; */ |
---|
2248 | /* pi[13] = 0.033928; */ |
---|
2249 | /* pi[14] = 0.043333; */ |
---|
2250 | /* pi[15] = 0.052957; */ |
---|
2251 | /* pi[16] = 0.053465; */ |
---|
2252 | /* pi[17] = 0.00928; */ |
---|
2253 | /* pi[18] = 0.030025; */ |
---|
2254 | /* pi[19] = 0.073369; */ |
---|
2255 | |
---|
2256 | daa[ 1*20+ 0] = 58.00; daa[ 2*20+ 0] = 54.00; daa[ 2*20+ 1] = 45.00; daa[ 3*20+ 0] = 81.00; |
---|
2257 | daa[ 3*20+ 1] = 16.00; daa[ 3*20+ 2] = 528.00; daa[ 4*20+ 0] = 56.00; daa[ 4*20+ 1] = 113.00; |
---|
2258 | daa[ 4*20+ 2] = 34.00; daa[ 4*20+ 3] = 10.00; daa[ 5*20+ 0] = 57.00; daa[ 5*20+ 1] = 310.00; |
---|
2259 | daa[ 5*20+ 2] = 86.00; daa[ 5*20+ 3] = 49.00; daa[ 5*20+ 4] = 9.00; daa[ 6*20+ 0] = 105.00; |
---|
2260 | daa[ 6*20+ 1] = 29.00; daa[ 6*20+ 2] = 58.00; daa[ 6*20+ 3] = 767.00; daa[ 6*20+ 4] = 5.00; |
---|
2261 | daa[ 6*20+ 5] = 323.00; daa[ 7*20+ 0] = 179.00; daa[ 7*20+ 1] = 137.00; daa[ 7*20+ 2] = 81.00; |
---|
2262 | daa[ 7*20+ 3] = 130.00; daa[ 7*20+ 4] = 59.00; daa[ 7*20+ 5] = 26.00; daa[ 7*20+ 6] = 119.00; |
---|
2263 | daa[ 8*20+ 0] = 27.00; daa[ 8*20+ 1] = 328.00; daa[ 8*20+ 2] = 391.00; daa[ 8*20+ 3] = 112.00; |
---|
2264 | daa[ 8*20+ 4] = 69.00; daa[ 8*20+ 5] = 597.00; daa[ 8*20+ 6] = 26.00; daa[ 8*20+ 7] = 23.00; |
---|
2265 | daa[ 9*20+ 0] = 36.00; daa[ 9*20+ 1] = 22.00; daa[ 9*20+ 2] = 47.00; daa[ 9*20+ 3] = 11.00; |
---|
2266 | daa[ 9*20+ 4] = 17.00; daa[ 9*20+ 5] = 9.00; daa[ 9*20+ 6] = 12.00; daa[ 9*20+ 7] = 6.00; |
---|
2267 | daa[ 9*20+ 8] = 16.00; daa[10*20+ 0] = 30.00; daa[10*20+ 1] = 38.00; daa[10*20+ 2] = 12.00; |
---|
2268 | daa[10*20+ 3] = 7.00; daa[10*20+ 4] = 23.00; daa[10*20+ 5] = 72.00; daa[10*20+ 6] = 9.00; |
---|
2269 | daa[10*20+ 7] = 6.00; daa[10*20+ 8] = 56.00; daa[10*20+ 9] = 229.00; daa[11*20+ 0] = 35.00; |
---|
2270 | daa[11*20+ 1] = 646.00; daa[11*20+ 2] = 263.00; daa[11*20+ 3] = 26.00; daa[11*20+ 4] = 7.00; |
---|
2271 | daa[11*20+ 5] = 292.00; daa[11*20+ 6] = 181.00; daa[11*20+ 7] = 27.00; daa[11*20+ 8] = 45.00; |
---|
2272 | daa[11*20+ 9] = 21.00; daa[11*20+10] = 14.00; daa[12*20+ 0] = 54.00; daa[12*20+ 1] = 44.00; |
---|
2273 | daa[12*20+ 2] = 30.00; daa[12*20+ 3] = 15.00; daa[12*20+ 4] = 31.00; daa[12*20+ 5] = 43.00; |
---|
2274 | daa[12*20+ 6] = 18.00; daa[12*20+ 7] = 14.00; daa[12*20+ 8] = 33.00; daa[12*20+ 9] = 479.00; |
---|
2275 | daa[12*20+10] = 388.00; daa[12*20+11] = 65.00; daa[13*20+ 0] = 15.00; daa[13*20+ 1] = 5.00; |
---|
2276 | daa[13*20+ 2] = 10.00; daa[13*20+ 3] = 4.00; daa[13*20+ 4] = 78.00; daa[13*20+ 5] = 4.00; |
---|
2277 | daa[13*20+ 6] = 5.00; daa[13*20+ 7] = 5.00; daa[13*20+ 8] = 40.00; daa[13*20+ 9] = 89.00; |
---|
2278 | daa[13*20+10] = 248.00; daa[13*20+11] = 4.00; daa[13*20+12] = 43.00; daa[14*20+ 0] = 194.00; |
---|
2279 | daa[14*20+ 1] = 74.00; daa[14*20+ 2] = 15.00; daa[14*20+ 3] = 15.00; daa[14*20+ 4] = 14.00; |
---|
2280 | daa[14*20+ 5] = 164.00; daa[14*20+ 6] = 18.00; daa[14*20+ 7] = 24.00; daa[14*20+ 8] = 115.00; |
---|
2281 | daa[14*20+ 9] = 10.00; daa[14*20+10] = 102.00; daa[14*20+11] = 21.00; daa[14*20+12] = 16.00; |
---|
2282 | daa[14*20+13] = 17.00; daa[15*20+ 0] = 378.00; daa[15*20+ 1] = 101.00; daa[15*20+ 2] = 503.00; |
---|
2283 | daa[15*20+ 3] = 59.00; daa[15*20+ 4] = 223.00; daa[15*20+ 5] = 53.00; daa[15*20+ 6] = 30.00; |
---|
2284 | daa[15*20+ 7] = 201.00; daa[15*20+ 8] = 73.00; daa[15*20+ 9] = 40.00; daa[15*20+10] = 59.00; |
---|
2285 | daa[15*20+11] = 47.00; daa[15*20+12] = 29.00; daa[15*20+13] = 92.00; daa[15*20+14] = 285.00; |
---|
2286 | daa[16*20+ 0] = 475.00; daa[16*20+ 1] = 64.00; daa[16*20+ 2] = 232.00; daa[16*20+ 3] = 38.00; |
---|
2287 | daa[16*20+ 4] = 42.00; daa[16*20+ 5] = 51.00; daa[16*20+ 6] = 32.00; daa[16*20+ 7] = 33.00; |
---|
2288 | daa[16*20+ 8] = 46.00; daa[16*20+ 9] = 245.00; daa[16*20+10] = 25.00; daa[16*20+11] = 103.00; |
---|
2289 | daa[16*20+12] = 226.00; daa[16*20+13] = 12.00; daa[16*20+14] = 118.00; daa[16*20+15] = 477.00; |
---|
2290 | daa[17*20+ 0] = 9.00; daa[17*20+ 1] = 126.00; daa[17*20+ 2] = 8.00; daa[17*20+ 3] = 4.00; |
---|
2291 | daa[17*20+ 4] = 115.00; daa[17*20+ 5] = 18.00; daa[17*20+ 6] = 10.00; daa[17*20+ 7] = 55.00; |
---|
2292 | daa[17*20+ 8] = 8.00; daa[17*20+ 9] = 9.00; daa[17*20+10] = 52.00; daa[17*20+11] = 10.00; |
---|
2293 | daa[17*20+12] = 24.00; daa[17*20+13] = 53.00; daa[17*20+14] = 6.00; daa[17*20+15] = 35.00; |
---|
2294 | daa[17*20+16] = 12.00; daa[18*20+ 0] = 11.00; daa[18*20+ 1] = 20.00; daa[18*20+ 2] = 70.00; |
---|
2295 | daa[18*20+ 3] = 46.00; daa[18*20+ 4] = 209.00; daa[18*20+ 5] = 24.00; daa[18*20+ 6] = 7.00; |
---|
2296 | daa[18*20+ 7] = 8.00; daa[18*20+ 8] = 573.00; daa[18*20+ 9] = 32.00; daa[18*20+10] = 24.00; |
---|
2297 | daa[18*20+11] = 8.00; daa[18*20+12] = 18.00; daa[18*20+13] = 536.00; daa[18*20+14] = 10.00; |
---|
2298 | daa[18*20+15] = 63.00; daa[18*20+16] = 21.00; daa[18*20+17] = 71.00; daa[19*20+ 0] = 298.00; |
---|
2299 | daa[19*20+ 1] = 17.00; daa[19*20+ 2] = 16.00; daa[19*20+ 3] = 31.00; daa[19*20+ 4] = 62.00; |
---|
2300 | daa[19*20+ 5] = 20.00; daa[19*20+ 6] = 45.00; daa[19*20+ 7] = 47.00; daa[19*20+ 8] = 11.00; |
---|
2301 | daa[19*20+ 9] = 961.00; daa[19*20+10] = 180.00; daa[19*20+11] = 14.00; daa[19*20+12] = 323.00; |
---|
2302 | daa[19*20+13] = 62.00; daa[19*20+14] = 23.00; daa[19*20+15] = 38.00; daa[19*20+16] = 112.00; |
---|
2303 | daa[19*20+17] = 25.00; daa[19*20+18] = 16.00; |
---|
2304 | |
---|
2305 | for (i=0; i<naa; i++) for (j=0; j<i; j++) daa[j*naa+i] = daa[i*naa+j]; |
---|
2306 | |
---|
2307 | pi[ 0] = 0.076748; pi[ 1] = 0.051691; pi[ 2] = 0.042645; pi[ 3] = 0.051544; |
---|
2308 | pi[ 4] = 0.019803; pi[ 5] = 0.040752; pi[ 6] = 0.061830; pi[ 7] = 0.073152; |
---|
2309 | pi[ 8] = 0.022944; pi[ 9] = 0.053761; pi[10] = 0.091904; pi[11] = 0.058676; |
---|
2310 | pi[12] = 0.023826; pi[13] = 0.040126; pi[14] = 0.050901; pi[15] = 0.068765; |
---|
2311 | pi[16] = 0.058565; pi[17] = 0.014261; pi[18] = 0.032102; pi[19] = 0.066005; |
---|
2312 | |
---|
2313 | return 1; |
---|
2314 | } |
---|
2315 | |
---|
2316 | ////////////////////////////////////////////////////////////// |
---|
2317 | ////////////////////////////////////////////////////////////// |
---|
2318 | |
---|
2319 | |
---|
2320 | int Init_Qmat_MtREV(phydbl *daa, phydbl *pi) |
---|
2321 | { |
---|
2322 | /* J. Adachi and M. Hasegawa, ``Model of amino acid substitution in proteins |
---|
2323 | encoded by mitochondrial DNA'' J. Mol. Evol. 42, 459 (1996) */ |
---|
2324 | |
---|
2325 | int i,j,naa; |
---|
2326 | |
---|
2327 | naa = 20; |
---|
2328 | |
---|
2329 | |
---|
2330 | daa[ 1*20+ 0] = 23.18; daa[ 2*20+ 0] = 26.95; daa[ 2*20+ 1] = 13.24; daa[ 3*20+ 0] = 17.67; |
---|
2331 | daa[ 3*20+ 1] = 1.90; daa[ 3*20+ 2] = 794.38; daa[ 4*20+ 0] = 59.93; daa[ 4*20+ 1] = 103.33; |
---|
2332 | daa[ 4*20+ 2] = 58.94; daa[ 4*20+ 3] = 1.90; daa[ 5*20+ 0] = 1.90; daa[ 5*20+ 1] = 220.99; |
---|
2333 | daa[ 5*20+ 2] = 173.56; daa[ 5*20+ 3] = 55.28; daa[ 5*20+ 4] = 75.24; daa[ 6*20+ 0] = 9.77; |
---|
2334 | daa[ 6*20+ 1] = 1.90; daa[ 6*20+ 2] = 63.05; daa[ 6*20+ 3] = 583.55; daa[ 6*20+ 4] = 1.90; |
---|
2335 | daa[ 6*20+ 5] = 313.56; daa[ 7*20+ 0] = 120.71; daa[ 7*20+ 1] = 23.03; daa[ 7*20+ 2] = 53.30; |
---|
2336 | daa[ 7*20+ 3] = 56.77; daa[ 7*20+ 4] = 30.71; daa[ 7*20+ 5] = 6.75; daa[ 7*20+ 6] = 28.28; |
---|
2337 | daa[ 8*20+ 0] = 13.90; daa[ 8*20+ 1] = 165.23; daa[ 8*20+ 2] = 496.13; daa[ 8*20+ 3] = 113.99; |
---|
2338 | daa[ 8*20+ 4] = 141.49; daa[ 8*20+ 5] = 582.40; daa[ 8*20+ 6] = 49.12; daa[ 8*20+ 7] = 1.90; |
---|
2339 | daa[ 9*20+ 0] = 96.49; daa[ 9*20+ 1] = 1.90; daa[ 9*20+ 2] = 27.10; daa[ 9*20+ 3] = 4.34; |
---|
2340 | daa[ 9*20+ 4] = 62.73; daa[ 9*20+ 5] = 8.34; daa[ 9*20+ 6] = 3.31; daa[ 9*20+ 7] = 5.98; |
---|
2341 | daa[ 9*20+ 8] = 12.26; daa[10*20+ 0] = 25.46; daa[10*20+ 1] = 15.58; daa[10*20+ 2] = 15.16; |
---|
2342 | daa[10*20+ 3] = 1.90; daa[10*20+ 4] = 25.65; daa[10*20+ 5] = 39.70; daa[10*20+ 6] = 1.90; |
---|
2343 | daa[10*20+ 7] = 2.41; daa[10*20+ 8] = 11.49; daa[10*20+ 9] = 329.09; daa[11*20+ 0] = 8.36; |
---|
2344 | daa[11*20+ 1] = 141.40; daa[11*20+ 2] = 608.70; daa[11*20+ 3] = 2.31; daa[11*20+ 4] = 1.90; |
---|
2345 | daa[11*20+ 5] = 465.58; daa[11*20+ 6] = 313.86; daa[11*20+ 7] = 22.73; daa[11*20+ 8] = 127.67; |
---|
2346 | daa[11*20+ 9] = 19.57; daa[11*20+10] = 14.88; daa[12*20+ 0] = 141.88; daa[12*20+ 1] = 1.90; |
---|
2347 | daa[12*20+ 2] = 65.41; daa[12*20+ 3] = 1.90; daa[12*20+ 4] = 6.18; daa[12*20+ 5] = 47.37; |
---|
2348 | daa[12*20+ 6] = 1.90; daa[12*20+ 7] = 1.90; daa[12*20+ 8] = 11.97; daa[12*20+ 9] = 517.98; |
---|
2349 | daa[12*20+10] = 537.53; daa[12*20+11] = 91.37; daa[13*20+ 0] = 6.37; daa[13*20+ 1] = 4.69; |
---|
2350 | daa[13*20+ 2] = 15.20; daa[13*20+ 3] = 4.98; daa[13*20+ 4] = 70.80; daa[13*20+ 5] = 19.11; |
---|
2351 | daa[13*20+ 6] = 2.67; daa[13*20+ 7] = 1.90; daa[13*20+ 8] = 48.16; daa[13*20+ 9] = 84.67; |
---|
2352 | daa[13*20+10] = 216.06; daa[13*20+11] = 6.44; daa[13*20+12] = 90.82; daa[14*20+ 0] = 54.31; |
---|
2353 | daa[14*20+ 1] = 23.64; daa[14*20+ 2] = 73.31; daa[14*20+ 3] = 13.43; daa[14*20+ 4] = 31.26; |
---|
2354 | daa[14*20+ 5] = 137.29; daa[14*20+ 6] = 12.83; daa[14*20+ 7] = 1.90; daa[14*20+ 8] = 60.97; |
---|
2355 | daa[14*20+ 9] = 20.63; daa[14*20+10] = 40.10; daa[14*20+11] = 50.10; daa[14*20+12] = 18.84; |
---|
2356 | daa[14*20+13] = 17.31; daa[15*20+ 0] = 387.86; daa[15*20+ 1] = 6.04; daa[15*20+ 2] = 494.39; |
---|
2357 | daa[15*20+ 3] = 69.02; daa[15*20+ 4] = 277.05; daa[15*20+ 5] = 54.11; daa[15*20+ 6] = 54.71; |
---|
2358 | daa[15*20+ 7] = 125.93; daa[15*20+ 8] = 77.46; daa[15*20+ 9] = 47.70; daa[15*20+10] = 73.61; |
---|
2359 | daa[15*20+11] = 105.79; daa[15*20+12] = 111.16; daa[15*20+13] = 64.29; daa[15*20+14] = 169.90; |
---|
2360 | daa[16*20+ 0] = 480.72; daa[16*20+ 1] = 2.08; daa[16*20+ 2] = 238.46; daa[16*20+ 3] = 28.01; |
---|
2361 | daa[16*20+ 4] = 179.97; daa[16*20+ 5] = 94.93; daa[16*20+ 6] = 14.82; daa[16*20+ 7] = 11.17; |
---|
2362 | daa[16*20+ 8] = 44.78; daa[16*20+ 9] = 368.43; daa[16*20+10] = 126.40; daa[16*20+11] = 136.33; |
---|
2363 | daa[16*20+12] = 528.17; daa[16*20+13] = 33.85; daa[16*20+14] = 128.22; daa[16*20+15] = 597.21; |
---|
2364 | daa[17*20+ 0] = 1.90; daa[17*20+ 1] = 21.95; daa[17*20+ 2] = 10.68; daa[17*20+ 3] = 19.86; |
---|
2365 | daa[17*20+ 4] = 33.60; daa[17*20+ 5] = 1.90; daa[17*20+ 6] = 1.90; daa[17*20+ 7] = 10.92; |
---|
2366 | daa[17*20+ 8] = 7.08; daa[17*20+ 9] = 1.90; daa[17*20+10] = 32.44; daa[17*20+11] = 24.00; |
---|
2367 | daa[17*20+12] = 21.71; daa[17*20+13] = 7.84; daa[17*20+14] = 4.21; daa[17*20+15] = 38.58; |
---|
2368 | daa[17*20+16] = 9.99; daa[18*20+ 0] = 6.48; daa[18*20+ 1] = 1.90; daa[18*20+ 2] = 191.36; |
---|
2369 | daa[18*20+ 3] = 21.21; daa[18*20+ 4] = 254.77; daa[18*20+ 5] = 38.82; daa[18*20+ 6] = 13.12; |
---|
2370 | daa[18*20+ 7] = 3.21; daa[18*20+ 8] = 670.14; daa[18*20+ 9] = 25.01; daa[18*20+10] = 44.15; |
---|
2371 | daa[18*20+11] = 51.17; daa[18*20+12] = 39.96; daa[18*20+13] = 465.58; daa[18*20+14] = 16.21; |
---|
2372 | daa[18*20+15] = 64.92; daa[18*20+16] = 38.73; daa[18*20+17] = 26.25; daa[19*20+ 0] = 195.06; |
---|
2373 | daa[19*20+ 1] = 7.64; daa[19*20+ 2] = 1.90; daa[19*20+ 3] = 1.90; daa[19*20+ 4] = 1.90; |
---|
2374 | daa[19*20+ 5] = 19.00; daa[19*20+ 6] = 21.14; daa[19*20+ 7] = 2.53; daa[19*20+ 8] = 1.90; |
---|
2375 | daa[19*20+ 9] = 1222.94; daa[19*20+10] = 91.67; daa[19*20+11] = 1.90; daa[19*20+12] = 387.54; |
---|
2376 | daa[19*20+13] = 6.35; daa[19*20+14] = 8.23; daa[19*20+15] = 1.90; daa[19*20+16] = 204.54; |
---|
2377 | daa[19*20+17] = 5.37; daa[19*20+18] = 1.90; |
---|
2378 | |
---|
2379 | for (i=0; i<naa; i++) for (j=0; j<i; j++) daa[j*naa+i] = daa[i*naa+j]; |
---|
2380 | |
---|
2381 | pi[ 0] = 0.072000; pi[ 1] = 0.019000; pi[ 2] = 0.039000; pi[ 3] = 0.019000; |
---|
2382 | pi[ 4] = 0.006000; pi[ 5] = 0.025000; pi[ 6] = 0.024000; pi[ 7] = 0.056000; |
---|
2383 | pi[ 8] = 0.028000; pi[ 9] = 0.088000; pi[10] = 0.169000; pi[11] = 0.023000; |
---|
2384 | pi[12] = 0.054000; pi[13] = 0.061000; pi[14] = 0.054000; pi[15] = 0.072000; |
---|
2385 | pi[16] = 0.086000; pi[17] = 0.029000; pi[18] = 0.033000; pi[19] = 0.043000; |
---|
2386 | |
---|
2387 | return 1; |
---|
2388 | } |
---|
2389 | |
---|
2390 | |
---|
2391 | ////////////////////////////////////////////////////////////// |
---|
2392 | ////////////////////////////////////////////////////////////// |
---|
2393 | |
---|
2394 | |
---|
2395 | int Init_Qmat_LG(phydbl *daa, phydbl *pi) |
---|
2396 | { |
---|
2397 | int i,j,naa; |
---|
2398 | |
---|
2399 | /* LG model |
---|
2400 | * Si Quang Le & Olivier Gascuel |
---|
2401 | * 'An improved general amino-acid replacement matrix' |
---|
2402 | */ |
---|
2403 | |
---|
2404 | naa = 20; |
---|
2405 | |
---|
2406 | daa[ 1*20+ 0] = 0.425093; daa[ 2*20+ 0] = 0.276818; daa[ 2*20+ 1] = 0.751878; daa[ 3*20+ 0] = 0.395144; |
---|
2407 | daa[ 3*20+ 1] = 0.123954; daa[ 3*20+ 2] = 5.076149; daa[ 4*20+ 0] = 2.489084; daa[ 4*20+ 1] = 0.534551; |
---|
2408 | daa[ 4*20+ 2] = 0.528768; daa[ 4*20+ 3] = 0.062556; daa[ 5*20+ 0] = 0.969894; daa[ 5*20+ 1] = 2.807908; |
---|
2409 | daa[ 5*20+ 2] = 1.695752; daa[ 5*20+ 3] = 0.523386; daa[ 5*20+ 4] = 0.084808; daa[ 6*20+ 0] = 1.038545; |
---|
2410 | daa[ 6*20+ 1] = 0.363970; daa[ 6*20+ 2] = 0.541712; daa[ 6*20+ 3] = 5.243870; daa[ 6*20+ 4] = 0.003499; |
---|
2411 | daa[ 6*20+ 5] = 4.128591; daa[ 7*20+ 0] = 2.066040; daa[ 7*20+ 1] = 0.390192; daa[ 7*20+ 2] = 1.437645; |
---|
2412 | daa[ 7*20+ 3] = 0.844926; daa[ 7*20+ 4] = 0.569265; daa[ 7*20+ 5] = 0.267959; daa[ 7*20+ 6] = 0.348847; |
---|
2413 | daa[ 8*20+ 0] = 0.358858; daa[ 8*20+ 1] = 2.426601; daa[ 8*20+ 2] = 4.509238; daa[ 8*20+ 3] = 0.927114; |
---|
2414 | daa[ 8*20+ 4] = 0.640543; daa[ 8*20+ 5] = 4.813505; daa[ 8*20+ 6] = 0.423881; daa[ 8*20+ 7] = 0.311484; |
---|
2415 | daa[ 9*20+ 0] = 0.149830; daa[ 9*20+ 1] = 0.126991; daa[ 9*20+ 2] = 0.191503; daa[ 9*20+ 3] = 0.010690; |
---|
2416 | daa[ 9*20+ 4] = 0.320627; daa[ 9*20+ 5] = 0.072854; daa[ 9*20+ 6] = 0.044265; daa[ 9*20+ 7] = 0.008705; |
---|
2417 | daa[ 9*20+ 8] = 0.108882; daa[10*20+ 0] = 0.395337; daa[10*20+ 1] = 0.301848; daa[10*20+ 2] = 0.068427; |
---|
2418 | daa[10*20+ 3] = 0.015076; daa[10*20+ 4] = 0.594007; daa[10*20+ 5] = 0.582457; daa[10*20+ 6] = 0.069673; |
---|
2419 | daa[10*20+ 7] = 0.044261; daa[10*20+ 8] = 0.366317; daa[10*20+ 9] = 4.145067; daa[11*20+ 0] = 0.536518; |
---|
2420 | daa[11*20+ 1] = 6.326067; daa[11*20+ 2] = 2.145078; daa[11*20+ 3] = 0.282959; daa[11*20+ 4] = 0.013266; |
---|
2421 | daa[11*20+ 5] = 3.234294; daa[11*20+ 6] = 1.807177; daa[11*20+ 7] = 0.296636; daa[11*20+ 8] = 0.697264; |
---|
2422 | daa[11*20+ 9] = 0.159069; daa[11*20+10] = 0.137500; daa[12*20+ 0] = 1.124035; daa[12*20+ 1] = 0.484133; |
---|
2423 | daa[12*20+ 2] = 0.371004; daa[12*20+ 3] = 0.025548; daa[12*20+ 4] = 0.893680; daa[12*20+ 5] = 1.672569; |
---|
2424 | daa[12*20+ 6] = 0.173735; daa[12*20+ 7] = 0.139538; daa[12*20+ 8] = 0.442472; daa[12*20+ 9] = 4.273607; |
---|
2425 | daa[12*20+10] = 6.312358; daa[12*20+11] = 0.656604; daa[13*20+ 0] = 0.253701; daa[13*20+ 1] = 0.052722; |
---|
2426 | daa[13*20+ 2] = 0.089525; daa[13*20+ 3] = 0.017416; daa[13*20+ 4] = 1.105251; daa[13*20+ 5] = 0.035855; |
---|
2427 | daa[13*20+ 6] = 0.018811; daa[13*20+ 7] = 0.089586; daa[13*20+ 8] = 0.682139; daa[13*20+ 9] = 1.112727; |
---|
2428 | daa[13*20+10] = 2.592692; daa[13*20+11] = 0.023918; daa[13*20+12] = 1.798853; daa[14*20+ 0] = 1.177651; |
---|
2429 | daa[14*20+ 1] = 0.332533; daa[14*20+ 2] = 0.161787; daa[14*20+ 3] = 0.394456; daa[14*20+ 4] = 0.075382; |
---|
2430 | daa[14*20+ 5] = 0.624294; daa[14*20+ 6] = 0.419409; daa[14*20+ 7] = 0.196961; daa[14*20+ 8] = 0.508851; |
---|
2431 | daa[14*20+ 9] = 0.078281; daa[14*20+10] = 0.249060; daa[14*20+11] = 0.390322; daa[14*20+12] = 0.099849; |
---|
2432 | daa[14*20+13] = 0.094464; daa[15*20+ 0] = 4.727182; daa[15*20+ 1] = 0.858151; daa[15*20+ 2] = 4.008358; |
---|
2433 | daa[15*20+ 3] = 1.240275; daa[15*20+ 4] = 2.784478; daa[15*20+ 5] = 1.223828; daa[15*20+ 6] = 0.611973; |
---|
2434 | daa[15*20+ 7] = 1.739990; daa[15*20+ 8] = 0.990012; daa[15*20+ 9] = 0.064105; daa[15*20+10] = 0.182287; |
---|
2435 | daa[15*20+11] = 0.748683; daa[15*20+12] = 0.346960; daa[15*20+13] = 0.361819; daa[15*20+14] = 1.338132; |
---|
2436 | daa[16*20+ 0] = 2.139501; daa[16*20+ 1] = 0.578987; daa[16*20+ 2] = 2.000679; daa[16*20+ 3] = 0.425860; |
---|
2437 | daa[16*20+ 4] = 1.143480; daa[16*20+ 5] = 1.080136; daa[16*20+ 6] = 0.604545; daa[16*20+ 7] = 0.129836; |
---|
2438 | daa[16*20+ 8] = 0.584262; daa[16*20+ 9] = 1.033739; daa[16*20+10] = 0.302936; daa[16*20+11] = 1.136863; |
---|
2439 | daa[16*20+12] = 2.020366; daa[16*20+13] = 0.165001; daa[16*20+14] = 0.571468; daa[16*20+15] = 6.472279; |
---|
2440 | daa[17*20+ 0] = 0.180717; daa[17*20+ 1] = 0.593607; daa[17*20+ 2] = 0.045376; daa[17*20+ 3] = 0.029890; |
---|
2441 | daa[17*20+ 4] = 0.670128; daa[17*20+ 5] = 0.236199; daa[17*20+ 6] = 0.077852; daa[17*20+ 7] = 0.268491; |
---|
2442 | daa[17*20+ 8] = 0.597054; daa[17*20+ 9] = 0.111660; daa[17*20+10] = 0.619632; daa[17*20+11] = 0.049906; |
---|
2443 | daa[17*20+12] = 0.696175; daa[17*20+13] = 2.457121; daa[17*20+14] = 0.095131; daa[17*20+15] = 0.248862; |
---|
2444 | daa[17*20+16] = 0.140825; daa[18*20+ 0] = 0.218959; daa[18*20+ 1] = 0.314440; daa[18*20+ 2] = 0.612025; |
---|
2445 | daa[18*20+ 3] = 0.135107; daa[18*20+ 4] = 1.165532; daa[18*20+ 5] = 0.257336; daa[18*20+ 6] = 0.120037; |
---|
2446 | daa[18*20+ 7] = 0.054679; daa[18*20+ 8] = 5.306834; daa[18*20+ 9] = 0.232523; daa[18*20+10] = 0.299648; |
---|
2447 | daa[18*20+11] = 0.131932; daa[18*20+12] = 0.481306; daa[18*20+13] = 7.803902; daa[18*20+14] = 0.089613; |
---|
2448 | daa[18*20+15] = 0.400547; daa[18*20+16] = 0.245841; daa[18*20+17] = 3.151815; daa[19*20+ 0] = 2.547870; |
---|
2449 | daa[19*20+ 1] = 0.170887; daa[19*20+ 2] = 0.083688; daa[19*20+ 3] = 0.037967; daa[19*20+ 4] = 1.959291; |
---|
2450 | daa[19*20+ 5] = 0.210332; daa[19*20+ 6] = 0.245034; daa[19*20+ 7] = 0.076701; daa[19*20+ 8] = 0.119013; |
---|
2451 | daa[19*20+ 9] = 10.649107; daa[19*20+10] = 1.702745; daa[19*20+11] = 0.185202; daa[19*20+12] = 1.898718; |
---|
2452 | daa[19*20+13] = 0.654683; daa[19*20+14] = 0.296501; daa[19*20+15] = 0.098369; daa[19*20+16] = 2.188158; |
---|
2453 | daa[19*20+17] = 0.189510; daa[19*20+18] = 0.249313; |
---|
2454 | |
---|
2455 | |
---|
2456 | for (i=0; i<naa; i++) for (j=0; j<i; j++) daa[j*naa+i] = daa[i*naa+j]; |
---|
2457 | |
---|
2458 | pi[0] = 0.079066; pi[1] = 0.055941; pi[2] = 0.041977; pi[3] = 0.053052; |
---|
2459 | pi[4] = 0.012937; pi[5] = 0.040767; pi[6] = 0.071586; pi[7] = 0.057337; |
---|
2460 | pi[8] = 0.022355; pi[9] = 0.062157; pi[10] = 0.099081; pi[11] = 0.064600; |
---|
2461 | pi[12] = 0.022951; pi[13] = 0.042302; pi[14] = 0.044040; pi[15] = 0.061197; |
---|
2462 | pi[16] = 0.053287; pi[17] = 0.012066; pi[18] = 0.034155; pi[19] = 0.069147; |
---|
2463 | |
---|
2464 | return 1; |
---|
2465 | } |
---|
2466 | |
---|
2467 | ////////////////////////////////////////////////////////////// |
---|
2468 | ////////////////////////////////////////////////////////////// |
---|
2469 | |
---|
2470 | |
---|
2471 | int Init_Qmat_WAG(phydbl *daa, phydbl *pi) |
---|
2472 | { |
---|
2473 | int i,j,naa; |
---|
2474 | |
---|
2475 | /* WAG's model data |
---|
2476 | * Simon Whelan and Nick Goldman |
---|
2477 | * 'A general empirical model of protein evolution derived from multiple |
---|
2478 | * protein families using a maximum-likelihood approach' |
---|
2479 | * MBE (2001) 18:691-699 |
---|
2480 | */ |
---|
2481 | |
---|
2482 | |
---|
2483 | naa = 20; |
---|
2484 | |
---|
2485 | daa[ 1*20+ 0] = 55.15710; daa[ 2*20+ 0] = 50.98480; daa[ 2*20+ 1] = 63.53460; |
---|
2486 | daa[ 3*20+ 0] = 73.89980; daa[ 3*20+ 1] = 14.73040; daa[ 3*20+ 2] = 542.94200; |
---|
2487 | daa[ 4*20+ 0] = 102.70400; daa[ 4*20+ 1] = 52.81910; daa[ 4*20+ 2] = 26.52560; |
---|
2488 | daa[ 4*20+ 3] = 3.02949; daa[ 5*20+ 0] = 90.85980; daa[ 5*20+ 1] = 303.55000; |
---|
2489 | daa[ 5*20+ 2] = 154.36400; daa[ 5*20+ 3] = 61.67830; daa[ 5*20+ 4] = 9.88179; |
---|
2490 | daa[ 6*20+ 0] = 158.28500; daa[ 6*20+ 1] = 43.91570; daa[ 6*20+ 2] = 94.71980; |
---|
2491 | daa[ 6*20+ 3] = 617.41600; daa[ 6*20+ 4] = 2.13520; daa[ 6*20+ 5] = 546.94700; |
---|
2492 | daa[ 7*20+ 0] = 141.67200; daa[ 7*20+ 1] = 58.46650; daa[ 7*20+ 2] = 112.55600; |
---|
2493 | daa[ 7*20+ 3] = 86.55840; daa[ 7*20+ 4] = 30.66740; daa[ 7*20+ 5] = 33.00520; |
---|
2494 | daa[ 7*20+ 6] = 56.77170; daa[ 8*20+ 0] = 31.69540; daa[ 8*20+ 1] = 213.71500; |
---|
2495 | daa[ 8*20+ 2] = 395.62900; daa[ 8*20+ 3] = 93.06760; daa[ 8*20+ 4] = 24.89720; |
---|
2496 | daa[ 8*20+ 5] = 429.41100; daa[ 8*20+ 6] = 57.00250; daa[ 8*20+ 7] = 24.94100; |
---|
2497 | daa[ 9*20+ 0] = 19.33350; daa[ 9*20+ 1] = 18.69790; daa[ 9*20+ 2] = 55.42360; |
---|
2498 | daa[ 9*20+ 3] = 3.94370; daa[ 9*20+ 4] = 17.01350; daa[ 9*20+ 5] = 11.39170; |
---|
2499 | daa[ 9*20+ 6] = 12.73950; daa[ 9*20+ 7] = 3.04501; daa[ 9*20+ 8] = 13.81900; |
---|
2500 | daa[10*20+ 0] = 39.79150; daa[10*20+ 1] = 49.76710; daa[10*20+ 2] = 13.15280; |
---|
2501 | daa[10*20+ 3] = 8.48047; daa[10*20+ 4] = 38.42870; daa[10*20+ 5] = 86.94890; |
---|
2502 | daa[10*20+ 6] = 15.42630; daa[10*20+ 7] = 6.13037; daa[10*20+ 8] = 49.94620; |
---|
2503 | daa[10*20+ 9] = 317.09700; daa[11*20+ 0] = 90.62650; daa[11*20+ 1] = 535.14200; |
---|
2504 | daa[11*20+ 2] = 301.20100; daa[11*20+ 3] = 47.98550; daa[11*20+ 4] = 7.40339; |
---|
2505 | daa[11*20+ 5] = 389.49000; daa[11*20+ 6] = 258.44300; daa[11*20+ 7] = 37.35580; |
---|
2506 | daa[11*20+ 8] = 89.04320; daa[11*20+ 9] = 32.38320; daa[11*20+10] = 25.75550; |
---|
2507 | daa[12*20+ 0] = 89.34960; daa[12*20+ 1] = 68.31620; daa[12*20+ 2] = 19.82210; |
---|
2508 | daa[12*20+ 3] = 10.37540; daa[12*20+ 4] = 39.04820; daa[12*20+ 5] = 154.52600; |
---|
2509 | daa[12*20+ 6] = 31.51240; daa[12*20+ 7] = 17.41000; daa[12*20+ 8] = 40.41410; |
---|
2510 | daa[12*20+ 9] = 425.74600; daa[12*20+10] = 485.40200; daa[12*20+11] = 93.42760; |
---|
2511 | daa[13*20+ 0] = 21.04940; daa[13*20+ 1] = 10.27110; daa[13*20+ 2] = 9.61621; |
---|
2512 | daa[13*20+ 3] = 4.67304; daa[13*20+ 4] = 39.80200; daa[13*20+ 5] = 9.99208; |
---|
2513 | daa[13*20+ 6] = 8.11339; daa[13*20+ 7] = 4.99310; daa[13*20+ 8] = 67.93710; |
---|
2514 | daa[13*20+ 9] = 105.94700; daa[13*20+10] = 211.51700; daa[13*20+11] = 8.88360; |
---|
2515 | daa[13*20+12] = 119.06300; daa[14*20+ 0] = 143.85500; daa[14*20+ 1] = 67.94890; |
---|
2516 | daa[14*20+ 2] = 19.50810; daa[14*20+ 3] = 42.39840; daa[14*20+ 4] = 10.94040; |
---|
2517 | daa[14*20+ 5] = 93.33720; daa[14*20+ 6] = 68.23550; daa[14*20+ 7] = 24.35700; |
---|
2518 | daa[14*20+ 8] = 69.61980; daa[14*20+ 9] = 9.99288; daa[14*20+10] = 41.58440; |
---|
2519 | daa[14*20+11] = 55.68960; daa[14*20+12] = 17.13290; daa[14*20+13] = 16.14440; |
---|
2520 | daa[15*20+ 0] = 337.07900; daa[15*20+ 1] = 122.41900; daa[15*20+ 2] = 397.42300; |
---|
2521 | daa[15*20+ 3] = 107.17600; daa[15*20+ 4] = 140.76600; daa[15*20+ 5] = 102.88700; |
---|
2522 | daa[15*20+ 6] = 70.49390; daa[15*20+ 7] = 134.18200; daa[15*20+ 8] = 74.01690; |
---|
2523 | daa[15*20+ 9] = 31.94400; daa[15*20+10] = 34.47390; daa[15*20+11] = 96.71300; |
---|
2524 | daa[15*20+12] = 49.39050; daa[15*20+13] = 54.59310; daa[15*20+14] = 161.32800; |
---|
2525 | daa[16*20+ 0] = 212.11100; daa[16*20+ 1] = 55.44130; daa[16*20+ 2] = 203.00600; |
---|
2526 | daa[16*20+ 3] = 37.48660; daa[16*20+ 4] = 51.29840; daa[16*20+ 5] = 85.79280; |
---|
2527 | daa[16*20+ 6] = 82.27650; daa[16*20+ 7] = 22.58330; daa[16*20+ 8] = 47.33070; |
---|
2528 | daa[16*20+ 9] = 145.81600; daa[16*20+10] = 32.66220; daa[16*20+11] = 138.69800; |
---|
2529 | daa[16*20+12] = 151.61200; daa[16*20+13] = 17.19030; daa[16*20+14] = 79.53840; |
---|
2530 | daa[16*20+15] = 437.80200; daa[17*20+ 0] = 11.31330; daa[17*20+ 1] = 116.39200; |
---|
2531 | daa[17*20+ 2] = 7.19167; daa[17*20+ 3] = 12.97670; daa[17*20+ 4] = 71.70700; |
---|
2532 | daa[17*20+ 5] = 21.57370; daa[17*20+ 6] = 15.65570; daa[17*20+ 7] = 33.69830; |
---|
2533 | daa[17*20+ 8] = 26.25690; daa[17*20+ 9] = 21.24830; daa[17*20+10] = 66.53090; |
---|
2534 | daa[17*20+11] = 13.75050; daa[17*20+12] = 51.57060; daa[17*20+13] = 152.96400; |
---|
2535 | daa[17*20+14] = 13.94050; daa[17*20+15] = 52.37420; daa[17*20+16] = 11.08640; |
---|
2536 | daa[18*20+ 0] = 24.07350; daa[18*20+ 1] = 38.15330; daa[18*20+ 2] = 108.60000; |
---|
2537 | daa[18*20+ 3] = 32.57110; daa[18*20+ 4] = 54.38330; daa[18*20+ 5] = 22.77100; |
---|
2538 | daa[18*20+ 6] = 19.63030; daa[18*20+ 7] = 10.36040; daa[18*20+ 8] = 387.34400; |
---|
2539 | daa[18*20+ 9] = 42.01700; daa[18*20+10] = 39.86180; daa[18*20+11] = 13.32640; |
---|
2540 | daa[18*20+12] = 42.84370; daa[18*20+13] = 645.42800; daa[18*20+14] = 21.60460; |
---|
2541 | daa[18*20+15] = 78.69930; daa[18*20+16] = 29.11480; daa[18*20+17] = 248.53900; |
---|
2542 | daa[19*20+ 0] = 200.60100; daa[19*20+ 1] = 25.18490; daa[19*20+ 2] = 19.62460; |
---|
2543 | daa[19*20+ 3] = 15.23350; daa[19*20+ 4] = 100.21400; daa[19*20+ 5] = 30.12810; |
---|
2544 | daa[19*20+ 6] = 58.87310; daa[19*20+ 7] = 18.72470; daa[19*20+ 8] = 11.83580; |
---|
2545 | daa[19*20+ 9] = 782.13000; daa[19*20+10] = 180.03400; daa[19*20+11] = 30.54340; |
---|
2546 | daa[19*20+12] = 205.84500; daa[19*20+13] = 64.98920; daa[19*20+14] = 31.48870; |
---|
2547 | daa[19*20+15] = 23.27390; daa[19*20+16] = 138.82300; daa[19*20+17] = 36.53690; |
---|
2548 | daa[19*20+18] = 31.47300; |
---|
2549 | |
---|
2550 | for (i=0; i<naa; i++) for (j=0; j<i; j++) daa[j*naa+i] = daa[i*naa+j]; |
---|
2551 | |
---|
2552 | pi[0] = 0.0866279; pi[1] = 0.043972; pi[2] = 0.0390894; pi[3] = 0.0570451; |
---|
2553 | pi[4] = 0.0193078; pi[5] = 0.0367281; pi[6] = 0.0580589; pi[7] = 0.0832518; |
---|
2554 | pi[8] = 0.0244313; pi[9] = 0.048466; pi[10] = 0.086209; pi[11] = 0.0620286; |
---|
2555 | pi[12] = 0.0195027; pi[13] = 0.0384319; pi[14] = 0.0457631; pi[15] = 0.0695179; |
---|
2556 | pi[16] = 0.0610127; pi[17] = 0.0143859; pi[18] = 0.0352742; pi[19] = 0.0708956; |
---|
2557 | |
---|
2558 | |
---|
2559 | return 1; |
---|
2560 | } |
---|
2561 | |
---|
2562 | ////////////////////////////////////////////////////////////// |
---|
2563 | ////////////////////////////////////////////////////////////// |
---|
2564 | |
---|
2565 | |
---|
2566 | int Init_Qmat_RtREV(phydbl *daa, phydbl *pi) |
---|
2567 | { |
---|
2568 | /* |
---|
2569 | This model has been 'translated' from John Huelsenbeck and Fredrik Ronquist |
---|
2570 | MrBayes program into PHYML format by Federico Abascal. Many thanks to them. |
---|
2571 | */ |
---|
2572 | |
---|
2573 | /* |
---|
2574 | Dimmic M.W., J.S. Rest, D.P. Mindell, and D. Goldstein. 2002. RArtREV: |
---|
2575 | An amino acid substitution matrix for inference of retrovirus and |
---|
2576 | reverse transcriptase phyLOGeny. Journal of Molecular Evolution |
---|
2577 | 55: 65-73. |
---|
2578 | */ |
---|
2579 | |
---|
2580 | int i,j,naa; |
---|
2581 | naa = 20; |
---|
2582 | |
---|
2583 | daa[1*20+0]= 34; daa[2*20+0]= 51; daa[2*20+1]= 35; daa[3*20+0]= 10; |
---|
2584 | daa[3*20+1]= 30; daa[3*20+2]= 384; daa[4*20+0]= 439; daa[4*20+1]= 92; |
---|
2585 | daa[4*20+2]= 128; daa[4*20+3]= 1; daa[5*20+0]= 32; daa[5*20+1]= 221; |
---|
2586 | daa[5*20+2]= 236; daa[5*20+3]= 78; daa[5*20+4]= 70; daa[6*20+0]= 81; |
---|
2587 | daa[6*20+1]= 10; daa[6*20+2]= 79; daa[6*20+3]= 542; daa[6*20+4]= 1; |
---|
2588 | daa[6*20+5]= 372; daa[7*20+0]= 135; daa[7*20+1]= 41; daa[7*20+2]= 94; |
---|
2589 | daa[7*20+3]= 61; daa[7*20+4]= 48; daa[7*20+5]= 18; daa[7*20+6]= 70; |
---|
2590 | daa[8*20+0]= 30; daa[8*20+1]= 90; daa[8*20+2]= 320; daa[8*20+3]= 91; |
---|
2591 | daa[8*20+4]= 124; daa[8*20+5]= 387; daa[8*20+6]= 34; daa[8*20+7]= 68; |
---|
2592 | daa[9*20+0]= 1; daa[9*20+1]= 24; daa[9*20+2]= 35; daa[9*20+3]= 1; |
---|
2593 | daa[9*20+4]= 104; daa[9*20+5]= 33; daa[9*20+6]= 1; daa[9*20+7]= 1; |
---|
2594 | daa[9*20+8]= 34; daa[10*20+0]= 45; daa[10*20+1]= 18; daa[10*20+2]= 15; |
---|
2595 | daa[10*20+3]= 5; daa[10*20+4]= 110; daa[10*20+5]= 54; daa[10*20+6]= 21; |
---|
2596 | daa[10*20+7]= 3; daa[10*20+8]= 51; daa[10*20+9]= 385; daa[11*20+0]= 38; |
---|
2597 | daa[11*20+1]= 593; daa[11*20+2]= 123; daa[11*20+3]= 20; daa[11*20+4]= 16; |
---|
2598 | daa[11*20+5]= 309; daa[11*20+6]= 141; daa[11*20+7]= 30; daa[11*20+8]= 76; |
---|
2599 | daa[11*20+9]= 34; daa[11*20+10]= 23; daa[12*20+0]= 235; daa[12*20+1]= 57; |
---|
2600 | daa[12*20+2]= 1; daa[12*20+3]= 1; daa[12*20+4]= 156; daa[12*20+5]= 158; |
---|
2601 | daa[12*20+6]= 1; daa[12*20+7]= 37; daa[12*20+8]= 116; daa[12*20+9]= 375; |
---|
2602 | daa[12*20+10]= 581; daa[12*20+11]= 134; daa[13*20+0]= 1; daa[13*20+1]= 7; |
---|
2603 | daa[13*20+2]= 49; daa[13*20+3]= 1; daa[13*20+4]= 70; daa[13*20+5]= 1; |
---|
2604 | daa[13*20+6]= 1; daa[13*20+7]= 7; daa[13*20+8]= 141; daa[13*20+9]= 64; |
---|
2605 | daa[13*20+10]= 179; daa[13*20+11]= 14; daa[13*20+12]= 247; daa[14*20+0]= 97; |
---|
2606 | daa[14*20+1]= 24; daa[14*20+2]= 33; daa[14*20+3]= 55; daa[14*20+4]= 1; |
---|
2607 | daa[14*20+5]= 68; daa[14*20+6]= 52; daa[14*20+7]= 17; daa[14*20+8]= 44; |
---|
2608 | daa[14*20+9]= 10; daa[14*20+10]= 22; daa[14*20+11]= 43; daa[14*20+12]= 1; |
---|
2609 | daa[14*20+13]= 11; daa[15*20+0]= 460; daa[15*20+1]= 102; daa[15*20+2]= 294; |
---|
2610 | daa[15*20+3]= 136; daa[15*20+4]= 75; daa[15*20+5]= 225; daa[15*20+6]= 95; |
---|
2611 | daa[15*20+7]= 152; daa[15*20+8]= 183; daa[15*20+9]= 4; daa[15*20+10]= 24; |
---|
2612 | daa[15*20+11]= 77; daa[15*20+12]= 1; daa[15*20+13]= 20; daa[15*20+14]= 134; |
---|
2613 | daa[16*20+0]= 258; daa[16*20+1]= 64; daa[16*20+2]= 148; daa[16*20+3]= 55; |
---|
2614 | daa[16*20+4]= 117; daa[16*20+5]= 146; daa[16*20+6]= 82; daa[16*20+7]= 7; |
---|
2615 | daa[16*20+8]= 49; daa[16*20+9]= 72; daa[16*20+10]= 25; daa[16*20+11]= 110; |
---|
2616 | daa[16*20+12]= 131; daa[16*20+13]= 69; daa[16*20+14]= 62; daa[16*20+15]= 671; |
---|
2617 | daa[17*20+0]= 5; daa[17*20+1]= 13; daa[17*20+2]= 16; daa[17*20+3]= 1; |
---|
2618 | daa[17*20+4]= 55; daa[17*20+5]= 10; daa[17*20+6]= 17; daa[17*20+7]= 23; |
---|
2619 | daa[17*20+8]= 48; daa[17*20+9]= 39; daa[17*20+10]= 47; daa[17*20+11]= 6; |
---|
2620 | daa[17*20+12]= 111; daa[17*20+13]= 182; daa[17*20+14]= 9; daa[17*20+15]= 14; |
---|
2621 | daa[17*20+16]= 1; daa[18*20+0]= 55; daa[18*20+1]= 47; daa[18*20+2]= 28; |
---|
2622 | daa[18*20+3]= 1; daa[18*20+4]= 131; daa[18*20+5]= 45; daa[18*20+6]= 1; |
---|
2623 | daa[18*20+7]= 21; daa[18*20+8]= 307; daa[18*20+9]= 26; daa[18*20+10]= 64; |
---|
2624 | daa[18*20+11]= 1; daa[18*20+12]= 74; daa[18*20+13]= 1017; daa[18*20+14]= 14; |
---|
2625 | daa[18*20+15]= 31; daa[18*20+16]= 34; daa[18*20+17]= 176; daa[19*20+0]= 197; |
---|
2626 | daa[19*20+1]= 29; daa[19*20+2]= 21; daa[19*20+3]= 6; daa[19*20+4]= 295; |
---|
2627 | daa[19*20+5]= 36; daa[19*20+6]= 35; daa[19*20+7]= 3; daa[19*20+8]= 1; |
---|
2628 | daa[19*20+9]= 1048; daa[19*20+10]= 112; daa[19*20+11]= 19; daa[19*20+12]= 236; |
---|
2629 | daa[19*20+13]= 92; daa[19*20+14]= 25; daa[19*20+15]= 39; daa[19*20+16]= 196; |
---|
2630 | daa[19*20+17]= 26; daa[19*20+18]= 59; |
---|
2631 | |
---|
2632 | for (i=0; i<naa; i++) for (j=0; j<i; j++) daa[j*naa+i] = daa[i*naa+j]; |
---|
2633 | |
---|
2634 | pi[0]= 0.0646; pi[1]= 0.0453; pi[2]= 0.0376; pi[3]= 0.0422; |
---|
2635 | pi[4]= 0.0114; pi[5]= 0.0606; pi[6]= 0.0607; pi[7]= 0.0639; |
---|
2636 | pi[8]= 0.0273; pi[9]= 0.0679; pi[10]= 0.1018; pi[11]= 0.0751; |
---|
2637 | pi[12]= 0.015; pi[13]= 0.0287; pi[14]= 0.0681; pi[15]= 0.0488; |
---|
2638 | pi[16]= 0.0622; pi[17]= 0.0251; pi[18]= 0.0318; pi[19]= 0.0619; |
---|
2639 | return 1; |
---|
2640 | } |
---|
2641 | |
---|
2642 | ////////////////////////////////////////////////////////////// |
---|
2643 | ////////////////////////////////////////////////////////////// |
---|
2644 | |
---|
2645 | |
---|
2646 | int Init_Qmat_CpREV(phydbl *daa, phydbl *pi) |
---|
2647 | { |
---|
2648 | /* |
---|
2649 | This model has been 'translated' from John Huelsenbeck and Fredrik Ronquist |
---|
2650 | MrBayes program into PHYML format by Federico Abascal. Many thanks to them. |
---|
2651 | */ |
---|
2652 | |
---|
2653 | /* |
---|
2654 | Adachi, J., P. Waddell, W. Martin, and M. Hasegawa. 2000. Plastid |
---|
2655 | genome phyLOGeny and a model of amino acid substitution for proteins |
---|
2656 | encoded by chloroplast DNA. Journal of Molecular Evolution |
---|
2657 | 50:348-358. |
---|
2658 | */ |
---|
2659 | |
---|
2660 | int i,j,naa; |
---|
2661 | naa = 20; |
---|
2662 | |
---|
2663 | daa[1*20+0]= 105; daa[2*20+0]= 227; daa[2*20+1]= 357; daa[3*20+0]= 175; |
---|
2664 | daa[3*20+1]= 43; daa[3*20+2]= 4435; daa[4*20+0]= 669; daa[4*20+1]= 823; |
---|
2665 | daa[4*20+2]= 538; daa[4*20+3]= 10; daa[5*20+0]= 157; daa[5*20+1]= 1745; |
---|
2666 | daa[5*20+2]= 768; daa[5*20+3]= 400; daa[5*20+4]= 10; daa[6*20+0]= 499; |
---|
2667 | daa[6*20+1]= 152; daa[6*20+2]= 1055; daa[6*20+3]= 3691; daa[6*20+4]= 10; |
---|
2668 | daa[6*20+5]= 3122; daa[7*20+0]= 665; daa[7*20+1]= 243; daa[7*20+2]= 653; |
---|
2669 | daa[7*20+3]= 431; daa[7*20+4]= 303; daa[7*20+5]= 133; daa[7*20+6]= 379; |
---|
2670 | daa[8*20+0]= 66; daa[8*20+1]= 715; daa[8*20+2]= 1405; daa[8*20+3]= 331; |
---|
2671 | daa[8*20+4]= 441; daa[8*20+5]= 1269; daa[8*20+6]= 162; daa[8*20+7]= 19; |
---|
2672 | daa[9*20+0]= 145; daa[9*20+1]= 136; daa[9*20+2]= 168; daa[9*20+3]= 10; |
---|
2673 | daa[9*20+4]= 280; daa[9*20+5]= 92; daa[9*20+6]= 148; daa[9*20+7]= 40; |
---|
2674 | daa[9*20+8]= 29; daa[10*20+0]= 197; daa[10*20+1]= 203; daa[10*20+2]= 113; |
---|
2675 | daa[10*20+3]= 10; daa[10*20+4]= 396; daa[10*20+5]= 286; daa[10*20+6]= 82; |
---|
2676 | daa[10*20+7]= 20; daa[10*20+8]= 66; daa[10*20+9]= 1745; daa[11*20+0]= 236; |
---|
2677 | daa[11*20+1]= 4482; daa[11*20+2]= 2430; daa[11*20+3]= 412; daa[11*20+4]= 48; |
---|
2678 | daa[11*20+5]= 3313; daa[11*20+6]= 2629; daa[11*20+7]= 263; daa[11*20+8]= 305; |
---|
2679 | daa[11*20+9]= 345; daa[11*20+10]= 218; daa[12*20+0]= 185; daa[12*20+1]= 125; |
---|
2680 | daa[12*20+2]= 61; daa[12*20+3]= 47; daa[12*20+4]= 159; daa[12*20+5]= 202; |
---|
2681 | daa[12*20+6]= 113; daa[12*20+7]= 21; daa[12*20+8]= 10; daa[12*20+9]= 1772; |
---|
2682 | daa[12*20+10]= 1351; daa[12*20+11]= 193; daa[13*20+0]= 68; daa[13*20+1]= 53; |
---|
2683 | daa[13*20+2]= 97; daa[13*20+3]= 22; daa[13*20+4]= 726; daa[13*20+5]= 10; |
---|
2684 | daa[13*20+6]= 145; daa[13*20+7]= 25; daa[13*20+8]= 127; daa[13*20+9]= 454; |
---|
2685 | daa[13*20+10]= 1268; daa[13*20+11]= 72; daa[13*20+12]= 327; daa[14*20+0]= 490; |
---|
2686 | daa[14*20+1]= 87; daa[14*20+2]= 173; daa[14*20+3]= 170; daa[14*20+4]= 285; |
---|
2687 | daa[14*20+5]= 323; daa[14*20+6]= 185; daa[14*20+7]= 28; daa[14*20+8]= 152; |
---|
2688 | daa[14*20+9]= 117; daa[14*20+10]= 219; daa[14*20+11]= 302; daa[14*20+12]= 100; |
---|
2689 | daa[14*20+13]= 43; daa[15*20+0]= 2440; daa[15*20+1]= 385; daa[15*20+2]= 2085; |
---|
2690 | daa[15*20+3]= 590; daa[15*20+4]= 2331; daa[15*20+5]= 396; daa[15*20+6]= 568; |
---|
2691 | daa[15*20+7]= 691; daa[15*20+8]= 303; daa[15*20+9]= 216; daa[15*20+10]= 516; |
---|
2692 | daa[15*20+11]= 868; daa[15*20+12]= 93; daa[15*20+13]= 487; daa[15*20+14]= 1202; |
---|
2693 | daa[16*20+0]= 1340; daa[16*20+1]= 314; daa[16*20+2]= 1393; daa[16*20+3]= 266; |
---|
2694 | daa[16*20+4]= 576; daa[16*20+5]= 241; daa[16*20+6]= 369; daa[16*20+7]= 92; |
---|
2695 | daa[16*20+8]= 32; daa[16*20+9]= 1040; daa[16*20+10]= 156; daa[16*20+11]= 918; |
---|
2696 | daa[16*20+12]= 645; daa[16*20+13]= 148; daa[16*20+14]= 260; daa[16*20+15]= 2151; |
---|
2697 | daa[17*20+0]= 14; daa[17*20+1]= 230; daa[17*20+2]= 40; daa[17*20+3]= 18; |
---|
2698 | daa[17*20+4]= 435; daa[17*20+5]= 53; daa[17*20+6]= 63; daa[17*20+7]= 82; |
---|
2699 | daa[17*20+8]= 69; daa[17*20+9]= 42; daa[17*20+10]= 159; daa[17*20+11]= 10; |
---|
2700 | daa[17*20+12]= 86; daa[17*20+13]= 468; daa[17*20+14]= 49; daa[17*20+15]= 73; |
---|
2701 | daa[17*20+16]= 29; daa[18*20+0]= 56; daa[18*20+1]= 323; daa[18*20+2]= 754; |
---|
2702 | daa[18*20+3]= 281; daa[18*20+4]= 1466; daa[18*20+5]= 391; daa[18*20+6]= 142; |
---|
2703 | daa[18*20+7]= 10; daa[18*20+8]= 1971; daa[18*20+9]= 89; daa[18*20+10]= 189; |
---|
2704 | daa[18*20+11]= 247; daa[18*20+12]= 215; daa[18*20+13]= 2370; daa[18*20+14]= 97; |
---|
2705 | daa[18*20+15]= 522; daa[18*20+16]= 71; daa[18*20+17]= 346; daa[19*20+0]= 968; |
---|
2706 | daa[19*20+1]= 92; daa[19*20+2]= 83; daa[19*20+3]= 75; daa[19*20+4]= 592; |
---|
2707 | daa[19*20+5]= 54; daa[19*20+6]= 200; daa[19*20+7]= 91; daa[19*20+8]= 25; |
---|
2708 | daa[19*20+9]= 4797; daa[19*20+10]= 865; daa[19*20+11]= 249; daa[19*20+12]= 475; |
---|
2709 | daa[19*20+13]= 317; daa[19*20+14]= 122; daa[19*20+15]= 167; daa[19*20+16]= 760; |
---|
2710 | daa[19*20+17]= 10; daa[19*20+18]= 119; |
---|
2711 | |
---|
2712 | for (i=0; i<naa; i++) for (j=0; j<i; j++) daa[j*naa+i] = daa[i*naa+j]; |
---|
2713 | |
---|
2714 | pi[0]= 0.076; pi[1]= 0.062; pi[2]= 0.041; pi[3]= 0.037; |
---|
2715 | pi[4]= 0.009; pi[5]= 0.038; pi[6]= 0.049; pi[7]= 0.084; |
---|
2716 | pi[8]= 0.025; pi[9]= 0.081; pi[10]= 0.101; pi[11]= 0.05; |
---|
2717 | pi[12]= 0.022; pi[13]= 0.051; pi[14]= 0.043; pi[15]= 0.062; |
---|
2718 | pi[16]= 0.054; pi[17]= 0.018; pi[18]= 0.031; pi[19]= 0.066; |
---|
2719 | return 1; |
---|
2720 | } |
---|
2721 | |
---|
2722 | ////////////////////////////////////////////////////////////// |
---|
2723 | ////////////////////////////////////////////////////////////// |
---|
2724 | |
---|
2725 | |
---|
2726 | int Init_Qmat_VT(phydbl *daa, phydbl *pi) |
---|
2727 | { |
---|
2728 | /* |
---|
2729 | This model has been 'translated' from John Huelsenbeck and Fredrik Ronquist |
---|
2730 | MrBayes program into PHYML format by Federico Abascal. Many thanks to them. |
---|
2731 | */ |
---|
2732 | |
---|
2733 | /* |
---|
2734 | Muller, T., and M. Vingron. 2000. Modeling amino acid replacement. |
---|
2735 | Journal of Computational Biology 7:761-776. |
---|
2736 | */ |
---|
2737 | |
---|
2738 | int i,j,naa; |
---|
2739 | naa = 20; |
---|
2740 | |
---|
2741 | /* daa[1*20+0]= 0.233108; daa[2*20+0]= 0.199097; daa[2*20+1]= 0.210797; daa[3*20+0]= 0.265145; */ |
---|
2742 | /* daa[3*20+1]= 0.105191; daa[3*20+2]= 0.883422; daa[4*20+0]= 0.227333; daa[4*20+1]= 0.031726; */ |
---|
2743 | /* daa[4*20+2]= 0.027495; daa[4*20+3]= 0.010313; daa[5*20+0]= 0.310084; daa[5*20+1]= 0.493763; */ |
---|
2744 | /* daa[5*20+2]= 0.2757; daa[5*20+3]= 0.205842; daa[5*20+4]= 0.004315; daa[6*20+0]= 0.567957; */ |
---|
2745 | /* daa[6*20+1]= 0.25524; daa[6*20+2]= 0.270417; daa[6*20+3]= 1.599461; daa[6*20+4]= 0.005321; */ |
---|
2746 | /* daa[6*20+5]= 0.960976; daa[7*20+0]= 0.876213; daa[7*20+1]= 0.156945; daa[7*20+2]= 0.362028; */ |
---|
2747 | /* daa[7*20+3]= 0.311718; daa[7*20+4]= 0.050876; daa[7*20+5]= 0.12866; daa[7*20+6]= 0.250447; */ |
---|
2748 | /* daa[8*20+0]= 0.078692; daa[8*20+1]= 0.213164; daa[8*20+2]= 0.290006; daa[8*20+3]= 0.134252; */ |
---|
2749 | /* daa[8*20+4]= 0.016695; daa[8*20+5]= 0.315521; daa[8*20+6]= 0.104458; daa[8*20+7]= 0.058131; */ |
---|
2750 | /* daa[9*20+0]= 0.222972; daa[9*20+1]= 0.08151; daa[9*20+2]= 0.087225; daa[9*20+3]= 0.01172; */ |
---|
2751 | /* daa[9*20+4]= 0.046398; daa[9*20+5]= 0.054602; daa[9*20+6]= 0.046589; daa[9*20+7]= 0.051089; */ |
---|
2752 | /* daa[9*20+8]= 0.020039; daa[10*20+0]= 0.42463; daa[10*20+1]= 0.192364; daa[10*20+2]= 0.069245; */ |
---|
2753 | /* daa[10*20+3]= 0.060863; daa[10*20+4]= 0.091709; daa[10*20+5]= 0.24353; daa[10*20+6]= 0.151924; */ |
---|
2754 | /* daa[10*20+7]= 0.087056; daa[10*20+8]= 0.103552; daa[10*20+9]= 2.08989; daa[11*20+0]= 0.393245; */ |
---|
2755 | /* daa[11*20+1]= 1.755838; daa[11*20+2]= 0.50306; daa[11*20+3]= 0.261101; daa[11*20+4]= 0.004067; */ |
---|
2756 | /* daa[11*20+5]= 0.738208; daa[11*20+6]= 0.88863; daa[11*20+7]= 0.193243; daa[11*20+8]= 0.153323; */ |
---|
2757 | /* daa[11*20+9]= 0.093181; daa[11*20+10]= 0.201204; daa[12*20+0]= 0.21155; daa[12*20+1]= 0.08793; */ |
---|
2758 | /* daa[12*20+2]= 0.05742; daa[12*20+3]= 0.012182; daa[12*20+4]= 0.02369; daa[12*20+5]= 0.120801; */ |
---|
2759 | /* daa[12*20+6]= 0.058643; daa[12*20+7]= 0.04656; daa[12*20+8]= 0.021157; daa[12*20+9]= 0.493845; */ |
---|
2760 | /* daa[12*20+10]= 1.105667; daa[12*20+11]= 0.096474; daa[13*20+0]= 0.116646; daa[13*20+1]= 0.042569; */ |
---|
2761 | /* daa[13*20+2]= 0.039769; daa[13*20+3]= 0.016577; daa[13*20+4]= 0.051127; daa[13*20+5]= 0.026235; */ |
---|
2762 | /* daa[13*20+6]= 0.028168; daa[13*20+7]= 0.050143; daa[13*20+8]= 0.079807; daa[13*20+9]= 0.32102; */ |
---|
2763 | /* daa[13*20+10]= 0.946499; daa[13*20+11]= 0.038261; daa[13*20+12]= 0.173052; daa[14*20+0]= 0.399143; */ |
---|
2764 | /* daa[14*20+1]= 0.12848; daa[14*20+2]= 0.083956; daa[14*20+3]= 0.160063; daa[14*20+4]= 0.011137; */ |
---|
2765 | /* daa[14*20+5]= 0.15657; daa[14*20+6]= 0.205134; daa[14*20+7]= 0.124492; daa[14*20+8]= 0.078892; */ |
---|
2766 | /* daa[14*20+9]= 0.054797; daa[14*20+10]= 0.169784; daa[14*20+11]= 0.212302; daa[14*20+12]= 0.010363; */ |
---|
2767 | /* daa[14*20+13]= 0.042564; daa[15*20+0]= 1.817198; daa[15*20+1]= 0.292327; daa[15*20+2]= 0.847049; */ |
---|
2768 | /* daa[15*20+3]= 0.461519; daa[15*20+4]= 0.17527; daa[15*20+5]= 0.358017; daa[15*20+6]= 0.406035; */ |
---|
2769 | /* daa[15*20+7]= 0.612843; daa[15*20+8]= 0.167406; daa[15*20+9]= 0.081567; daa[15*20+10]= 0.214977; */ |
---|
2770 | /* daa[15*20+11]= 0.400072; daa[15*20+12]= 0.090515; daa[15*20+13]= 0.138119; daa[15*20+14]= 0.430431; */ |
---|
2771 | /* daa[16*20+0]= 0.877877; daa[16*20+1]= 0.204109; daa[16*20+2]= 0.471268; daa[16*20+3]= 0.178197; */ |
---|
2772 | /* daa[16*20+4]= 0.079511; daa[16*20+5]= 0.248992; daa[16*20+6]= 0.321028; daa[16*20+7]= 0.136266; */ |
---|
2773 | /* daa[16*20+8]= 0.101117; daa[16*20+9]= 0.376588; daa[16*20+10]= 0.243227; daa[16*20+11]= 0.446646; */ |
---|
2774 | /* daa[16*20+12]= 0.184609; daa[16*20+13]= 0.08587; daa[16*20+14]= 0.207143; daa[16*20+15]= 1.767766; */ |
---|
2775 | /* daa[17*20+0]= 0.030309; daa[17*20+1]= 0.046417; daa[17*20+2]= 0.010459; daa[17*20+3]= 0.011393; */ |
---|
2776 | /* daa[17*20+4]= 0.007732; daa[17*20+5]= 0.021248; daa[17*20+6]= 0.018844; daa[17*20+7]= 0.02399; */ |
---|
2777 | /* daa[17*20+8]= 0.020009; daa[17*20+9]= 0.034954; daa[17*20+10]= 0.083439; daa[17*20+11]= 0.023321; */ |
---|
2778 | /* daa[17*20+12]= 0.022019; daa[17*20+13]= 0.12805; daa[17*20+14]= 0.014584; daa[17*20+15]= 0.035933; */ |
---|
2779 | /* daa[17*20+16]= 0.020437; daa[18*20+0]= 0.087061; daa[18*20+1]= 0.09701; daa[18*20+2]= 0.093268; */ |
---|
2780 | /* daa[18*20+3]= 0.051664; daa[18*20+4]= 0.042823; daa[18*20+5]= 0.062544; daa[18*20+6]= 0.0552; */ |
---|
2781 | /* daa[18*20+7]= 0.037568; daa[18*20+8]= 0.286027; daa[18*20+9]= 0.086237; daa[18*20+10]= 0.189842; */ |
---|
2782 | /* daa[18*20+11]= 0.068689; daa[18*20+12]= 0.073223; daa[18*20+13]= 0.898663; daa[18*20+14]= 0.032043; */ |
---|
2783 | /* daa[18*20+15]= 0.121979; daa[18*20+16]= 0.094617; daa[18*20+17]= 0.124746; daa[19*20+0]= 1.230985; */ |
---|
2784 | /* daa[19*20+1]= 0.113146; daa[19*20+2]= 0.049824; daa[19*20+3]= 0.048769; daa[19*20+4]= 0.163831; */ |
---|
2785 | /* daa[19*20+5]= 0.112027; daa[19*20+6]= 0.205868; daa[19*20+7]= 0.082579; daa[19*20+8]= 0.068575; */ |
---|
2786 | /* daa[19*20+9]= 3.65443; daa[19*20+10]= 1.337571; daa[19*20+11]= 0.144587; daa[19*20+12]= 0.307309; */ |
---|
2787 | /* daa[19*20+13]= 0.247329; daa[19*20+14]= 0.129315; daa[19*20+15]= 0.1277; daa[19*20+16]= 0.740372; */ |
---|
2788 | /* daa[19*20+17]= 0.022134; daa[19*20+18]= 0.125733; */ |
---|
2789 | |
---|
2790 | /* for (i=0; i<naa; i++) for (j=0; j<i; j++) daa[j*naa+i] = daa[i*naa+j]; */ |
---|
2791 | |
---|
2792 | /* pi[0]= 0.078837; pi[1]= 0.051238; pi[2]= 0.042313; pi[3]= 0.053066; */ |
---|
2793 | /* pi[4]= 0.015175; pi[5]= 0.036713; pi[6]= 0.061924; pi[7]= 0.070852; */ |
---|
2794 | /* pi[8]= 0.023082; pi[9]= 0.062056; pi[10]= 0.096371; pi[11]= 0.057324; */ |
---|
2795 | /* pi[12]= 0.023771; pi[13]= 0.043296; pi[14]= 0.043911; pi[15]= 0.063403; */ |
---|
2796 | /* pi[16]= 0.055897; pi[17]= 0.013272; pi[18]= 0.034399; pi[19]= 0.073101; */ |
---|
2797 | /* return 1; */ |
---|
2798 | |
---|
2799 | /* |
---|
2800 | This model has been 'translated' from TREE-PUZZLE. Many thanks to Heiko A. Schmidt, |
---|
2801 | Korbinian Strimmer, and Arndt von Haeseler. |
---|
2802 | */ |
---|
2803 | |
---|
2804 | /* |
---|
2805 | Muller, T., and M. Vingron. 2000. Modeling amino acid replacement. |
---|
2806 | Journal of Computational Biology 7:761-776. |
---|
2807 | */ |
---|
2808 | |
---|
2809 | daa[ 0*20+ 1] = 1.2412691067876198; daa[ 0*20+ 2] = 1.2184237953498958; |
---|
2810 | daa[ 0*20+ 3] = 1.3759368509441177; daa[ 0*20+ 4] = 2.4731223087544874; |
---|
2811 | daa[ 0*20+ 5] = 2.2155167805137470; daa[ 0*20+ 6] = 2.3379911207495061; |
---|
2812 | daa[ 0*20+ 7] = 3.3386555146457697; daa[ 0*20+ 8] = 0.9615841926910841; |
---|
2813 | daa[ 0*20+ 9] = 0.8908203061925510; daa[ 0*20+10] = 1.0778497408764076; |
---|
2814 | daa[ 0*20+11] = 1.4932055816372476; daa[ 0*20+12] = 1.9006455961717605; |
---|
2815 | daa[ 0*20+13] = 0.6883439026872615; daa[ 0*20+14] = 2.7355620089953550; |
---|
2816 | daa[ 0*20+15] = 6.4208961859142883; daa[ 0*20+16] = 5.2892514169776437; |
---|
2817 | daa[ 0*20+17] = 0.5488578478106930; daa[ 0*20+18] = 0.5411769916657778; |
---|
2818 | daa[ 0*20+19] = 4.6501894691803214; |
---|
2819 | |
---|
2820 | daa[ 1*20+ 2] = 1.5720770753326880; daa[ 1*20+ 3] = 0.7550654439001206; |
---|
2821 | daa[ 1*20+ 4] = 1.4414262567428417; daa[ 1*20+ 5] = 5.5120819705248678; |
---|
2822 | daa[ 1*20+ 6] = 1.3542404860613146; daa[ 1*20+ 7] = 1.3121700301622004; |
---|
2823 | daa[ 1*20+ 8] = 4.9238668283945266; daa[ 1*20+ 9] = 0.4323005487925516; |
---|
2824 | daa[ 1*20+10] = 0.8386701149158265; daa[ 1*20+11] = 10.0173308173660018; |
---|
2825 | daa[ 1*20+12] = 1.2488638689609959; daa[ 1*20+13] = 0.4224945197276290; |
---|
2826 | daa[ 1*20+14] = 1.3091837782420783; daa[ 1*20+15] = 1.9202994262316166; |
---|
2827 | daa[ 1*20+16] = 1.3363401740560601; daa[ 1*20+17] = 1.5170142153962840; |
---|
2828 | daa[ 1*20+18] = 0.8912614404565405; daa[ 1*20+19] = 0.7807017855806767; |
---|
2829 | |
---|
2830 | daa[ 2*20+ 3] = 7.8584219153689405; daa[ 2*20+ 4] = 0.9784679122774127; |
---|
2831 | daa[ 2*20+ 5] = 3.0143201670924822; daa[ 2*20+ 6] = 2.0093434778398112; |
---|
2832 | daa[ 2*20+ 7] = 2.4117632898861809; daa[ 2*20+ 8] = 6.1974384977884114; |
---|
2833 | daa[ 2*20+ 9] = 0.9179291175331520; daa[ 2*20+10] = 0.4098311270816011; |
---|
2834 | daa[ 2*20+11] = 4.4034547578962568; daa[ 2*20+12] = 0.9378803706165143; |
---|
2835 | daa[ 2*20+13] = 0.5044944273324311; daa[ 2*20+14] = 0.7103720531974738; |
---|
2836 | daa[ 2*20+15] = 6.1234512396801764; daa[ 2*20+16] = 3.8852506105922231; |
---|
2837 | daa[ 2*20+17] = 0.1808525752605976; daa[ 2*20+18] = 1.0894926581511342; |
---|
2838 | daa[ 2*20+19] = 0.4586061981719967; |
---|
2839 | |
---|
2840 | daa[ 3*20+ 4] = 0.2272488448121475; daa[ 3*20+ 5] = 1.6562495638176040; |
---|
2841 | daa[ 3*20+ 6] = 9.6883451875685065; daa[ 3*20+ 7] = 1.9142079025990228; |
---|
2842 | daa[ 3*20+ 8] = 2.1459640610133781; daa[ 3*20+ 9] = 0.2161660372725585; |
---|
2843 | daa[ 3*20+10] = 0.3574207468998517; daa[ 3*20+11] = 1.4521790561663968; |
---|
2844 | daa[ 3*20+12] = 0.4075239926000898; daa[ 3*20+13] = 0.1675129724559251; |
---|
2845 | daa[ 3*20+14] = 1.0714605979577547; daa[ 3*20+15] = 2.2161944596741829; |
---|
2846 | daa[ 3*20+16] = 1.5066839872944762; daa[ 3*20+17] = 0.2496584188151770; |
---|
2847 | daa[ 3*20+18] = 0.7447620891784513; daa[ 3*20+19] = 0.4594535241660911; |
---|
2848 | |
---|
2849 | daa[ 4*20+ 5] = 0.4587469126746136; daa[ 4*20+ 6] = 0.4519167943192672; |
---|
2850 | daa[ 4*20+ 7] = 1.1034605684472507; daa[ 4*20+ 8] = 1.5196756759380692; |
---|
2851 | daa[ 4*20+ 9] = 0.9126668032539315; daa[ 4*20+10] = 1.4081315998413697; |
---|
2852 | daa[ 4*20+11] = 0.3371091785647479; daa[ 4*20+12] = 1.2213054800811556; |
---|
2853 | daa[ 4*20+13] = 1.6953951980808002; daa[ 4*20+14] = 0.4326227078645523; |
---|
2854 | daa[ 4*20+15] = 3.6366815408744255; daa[ 4*20+16] = 1.7557065205837685; |
---|
2855 | daa[ 4*20+17] = 1.6275179891253113; daa[ 4*20+18] = 2.1579775140421025; |
---|
2856 | daa[ 4*20+19] = 2.2627456996290891; |
---|
2857 | |
---|
2858 | daa[ 5*20+ 6] = 6.8124601839937675; daa[ 5*20+ 7] = 0.8776110594765502; |
---|
2859 | daa[ 5*20+ 8] = 7.9943228564946525; daa[ 5*20+ 9] = 0.4882733432879921; |
---|
2860 | daa[ 5*20+10] = 1.3318097154194044; daa[ 5*20+11] = 6.0519085243118811; |
---|
2861 | daa[ 5*20+12] = 1.9106190827629084; daa[ 5*20+13] = 0.3573432522499545; |
---|
2862 | daa[ 5*20+14] = 2.3019177728300728; daa[ 5*20+15] = 2.3193703643237220; |
---|
2863 | daa[ 5*20+16] = 2.1576510103471440; daa[ 5*20+17] = 0.8959082681546182; |
---|
2864 | daa[ 5*20+18] = 0.9183596801412757; daa[ 5*20+19] = 0.6366932501396869; |
---|
2865 | |
---|
2866 | daa[ 6*20+ 7] = 1.3860121390169038; daa[ 6*20+ 8] = 1.6360079688522375; |
---|
2867 | daa[ 6*20+ 9] = 0.4035497929633328; daa[ 6*20+10] = 0.5610717242294755; |
---|
2868 | daa[ 6*20+11] = 4.3290086529582830; daa[ 6*20+12] = 0.7471936218068498; |
---|
2869 | daa[ 6*20+13] = 0.2317194387691585; daa[ 6*20+14] = 1.5132807416252063; |
---|
2870 | daa[ 6*20+15] = 1.8273535587773553; daa[ 6*20+16] = 1.5839981708584689; |
---|
2871 | daa[ 6*20+17] = 0.4198391148111098; daa[ 6*20+18] = 0.5818111331782764; |
---|
2872 | daa[ 6*20+19] = 0.8940572875547330; |
---|
2873 | |
---|
2874 | daa[ 7*20+ 8] = 0.8561248973045037; daa[ 7*20+ 9] = 0.2888075033037488; |
---|
2875 | daa[ 7*20+10] = 0.3578662395745526; daa[ 7*20+11] = 0.8945563662345198; |
---|
2876 | daa[ 7*20+12] = 0.5954812791740037; daa[ 7*20+13] = 0.3693722640980460; |
---|
2877 | daa[ 7*20+14] = 0.7744933618134962; daa[ 7*20+15] = 3.0637776193717610; |
---|
2878 | daa[ 7*20+16] = 0.7147489676267383; daa[ 7*20+17] = 0.9349753595598769; |
---|
2879 | daa[ 7*20+18] = 0.3374467649724478; daa[ 7*20+19] = 0.6193321034173915; |
---|
2880 | |
---|
2881 | daa[ 8*20+ 9] = 0.5787937115407940; daa[ 8*20+10] = 1.0765007949562073; |
---|
2882 | daa[ 8*20+11] = 1.8085136096039203; daa[ 8*20+12] = 1.3808291710019667; |
---|
2883 | daa[ 8*20+13] = 1.3629765501081097; daa[ 8*20+14] = 1.8370555852070649; |
---|
2884 | daa[ 8*20+15] = 1.9699895187387506; daa[ 8*20+16] = 1.6136654573285647; |
---|
2885 | daa[ 8*20+17] = 0.6301954684360302; daa[ 8*20+18] = 7.7587442309146040; |
---|
2886 | daa[ 8*20+19] = 0.5333220944030346; |
---|
2887 | |
---|
2888 | daa[ 9*20+10] = 6.0019110258426362; daa[ 9*20+11] = 0.6244297525127139; |
---|
2889 | daa[ 9*20+12] = 6.7597899772045418; daa[ 9*20+13] = 2.2864286949316077; |
---|
2890 | daa[ 9*20+14] = 0.4811402387911145; daa[ 9*20+15] = 0.6047491507504744; |
---|
2891 | daa[ 9*20+16] = 2.6344778384442731; daa[ 9*20+17] = 0.5604648274060783; |
---|
2892 | daa[ 9*20+18] = 0.8626796044156272; daa[ 9*20+19] = 14.8729334615190609; |
---|
2893 | |
---|
2894 | daa[10*20+11] = 0.5642322882556321; daa[10*20+12] = 8.0327792947421148; |
---|
2895 | daa[10*20+13] = 4.3611548063555778; daa[10*20+14] = 1.0084320519837335; |
---|
2896 | daa[10*20+15] = 0.8953754669269811; daa[10*20+16] = 1.0192004372506540; |
---|
2897 | daa[10*20+17] = 1.5183114434679339; daa[10*20+18] = 1.2452243224541324; |
---|
2898 | daa[10*20+19] = 3.5458093276667237; |
---|
2899 | |
---|
2900 | daa[11*20+12] = 1.7129670976916258; daa[11*20+13] = 0.3910559903834828; |
---|
2901 | daa[11*20+14] = 1.3918935593582853; daa[11*20+15] = 1.9776630140912268; |
---|
2902 | daa[11*20+16] = 2.5513781312660280; daa[11*20+17] = 0.5851920879490173; |
---|
2903 | daa[11*20+18] = 0.7835447533710449; daa[11*20+19] = 0.7801080335991272; |
---|
2904 | |
---|
2905 | daa[12*20+13] = 2.3201373546296349; daa[12*20+14] = 0.4953193808676289; |
---|
2906 | daa[12*20+15] = 1.0657482318076852; daa[12*20+16] = 3.3628488360462363; |
---|
2907 | daa[12*20+17] = 1.4680478689711018; daa[12*20+18] = 1.0899165770956820; |
---|
2908 | daa[12*20+19] = 4.0584577156753401; |
---|
2909 | |
---|
2910 | daa[13*20+14] = 0.3746821107962129; daa[13*20+15] = 1.1079144700606407; |
---|
2911 | daa[13*20+16] = 0.6882725908872254; daa[13*20+17] = 3.3448437239772266; |
---|
2912 | daa[13*20+18] = 10.3848523331334590; daa[13*20+19] = 1.7039730522675411; |
---|
2913 | |
---|
2914 | daa[14*20+15] = 3.5465914843628927; daa[14*20+16] = 1.9485376673137556; |
---|
2915 | daa[14*20+17] = 0.4326058001438786; daa[14*20+18] = 0.4819109019647465; |
---|
2916 | daa[14*20+19] = 0.5985498912985666; |
---|
2917 | |
---|
2918 | daa[15*20+16] = 8.8479984061248178; daa[15*20+17] = 0.6791126595939816; |
---|
2919 | daa[15*20+18] = 0.9547229305958682; daa[15*20+19] = 0.9305232113028208; |
---|
2920 | |
---|
2921 | daa[16*20+17] = 0.4514203099376473; daa[16*20+18] = 0.8564314184691215; |
---|
2922 | daa[16*20+19] = 3.4242218450865543; |
---|
2923 | |
---|
2924 | daa[17*20+18] = 4.5377235790405388; daa[17*20+19] = 0.5658969249032649; |
---|
2925 | |
---|
2926 | daa[18*20+19] = 1.0000000000000000; |
---|
2927 | |
---|
2928 | for (i=0; i<naa; i++) for (j=0; j<i; j++) daa[i*naa+j] = daa[j*naa+i]; |
---|
2929 | |
---|
2930 | pi[ 0]=0.0770764620135024 ; pi[ 1]=0.0500819370772208 ; |
---|
2931 | pi[ 2]=0.0462377395993731 ; pi[ 3]=0.0537929860758246 ; |
---|
2932 | pi[ 4]=0.0144533387583345 ; pi[ 5]=0.0408923608974345 ; |
---|
2933 | pi[ 6]=0.0633579339160905 ; pi[ 7]=0.0655672355884439 ; |
---|
2934 | pi[ 8]=0.0218802687005936 ; pi[ 9]=0.0591969699027449 ; |
---|
2935 | pi[10]=0.0976461276528445 ; pi[11]=0.0592079410822730 ; |
---|
2936 | pi[12]=0.0220695876653368 ; pi[13]=0.0413508521834260 ; |
---|
2937 | pi[14]=0.0476871596856874 ; pi[15]=0.0707295165111524 ; |
---|
2938 | pi[16]=0.0567759161524817 ; pi[17]=0.0127019797647213 ; |
---|
2939 | pi[18]=0.0323746050281867 ; pi[19]=0.0669190817443274 ; |
---|
2940 | |
---|
2941 | return 1; |
---|
2942 | } |
---|
2943 | |
---|
2944 | ////////////////////////////////////////////////////////////// |
---|
2945 | ////////////////////////////////////////////////////////////// |
---|
2946 | |
---|
2947 | |
---|
2948 | int Init_Qmat_Blosum62(phydbl *daa, phydbl *pi) |
---|
2949 | { |
---|
2950 | |
---|
2951 | /* |
---|
2952 | This model has been 'translated' from John Huelsenbeck and Fredrik Ronquist |
---|
2953 | MrBayes program into PHYML format by Federico Abascal. Many thanks to them. |
---|
2954 | */ |
---|
2955 | |
---|
2956 | /* |
---|
2957 | Henikoff, S., and J. G. Henikoff. 1992. Amino acid substitution |
---|
2958 | matrices from protein blocks. Proc. Natl. Acad. Sci., U.S.A. |
---|
2959 | 89:10915-10919. |
---|
2960 | */ |
---|
2961 | |
---|
2962 | int i,j,naa; |
---|
2963 | naa = 20; |
---|
2964 | |
---|
2965 | daa[1*20+0]= 0.735790389698; daa[2*20+0]= 0.485391055466; daa[2*20+1]= 1.297446705134; daa[3*20+0]= 0.543161820899; |
---|
2966 | daa[3*20+1]= 0.500964408555; daa[3*20+2]= 3.180100048216; daa[4*20+0]= 1.45999531047; daa[4*20+1]= 0.227826574209; |
---|
2967 | daa[4*20+2]= 0.397358949897; daa[4*20+3]= 0.240836614802; daa[5*20+0]= 1.199705704602; daa[5*20+1]= 3.020833610064; |
---|
2968 | daa[5*20+2]= 1.839216146992; daa[5*20+3]= 1.190945703396; daa[5*20+4]= 0.32980150463; daa[6*20+0]= 1.1709490428; |
---|
2969 | daa[6*20+1]= 1.36057419042; daa[6*20+2]= 1.24048850864; daa[6*20+3]= 3.761625208368; daa[6*20+4]= 0.140748891814; |
---|
2970 | daa[6*20+5]= 5.528919177928; daa[7*20+0]= 1.95588357496; daa[7*20+1]= 0.418763308518; daa[7*20+2]= 1.355872344485; |
---|
2971 | daa[7*20+3]= 0.798473248968; daa[7*20+4]= 0.418203192284; daa[7*20+5]= 0.609846305383; daa[7*20+6]= 0.423579992176; |
---|
2972 | daa[8*20+0]= 0.716241444998; daa[8*20+1]= 1.456141166336; daa[8*20+2]= 2.414501434208; daa[8*20+3]= 0.778142664022; |
---|
2973 | daa[8*20+4]= 0.354058109831; daa[8*20+5]= 2.43534113114; daa[8*20+6]= 1.626891056982; daa[8*20+7]= 0.539859124954; |
---|
2974 | daa[9*20+0]= 0.605899003687; daa[9*20+1]= 0.232036445142; daa[9*20+2]= 0.283017326278; daa[9*20+3]= 0.418555732462; |
---|
2975 | daa[9*20+4]= 0.774894022794; daa[9*20+5]= 0.236202451204; daa[9*20+6]= 0.186848046932; daa[9*20+7]= 0.189296292376; |
---|
2976 | daa[9*20+8]= 0.252718447885; daa[10*20+0]= 0.800016530518; daa[10*20+1]= 0.622711669692; daa[10*20+2]= 0.211888159615; |
---|
2977 | daa[10*20+3]= 0.218131577594; daa[10*20+4]= 0.831842640142; daa[10*20+5]= 0.580737093181; daa[10*20+6]= 0.372625175087; |
---|
2978 | daa[10*20+7]= 0.217721159236; daa[10*20+8]= 0.348072209797; daa[10*20+9]= 3.890963773304; daa[11*20+0]= 1.295201266783; |
---|
2979 | daa[11*20+1]= 5.411115141489; daa[11*20+2]= 1.593137043457; daa[11*20+3]= 1.032447924952; daa[11*20+4]= 0.285078800906; |
---|
2980 | daa[11*20+5]= 3.945277674515; daa[11*20+6]= 2.802427151679; daa[11*20+7]= 0.752042440303; daa[11*20+8]= 1.022507035889; |
---|
2981 | daa[11*20+9]= 0.406193586642; daa[11*20+10]= 0.445570274261;daa[12*20+0]= 1.253758266664; daa[12*20+1]= 0.983692987457; |
---|
2982 | daa[12*20+2]= 0.648441278787; daa[12*20+3]= 0.222621897958; daa[12*20+4]= 0.76768882348; daa[12*20+5]= 2.494896077113; |
---|
2983 | daa[12*20+6]= 0.55541539747; daa[12*20+7]= 0.459436173579; daa[12*20+8]= 0.984311525359; daa[12*20+9]= 3.364797763104; |
---|
2984 | daa[12*20+10]= 6.030559379572;daa[12*20+11]= 1.073061184332;daa[13*20+0]= 0.492964679748; daa[13*20+1]= 0.371644693209; |
---|
2985 | daa[13*20+2]= 0.354861249223; daa[13*20+3]= 0.281730694207; daa[13*20+4]= 0.441337471187; daa[13*20+5]= 0.14435695975; |
---|
2986 | daa[13*20+6]= 0.291409084165; daa[13*20+7]= 0.368166464453; daa[13*20+8]= 0.714533703928; daa[13*20+9]= 1.517359325954; |
---|
2987 | daa[13*20+10]= 2.064839703237;daa[13*20+11]= 0.266924750511;daa[13*20+12]= 1.77385516883; daa[14*20+0]= 1.173275900924; |
---|
2988 | daa[14*20+1]= 0.448133661718; daa[14*20+2]= 0.494887043702; daa[14*20+3]= 0.730628272998; daa[14*20+4]= 0.356008498769; |
---|
2989 | daa[14*20+5]= 0.858570575674; daa[14*20+6]= 0.926563934846; daa[14*20+7]= 0.504086599527; daa[14*20+8]= 0.527007339151; |
---|
2990 | daa[14*20+9]= 0.388355409206; daa[14*20+10]= 0.374555687471;daa[14*20+11]= 1.047383450722;daa[14*20+12]= 0.454123625103; |
---|
2991 | daa[14*20+13]= 0.233597909629;daa[15*20+0]= 4.325092687057; daa[15*20+1]= 1.12278310421; daa[15*20+2]= 2.904101656456; |
---|
2992 | daa[15*20+3]= 1.582754142065; daa[15*20+4]= 1.197188415094; daa[15*20+5]= 1.934870924596; daa[15*20+6]= 1.769893238937; |
---|
2993 | daa[15*20+7]= 1.509326253224; daa[15*20+8]= 1.11702976291; daa[15*20+9]= 0.35754441246; daa[15*20+10]= 0.352969184527; |
---|
2994 | daa[15*20+11]= 1.752165917819;daa[15*20+12]= 0.918723415746;daa[15*20+13]= 0.540027644824;daa[15*20+14]= 1.169129577716; |
---|
2995 | daa[16*20+0]= 1.729178019485; daa[16*20+1]= 0.914665954563; daa[16*20+2]= 1.898173634533; daa[16*20+3]= 0.934187509431; |
---|
2996 | daa[16*20+4]= 1.119831358516; daa[16*20+5]= 1.277480294596; daa[16*20+6]= 1.071097236007; daa[16*20+7]= 0.641436011405; |
---|
2997 | daa[16*20+8]= 0.585407090225; daa[16*20+9]= 1.17909119726; daa[16*20+10]= 0.915259857694;daa[16*20+11]= 1.303875200799; |
---|
2998 | daa[16*20+12]= 1.488548053722;daa[16*20+13]= 0.488206118793;daa[16*20+14]= 1.005451683149;daa[16*20+15]= 5.15155629227; |
---|
2999 | daa[17*20+0]= 0.465839367725; daa[17*20+1]= 0.426382310122; daa[17*20+2]= 0.191482046247; daa[17*20+3]= 0.145345046279; |
---|
3000 | daa[17*20+4]= 0.527664418872; daa[17*20+5]= 0.758653808642; daa[17*20+6]= 0.407635648938; daa[17*20+7]= 0.508358924638; |
---|
3001 | daa[17*20+8]= 0.30124860078; daa[17*20+9]= 0.34198578754; daa[17*20+10]= 0.6914746346; daa[17*20+11]= 0.332243040634; |
---|
3002 | daa[17*20+12]= 0.888101098152;daa[17*20+13]= 2.074324893497;daa[17*20+14]= 0.252214830027;daa[17*20+15]= 0.387925622098; |
---|
3003 | daa[17*20+16]= 0.513128126891;daa[18*20+0]= 0.718206697586; daa[18*20+1]= 0.720517441216; daa[18*20+2]= 0.538222519037; |
---|
3004 | daa[18*20+3]= 0.261422208965; daa[18*20+4]= 0.470237733696; daa[18*20+5]= 0.95898974285; daa[18*20+6]= 0.596719300346; |
---|
3005 | daa[18*20+7]= 0.308055737035; daa[18*20+8]= 4.218953969389; daa[18*20+9]= 0.674617093228; daa[18*20+10]= 0.811245856323; |
---|
3006 | daa[18*20+11]= 0.7179934869; daa[18*20+12]= 0.951682162246;daa[18*20+13]= 6.747260430801;daa[18*20+14]= 0.369405319355; |
---|
3007 | daa[18*20+15]= 0.796751520761;daa[18*20+16]= 0.801010243199;daa[18*20+17]= 4.054419006558;daa[19*20+0]= 2.187774522005; |
---|
3008 | daa[19*20+1]= 0.438388343772; daa[19*20+2]= 0.312858797993; daa[19*20+3]= 0.258129289418; daa[19*20+4]= 1.116352478606; |
---|
3009 | daa[19*20+5]= 0.530785790125; daa[19*20+6]= 0.524253846338; daa[19*20+7]= 0.25334079019; daa[19*20+8]= 0.20155597175; |
---|
3010 | daa[19*20+9]= 8.311839405458; daa[19*20+10]= 2.231405688913;daa[19*20+11]= 0.498138475304;daa[19*20+12]= 2.575850755315; |
---|
3011 | daa[19*20+13]= 0.838119610178;daa[19*20+14]= 0.496908410676;daa[19*20+15]= 0.561925457442;daa[19*20+16]= 2.253074051176; |
---|
3012 | daa[19*20+17]= 0.266508731426;daa[19*20+18]= 1; |
---|
3013 | |
---|
3014 | for (i=0; i<naa; i++) for (j=0; j<i; j++) daa[j*naa+i] = daa[i*naa+j]; |
---|
3015 | |
---|
3016 | pi[0]= 0.074; pi[1]= 0.052; pi[2]= 0.045; pi[3]= 0.054; |
---|
3017 | pi[4]= 0.025; pi[5]= 0.034; pi[6]= 0.054; pi[7]= 0.074; |
---|
3018 | pi[8]= 0.026; pi[9]= 0.068; pi[10]= 0.099; pi[11]= 0.058; |
---|
3019 | pi[12]= 0.025; pi[13]= 0.047; pi[14]= 0.039; pi[15]= 0.057; |
---|
3020 | pi[16]= 0.051; pi[17]= 0.013; pi[18]= 0.032; pi[19]= 0.073; |
---|
3021 | |
---|
3022 | return 1; |
---|
3023 | } |
---|
3024 | |
---|
3025 | ////////////////////////////////////////////////////////////// |
---|
3026 | ////////////////////////////////////////////////////////////// |
---|
3027 | |
---|
3028 | |
---|
3029 | int Init_Qmat_MtMam(phydbl *daa, phydbl *pi) |
---|
3030 | { |
---|
3031 | /* |
---|
3032 | This model has been 'translated' from Ziheng Yang's PAML program |
---|
3033 | into PHYML format by Federico Abascal. Many thanks to them. |
---|
3034 | */ |
---|
3035 | |
---|
3036 | /* |
---|
3037 | Cao, Y. et al. 1998 Conflict amongst individual mitochondrial |
---|
3038 | proteins in resolving the phyLOGeny of eutherian orders. Journal |
---|
3039 | of Molecular Evolution 15:1600-1611. |
---|
3040 | */ |
---|
3041 | |
---|
3042 | int i,j,naa; |
---|
3043 | naa = 20; |
---|
3044 | |
---|
3045 | daa[1*20+0]= 32; daa[2*20+0]= 2; daa[2*20+1]= 4; daa[3*20+0]= 11; |
---|
3046 | daa[3*20+1]= 0; daa[3*20+2]= 864; daa[4*20+0]= 0; daa[4*20+1]= 186; |
---|
3047 | daa[4*20+2]= 0; daa[4*20+3]= 0; daa[5*20+0]= 0; daa[5*20+1]= 246; |
---|
3048 | daa[5*20+2]= 8; daa[5*20+3]= 49; daa[5*20+4]= 0; daa[6*20+0]= 0; |
---|
3049 | daa[6*20+1]= 0; daa[6*20+2]= 0; daa[6*20+3]= 569; daa[6*20+4]= 0; |
---|
3050 | daa[6*20+5]= 274; daa[7*20+0]= 78; daa[7*20+1]= 18; daa[7*20+2]= 47; |
---|
3051 | daa[7*20+3]= 79; daa[7*20+4]= 0; daa[7*20+5]= 0; daa[7*20+6]= 22; |
---|
3052 | daa[8*20+0]= 8; daa[8*20+1]= 232; daa[8*20+2]= 458; daa[8*20+3]= 11; |
---|
3053 | daa[8*20+4]= 305; daa[8*20+5]= 550; daa[8*20+6]= 22; daa[8*20+7]= 0; |
---|
3054 | daa[9*20+0]= 75; daa[9*20+1]= 0; daa[9*20+2]= 19; daa[9*20+3]= 0; |
---|
3055 | daa[9*20+4]= 41; daa[9*20+5]= 0; daa[9*20+6]= 0; daa[9*20+7]= 0; |
---|
3056 | daa[9*20+8]= 0; daa[10*20+0]= 21; daa[10*20+1]= 6; daa[10*20+2]= 0; |
---|
3057 | daa[10*20+3]= 0; daa[10*20+4]= 27; daa[10*20+5]= 20; daa[10*20+6]= 0; |
---|
3058 | daa[10*20+7]= 0; daa[10*20+8]= 26; daa[10*20+9]= 232; daa[11*20+0]= 0; |
---|
3059 | daa[11*20+1]= 50; daa[11*20+2]= 408; daa[11*20+3]= 0; daa[11*20+4]= 0; |
---|
3060 | daa[11*20+5]= 242; daa[11*20+6]= 215; daa[11*20+7]= 0; daa[11*20+8]= 0; |
---|
3061 | daa[11*20+9]= 6; daa[11*20+10]= 4; daa[12*20+0]= 76; daa[12*20+1]= 0; |
---|
3062 | daa[12*20+2]= 21; daa[12*20+3]= 0; daa[12*20+4]= 0; daa[12*20+5]= 22; |
---|
3063 | daa[12*20+6]= 0; daa[12*20+7]= 0; daa[12*20+8]= 0; daa[12*20+9]= 378; |
---|
3064 | daa[12*20+10]= 609; daa[12*20+11]= 59; daa[13*20+0]= 0; daa[13*20+1]= 0; |
---|
3065 | daa[13*20+2]= 6; daa[13*20+3]= 5; daa[13*20+4]= 7; daa[13*20+5]= 0; |
---|
3066 | daa[13*20+6]= 0; daa[13*20+7]= 0; daa[13*20+8]= 0; daa[13*20+9]= 57; |
---|
3067 | daa[13*20+10]= 246; daa[13*20+11]= 0; daa[13*20+12]= 11; daa[14*20+0]= 53; |
---|
3068 | daa[14*20+1]= 9; daa[14*20+2]= 33; daa[14*20+3]= 2; daa[14*20+4]= 0; |
---|
3069 | daa[14*20+5]= 51; daa[14*20+6]= 0; daa[14*20+7]= 0; daa[14*20+8]= 53; |
---|
3070 | daa[14*20+9]= 5; daa[14*20+10]= 43; daa[14*20+11]= 18; daa[14*20+12]= 0; |
---|
3071 | daa[14*20+13]= 17; daa[15*20+0]= 342; daa[15*20+1]= 3; daa[15*20+2]= 446; |
---|
3072 | daa[15*20+3]= 16; daa[15*20+4]= 347; daa[15*20+5]= 30; daa[15*20+6]= 21; |
---|
3073 | daa[15*20+7]= 112; daa[15*20+8]= 20; daa[15*20+9]= 0; daa[15*20+10]= 74; |
---|
3074 | daa[15*20+11]= 65; daa[15*20+12]= 47; daa[15*20+13]= 90; daa[15*20+14]= 202; |
---|
3075 | daa[16*20+0]= 681; daa[16*20+1]= 0; daa[16*20+2]= 110; daa[16*20+3]= 0; |
---|
3076 | daa[16*20+4]= 114; daa[16*20+5]= 0; daa[16*20+6]= 4; daa[16*20+7]= 0; |
---|
3077 | daa[16*20+8]= 1; daa[16*20+9]= 360; daa[16*20+10]= 34; daa[16*20+11]= 50; |
---|
3078 | daa[16*20+12]= 691; daa[16*20+13]= 8; daa[16*20+14]= 78; daa[16*20+15]= 614; |
---|
3079 | daa[17*20+0]= 5; daa[17*20+1]= 16; daa[17*20+2]= 6; daa[17*20+3]= 0; |
---|
3080 | daa[17*20+4]= 65; daa[17*20+5]= 0; daa[17*20+6]= 0; daa[17*20+7]= 0; |
---|
3081 | daa[17*20+8]= 0; daa[17*20+9]= 0; daa[17*20+10]= 12; daa[17*20+11]= 0; |
---|
3082 | daa[17*20+12]= 13; daa[17*20+13]= 0; daa[17*20+14]= 7; daa[17*20+15]= 17; |
---|
3083 | daa[17*20+16]= 0; daa[18*20+0]= 0; daa[18*20+1]= 0; daa[18*20+2]= 156; |
---|
3084 | daa[18*20+3]= 0; daa[18*20+4]= 530; daa[18*20+5]= 54; daa[18*20+6]= 0; |
---|
3085 | daa[18*20+7]= 1; daa[18*20+8]= 1525;daa[18*20+9]= 16; daa[18*20+10]= 25; |
---|
3086 | daa[18*20+11]= 67; daa[18*20+12]= 0; daa[18*20+13]= 682; daa[18*20+14]= 8; |
---|
3087 | daa[18*20+15]= 107; daa[18*20+16]= 0; daa[18*20+17]= 14; daa[19*20+0]= 398; |
---|
3088 | daa[19*20+1]= 0; daa[19*20+2]= 0; daa[19*20+3]= 10; daa[19*20+4]= 0; |
---|
3089 | daa[19*20+5]= 33; daa[19*20+6]= 20; daa[19*20+7]= 5; daa[19*20+8]= 0; |
---|
3090 | daa[19*20+9]= 2220; daa[19*20+10]= 100;daa[19*20+11]= 0; daa[19*20+12]= 832; |
---|
3091 | daa[19*20+13]= 6; daa[19*20+14]= 0; daa[19*20+15]= 0; daa[19*20+16]= 237; |
---|
3092 | daa[19*20+17]= 0; daa[19*20+18]= 0; |
---|
3093 | |
---|
3094 | for (i=0; i<naa; i++) for (j=0; j<i; j++) daa[j*naa+i] = daa[i*naa+j]; |
---|
3095 | |
---|
3096 | pi[0]= 0.0692; pi[1]= 0.0184; pi[2]= 0.04; pi[3]= 0.0186; |
---|
3097 | pi[4]= 0.0065; pi[5]= 0.0238; pi[6]= 0.0236; pi[7]= 0.0557; |
---|
3098 | pi[8]= 0.0277; pi[9]= 0.0905; pi[10]=0.1675; pi[11]= 0.0221; |
---|
3099 | pi[12]=0.0561; pi[13]= 0.0611; pi[14]=0.0536; pi[15]= 0.0725; |
---|
3100 | pi[16]=0.087; pi[17]= 0.0293; pi[18]=0.034; pi[19]= 0.0428; |
---|
3101 | |
---|
3102 | return 1; |
---|
3103 | } |
---|
3104 | |
---|
3105 | ////////////////////////////////////////////////////////////// |
---|
3106 | ////////////////////////////////////////////////////////////// |
---|
3107 | |
---|
3108 | |
---|
3109 | void M4_Init_Model(m4 *m4mod, calign *data, t_mod *mod) |
---|
3110 | { |
---|
3111 | int i,j,ct; |
---|
3112 | phydbl fq; |
---|
3113 | |
---|
3114 | if(mod->io->datatype == NT) m4mod->n_o = 4; |
---|
3115 | else if(mod->io->datatype == AA) m4mod->n_o = 20; |
---|
3116 | else |
---|
3117 | { |
---|
3118 | PhyML_Printf("\n== Not implemented yet."); |
---|
3119 | PhyML_Printf("\n== Err in file %s at line %d\n",__FILE__,__LINE__); |
---|
3120 | Warn_And_Exit(""); |
---|
3121 | } |
---|
3122 | |
---|
3123 | mod->ns = m4mod->n_o * m4mod->n_h; |
---|
3124 | |
---|
3125 | For(i,m4mod->n_o) m4mod->o_fq[i] = mod->e_frq->pi->v[i]; /*! At that stage, the mod->pi vector as been initialized |
---|
3126 | under a standard non covarion type of model. Use these |
---|
3127 | frequencies as they have been set according to the |
---|
3128 | nucleotide substitution model chosen (e.g., 1/4 for JC69). !*/ |
---|
3129 | For(i,(int)(m4mod->n_h)) m4mod->multipl[i] = 1.; |
---|
3130 | |
---|
3131 | ct = 0; |
---|
3132 | For(i,m4mod->n_o-1) |
---|
3133 | { |
---|
3134 | for(j=i+1;j<m4mod->n_o;j++) |
---|
3135 | { |
---|
3136 | m4mod->o_rr[ct] = MAX(mod->r_mat->qmat->v[i*m4mod->n_o+j],1.E-5); |
---|
3137 | ct++; |
---|
3138 | } |
---|
3139 | } |
---|
3140 | |
---|
3141 | For(i,(int)(m4mod->n_h*(m4mod->n_h-1)/2)) m4mod->h_rr[i] = 1.; |
---|
3142 | fq = (phydbl)(1./m4mod->n_h); |
---|
3143 | |
---|
3144 | |
---|
3145 | if(mod->s_opt->opt_cov_delta) m4mod->delta = 1.0; |
---|
3146 | if(mod->s_opt->opt_cov_alpha) m4mod->alpha = 1.0; |
---|
3147 | For(i,m4mod->n_h) m4mod->h_fq[i] = fq; |
---|
3148 | For(i,m4mod->n_h) m4mod->h_fq_unscaled[i] = 1.0; |
---|
3149 | For(i,m4mod->n_h) m4mod->multipl[i] = (phydbl)i; |
---|
3150 | For(i,m4mod->n_h) m4mod->multipl_unscaled[i] = (phydbl)i; |
---|
3151 | |
---|
3152 | Switch_Eigen(YES,mod); |
---|
3153 | M4_Update_Qmat(m4mod,mod); |
---|
3154 | } |
---|
3155 | |
---|
3156 | ////////////////////////////////////////////////////////////// |
---|
3157 | ////////////////////////////////////////////////////////////// |
---|
3158 | |
---|
3159 | |
---|
3160 | ////////////////////////////////////////////////////////////// |
---|
3161 | ////////////////////////////////////////////////////////////// |
---|
3162 | |
---|
3163 | ////////////////////////////////////////////////////////////// |
---|
3164 | ////////////////////////////////////////////////////////////// |
---|
3165 | |
---|
3166 | ////////////////////////////////////////////////////////////// |
---|
3167 | ////////////////////////////////////////////////////////////// |
---|
3168 | |
---|
3169 | ////////////////////////////////////////////////////////////// |
---|
3170 | ////////////////////////////////////////////////////////////// |
---|