diff --git a/configure.ac b/configure.ac index 763427b6..936c3398 100644 --- a/configure.ac +++ b/configure.ac @@ -1,7 +1,7 @@ # -*- Autoconf -*- # Process this file with autoconf to produce a configure script. -AC_INIT([PhyML],esyscmd([sh -c "echo "3.3." | tr -d '\n' ; echo "20230824" | tr -d '\n'"]),[guindon@lirmm.fr]) +AC_INIT([PhyML],esyscmd([sh -c "echo "3.3." | tr -d '\n' ; echo "20241207" | tr -d '\n'"]),[stephane.guindon@lirmm.fr]) AM_INIT_AUTOMAKE([foreign]) AC_CONFIG_SRCDIR([src/main.c],[doc/phyml-manual.tex]) AC_CONFIG_HEADERS([config.h]) diff --git a/src/init.c b/src/init.c index f420ce3f..bf5c8ff2 100644 --- a/src/init.c +++ b/src/init.c @@ -634,6 +634,7 @@ void Set_Defaults_Input(option* io) io->n_boot_replicates = 0; io->print_mat_and_exit = NO; io->edge_len_unit = SUBSTITUTIONS; + #ifdef BEAGLE io->beagle_resource = 0; diff --git a/src/io.c b/src/io.c index ff460d91..e1c5994a 100644 --- a/src/io.c +++ b/src/io.c @@ -2373,8 +2373,13 @@ void Print_Fp_Out(FILE *fp_out, time_t t_beg, time_t t_end, t_tree *tree, option } else { - fprintf(fp_out,"\n. Substitution model: \t\t\t%s",tree->mod->modelname->s); + PhyML_Fprintf(fp_out,"\n. Substitution model: \t\t%s",tree->mod->modelname->s); } + + PhyML_Fprintf(fp_out,"\n. Integrated length (IL) model: \t%s",(tree->io->mod->gamma_mgf_bl == YES)?"yes":"no"); + + if(tree->io->mod->gamma_mgf_bl == YES) PhyML_Fprintf(fp_out,"\n. Variance of IL model: \t\t%.5f",tree->mod->l_var_sigma); + PhyML_Fprintf(fp_out,"\n. Number of taxa: \t\t\t%d",tree->n_otu);/*added FLT*/ @@ -3125,7 +3130,7 @@ void Print_Banner(FILE *fp) PhyML_Fprintf(fp," A simple, fast, and accurate algorithm to estimate large phylogenies by maximum likelihood \n"); PhyML_Fprintf(fp," Stephane Guindon & Olivier Gascuel \n"); PhyML_Fprintf(fp," \n"); - PhyML_Fprintf(fp," http://www.atgc-montpellier.fr/phyml \n"); + PhyML_Fprintf(fp," https://github.com/stephaneguindon/phyml/tree/master \n"); PhyML_Fprintf(fp," \n"); PhyML_Fprintf(fp," Copyright CNRS - Universite Montpellier \n"); PhyML_Fprintf(fp," \n"); @@ -3141,7 +3146,7 @@ void Print_Banner_Small(FILE *fp) PhyML_Fprintf(fp,"\n"); PhyML_Fprintf(fp," oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo\n"); PhyML_Fprintf(fp," --- PhyML %s --- \n",VERSION); - PhyML_Fprintf(fp," http://www.atgc-montpellier.fr/phyml \n"); + PhyML_Fprintf(fp," https://github.com/stephaneguindon/phyml/tree/master \n"); PhyML_Fprintf(fp," Copyright CNRS - Universite Montpellier \n"); PhyML_Fprintf(fp," oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo\n"); } diff --git a/src/lk.c b/src/lk.c index b6ceb4ca..f2796cb7 100644 --- a/src/lk.c +++ b/src/lk.c @@ -691,7 +691,8 @@ phydbl dLk(phydbl *l, t_edge *b, t_tree *tree) rr *= tree->mod->br_len_mult->v; len = (*l) * rr; - var = tree->mod->l_var_sigma * rr*rr; + /* var = tree->mod->l_var_sigma * rr*rr; */ + var = (*l) * tree->mod->l_var_sigma * rr*rr; if(isinf(len) || isnan(len)) { @@ -2234,7 +2235,8 @@ void Update_PMat_At_Given_Edge(t_edge *b_fcus, t_tree *tree) mean = len; /* var = MAX(0.0,b_fcus->l_var->v) * POW(tree->mod->ras->gamma_rr->v[i]*tree->mod->br_len_mult->v,2); */ - var = tree->mod->l_var_sigma * POW(tree->mod->ras->gamma_rr->v[i]*tree->mod->br_len_mult->v,2); + /* var = tree->mod->l_var_sigma * POW(tree->mod->ras->gamma_rr->v[i]*tree->mod->br_len_mult->v,2); */ + var = MAX(0.0,b_fcus->l->v) * tree->mod->l_var_sigma * POW(tree->mod->ras->gamma_rr->v[i]*tree->mod->br_len_mult->v,2); if(tree->mixt_tree) var *= POW(tree->mixt_tree->mod->ras->gamma_rr->v[tree->mod->ras->parent_class_number],2); /* var = 1.E-10; */ diff --git a/src/main.c b/src/main.c index 94948cbe..901d88db 100644 --- a/src/main.c +++ b/src/main.c @@ -267,7 +267,7 @@ int main(int argc, char **argv) } - if(tree->mod->gamma_mgf_bl) Best_Root_Position_IL_Model(tree); + /* if(tree->mod->gamma_mgf_bl) Best_Root_Position_IL_Model(tree); */ Set_Both_Sides(YES,tree); Lk(NULL,tree); @@ -280,8 +280,7 @@ int main(int argc, char **argv) Check_Br_Lens(tree); Br_Len_Involving_Invar(tree); Rescale_Br_Len_Multiplier_Tree(tree); - - + #elif defined EVOLVE Evolve(tree->data,tree->mod,tree); Exit("\n. Exiting 'evolve'\n"); diff --git a/src/utilities.c b/src/utilities.c index 1543c4bd..4d32f481 100644 --- a/src/utilities.c +++ b/src/utilities.c @@ -10506,7 +10506,6 @@ void Best_Root_Position_IL_Model(t_tree *tree) Set_Both_Sides(YES,tree); Lk(NULL,tree); /* Optimize_Br_Len_Serie(2,tree); */ - PhyML_Printf("\n HERE"); Update_Partial_Lk(tree,tree->n_root->b[1],tree->n_root); Br_Len_Opt(&(tree->n_root->b[1]->l->v),tree->n_root->b[1],tree); diff --git a/src/utilities.h b/src/utilities.h index dc52a2a1..be2c53d2 100644 --- a/src/utilities.h +++ b/src/utilities.h @@ -929,6 +929,7 @@ typedef struct __Tree{ int n_edges_traversed; int n_tot_bl_opt; + }t_tree; /*!********************************************************/