.. jupyter-execute:: :hide-code: import set_working_directory Extracting maximum likelihood estimates from a ``model_result`` =============================================================== If you want to get the stats from a fitted model, use the ``tabulate_stats`` app. We demonstrate this by first fitting a model. .. jupyter-execute:: 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 --------------------------------------- .. jupyter-execute:: tabulator = get_app("tabulate_stats") tabulated = tabulator(result) tabulated ``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”). .. jupyter-execute:: tabulated["edge params"] .. 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. .. jupyter-execute:: tabulated["global params"] Motif parameters ---------------- These are estimates of the nucleotide probabilities in the unobserved ancestor. .. jupyter-execute:: tabulated["motif params"]