veg / hyphy

HyPhy: Hypothesis testing using Phylogenies
http://www.hyphy.org
Other
201 stars 68 forks source link

FEL test failing - hyphy 2.5.49 on FreeBSD #1585

Closed Jehops closed 1 year ago

Jehops commented 1 year ago

Hello,

I'm updating the FreeBSD hyphy package to 2.5.49 and the FEL test is failing.

Joe

### Branches to include in the FEL analysis
Selected 16 branches to include in FEL calculations: `PIG, COW, Node3, HORSE, CAT, Node2, RHMONKEY, BABOON, Node9, HUMAN, CHIMP, Node12, Node8, Node1, RAT, MOUSE`

>precision –> standard

### Obtaining branch lengths and nucleotide substitution biases under the nucleotide GTR model

>kill-zero-lengths –> Yes
* Log(L) = -3532.32, AIC-c =  7112.86 (24 estimated parameters)
* 1 partition. Total tree length by partition (subs/site)  1.694

### Obtaining the global omega estimate based on relative GTR branch lengths and nucleotide substitution biases
* Log(L) = -3467.33, AIC-c =  6997.75 (31 estimated parameters)
* 1 partition. Total tree length by partition (subs/site)  1.724
* non-synonymous/synonymous rate ratio for *test* =   1.0124

>full-model –> Yes

### Improving branch lengths, nucleotide substitution biases, and global dN/dS ratios under a full codon model
* Log(L) = -3467.02
* non-synonymous/synonymous rate ratio for *test* =   0.9937

### For partition 1 these sites are significant at p <=0.1

|     Codon      |   Partition    |     alpha      |      beta      |      LRT       |Selection detected?|
|:--------------:|:--------------:|:--------------:|:--------------:|:--------------:|:-----------------:|
^[[0;31m|       9        |       1        |        0.000   |        1.510   |        4.194   |  Pos. p = 0.0406  |
^[[0m^[[0;32m|       11       |       1        |        1.500   |        0.000   |        5.840   |  Neg. p = 0.0157  |
^[[0m^[[0;32m|       22       |       1        |        0.709   |        0.000   |        2.879   |  Neg. p = 0.0898  |
^[[0m^[[0;32m|       31       |       1        |       65.296   |        0.509   |        7.996   |  Neg. p = 0.0047  |
^[[0m^[[0;31m|       34       |       1        |        0.000   |        2.351   |        4.441   |  Pos. p = 0.0351  |
^[[0m^[[0;32m|       36       |       1        |      323.756   |        3.229   |        6.756   |  Neg. p = 0.0093  |
^[[0m^[[0;32m|       45       |       1        |        1.353   |        0.000   |        5.529   |  Neg. p = 0.0187  |
^[[0m^[[0;32m|       47       |       1        |       12.646   |        0.310   |        5.754   |  Neg. p = 0.0165  |
^[[0m^[[0;31m|       53       |       1        |        0.000   |        1.108   |        2.738   |  Pos. p = 0.0980  |
^[[0m^[[0;31m|       55       |       1        |        0.000   |        7.007   |        3.844   |  Pos. p = 0.0499  |
^[[0m^[[0;32m|       60       |       1        |        5.012   |        0.423   |        3.160   |  Neg. p = 0.0755  |
^[[0m^[[0;31m|       64       |       1        |        0.000   |        2.128   |        3.334   |  Pos. p = 0.0679  |
^[[0m^[[0;32m|       65       |       1        |       57.649   |        0.000   |       11.060   |  Neg. p = 0.0009  |
^[[0m^[[0;32m|       70       |       1        |        1.353   |        0.000   |        3.080   |  Neg. p = 0.0793  |
^[[0m^[[0;32m|       71       |       1        |        1.804   |        0.000   |        3.622   |  Neg. p = 0.0570  |
^[[0m^[[0;32m|       78       |       1        |        3.431   |        0.247   |        3.954   |  Neg. p = 0.0468  |
^[[0m^[[0;31m|       81       |       1        |        0.000   |        1.470   |        4.064   |  Pos. p = 0.0438  |
^[[0m^[[0;32m|       82       |       1        |        3.455   |        0.000   |        6.166   |  Neg. p = 0.0130  |
^[[0m^[[0;32m|       87       |       1        |       57.649   |        0.000   |       15.030   |  Neg. p = 0.0001  |
^[[0m^[[0;32m|       95       |       1        |        1.353   |        0.000   |        3.593   |  Neg. p = 0.0580  |
^[[0m^[[0;31m|       98       |       1        |        0.000   |        1.889   |        2.827   |  Pos. p = 0.0927  |
^[[0m^[[0;31m|      102       |       1        |        0.000   |        1.870   |        2.955   |  Pos. p = 0.0856  |
^[[0m^[[0;31m|      106       |       1        |        0.000   |        1.781   |        2.908   |  Pos. p = 0.0882  |
^[[0m^[[0;32m|      110       |       1        |        2.986   |        0.000   |        9.245   |  Neg. p = 0.0024  |
^[[0m^[[0;31m|      113       |       1        |        0.000   |        2.444   |        5.635   |  Pos. p = 0.0176  |
^[[0m^[[0;32m|      116       |       1        |        3.992   |        0.000   |        7.781   |  Neg. p = 0.0053  |
^[[0m^[[0;31m|      117       |       1        |        0.000   |        2.016   |        5.244   |  Pos. p = 0.0220  |
^[[0m^[[0;32m|      120       |       1        |        1.353   |        0.000   |        4.665   |  Neg. p = 0.0308  |
^[[0m^[[0;32m|      123       |       1        |        4.374   |        0.000   |        7.965   |  Neg. p = 0.0048  |
^[[0m^[[0;32m|      125       |       1        |        1.353   |        0.000   |        4.515   |  Neg. p = 0.0336  |
^[[0m^[[0;32m|      129       |       1        |        2.531   |        0.260   |        3.365   |  Neg. p = 0.0666  |
^[[0m^[[0;32m|      130       |       1        |        3.493   |        0.234   |        4.215   |  Neg. p = 0.0401  |
^[[0m^[[0;32m|      132       |       1        |        3.862   |        0.300   |        3.398   |  Neg. p = 0.0653  |
^[[0m^[[0;32m|      133       |       1        |        1.353   |        0.000   |        3.565   |  Neg. p = 0.0590  |
^[[0m^[[0;32m|      136       |       1        |       10.445   |        0.404   |        3.837   |  Neg. p = 0.0501  |
^[[0m^[[0;32m|      144       |       1        |    10000.000   |        2.425   |        4.824   |  Neg. p = 0.0281  |
^[[0m^[[0;31m|      149       |       1        |        0.000   |        1.963   |        5.228   |  Pos. p = 0.0222  |
^[[0m^[[0;32m|      164       |       1        |       10.000   |        0.000   |        8.454   |  Neg. p = 0.0036  |
^[[0m^[[0;32m|      166       |       1        |        3.787   |        0.000   |       11.654   |  Neg. p = 0.0006  |
^[[0m^[[0;31m|      172       |       1        |        0.000   |        2.212   |        2.925   |  Pos. p = 0.0872  |
^[[0m^[[0;32m|      176       |       1        |      135.466   |        1.724   |        4.540   |  Neg. p = 0.0331  |
^[[0m
### ** Found _13_ sites under pervasive positive diversifying and _28_ sites under negative selection at p <= 0.1**
Error:
Failed to correctly classify site 144 in call to assert(0, "Failed to correctly classify site "+(site+1));

Function call stack
1 :  assert(0, "Failed to correctly classify site "+(site+1));
-------
2 :  Branch under condition 'confirm_site(_index_[0],_p_,test.expected_negatives,0)'
        to
                Branch under condition 'alphas[site]<betas[site]==kind'
        to
                Branch under condition 'dict/(site+1)'
        to
                dict-(site+1);
        else
                assert(0, "Failed to correctly classify site "+(site+1));
        else
                Branch under condition 'dict/(site+1)'
        to
                assert(0, "Incorrectly classified site "+(site+1));
        else
                return FALSE;
        else
                Branch under condition 'dict/(site+1)'
        to
                dict-(site+1);
        else
                assert(0, "Failed to correctly classify site "+(site+1));
-------
3 :  Call("utility.ForEachPair.CB",utility.ForEachPair.key,object[utility.ForEachPair.r][utility.ForEachPair.c]);
-------
4 :  utility.ForEachPair(p_values,"_index_","_p_","
                   if (confirm_site (_index_[0], _p_, test.expected_negatives, 0)) {
                    test.lrt_sum  += lrts[_index_[0]];
                   }
                ");
-------

Check errors.log for execution error details.
<end of output>
Test time =  30.13 sec
----------------------------------------------------------
Test Failed.
"FEL" end time: Mar 24 15:26 UTC
"FEL" time elapsed: 00:00:30
----------------------------------------------------------
spond commented 1 year ago

Dear @Jehops,

There seems to be some stochasticity with some of the tests, depending on the run-time environment. I'll check and get back to you, as this is clearly not desirable behavior.

Best, Sergei

github-actions[bot] commented 1 year ago

Stale issue message

Jehops commented 1 year ago

Adding a note (since the issue has been marked stale) to say that the FEL test still fails under 2.5.51hf.

Kind regards,

Joe

spond commented 1 year ago

Dear @Jehops,

Thanks for bringing this back to my attention. I am planning to make the 2.5.52 release with other bug fixes soon; the FEL failure is due to some stochasticity (multi-thread vs single-thread), which I need to pin down to specific issue in the code.

Best, Sergei