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:

The codon model constructed for each omega.

Default: |w:GY94(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.

Examples

BranchModel
BranchModel(omegas=[0.2,1.0,2.0])