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 M4_H 16 #define M4_H 17 18 #include "spr.h" 19 #include "utilities.h" 20 #include "lk.h" 21 #include "optimiz.h" 22 #include "bionj.h" 23 #include "models.h" 24 #include "free.h" 25 #include "help.h" 26 #include "simu.h" 27 #include "eigen.h" 28 #include "pars.h" 29 #include "alrt.h" 30 #include "time.h" 31 #include "draw.h" 32 #ifdef PART 33 #include "mg.h" 34 #endif 35 36 int M4_main(int argc, char **argv); 37 void M4_Make_Complete(int n_h, int n_o, m4 *m4mod); 38 m4 *M4_Make_Light(); 39 void M4_Free_M4_Model(m4 *m4mod); 40 void M4_Init_Qmat(m4 *m4mod, calign *data, t_mod *mod); 41 void M4_Update_Qmat(m4 *m4mod, t_mod *mod); 42 void M4_Init_Model(m4 *m4mod, calign *data, t_mod *mod); 43 void M4_Init_Partial_Lk_Tips_Double(t_tree *tree); 44 void M4_Init_Partial_Lk_Tips_Int(t_tree *tree); 45 void M4_Post_Prob_H_Class_Edge_Site(t_edge *b, phydbl ****integral, phydbl *postprob, t_tree *tree); 46 phydbl ****M4_Integral_Term_On_One_Edge(t_edge *b, t_tree *tree); 47 phydbl ***M4_Compute_Proba_Hidden_States_On_Edges(t_tree *tree); 48 void M4_Free_Integral_Term_On_One_Edge(phydbl ****integral, t_tree *tree); 49 void M4_Compute_Posterior_Mean_Rates(phydbl ***post_probs, t_tree *tree); 50 void M4_Scale_Br_Len(t_tree *tree); 51 void M4_Detect_Site_Switches_Experiment(t_tree *tree); 52 m4 *M4_Copy_M4_Model(t_mod *ori_mod, m4 *ori_m4mod); 53 void M4_Posterior_Prediction_Experiment(t_tree *tree); 54 void M4_Set_M4mod_Default(m4 *m4mod); 55 phydbl **M4_Site_Branch_Classification(phydbl ***post_probs, t_tree *tree); 56 void M4_Site_Branch_Classification_Experiment(t_tree *tree); 57 58 #endif 59