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 SLFV_H
16 #define SLFV_H
17 
18 #include "utilities.h"
19 
20 phydbl SLFV_Prob_Two_Lineages_Coal(t_ldsk *l0, t_ldsk *l1, t_tree *tree);
21 phydbl SLFV_Prob_Two_Random_Lineages_Coal_One_Event(phydbl w, phydbl h, phydbl mu, phydbl rad);
22 phydbl SLFV_Coalescence_Rate(t_tree *tree);
23 phydbl SLFV_Path_Logdensity(t_ldsk *beg, t_ldsk *end, phydbl sd, t_tree *tree);
24 void SLFV_Sample_Path(t_ldsk *young, t_ldsk *old, phydbl sd, phydbl *global_hr, t_tree *tree);
25 t_ldsk *SLFV_Generate_Path(t_ldsk *beg, t_ldsk *end, phydbl n_evt, phydbl sd, t_tree *tree);
26 phydbl SLFV_Effective_Density(t_tree *tree);
27 phydbl SLFV_Rate_Per_Unit_Area(t_tree *tree);
28 phydbl SLFV_Sample_Rad_From_Prior(t_tree *tree);
29 phydbl SLFV_Update_Radius(t_tree *tree);
30 phydbl SLFV_Generation_Length(t_tree *tree);
31 phydbl SLFV_Neighborhood_Size(t_tree *tree);
32 phydbl SLFV_Update_Sigsq(t_tree *tree);
33 phydbl SLFV_Neighborhood_Size_Regression(t_tree *tree);
34 phydbl SLFV_Lk_Gaussian_Range(t_dsk *young, t_dsk *old, t_tree *tree);
35 phydbl SLFV_Lk_Gaussian(t_tree *tree);
36 phydbl SLFV_Lk_Gaussian_Core(t_dsk *disk, t_tree *tree);
37 t_sarea *SLFV_Simulate_Forward_Core(int n_sites, t_tree *tree);
38 phydbl SLFV_Simulate_Backward_Core(t_dsk *init_disk, int avoid_multiple_mergers, t_tree *tree);
39 t_tree *SLFV_Simulate(int n_otu, int n_sites, phydbl w, phydbl h, phydbl  lbda, phydbl rad, phydbl mu, int r_seed);
40 t_tree *SLFV_Simulate_Independent_Loci(int n_otu, int n_loci, phydbl w, phydbl h, int r_seed);
41 void SLFV_Integrated_Coal_Rate(t_ldsk *l0, t_ldsk *l1, phydbl T, t_tree *tree);
42 void SLFV_Sum_Coal_Rate(t_ldsk *l0, t_ldsk *l1, int n, t_tree *tree);
43 phydbl SLFV_Lk_Range(t_dsk *young, t_dsk *old, t_tree *tree);
44 
45 #endif
46 
47 
48 
49 
50 
51