source: trunk/GDE/PHYML20130708/phyml/src/mcmc.h

Last change on this file was 10307, checked in by aboeckma, 11 years ago

added most recent version of phyml

File size: 5.9 KB
Line 
1/*
2
3PhyML:  a program that  computes maximum likelihood phylogenies from
4DNA or AA homologous sequences.
5
6Copyright (C) Stephane Guindon. Oct 2003 onward.
7
8All parts of the source except where indicated are distributed under
9the GNU public licence. See http://www.opensource.org for details.
10
11*/
12
13#include <config.h>
14
15#ifndef MCMC_H
16#define MCMC_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 "times.h"
31#include "m4.h"
32#include "draw.h"
33#include "rates.h"
34#include "stats.h"
35#include <stdlib.h>
36#include <unistd.h>
37#include <stdio.h>
38#include <signal.h>
39
40void MCMC_Lexp(t_tree *tree);
41void MCMC_Print_Param(t_mcmc *mcmc, t_tree *tree);
42t_mcmc *MCMC_Make_MCMC_Struct();
43void MCMC_Free_MCMC(t_mcmc *mcmc);
44void MCMC_Init_MCMC_Struct(char *filename, option *io,t_mcmc *mcmc);
45void MCMC(t_tree *tree);
46void MCMC_Alpha(t_tree *tree);
47void MCMC_Randomize_Branch_Lengths(t_tree *tree);
48void MCMC_Randomize_Node_Times(t_tree *tree);
49void MCMC_Randomize_Node_Times_Pre(t_node *a, t_node *d, t_tree *tree);
50void MCMC_Randomize_Lexp(t_tree *tree);
51void MCMC_Randomize_Jumps(t_tree *tree);
52void MCMC_Randomize_Alpha(t_tree *tree);
53void MCMC_One_Rate(t_node *a, t_node *d, int traversal, t_tree *tree);
54void MCMC_No_Change(t_tree *tree);
55void MCMC_Nu(t_tree *tree);
56void MCMC_Randomize_Nu(t_tree *tree);
57t_node *MCMC_Select_Random_Node_Pair(phydbl t_sup, t_tree *tree);
58void MCMC_Modify_Rates(t_tree *tree);
59void MCMC_Modify_Subtree_Rate(t_node *a, t_node *d, phydbl new_rate, t_tree *tree);
60void MCMC_Randomize_Rates(t_tree *tree);
61void MCMC_Stick_Rates(t_tree *tree);
62void MCMC_Stick_Rates_Pre(t_node *a, t_node *d, t_tree *tree);
63void MCMC_Times_Global(t_tree *tree);
64void MCMC_Times_Local(t_tree *tree);
65void MCMC_One_Time(t_node *a, t_node *d, int traversal, t_tree *tree);
66void MCMC_Rates_Global(t_tree *tree);
67void MCMC_Rates_Local(t_tree *tree);
68void MCMC_Rates_Pre(t_node *a, t_node *d, t_tree *tree);
69void MCMC_Mixing_Step(t_tree *tree);
70void MCMC_Jumps_Local(t_tree *tree);
71void MCMC_Jumps_Pre(t_node *a, t_node *d, int local, t_tree *tree);
72void MCMC_Randomize_Clock_Rate(t_tree *tree);
73void MCMC_Clock_Rate(t_tree *tree);
74void MCMC_Time_Root(t_tree *tree);
75void MCMC_Randomize_Node_Times_Bottom_Up(t_node *a, t_node *d, t_tree *tree);
76void MCMC_Randomize_Node_Times_Top_Down(t_node *a, t_node *d, t_tree *tree);
77void MCMC_Randomize_Rates_Pre(t_node *a, t_node *d, t_tree *tree);
78void MCMC_Print_Means(t_mcmc *mcmc, t_tree *tree);
79void MCMC_Print_Last(t_mcmc *mcmc, t_tree *tree);
80void MCMC_Close_MCMC(t_mcmc *mcmc);
81void MCMC_Rates_Global(t_tree *tree);
82void MCMC_Omega(t_tree *tree);
83void MCMC_Adjust_Tuning_Parameter(int move, t_mcmc *mcmc);
84void MCMC_Copy_MCMC_Struct(t_mcmc *ori, t_mcmc *cpy, char *filename);
85void MCMC_Randomize_Node_Times_Bottom_Up(t_node *a, t_node *d, t_tree *tree);
86void MCMC_One_Length(t_edge *b,  t_tree *tree);
87void MCMC_Br_Lens(t_tree *tree);
88void MCMC_Br_Lens_Pre(t_node *a, t_node *d, t_edge *b, t_tree *tree);
89void MCMC_Tree_Height(t_tree *tree);
90void MCMC_Subtree_Height(t_tree *tree);
91void MCMC_Swing(t_tree *tree);
92void MCMC_Single_Param_Generic(phydbl *val, 
93                               phydbl lim_inf, 
94                               phydbl lim_sup, 
95                               int move_num,
96                               phydbl *lnPrior,
97                               phydbl *lnLike,
98                               phydbl (*prior_func)(t_edge *,t_tree *,supert_tree *), 
99                               phydbl (*like_func)(t_edge *,t_tree *,supert_tree *),
100                               int move_type, int _log,
101                               t_edge *branch, t_tree *tree, supert_tree *stree);
102void MCMC_Scale_Br_Lens(t_tree *tree);
103void MCMC_Update_Mean_Br_Len(t_tree *tree);
104void MCMC_Update_Cov_Br_Len(t_tree *tree);
105void MCMC_Sim_Rate(t_node *a, t_node *d, t_tree *tree);
106void Fill_All_Param(t_mcmc *mcmc, t_rate *rate, t_tree *tree);
107int Get_Param_Num(t_mcmc *mcmc, phydbl *param);
108void MCMC_Complete_MCMC(t_mcmc *mcmc, t_tree *tree);
109void MCMC_Sample_Joint_Rates_Prior(t_tree *tree);
110void MCMC_Sample_Joint_Rates_Posterior(t_tree *tree);
111void MCMC_Pair_Rates_Constraint(t_node *a, t_node *d, int random, int traversal, t_tree *tree);
112void MCMC_Times_And_Rates(t_node *a, t_node *d, int random, int traversal, t_tree *tree);
113void MCMC_Tree_Rates(t_tree *tree);
114void MCMC_Pause(t_mcmc *mcmc);
115void MCMC_Print_Param_Stdin(t_mcmc *mcmc, t_tree *tree);
116void MCMC_Subtree_Rates(t_tree *tree);
117void MCMC_Get_Acc_Rates(t_mcmc *mcmc);
118void MCMC_Update_Effective_Sample_Size(int move_num, t_mcmc *mcmc, t_tree *tree);
119void MCMC_Initialize_Param_Val(t_mcmc *mcmc, t_tree *tree);
120void MCMC_Terminate();
121void MCMC_Copy_To_New_Param_Val(t_mcmc *mcmc, t_tree *tree);
122void MCMC_Randomize_Node_Rates(t_tree *tree);
123void MCMC_One_Node_Rate(t_node *a, t_node *d, int traversal, t_tree *tree);
124void MCMC_Tree_Rates_Bis(t_tree *tree);
125void MCMC_Slice_One_Rate(t_node *a, t_node *d, int traversal, t_tree *tree);
126void MCMC_Updown_Nu_Cr(t_tree *tree);
127void MCMC_All_Rates(t_tree *tree);
128void MCMC_Alpha(t_tree *tree);
129void MCMC_Kappa(t_tree *tree);
130void MCMC_Rate_Across_Sites(t_tree *tree);
131void MCMC_Free_Mixt_Rate(t_tree *tree);
132void MCMC_Make_Move(phydbl *cur, phydbl *new, phydbl inf, phydbl sup, phydbl *loghr, phydbl tune, int move_type);
133void MCMC_Randomize_Rate_Across_Sites(t_tree *tree);
134void MCMC_Randomize_Kappa(t_tree *tree);
135void MCMC_Updown_T_Cr(t_tree *tree);
136void MCMC_Linreg_Par(t_tree *tree);
137void MCMC_Covarion_Rates(t_tree *tree);
138void MCMC_Covarion_Switch(t_tree *tree);
139void MCMC_Randomize_Covarion_Rates(t_tree *tree);
140void MCMC_Randomize_Covarion_Switch(t_tree *tree);
141void MCMC_Read_Param_Vals(t_tree *tree);
142void MCMC_Birth_Rate(t_tree *tree);
143void MCMC_Randomize_Birth(t_tree *tree);
144void MCMC_Clock_R(t_tree *mixt_tree);
145void MCMC_Free_MCMC(t_mcmc *mcmc);
146void MCMC_Updown_T_Br(t_tree *tree);
147void MCMC_Root_Time(t_tree *tree);
148void MCMC_Jump_Calibration(t_tree *tree);
149void MCMC_Geo_Lbda(t_tree *mixt_tree);
150void MCMC_Geo_Sigma(t_tree *mixt_tree);
151void MCMC_Geo_Tau(t_tree *mixt_tree);
152void MCMC_Geo_Loc(t_tree *tree);
153
154#endif
Note: See TracBrowser for help on using the repository browser.