veg / hyphy

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

FUBAR output json contains null values #1680

Closed StefanFrankBio closed 3 months ago

StefanFrankBio commented 5 months ago

Hey HYPHY team!

I am running FUBAR on SARS-CoV-2 Spike data. My input msa contains 7840 sequences and has a size of 31mb. The HYPHY version is HYPHY 2.5.48(MP) for Linux on x86_64.The analysis is started from the command line in non-interactive mode with default options. The analysis runs normally, but the output json file contains only null values for the columns "alpha", "beta", "beta-alpha", "Prob[alpha>beta]" and "Prob[alpha<beta]".

{
 "MLE":{
   "content":{
     "0":      [
[null, null, null, null, null, 1, 0, 0],
      [null, null, null, null, null, 1, 0, 0],
      [null, null, null, null, null, 1, 0, 0],
      [null, null, null, null, null, 1, 0, 0],
      [null, null, null, null, null, 1, 0, 0],
      [null, null, null, null, null, 1, 0, 0],
      [null, null, null, null, null, 1, 0, 0],
      [null, null, null, null, null, 1, 0, 0],
      [null, null, null, null, null, 1, 0, 0],
      ...

I am using FUBAR on other genes during the same analysis, and the Spike Gene is the only one where this issue is present. The input msa for the Spike Gene is by far the largest both in terms of file size and number of sequences. The msa is codon-aware and duplicates were removed. However, I noticed that some branch lengths in the input tree are very small: 5*10^-9.

I did not receive any error messages during the analysis and wanted to ask here how to solve this issue.

Thank you! Stefan

spond commented 5 months ago

Dear @StefanFrankBio,

Sorry, I missed this issue. My guess is that HyPhy simply failed to compute the likelihood function for some values because of incorrectly handled floating point underflow. One thing you could try is to specify --kill-zero-lengths No on the command line. This is a common source of underflow in highly unresolved trees like what you see in SC-2 spike.

Best, Sergei

StefanFrankBio commented 3 months ago

Dear @spond,

thank you for answering my question. Using --kill-zero-lengths No indeed solved the problem. Thank you!

Best, Stefan