Summary
PhyML aborts during a non-parametric bootstrap analysis with TBE enabled. The failure occurs in alrt.c at line 904 from Make_Target_Swap, after a small likelihood decrease relative to lk_init.
PhyML version
The run log reports:
PhyML 3.3.20250429
AVX enabled: yes
SSE enabled: yes
Input characteristics
The alignment is PHYLIP DNA data:
836 taxa
918 sites
663 compressed patterns
390 constant sites (42.48%)
The original alignment is private, so I cannot attach it publicly here. I can provide it privately if needed.
Command
phyml \
-i input.phy \
-d nt \
--no_memory_check \
--run_id BseqOG \
--rand_start \
-s SPR \
--tbe \
-b 100 \
--leave_duplicates \
--print_site_lnl \
--ancestral \
-m GTR \
-f e \
--freerates \
-c 4
What happened
The ML search completed and ancestral sequences were estimated. PhyML then started the bootstrap analysis:
. Log likelihood of the current tree: -50614.866041510336799547076.
. Estimating ancestral sequences...
. Launch bootstrap analysis on the most likely tree...
. Non parametric bootstrap analysis
[.............
== [1113] v1=1311 v2=303 v3=1330 v4=373
== tree->c_lnL = -48837.934570 lk_init = -48837.930794
== Err. in file alrt.c at line 904
. Type enter to exit.
PhyML failed with exit code 1.
The difference is about 0.003776 log-likelihood units:
lk_init = -48837.930794
tree->c_lnL = -48837.934570
delta = -0.003776
This trips the guard in Make_Target_Swap:
if(tree->c_lnL < lk_init - tree->mod->s_opt->min_diff_lk_global)
{
PhyML_Fprintf(stderr,"\n== [%3d] v1=%d v2=%d v3=%d v4=%d",b_fcus->num,v1->num,v2->num,v3->num,v4->num);
PhyML_Fprintf(stderr,"\n== tree->c_lnL = %f lk_init = %f\n",tree->c_lnL,lk_init);
PhyML_Fprintf(stderr,"\n== Err. in file %s at line %d\n\n",__FILE__,__LINE__);
Warn_And_Exit("");
}
Expected behavior
A small numerical decrease during bootstrap tree optimization should probably not abort the whole PhyML run, especially after many hours of computation.
Possible alternatives:
- tolerate small decreases at this step,
- restore the previous likelihood/topology and continue,
- skip the problematic bootstrap replicate with a warning.
Summary
PhyML aborts during a non-parametric bootstrap analysis with TBE enabled. The failure occurs in
alrt.cat line 904 fromMake_Target_Swap, after a small likelihood decrease relative tolk_init.PhyML version
The run log reports:
Input characteristics
The alignment is PHYLIP DNA data:
The original alignment is private, so I cannot attach it publicly here. I can provide it privately if needed.
Command
What happened
The ML search completed and ancestral sequences were estimated. PhyML then started the bootstrap analysis:
The difference is about
0.003776log-likelihood units:This trips the guard in
Make_Target_Swap:Expected behavior
A small numerical decrease during bootstrap tree optimization should probably not abort the whole PhyML run, especially after many hours of computation.
Possible alternatives: