BranchModel — Multiple-omega branch model
Usage
BranchModel(submodel: Double
-> CTMC<Codons<a>>, omegas: List<Double>, branchCats: IntMap<Int>) → CTMC<Codons<a>>
Arguments
Underlined names in default expressions refer to other arguments. A
default beginning with ~ specifies a prior
distribution.
-
submodel: -
Codon model as a function of omega
-
Default:
|w:GTR +> MNM +> MutSelAA +> dNdS(omega=w)| -
omegas: -
Independent omega values for branch categories #0, #1, and so on.
-
Default:
~IID(numberBranchCategories(branchCats),LogNormal(0,1)) -
branchCats: -
The numbered category assigned to each branch.
-
Default: The branch categories in the current context
Original default expressions
-
omegas -
~IID(numberBranchCategories(@branchCats),LogNormal(0,1)) -
branchCats -
get_state(branch_categories)
Description
Use a separately unit-normalized codon model for each numbered branch category. The first omega applies to category #0, the second to category #1, and so on. A branch without a foreground annotation belongs to category #0, while [&foreground=i] selects category #i. When omegas is omitted, categories must be numbered consecutively from zero and each receives an independent omega. The models constructed for different omegas must share equilibrium frequencies, and the topology must be fixed when categories are read from tree annotations. No category-usage metadata is needed for this model.
The default background uses GTR, MNM, and MutSelAA. Here omega scales nonsynonymous rates after accounting for amino-acid fitnesses. Thus omega=1 retains these fitness effects; neutrality and positive selection are assessed relative to this background.
Examples
BranchModel
BranchModel(omegas=[0.2,1.0,2.0])