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 <config.h> |
---|
14 | |
---|
15 | #ifndef MIXT_H |
---|
16 | #define MIXT_H |
---|
17 | |
---|
18 | #include "utilities.h" |
---|
19 | |
---|
20 | void MIXT_Connect_Edges_To_Next_Prev_Child_Parent(t_tree *tree); |
---|
21 | void MIXT_Connect_Nodes_To_Next_Prev_Child_Parent(t_tree *tree); |
---|
22 | void MIXT_Connect_Sprs_To_Next_Prev_Child_Parent(t_tree *tree); |
---|
23 | void MIXT_Turn_Branches_OnOff(int onoff,t_tree *tree); |
---|
24 | phydbl *MIXT_Get_Lengths_Of_This_Edge(t_edge *mixt_b, t_tree *tree); |
---|
25 | void MIXT_Set_Lengths_Of_This_Edge(phydbl *lens,t_edge *mixt_b, t_tree *tree); |
---|
26 | void MIXT_Post_Order_Lk(t_node *mixt_a,t_node *mixt_d,t_tree *mixt_tree); |
---|
27 | void MIXT_Pre_Order_Lk(t_node *mixt_a,t_node *mixt_d,t_tree *mixt_tree); |
---|
28 | phydbl MIXT_Lk(t_edge *mixt_b,t_tree *mixt_tree); |
---|
29 | void MIXT_Update_P_Lk(t_tree *mixt_tree,t_edge *mixt_b,t_node *mixt_d); |
---|
30 | void MIXT_Update_PMat_At_Given_Edge(t_edge *mixt_b,t_tree *mixt_tree); |
---|
31 | int *MIXT_Get_Number_Of_Classes_In_All_Mixtures(t_tree *mixt_tree); |
---|
32 | t_tree **MIXT_Record_All_Mixtures(t_tree *mixt_tree); |
---|
33 | void MIXT_Break_All_Mixtures(int *c_max,t_tree *mixt_tree); |
---|
34 | void MIXT_Reconnect_All_Mixtures(t_tree **tree_list,t_tree *mixt_tree); |
---|
35 | int *MIXT_Record_Has_Invariants(t_tree *mixt_tree); |
---|
36 | void MIXT_Reset_Has_Invariants(int *has_invariants,t_tree *mixt_tree); |
---|
37 | void MIXT_Check_Invar_Setup(t_tree *mixt_tree); |
---|
38 | void MIXT_Prune_Subtree(t_node *mixt_a,t_node *mixt_d,t_edge **mixt_target,t_edge **mixt_residual,t_tree *mixt_tree); |
---|
39 | void MIXT_Graft_Subtree(t_edge *mixt_target,t_node *mixt_link,t_edge *mixt_residual,t_tree *mixt_tree); |
---|
40 | void MIXT_Br_Len_Brent(phydbl prop_min, phydbl prop_max,t_edge *mixt_b, t_tree *mixt_tree); |
---|
41 | void MIXT_Check_Number_Of_Invar_Classes(t_tree *mixt_tree); |
---|
42 | void MIXT_Prepare_Tree_For_Lk(t_tree *tree); |
---|
43 | void MIXT_Check_Invar_Struct_In_Each_Partition_Elem(t_tree *mixt_tree); |
---|
44 | void MIXT_Check_RAS_Struct_In_Each_Partition_Elem(t_tree *mixt_tree); |
---|
45 | void MIXT_Br_Len_Involving_Invar(t_tree *mixt_tree); |
---|
46 | void MIXT_Br_Len_Not_Involving_Invar(t_tree *mixt_tree); |
---|
47 | phydbl MIXT_Unscale_Br_Len_Multiplier_Tree(t_tree *mixt_tree); |
---|
48 | phydbl MIXT_Rescale_Br_Len_Multiplier_Tree(t_tree *mixt_tree); |
---|
49 | void MIXT_Set_Alias_Subpatt(int onoff, t_tree *mixt_tree); |
---|
50 | phydbl Lk_Core(int state, int ambiguity_check, t_edge *b, t_tree *tree); |
---|
51 | void MIXT_Check_Single_Edge_Lens(t_tree *mixt_tree); |
---|
52 | void MIXT_Update_Eigen(t_mod *mixt_mod); |
---|
53 | int MIXT_Pars(t_edge *mixt_b, t_tree *mixt_tree); |
---|
54 | void MIXT_Set_Pars_Thresh(t_tree *mixt_tree); |
---|
55 | void MIXT_Bootstrap(char *best_tree, xml_node *root); |
---|
56 | void MIXT_Chain_All(t_tree *mixt_tree); |
---|
57 | void MIXT_Chain_String(t_string *curr, t_string *next); |
---|
58 | void MIXT_Chain_Scalar_Dbl(scalar_dbl *curr, scalar_dbl *next); |
---|
59 | void MIXT_Chain_Rmat(t_rmat *curr, t_rmat *next); |
---|
60 | void MIXT_Chain_Rmat(t_rmat *curr, t_rmat *next); |
---|
61 | void MIXT_Chain_Efrq(t_efrq *curr, t_efrq *next); |
---|
62 | void MIXT_Chain_RAS(t_ras *curr, t_ras *next); |
---|
63 | void MIXT_Chain_Eigen(eigen *curr, eigen *next); |
---|
64 | void MIXT_Chain_Vector_Dbl(vect_dbl *curr, vect_dbl *next); |
---|
65 | void MIXT_Chain_Sprs(t_tree *tree); |
---|
66 | void MIXT_Chain_Nodes(t_tree *tree); |
---|
67 | void MIXT_Chain_Edges(t_tree *tree); |
---|
68 | void MIXT_Chain_Triplets(t_tree *tree); |
---|
69 | phydbl MIXT_Get_Mean_Edge_Len(t_edge *mixt_b, t_tree *tree); |
---|
70 | phydbl MIXT_Get_Sum_Chained_Scalar_Dbl(scalar_dbl *s); |
---|
71 | phydbl MIXT_Get_Sum_Of_Probas_Across_Mixtures(phydbl r_mat_weight_sum, phydbl e_frq_weight_sum, t_tree *mixt_tree); |
---|
72 | phydbl MIXT_Rescale_Free_Rate_Tree(t_tree *mixt_tree); |
---|
73 | void MIXT_Set_Br_Len_Var(t_tree *mixt_tree); |
---|
74 | |
---|
75 | #endif |
---|