Extracting maximum likelihood estimates from a model_result
#
Note
These docs now use the new_type
core objects via the following setting.
import os
# using new types without requiring an explicit argument
os.environ["COGENT3_NEW_TYPE"] = "1"
If you want to get the stats from a fitted model, use the tabulate_stats
app.
We demonstrate this by first fitting a model.
from cogent3 import get_app
loader = get_app("load_aligned", format="fasta", moltype="dna")
aln = loader("data/primate_brca1.fasta")
model = get_app("model", "GN", tree="data/primate_brca1.tree")
result = model(aln)
Create and apply tabulate_stats
app#
tabulator = get_app("tabulate_stats")
tabulated = tabulator(result)
tabulated
3x tabular_result('global params': Table, 'edge params': Table, 'motif params': Table)
tabulated
is a tabular_result
instance which, like other result types, has dict
like behaviour. It also contains key/value pairs for each model parameter type.
Edge parameters#
These are all parameters that differ between edges. Since the current model is time-homogeneous (a single rate matrix), the table only has entries for the branch scalar (denoted “length”).
tabulated["edge params"]
edge | parent | length |
---|---|---|
Galago | root | 0.17 |
HowlerMon | root | 0.04 |
Rhesus | edge.3 | 0.02 |
Orangutan | edge.2 | 0.01 |
Gorilla | edge.1 | 0.00 |
Human | edge.0 | 0.01 |
Chimpanzee | edge.0 | 0.00 |
edge.0 | edge.1 | 0.00 |
edge.1 | edge.2 | 0.00 |
edge.2 | edge.3 | 0.01 |
edge.3 | root | 0.01 |
11 rows x 3 columns
Note
Unless the model is time-reversible, the lengths in that table are not ENS (Kaehler et al). As we used a non-stationary nucleotide model in this example, the length values are a scalar used to adjust the matrices during optimisation.
Global parameters#
These are the elements of the rate matrix.
tabulated["global params"]
A>C | A>G | A>T | C>A | C>G | C>T | G>A | G>C | G>T | T>A | T>C |
---|---|---|---|---|---|---|---|---|---|---|
0.87 | 3.66 | 0.91 | 1.59 | 2.12 | 6.02 | 8.22 | 1.23 | 0.63 | 1.25 | 3.42 |
1 rows x 11 columns
Motif parameters#
These are estimates of the nucleotide probabilities in the unobserved ancestor.
tabulated["motif params"]
A | C | G | T |
---|---|---|---|
0.38 | 0.17 | 0.21 | 0.24 |
1 rows x 4 columns