veg / hyphy

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

Questions About BUSTED #1517

Closed gykoh closed 2 years ago

gykoh commented 2 years ago

Hello!

I have some questions about BUSTED.

Context If we run hyphy -i (version is HYPHY 2.5.39 (MP) for Darwin on x86_64), the following questions are asked, and I entered my selections for them shown below:

A) Types of standard analyses: (1) selection analyses B) files in Selection Analyses: (5) BUSTED C) choose genetic code: (1) [Universal] D) select coding sequence alignment file: HIV.nex (from hyphy tutorials) E) choose set of branches for selection: [‘ALL’] F) synonymous rate variation: 1. [Yes] G) The number omega rate classes to include in the model: 3 H) Include support for multiple nucleotide substitutions: 3. [None] I) The number omega rate classes to include in the model: 2 J) The number of points in the initial distributional guess for likelihood fitting: 250 K) The number of initial random guesses to ‘seed’ rate values optimization: 1 L) Reduce zero-length branches: 1. [Yes]

Questions

Question 1: G) and I) are phrased identically, seemingly repeating the question. However, looking at the results from tweaking those two options, G) seems to indeed correspond to number of omega classes and I) seems to refer to number of SYNONYMOUS rate classes assuming we said “YES” to F) synonymous rate variation. Why are G) and I) both phrased as “the number of omega rate classes to include in the model”? Is this a bug?

Question 2: What does it mean to have 3 omega rates in this model but only 2 synonymous rates? Will the extra omega class vary just based on nonsynonymous rate variation?

Thank you!

spond commented 2 years ago

Dear @gykoh,

  1. It seems like there is an error in the prompt. (I) should indeed refer to the number of synonymous rate classes. I am going to fix it in the next release. Thanks!
hyphy busted --help

Available analysis command line options
---------------------------------------
Use --option VALUE syntax to invoke
If a [reqired] option is not provided on the command line, the analysis will prompt for its value
[conditionally required] options may or not be required based on the values of other options

code
    Which genetic code should be used
    default value: Universal

alignment [required]
    An in-frame codon alignment in one of the formats supported by HyPhy

tree [conditionally required]
    A phylogenetic tree (optionally annotated with {})
    applies to: Please select a tree file for the data:

branches
    Branches to test
    default value: All

srv
    Include synonymous rate variation in the model
    default value: Yes

rates
    The number omega rate classes to include in the model [1-10, default 3]
    default value: busted.rate_classes [computed at run time]

multiple-hits
    Include support for multiple nucleotide substitutions
    default value: None

syn-rates
    The number alpha rate classes to include in the model [1-10, default 3]
    default value: busted.synonymous_rate_classes [computed at run time]

grid-size
    The number of points in the initial distributional guess for likelihood fitting
    default value: 250 [computed at run time]

starting-points
    The number of initial random guesses to seed rate values optimization
    default value: 1 [computed at run time]

output
    Write the resulting JSON to this file (default is to save to the same path as the alignment file + 'BUSTED.json')
    default value: busted.codon_data_info[terms.json.json] [computed at run time]

save-fit
    Save BUSTED model fit to this file (default is not to save)
    default value: /dev/null
  1. Full model details can be found in https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7403620/, but ω and α rates are independent. α controls the baseline (synonymous) substitution rate at a site -- it is shared by all branches in the tree. ω controls the dN/dS ratio and it varies from site to site and from branch to branch.

Best, Sergei

gykoh commented 2 years ago

Thank you very much for the response!!