From 677061fbda935660956d2ae3e942c576d591b979 Mon Sep 17 00:00:00 2001 From: binho Date: Sun, 21 Jan 2024 13:59:50 -0600 Subject: [PATCH] More renaming and update pgm pyi --- docs/build/html/genindex.html | 4 +- .../html/phylojunction.distribution.html | 12 +-- .../phylojunction.inference.revbayes.html | 2 +- .../html/phylojunction.interface.grammar.html | 8 +- docs/build/html/phylojunction.pgm.html | 10 +-- docs/build/html/phylojunction.utility.html | 2 +- docs/build/html/searchindex.js | 2 +- .../distribution/dn_discrete_sse.py | 2 +- .../distribution/dn_discrete_sse.pyi | 2 +- .../distribution/dn_parametric.py | 10 +-- .../distribution/dn_parametric.pyi | 10 +-- .../inference/revbayes/rb_dn_parametric.py | 2 +- .../interface/cmdbox/cmd_parse.py | 2 +- .../grammar/dn_discrete_sse_makers.py | 2 +- .../interface/grammar/dn_grammar.py | 6 +- .../interface/grammar/dn_grammar.pyi | 6 +- src/phylojunction/pgm/pgm.py | 40 ++++----- src/phylojunction/pgm/pgm.pyi | 86 +++++++++---------- 18 files changed, 101 insertions(+), 107 deletions(-) diff --git a/docs/build/html/genindex.html b/docs/build/html/genindex.html index 9106558..47bc285 100644 --- a/docs/build/html/genindex.html +++ b/docs/build/html/genindex.html @@ -218,7 +218,7 @@

D

  • DiscreteStateDependentRate (class in phylojunction.calculation.discrete_sse)
  • -
  • DistributionPGM (class in phylojunction.pgm.pgm) +
  • DistrForSampling (class in phylojunction.pgm.pgm)
  • dn_grammar_dict (phylojunction.interface.grammar.dn_grammar.PJDnGrammar attribute)
  • @@ -235,7 +235,7 @@

    D

  • (phylojunction.distribution.dn_parametric.DnUnif attribute)
  • -
  • (phylojunction.pgm.pgm.DistributionPGM property) +
  • (phylojunction.pgm.pgm.DistrForSampling property)
  • diff --git a/docs/build/html/phylojunction.distribution.html b/docs/build/html/phylojunction.distribution.html index 8146885..b04adaa 100644 --- a/docs/build/html/phylojunction.distribution.html +++ b/docs/build/html/phylojunction.distribution.html @@ -77,7 +77,7 @@

    Submodules
    class phylojunction.distribution.dn_discrete_sse.DnSSE(sse_stash: SSEStash, stop_value: List[float] = [], n: int = 1, n_replicates: int = 1, stop: str = '', origin: bool = True, start_states_list: List[int] = [], condition_on_speciation: bool = False, condition_on_survival: bool = True, condition_on_obs_both_sides_root: bool = False, min_rec_taxa: int = 0, max_rec_taxa: int = 1000000000000, abort_at_obs: int = 1000000000000, seeds_list: Optional[List[int]] = None, epsilon: float = 1e-12, runtime_limit: int = 15, debug: bool = False)
    -

    Bases: DistributionPGM

    +

    Bases: DistrForSampling

    Distribution class for State-dependent Speciation and Extinction (birth-death) process

    The sampling method in this class is a “rising tide” simulator, where all living lineages grow together.

    @@ -514,7 +514,7 @@

    Submodules
    class phylojunction.distribution.dn_parametric.DnExponential(n_samples: int, n_repl: int, scale_or_rate_param: List[float], rate_parameterization: bool, parent_node_tracker: Optional[Dict[str, str]])
    -

    Bases: DistributionPGM

    +

    Bases: DistrForSampling

    DN_NAME = 'Exponential'
    @@ -587,7 +587,7 @@

    Submodules
    class phylojunction.distribution.dn_parametric.DnGamma(n_samples: int, n_repl: int, shape_param: List[float], scale_or_rate_param: List[float], rate_parameterization: bool, parent_node_tracker: Optional[Dict[str, str]])
    -

    Bases: DistributionPGM

    +

    Bases: DistrForSampling

    DN_NAME = 'Gamma'
    @@ -668,7 +668,7 @@

    Submodules
    class phylojunction.distribution.dn_parametric.DnLogNormal(n_samples: int, n_repl: int, ln_mean: List[float], ln_sd: List[float], ln_log_space: bool, parent_node_tracker: Optional[Dict[str, str]])
    -

    Bases: DistributionPGM

    +

    Bases: DistrForSampling

    DN_NAME = 'Log-normal'
    @@ -749,7 +749,7 @@

    Submodules
    class phylojunction.distribution.dn_parametric.DnNormal(n_samples: int, n_repl: int, norm_mean_param: List[float], norm_sd_param: List[float], parent_node_tracker: Optional[Dict[str, str]])
    -

    Bases: DistributionPGM

    +

    Bases: DistrForSampling

    DN_NAME = 'Normal'
    @@ -820,7 +820,7 @@

    Submodules
    class phylojunction.distribution.dn_parametric.DnUnif(n_samples: int, n_repl: int, min_param: List[float], max_param: List[float], parent_node_tracker: Optional[Dict[str, str]])
    -

    Bases: DistributionPGM

    +

    Bases: DistrForSampling

    DN_NAME = 'Uniform'
    diff --git a/docs/build/html/phylojunction.inference.revbayes.html b/docs/build/html/phylojunction.inference.revbayes.html index b4652bd..d2cc360 100644 --- a/docs/build/html/phylojunction.inference.revbayes.html +++ b/docs/build/html/phylojunction.inference.revbayes.html @@ -96,7 +96,7 @@

    Submodules
    -phylojunction.inference.revbayes.rb_dn_parametric.get_rev_str_from_dn_parametric_obj(dn_obj: DistributionPGM) Tuple[int, int, List[str]]
    +phylojunction.inference.revbayes.rb_dn_parametric.get_rev_str_from_dn_parametric_obj(dn_obj: DistrForSampling) Tuple[int, int, List[str]]

    diff --git a/docs/build/html/phylojunction.interface.grammar.html b/docs/build/html/phylojunction.interface.grammar.html index 777d8a1..24e9fdc 100644 --- a/docs/build/html/phylojunction.interface.grammar.html +++ b/docs/build/html/phylojunction.interface.grammar.html @@ -147,7 +147,7 @@

    phylojunction.interface.grammar.det_fn_discrete_sse moduleobject

    -classmethod create_dn_obj(dn_id: str, dn_param_dict: Dict[str, List[Union[NodePGM, str]]]) DistributionPGM
    +classmethod create_dn_obj(dn_id: str, dn_param_dict: Dict[str, List[Union[NodePGM, str]]]) DistrForSampling

    Build and return sampling distribution object

    @@ -161,10 +161,10 @@

    phylojunction.interface.grammar.det_fn_discrete_sse module

    - @@ -183,7 +183,7 @@

    phylojunction.interface.grammar.det_fn_discrete_sse module
    -classmethod init_return_discrete_SSE_dn(dn_param_dict: Dict[str, List[Union[NodePGM, str]]]) DistributionPGM
    +classmethod init_return_discrete_SSE_dn(dn_param_dict: Dict[str, List[Union[NodePGM, str]]]) DistrForSampling
    diff --git a/docs/build/html/phylojunction.pgm.html b/docs/build/html/phylojunction.pgm.html index e52262a..15243b8 100644 --- a/docs/build/html/phylojunction.pgm.html +++ b/docs/build/html/phylojunction.pgm.html @@ -107,12 +107,12 @@

    Submodules -
    -class phylojunction.pgm.pgm.DistributionPGM
    +
    +class phylojunction.pgm.pgm.DistrForSampling

    Bases: ValueGenerator

    -
    -abstract property DN_NAME
    +
    +abstract property DN_NAME
    @@ -191,7 +191,7 @@

    Submodules
    -class phylojunction.pgm.pgm.StochasticNodePGM(node_name: str, sample_size: int, sampled_from: Optional[DistributionPGM] = None, returned_from: Optional[ConstantFn] = None, value: Optional[List[Any]] = None, replicate_size: int = 1, call_order_idx: Optional[int] = None, deterministic: bool = False, clamped: bool = False, parent_nodes: Optional[List[Any]] = None)
    +class phylojunction.pgm.pgm.StochasticNodePGM(node_name: str, sample_size: int, sampled_from: Optional[DistrForSampling] = None, returned_from: Optional[ConstantFn] = None, value: Optional[List[Any]] = None, replicate_size: int = 1, call_order_idx: Optional[int] = None, deterministic: bool = False, clamped: bool = False, parent_nodes: Optional[List[Any]] = None)

    Bases: NodePGM

    diff --git a/docs/build/html/phylojunction.utility.html b/docs/build/html/phylojunction.utility.html index b153d14..e2d72b5 100644 --- a/docs/build/html/phylojunction.utility.html +++ b/docs/build/html/phylojunction.utility.html @@ -885,7 +885,7 @@

    Submodules

    +(n_samples inside a DistrForSampling object)
    Returns:

    a DistributionPGM instance

    +
    Returns:

    a DistrForSampling instance

    Return type:

    DistributionPGM

    +
    Return type:

    DistrForSampling

    Parameters:size_to_grow (int) – This will be the number of simulations -(n_samples inside a DistributionPGM object)
    diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js index 3f3ac31..28d4dbf 100644 --- a/docs/build/html/searchindex.js +++ b/docs/build/html/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["index", "installing", "modules", "phylojunction", "phylojunction.calculation", "phylojunction.data", "phylojunction.distribution", "phylojunction.inference", "phylojunction.inference.revbayes", "phylojunction.interface", "phylojunction.interface.cmdbox", "phylojunction.interface.grammar", "phylojunction.pgm", "phylojunction.plotting", "phylojunction.readwrite", "phylojunction.utility", "pjdoc/index", "pjdoc/parametric"], "filenames": ["index.rst", "installing.rst", "modules.rst", "phylojunction.rst", "phylojunction.calculation.rst", "phylojunction.data.rst", "phylojunction.distribution.rst", "phylojunction.inference.rst", "phylojunction.inference.revbayes.rst", "phylojunction.interface.rst", "phylojunction.interface.cmdbox.rst", "phylojunction.interface.grammar.rst", "phylojunction.pgm.rst", "phylojunction.plotting.rst", "phylojunction.readwrite.rst", "phylojunction.utility.rst", "pjdoc/index.rst", "pjdoc/parametric.rst"], "titles": ["PhyloJunction", "Installing and configuring PhyloJunction", "phylojunction", "phylojunction package", "phylojunction.calculation package", "phylojunction.data package", "phylojunction.distribution package", "phylojunction.inference package", "phylojunction.inference.revbayes package", "phylojunction.interface package", "phylojunction.interface.cmdbox package", "phylojunction.interface.grammar package", "phylojunction.pgm package", "phylojunction.plotting package", "phylojunction.readwrite package", "phylojunction.utility package", "Documentation", "<no title>"], "terms": {"fabio": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "k": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "mend": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "python": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "3": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "dendropi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "msprime": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "numpi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "scipi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "matplotlib": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "panda": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "pysimplegui": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "visual": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "studio": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "code": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "pycharm": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "java": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "beast": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "2": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "revbay": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17], "c": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "pj": [0, 10, 14], "i": [0, 1, 4, 5, 6, 10, 12, 13, 14, 15, 16], "pure": 0, "librari": [0, 1, 16], "design": 0, "framework": [0, 1], "simul": [0, 4, 6, 8, 13, 14, 15, 16], "evolutionari": [0, 16], "model": [0, 8, 10, 14], "summar": [0, 14], "data": [0, 2, 3, 14, 16], "prototyp": [0, 16], "test": [0, 1, 15, 16], "new": [0, 8, 13, 16], "In": [0, 1, 4, 16], "order": [0, 1], "meet": 0, "goal": 0, "implement": [0, 16], "an": [0, 4, 5], "extens": [0, 14], "ecosystem": 0, "pars": [0, 10, 14], "function": [0, 10, 11, 14, 16], "expos": 0, "user": [0, 4, 8, 10, 13, 14], "through": [0, 4, 8, 10, 16], "command": [0, 1, 8, 10, 14], "line": [0, 1, 8, 10, 14], "cli": 0, "graphic": [0, 1, 8, 10, 14], "interfac": [0, 1, 2, 3, 14], "gui": [0, 10], "interact": [0, 1], "normal": [0, 1, 4, 6, 11, 16], "involv": 0, "specifi": [0, 4, 8, 10, 14], "enter": [0, 10], "written": [0, 1, 14, 16], "lowercas": [0, 16], "script": [0, 8, 10, 14, 16], "languag": [0, 16], "after": [0, 1, 12], "sampl": [0, 4, 5, 6, 10, 11, 12, 14], "e": [0, 1, 4, 6, 10, 13, 14, 16], "valu": [0, 4, 5, 6, 10, 11, 12, 13, 14, 15, 16], "each": [0, 4, 5, 6, 8, 10, 14, 16], "variabl": [0, 1, 10, 12, 13, 14, 16], "those": [0, 1, 4, 12, 16], "output": [0, 14, 16], "result": [0, 8, 14, 16], "text": [0, 1, 14, 16], "format": [0, 14, 16], "tabl": 0, "If": [0, 1, 4, 5, 6, 10, 12, 14, 16], "can": [0, 1, 4, 16], "further": [0, 1], "inspect": 0, "summari": [0, 14], "On": [0, 1], "thi": [0, 1, 4, 5, 6, 10, 15, 16], "websit": 0, "you": [0, 1], "find": [0, 1, 16], "instruct": [0, 1, 16], "tutori": 0, "how": [0, 1, 6, 12, 14], "instal": 0, "us": [0, 1, 5, 10, 16], "pleas": 0, "refer": [0, 16], "relev": 0, "section": [0, 1], "document": 0, "help": [0, 16], "question": [0, 16], "bug": 0, "report": 0, "featur": 0, "request": [0, 16], "page": 1, "do": [1, 4, 6, 12, 16], "standard": [1, 16], "so": [1, 5, 10, 16], "its": [1, 6, 16], "suitabl": 1, "who": 1, "want": [1, 4, 6, 16], "custom": 1, "expand": 1, "": [1, 4, 5, 6, 14, 16], "sourc": 1, "integr": 1, "environ": 1, "navig": 1, "For": [1, 4, 16], "most": [1, 6, 16], "part": [1, 14], "ha": [1, 5, 6, 14, 16], "been": [1, 4, 14, 16], "m1": 1, "chip": 1, "machin": 1, "run": 1, "maco": 1, "big": 1, "sur": 1, "though": [1, 16], "period": 1, "ubuntu": 1, "There": [1, 16], "support": [1, 4, 16], "microsoft": 1, "window": [1, 15], "current": [1, 5, 16], "under": [1, 16], "9": 1, "1x": 1, "ad": 1, "soon": 1, "variou": 1, "fortun": 1, "ar": [1, 4, 5, 6, 10, 12, 14, 16], "automat": 1, "manag": [1, 4], "pip": 1, "packag": [1, 2], "shown": [1, 16], "below": [1, 6, 16], "To": 1, "both": [1, 5, 6, 16], "we": [1, 4, 6, 14, 16], "start": [1, 4, 5, 6, 12, 14, 15, 16], "clone": 1, "github": 1, "repositori": 1, "open": 1, "your": 1, "termin": [1, 5, 6], "shell": 1, "go": [1, 5, 6, 10], "directori": [1, 8, 14], "choic": [1, 16], "git": 1, "http": 1, "com": 1, "fkmend": 1, "see": [1, 16], "have": [1, 4, 5, 6, 12, 16], "creat": [1, 8, 10, 11, 16], "root": [1, 4, 5, 6, 14], "folder": 1, "insid": [1, 8, 10, 15], "chose": 1, "some": [1, 4, 16], "might": [1, 4], "know": [1, 6, 16], "setuptool": 1, "when": [1, 4, 6, 10, 12, 16], "being": [1, 10, 11, 14, 16], "local": 1, "type": [1, 4, 6, 8, 10, 11, 13, 14, 15, 16], "conveni": 1, "few": 1, "reason": [1, 5, 16], "first": [1, 4, 16], "copi": [1, 5, 12], "all": [1, 4, 5, 6, 8, 10, 12, 16], "file": [1, 8, 10, 14], "place": [1, 4, 5, 14, 16], "them": 1, "somewher": 1, "instead": [1, 6, 16], "onli": [1, 4, 6, 16], "write": [1, 14, 16], "metadata": 1, "wrapper": 1, "entri": 1, "point": [1, 16], "pjcli": 1, "pjgui": 1, "case": [1, 4, 16], "second": [1, 16], "without": 1, "need": [1, 6, 16], "re": [1, 5], "chang": 1, "effect": [1, 16], "immedi": 1, "next": 1, "import": [1, 16], "call": [1, 4, 8, 10, 11, 16], "becaus": [1, 4], "add": [1, 10, 13], "modul": [1, 2], "path": [1, 5, 10, 14, 16], "pythonpath": 1, "make": [1, 5, 16], "discover": 1, "The": [1, 6, 16], "carri": [1, 8, 16], "out": [1, 8, 13, 16], "from": [1, 4, 5, 6, 8, 10, 14, 16], "like": [1, 16], "python3": 1, "m": [1, 16], "With": [1, 16], "execut": 1, "bin": 1, "wherev": 1, "live": [1, 6], "wa": [1, 10, 16], "homebrew": 1, "exampl": [1, 4], "could": [1, 16], "opt": 1, "version": 1, "flag": [1, 4], "tell": 1, "which": [1, 4, 6, 10, 12, 16], "lib": 1, "site": 1, "__editable__": 1, "0": [1, 4, 5, 6, 10, 12, 13, 14, 15, 16], "1": [1, 4, 5, 6, 8, 10, 12, 13, 14, 15, 16], "pth": 1, "last": [1, 16], "argument": [1, 6, 10, 14, 16], "where": [1, 5, 6, 8, 14, 15, 16], "project": [1, 16], "setup": 1, "py": 1, "access": [1, 4, 10], "deni": 1, "here": [1, 5, 16], "put": [1, 8], "differ": [1, 4, 6, 13, 15, 16], "locat": [1, 6], "user_nam": 1, "note": [1, 4, 5, 16], "abov": [1, 16], "whichev": 1, "name": [1, 4, 8, 10, 11, 13, 14, 16], "A": [1, 4, 10, 14, 16], "third": 1, "option": [1, 4, 5, 6, 8, 11, 12, 13, 14], "work": [1, 4, 16], "altern": [1, 16], "follow": [1, 16], "prefix": [1, 8, 14], "well": [1, 16], "keep": [1, 15], "softwar": 1, "binari": [1, 4, 14], "symbol": 1, "link": 1, "hidden": 1, "doe": [1, 4, 5, 16], "exist": [1, 5, 16], "lastli": 1, "forget": 1, "look": [1, 16], "assum": [1, 5, 16], "defin": [1, 16], "get": [1, 5, 14], "app": 1, "bash_profil": 1, "also": [1, 16], "bashrc": 1, "updat": [1, 10], "environment": 1, "editor": 1, "export": 1, "should": [1, 8, 16], "still": [1, 5], "activ": 1, "session": [1, 14], "must": [1, 12], "save": [1, 14], "close": [1, 16], "todo": 1, "subpackag": 2, "calcul": [2, 3, 15], "submodul": [2, 3, 7, 9], "discrete_ss": [2, 3, 11, 16], "math_util": [2, 3], "content": 2, "attribute_transit": [2, 3], "sampled_ancestor": [2, 3], "tree": [2, 3, 4, 6, 12, 14, 16], "distribut": [2, 3, 10, 11, 16], "dn_discrete_ss": [2, 3], "dn_parametr": [2, 3], "infer": [2, 3, 14, 16], "pgm": [2, 3, 8, 10, 14], "plot": [2, 3, 12, 14], "pj_draw": [2, 3], "pj_organ": [2, 3], "pj_seeing_color": [2, 3], "readwrit": [2, 3], "pj_read": [2, 3], "pj_write": [2, 3], "util": [2, 3], "exception_class": [2, 3], "helper_funct": [2, 3], "rb_dn_parametr": [3, 7], "rb_infer": [3, 7], "cmdbox": [3, 9], "cmd_pars": [3, 9], "cmd_parse_util": [3, 9], "grammar": [3, 9], "det_fn_discrete_ss": [3, 9], "det_fn_grammar": [3, 9], "dn_grammar": [3, 9], "make_dn_discrete_ss": [3, 9], "class": [4, 5, 6, 11, 12, 15], "discretestatedependentparamet": 4, "val": [4, 10, 15], "union": [4, 5, 6, 10, 11, 12, 14, 15], "int": [4, 5, 6, 8, 12, 14, 15], "float": [4, 5, 6, 8, 12, 14, 15], "str": [4, 5, 6, 8, 10, 11, 12, 13, 14, 15], "list": [4, 5, 6, 8, 10, 11, 12, 14, 15], "state": [4, 5, 6, 11, 12, 14], "epoch_idx": 4, "base": [4, 5, 6, 11, 12, 15], "object": [4, 5, 6, 8, 10, 11, 12, 13, 14, 15, 16], "main": [4, 16], "discret": [4, 6, 12], "depend": [4, 5, 6, 16], "paramet": [4, 5, 6, 8, 10, 11, 12, 13, 14, 15, 16], "vector": [4, 10, 16], "discretestatedependentparametermanag": 4, "matrix_state_dep_param": 4, "total_state_count": [4, 5], "seed_age_for_time_sl": 4, "none": [4, 5, 6, 10, 12, 13, 14, 15], "list_time_slice_age_end": 4, "epsilon": [4, 5, 6, 14], "1e": [4, 5, 6, 14], "12": [4, 5, 6, 14], "stash": [4, 11, 16], "time": [4, 5, 6, 12, 14, 15, 16], "slice": [4, 6], "At": [4, 6], "moment": 4, "care": [4, 6], "about": [4, 16], "It": [4, 16], "manipul": 4, "whole": 4, "instanc": [4, 10, 11, 13, 14], "turn": [4, 16], "contain": [4, 8, 10, 11, 13, 14, 16], "multipl": 4, "pass": [4, 14, 16], "later": [4, 5, 11], "seed": [4, 6], "ag": [4, 5, 6, 16], "themselv": 4, "becom": 4, "param_typ": 4, "discretestatedependentparametertyp": 4, "seed_ag": [4, 5, 6, 11], "slice_age_end": [4, 5], "slice_t_end": [4, 5, 6], "state_dep_params_at_tim": 4, "a_tim": 4, "params_matrix": 4, "enum": [4, 15], "enumer": 4, "probabl": [4, 16], "rate": [4, 6, 11, 16], "undefin": 4, "discretestatedependentprob": [4, 11], "state_represent": 4, "discretestatedependentprobabilityhandl": [4, 6], "state_dep_prob_manag": 4, "heterogen": 4, "same": [4, 16], "n_time_slic": [4, 6], "randomly_decide_taxon_sampling_at_time_at_st": 4, "state_idx": 4, "sample_idx": [4, 6, 12], "bool": [4, 5, 6, 8, 10, 11, 12, 13, 14, 15], "state_count": [4, 5, 6], "str_represent": [4, 5], "discretestatedependentr": [4, 11], "event": [4, 5, 6, 11, 16], "macroevolev": 4, "state_tupl": 4, "tupl": [4, 5, 8, 10, 11, 14, 15], "anagenetic_transit": 4, "4": [4, 16], "ancestor_sampl": 4, "5": [4, 6, 16], "asym_speci": 4, "bw_speciat": 4, "extinct": [4, 5, 6, 16], "w_speciat": 4, "macroevoleventhandl": [4, 6], "state_dep_rate_manag": 4, "macroevolutionari": 4, "method": [4, 5, 6, 16], "awar": 4, "value_idx": 4, "directli": [4, 10, 14], "dn_sse": 4, "try": 4, "store": [4, 5, 14, 16], "size": [4, 6, 15], "get_gcf": 4, "get_length": 4, "sample_event_atomic_paramet": 4, "denomin": 4, "state_indic": 4, "a_se": [4, 6], "debug": [4, 6, 16], "fals": [4, 5, 6, 12, 13, 14, 15], "return": [4, 5, 6, 8, 10, 11, 12, 13, 14, 15], "one": [4, 5, 6, 8, 10, 11, 12, 13, 14, 15, 16], "term": [4, 16], "comput": [4, 16], "weight": 4, "take": [4, 6, 16], "condit": [4, 16], "depart": 4, "index": [4, 6, 15], "within": [4, 12], "default": [4, 6, 8, 12, 13, 14], "element": [4, 8, 12, 14], "random": [4, 10, 12, 14, 16], "print": [4, 6, 8, 14, 15], "messag": [4, 6, 15], "total_r": 4, "state_representation_dict": 4, "dict": [4, 5, 6, 8, 10, 11, 12, 14, 15], "set": [4, 6, 8, 11, 15, 16], "departing_st": 4, "total": [4, 5], "either": [4, 6, 11, 14], "ani": [4, 5, 6, 12, 15, 16], "specif": [4, 10, 14, 16], "forward": 4, "recov": 4, "dictionari": [4, 5, 10, 11, 14], "kei": [4, 5, 10, 11, 14], "node": [4, 5, 6, 8, 10, 14, 16], "label": [4, 5, 13, 16], "provid": [4, 6, 10, 13, 14, 16], "global": 4, "otherwis": [4, 14], "ssestash": [4, 6, 11], "macroevol_event_handl": 4, "state_dep_prob_handl": 4, "handler": 4, "get_meh": 4, "get_prob_handl": 4, "meh": 4, "prob_handl": [4, 6], "stateintopatternconvert": 4, "n_charact": 4, "n_states_per_char": 4, "machineri": 4, "check": [4, 5, 10, 14], "convert": [4, 16], "charact": [4, 6, 8], "compound": 4, "bit": 4, "pattern": 4, "vice": 4, "versa": 4, "think": [4, 16], "region": 4, "mean": [4, 6, 10, 11, 13, 16], "rang": [4, 14], "g": [4, 10, 13, 14, 16], "ab": 4, "while": [4, 16], "number": [4, 5, 6, 8, 14, 15, 16], "singl": [4, 14, 16], "speci": 4, "present": 4, "int2set_dict": 4, "n_char": 4, "n_state": [4, 5, 11, 16], "populate_dict": 4, "non": 4, "recurs": [4, 6], "gener": [4, 6, 8, 12, 14, 16], "given": [4, 16], "per": [4, 6, 8, 14], "absent": 4, "set2int_dict": 4, "baseenum": 4, "metaenum": 4, "cl": 4, "classdict": 4, "kwd": 4, "enummeta": 4, "parametricdistribut": 4, "exponenti": [4, 6, 11, 16], "expn": 4, "gamma": [4, 6, 11], "lognorm": [4, 11, 16], "lnormal": 4, "uniform": [4, 6], "exp_extant_count_bd": 4, "birth_rat": [4, 16], "death_rat": [4, 16], "tree_ag": 4, "speciation_k": 4, "expect": 4, "count": [4, 6, 16], "extant": [4, 5], "taxa": [4, 5, 6], "birth": [4, 6, 16], "death": [4, 6, 16], "lambda": 4, "process": [4, 5, 6, 16], "mu": 4, "origin": [4, 5, 6, 11], "th": 4, "speciat": [4, 5, 6, 16], "exp_root_height_yule_ntaxa": 4, "n_taxa": 4, "height": [4, 5, 6], "yule": 4, "up": 4, "tip": [4, 6], "until": [4, 6], "attributetransit": 5, "attr_label": 5, "subtending_node_label": 5, "global_tim": 5, "from_stat": 5, "to_stat": 5, "update_daughter_memb": 5, "daughter_node_label": 5, "daughter_node_tim": 5, "sampledancestor": 5, "lineage_node_label": 5, "time_to_lineage_nod": 5, "annotatedtre": [5, 6, 14], "a_tre": 5, "start_at_origin": [5, 6], "condition_on_obs_both_sides_root": [5, 6], "true": [5, 6, 10, 12, 14, 15, 16], "max_ag": 5, "sa_lineage_dict": 5, "at_dict": 5, "tree_di": 5, "tree_invalid": 5, "read_as_newick_str": 5, "alive_sampled_state_count_dict": 5, "alive_state_count_dict": 5, "brosc_nod": 5, "dead_state_count_dict": 5, "extant_sampled_terminal_nodes_label": 5, "extant_terminal_nodes_label": 5, "extinct_terminal_nodes_label": 5, "extract_reconstructed_tre": 5, "require_obs_both_sid": 5, "deep": 5, "self": 5, "prune": 5, "get_stats_dict": 5, "get_taxon_states_str": 5, "nexu": 5, "has_tree_di": 5, "origin_or_root_nod": 5, "scan": 5, "boolean": 5, "aliv": [5, 6], "member": 5, "dead": [5, 6], "is_extant_or_sa_on_both_sides_complete_tr_root": 5, "a_nod": 5, "least": [5, 6, 16], "taxon": 5, "ancestor": 5, "side": [5, 6, 16], "complet": [5, 6], "befor": [5, 6, 14], "reconstruct": [5, 6], "dummi": 5, "serv": 5, "intern": 5, "parent": 5, "what": [5, 10, 16], "rel": 5, "sinc": 5, "two": [5, 10, 13, 14, 15, 16], "n_extant_sampled_terminal_nod": 5, "n_extant_terminal_nod": 5, "n_extinct_sampled_terminal_nod": 5, "n_extinct_terminal_nod": 5, "n_sa_obs_nod": 5, "name_internal_nod": 5, "no_ev": 5, "node_ages_dict": 5, "node_attr_dict": 5, "node_heights_dict": 5, "obs_count_dict": 5, "origin_ag": 5, "origin_nod": 5, "plot_nod": [5, 12], "ax": [5, 12, 13], "node_attr": 5, "kwarg": 5, "populate_nd_attr_dict": 5, "attrs_of_interest_list": 5, "populate_node_age_height_dict": 5, "unit_branch_length": 5, "popul": [5, 10, 14], "node_height": 5, "prepare_taxon_namespace_for_nexus_print": 5, "prepar": [5, 8, 14], "taxon_namespac": 5, "produc": [5, 16], "remov": 5, "namespac": 5, "affect": 5, "newick": [5, 14], "represent": [5, 16], "recursively_find_node_ag": 5, "running_age_sum": 5, "travel": 5, "wai": 5, "length": [5, 12], "root_ag": 5, "root_nod": 5, "sa_obs_nodes_label": 5, "state_count_dict": 5, "tree_read_as_newick_by_dendropi": 5, "tree_reconstruct": 5, "with_origin": [5, 6], "get_color_map": 5, "integ": [5, 6], "string": [5, 8, 10, 11, 12, 14, 16], "hex": 5, "color": [5, 12, 16], "paint": 5, "branch": [5, 12], "segment": 5, "get_node_nam": 5, "nd": 5, "get_x_coord_from_nd_height": 5, "ann_tr": [5, 14], "use_ag": 5, "x_coord": 5, "annot": [5, 14, 16], "get_y_coord_from_n_obs_nod": 5, "sa_along_branch": 5, "y": [5, 13], "coord": 5, "observ": [5, 6], "everi": [5, 16], "unit": 5, "awai": 5, "other": [5, 16], "sa": 5, "leav": 5, "ignor": 5, "thei": [5, 10, 12, 16], "along": 5, "pj_get_mrca_obs_termin": 5, "nd_label_list": 5, "plot_ann_tre": 5, "attr_of_interest": 5, "dnsse": 6, "sse_stash": [6, 11, 16], "stop_valu": [6, 11, 16], "n": [6, 11, 13, 16], "n_replic": 6, "stop": [6, 11, 16], "start_states_list": 6, "condition_on_speci": 6, "condition_on_surviv": 6, "min_rec_taxa": 6, "max_rec_taxa": 6, "1000000000000": 6, "abort_at_ob": 6, "seeds_list": 6, "runtime_limit": [6, 11], "15": 6, "distributionpgm": [6, 8, 11, 12, 15], "rise": 6, "tide": 6, "lineag": 6, "grow": 6, "togeth": 6, "mani": [6, 12, 14, 16], "ii": 6, "repres": [6, 10, 16], "would": [6, 16], "itself": 6, "recur": 6, "upon": 6, "hold": [6, 10, 13, 14, 16], "replic": [6, 12, 14], "equal": 6, "stop_condition_valu": 6, "stop_val": 6, "maximum": 6, "start_stat": [6, 11], "n_sim": [6, 8], "obtain": [6, 16], "end": [6, 12, 15], "reject": 6, "reach": 6, "requir": [6, 8, 16], "minimum": 6, "zero": 6, "1e12": 6, "abort": 6, "invalid": 6, "minut": [6, 15], "willing": 6, "wait": 6, "done": 6, "whether": [6, 14, 15], "dn_name": [6, 12, 15], "get_rev_inference_spec_info": [6, 12], "root_is_born": 6, "a_start_st": 6, "a_stop_valu": 6, "One": [6, 8], "dnexponenti": 6, "n_sampl": [6, 8, 12, 15], "n_repl": [6, 12, 14], "scale_or_rate_param": 6, "rate_parameter": [6, 11], "parent_node_track": [6, 8], "static": [6, 10], "draw_exp": 6, "float64": [6, 15], "ndarrai": 6, "draw": [6, 13], "scale": [6, 11], "exp_rate_parameter": [6, 8], "exp_scale_or_rate_list": [6, 8], "param_dict": 6, "vectorized_param": 6, "dngamma": 6, "shape_param": 6, "draw_gamma": 6, "shape": [6, 11], "alpha": 6, "kappa": 6, "sometim": 6, "gamma_rate_parameter": [6, 8], "gamma_scale_or_rate_param_list": [6, 8], "gamma_shape_param_list": [6, 8], "dnlognorm": 6, "ln_mean": 6, "ln_sd": 6, "ln_log_spac": 6, "log": [6, 8, 14, 16], "draw_ln": 6, "mean_param": 6, "sd_param": 6, "log_spac": [6, 11], "space": 6, "std": 6, "deviat": [6, 16], "median": 6, "natur": [6, 16], "ln_mean_list": [6, 8], "ln_sd_list": [6, 8], "dnnormal": 6, "norm_mean_param": 6, "norm_sd_param": 6, "draw_norm": 6, "norm_mean_param_list": [6, 8], "norm_sd_param_list": [6, 8], "dnunif": 6, "min_param": 6, "max_param": 6, "draw_unif": 6, "max_param_list": [6, 8], "min_param_list": [6, 8], "get_exponential_rev_inference_spec_info": 8, "get_gamma_rev_inference_spec_info": 8, "get_ln_rev_inference_spec_info": 8, "get_normal_rev_inference_spec_info": 8, "get_rev_str_from_dn_parametric_obj": 8, "dn_obj": 8, "get_unif_rev_inference_spec_info": 8, "get_mcmc_logging_spec_list": 8, "a_node_pgm_nam": 8, "moves_str": 8, "mcmc_chain_length": 8, "results_dir": 8, "configur": 8, "mcmc": [8, 14], "move": 8, "rev": [8, 14, 16], "probabilist": [8, 10, 14, 16], "dure": 8, "prece": [8, 14], "shall": [8, 16], "pgm_obj_to_rev_inference_spec": 8, "pgm_obj": [8, 10, 14], "probabilisticgraphicalmodel": [8, 10, 12, 14], "inference_root_dir": 8, "1000": 8, "iter": [8, 15], "append": [8, 10], "three": [8, 14], "cmdline2pgm": 10, "cmd_line": [10, 15], "stochast": [10, 14, 16], "via": 10, "noth": 10, "wrong": 10, "parse_deterministic_function_assign": 10, "det_nd_nam": 10, "det_node_fn_spec": 10, "deterministicnodepgm": [10, 12], "oper": [10, 16], "probabilisticgraphiclmodel": 10, "determinist": [10, 11, 12, 16], "initi": [10, 14, 16], "whatev": 10, "right": [10, 16], "parse_samp_dn_assign": 10, "stoch_node_nam": 10, "stoch_node_dn_spec": 10, "parse_variable_assign": 10, "stoch_node_spec": 10, "constant": [10, 16], "practic": 10, "script2pgm": 10, "script_file_path_or_model_spec": 10, "in_pj_fil": 10, "full": [10, 14], "parse_spec": 10, "fn_spec_str": 10, "nodepgm": [10, 11, 12], "parse_val_vector": 10, "vec_str": 10, "assign": [10, 16], "rais": [10, 12, 16], "ec": 10, "scriptsyntaxerror": [10, 15], "more": [10, 13, 16], "than": [10, 16], "squar": [10, 16], "bracket": 10, "thrown": [10, 16], "tokenize_fn_spec": 10, "token": 10, "fn_spec": 10, "appear": 10, "between": [10, 16], "val_or_obj": 10, "a_string_in_quot": 10, "potenti": [10, 16], "latter": 10, "inde": 10, "come": [10, 16], "inexistentvariableerror": [10, 15], "_description_": [10, 12, 13], "quot": 10, "enclos": [10, 16], "pjdetfngrammar": 11, "classmethod": 11, "create_det_fn_obj": 11, "det_fn_id": 11, "det_fn_param_dict": 11, "build": [11, 16], "varieti": 11, "inform": [11, 13, 14], "det_fn_grammar_dict": 11, "sse_prob": 11, "epoch": 11, "sse_rat": [11, 16], "epoch_age_end": 11, "flat_prob_mat": 11, "flat_rate_mat": [11, 16], "n_epoch": [11, 16], "grammar_check": 11, "fn_param": 11, "init_return_sse_stash": 11, "init_return_state_dep_prob": 11, "init_return_state_dep_r": 11, "pjdngrammar": 11, "create_dn_obj": 11, "dn_id": 11, "dn_param_dict": 11, "stochasticnodepgm": [11, 12], "dn_grammar_dict": 11, "nr": [11, 16], "ep": 11, "cond_spn": 11, "cond_surv": 11, "sd": [11, 16], "unif": 11, "min": 11, "max": 11, "dn_param": 11, "init_return_discrete_sse_dn": 11, "constantfn": 12, "valuegener": 12, "abstract": 12, "properti": 12, "ct_fn_name": [12, 15], "node_nam": [12, 15], "call_order_idx": 12, "parent_nod": 12, "get_node_stats_str": 12, "repl_idx": 12, "repl_siz": 12, "branch_attr": 12, "populate_operator_weight": 12, "sample_s": [12, 14], "replicate_s": 12, "clamp": 12, "abc": 12, "get_start2end_str": 12, "is_tre": 12, "add_nod": 12, "node_pgm": 12, "get_display_str_by_nam": 12, "get_node_pgm_by_nam": 12, "get_sorted_node_pgm_list": 12, "n_node": 12, "node_dict": 12, "node_name_val_dict": 12, "sampled_from": 12, "returned_from": 12, "get_valu": 12, "_summary_": [12, 13, 14], "pyplot": 12, "scalar": [12, 14], "attribut": [12, 14], "associ": 12, "random_valu": 12, "abstract_attribut": 12, "obj": 12, "callabl": 12, "r": [12, 16], "extract_value_from_nodepgm": 12, "val_list": 12, "replac": 12, "cast": 12, "field": 12, "cannot": [12, 16], "fi": 12, "except": [12, 15], "plot_blank": 12, "plot_node_histogram": 12, "values_list": 12, "plot_interv": 13, "fig_obj": [13, 14], "figur": [13, 14, 16], "axes_obj": 13, "df": 13, "datafram": [13, 14], "x": [13, 16], "xlab": 13, "ylab": 13, "posterior": [13, 16], "coverag": 13, "plt": 13, "pd": [13, 14], "interv": [13, 15], "axi": 13, "posterior_mean": 13, "ty": [13, 14, 15], "overrid": 13, "plot_violin": 13, "fig": [13, 16], "violin": 13, "factor": [13, 16], "column": [13, 14], "scenario": 13, "add_within_hpd_col": 13, "val_col_nam": 13, "hpd": 13, "input": [13, 14, 16], "join_datafram": 13, "pj_df": 13, "compare_to_df": 13, "thing_to_compar": 13, "summaries_avg_over_repl": [13, 14], "value_to_compar": 13, "truncate_colormap": 13, "cmap": 13, "minval": 13, "maxval": 13, "100": 13, "is_csv": 14, "fp_string": 14, "csv": 14, "read": 14, "parse_cli_str_write_fig": 14, "str_write_fig": 14, "f": 14, "tr": 14, "10": [14, 16], "read_csv_into_datafram": 14, "empti": 14, "read_node_attr_update_tre": 14, "attr_tsv_fp": 14, "attr_nam": 14, "read_nwk_tree_str": 14, "nwk_tree_path_or_str": 14, "fn_name": [14, 15], "read_tre": 14, "in_fil": 14, "node_names_attribut": 14, "read_serialized_pgm": 14, "previou": 14, "read_text_fil": 14, "dump_pgm_data": 14, "dir_str": 14, "write_nex_st": 14, "whose": [14, 15, 16], "extract": 14, "dump_serialized_pgm": 14, "file_nam": 14, "cmd_log_list": 14, "to_fold": 14, "serial": 14, "get_write_inference_rev_script": 14, "all_sims_model_spec_list": 14, "all_sims_mcmc_logging_spec_list": 14, "dir_list": 14, "write2fil": 14, "just": [14, 16], "initialize_scalar_datafram": 14, "independ": [14, 16], "statist": [14, 16], "avg": 14, "st": 14, "dev": 14, "over": 14, "certain": 14, "initialize_tree_datafram": 14, "individu": [14, 16], "prep_data_df": 14, "nex": 14, "suffix": 14, "anoth": 14, "prep_data_filepaths_df": 14, "scalar_output_stash": 14, "tree_output_stash": 14, "These": [14, 16], "param": 14, "filepath": 14, "disk": 14, "write_data_df": 14, "outfile_handl": 14, "io": 14, "data_df": 14, "stream": 14, "frame": 14, "write_fig_to_fil": 14, "outfile_path": 14, "write_str_list": 14, "content_string_list": 14, "annotatedtreelineagemissannot": 15, "annotatedtreemisspec": 15, "dagcannotaddnodeerror": 15, "dimensionalityerror": 15, "dimensionalitywarn": 15, "rv_name": 15, "functionargsmismatcherror": 15, "generatefailerror": 15, "incorrectdimensionerror": 15, "container_nam": 15, "obs_len": 15, "exp_len": 15, "invalidmcmcchainlength": 15, "noplatingallowederror": 15, "det_nam": 15, "problematic_node_pgm_nam": 15, "node_pgm_nam": 15, "nodeinferencedimensionalityerror": 15, "nodepgmnodestatcantfloaterror": 15, "notbetweenzeroandoneerror": 15, "par_nam": 15, "objinitincorrectdimensionerror": 15, "obj_nam": 15, "at_least": 15, "objinitinvalidargerror": 15, "objinitmissingparametererror": 15, "objinitmissingstatedependentparametererror": 15, "epoch_missing_param": 15, "symmetric_diff_set": 15, "symmetric_diff_str": 15, "objinitrepeatedstatedependentparametererror": 15, "epoch_w_repeated_param": 15, "repeated_param": 15, "objinitrequirenonzerostatedependentparametererror": 15, "dimension_idx": 15, "objinitrequiresameparametertypeerror": 15, "n_diff_par": 15, "pjcliinvalidinputerror": 15, "pjclisampleoutofrangeerror": 15, "range_str": 15, "pjiofiledoesnotexisterror": 15, "file_path": 15, "parsectfninitfailerror": 15, "parsedetfninitfailerror": 15, "det_fn_nam": 15, "parsedninitfailerror": 15, "parsefunctionargerror": 15, "parseinvalidargumenterror": 15, "invalid_arg": 15, "parseinvalidnewickstringerror": 15, "parsemissingargumenterror": 15, "arg_nam": 15, "parsemissingparametererror": 15, "parsemissingspecificationerror": 15, "obj2spec_nam": 15, "parsemutuallyexclusiveparameterserror": 15, "mutually_exclusive_par_nam": 15, "parsenotaparametererror": 15, "parsepathdoesnotexisterror": 15, "path_str": 15, "parserequireintegererror": 15, "arg": 15, "parserequirenumericerror": 15, "parserequirepositiveintegererror": 15, "parserequiresinglevalueerror": 15, "replicatenumbererror": 15, "ssestashmisspec": 15, "statedependentparametermisspec": 15, "variableassignmenterror": 15, "variablemisspec": 15, "autovivifi": 15, "level": 15, "final": 15, "defaultdict": 15, "create_str_defaultdict": 15, "get_ellapsed_time_in_minut": 15, "ellaps": 15, "is_val_in_interv": 15, "lower": 15, "upper": 15, "numer": 15, "np": 15, "t": [15, 16], "print_progress": 15, "idx": 15, "iterator_len": 15, "progress": 15, "bar": 15, "longer": 15, "track": 15, "symmetric_differ": 15, "set1": 15, "set2": 15, "symmetr": 15, "among": [15, 16], "verify_or_convert2_vector": 15, "param_list": 15, "size_to_grow": 15, "phylojunct": [16, 17], "born": 16, "our": 16, "arbitrarili": 16, "complex": 16, "sse": 16, "abl": 16, "applic": 16, "seri": 16, "relat": 16, "diversif": 16, "had": 16, "excel": 16, "tool": 16, "made": 16, "uniqu": 16, "assumpt": 16, "relax": 16, "revers": 16, "engin": 16, "modifi": 16, "howev": 16, "seem": 16, "resist": 16, "own": 16, "realiz": 16, "program": 16, "handi": 16, "futur": 16, "off": 16, "chunk": 16, "ideal": 16, "modular": 16, "architectur": 16, "codebas": 16, "allow": 16, "easili": 16, "develop": 16, "seamlessli": 16, "patch": 16, "mind": 16, "bear": 16, "fruit": 16, "faster": 16, "easi": 16, "cross": 16, "platform": 16, "orient": 16, "biologi": 16, "scienc": 16, "were": 16, "avail": 16, "As": 16, "item": 16, "heavi": 16, "great": 16, "maintain": 16, "jeet": 16, "sukumaran": 16, "collabor": 16, "achiev": 16, "around": 16, "past": 16, "flexibl": 16, "paradigm": 16, "popular": 16, "decad": 16, "offer": 16, "brief": 16, "refresh": 16, "simpl": 16, "interest": 16, "detail": 16, "exposit": 16, "h\u00f6hna": 16, "et": 16, "al": 16, "2014": 16, "therein": 16, "amount": 16, "down": 16, "collect": 16, "compris": 16, "bayesian": 16, "network": 16, "suggest": 16, "describ": 16, "graph": 16, "direct": 16, "acycl": 16, "vertex": 16, "edg": 16, "connect": 16, "veri": 16, "seen": 16, "1a": 16, "b": 16, "notat": 16, "theta": 16, "dash": 16, "box": 16, "plate": 16, "envelop": 16, "denot": 16, "precis": 16, "five": 16, "d": 16, "white": 16, "grai": 16, "respect": 16, "pen": 16, "arriv": 16, "joint": 16, "densiti": 16, "continu": 16, "express": 16, "f_": 16, "f_d": 16, "By": 16, "compar": 16, "attent": 16, "reader": 16, "notic": 16, "exactli": 16, "d_1": 16, "d_5": 16, "somehow": 16, "why": 16, "adopt": 16, "1b": 16, "underli": 16, "addit": 16, "fill": 16, "relationship": 16, "explicit": 16, "especi": 16, "give": 16, "u": 16, "boldsymbol": 16, "d_i": 16, "leq": 16, "fact": 16, "form": 16, "stand": 16, "curiou": 16, "complic": 16, "found": 16, "zhang": 16, "2023": 16, "supplementari": 16, "biologist": 16, "step": 16, "estim": 16, "unknown": 16, "quantiti": 16, "world": 16, "Of": 16, "cours": 16, "jointli": 16, "thu": 16, "impli": 16, "bottom": 16, "toward": 16, "approach": 16, "simpli": 16, "middl": 16, "hand": 16, "equat": 16, "solv": 16, "frac": 16, "known": 16, "bay": 16, "theorem": 16, "evalu": 16, "sever": 16, "thing": 16, "rather": 16, "borrow": 16, "jargon": 16, "primarili": 16, "sens": 16, "oppos": 16, "top": 16, "outer": 16, "layer": 16, "flow": 16, "arrow": 16, "downward": 16, "z": 16, "definit": 16, "sit": 16, "commun": 16, "larg": 16, "intersect": 16, "linguaphylo": 16, "syntax": 16, "evok": 16, "But": 16, "unlik": 16, "fulli": 16, "fledg": 16, "lightweight": 16, "behav": 16, "markup": 16, "xml": 16, "mathemat": 16, "statement": 16, "interpret": 16, "homogen": 16, "hyperprior": 16, "dr": 16, "br": 16, "o": 16, "phylogenet": 16, "perman": 16, "spot": 16, "consist": 16, "left": 16, "henceforth": 16, "drawn": 16, "transform": 16, "combin": 16, "And": 16, "instanti": 16, "character": 16, "Such": 16, "diamond": 16, "hollow": 16, "immut": 16, "exclus": 16, "alter": 16, "mutat": 16, "consequ": 16, "preclud": 16, "loop": 16, "control": 16, "structur": 16, "let": 16, "ten": 16, "took": 16, "implicitli": 16, "deal": 16, "discrep": 16, "hood": 16, "error": 16, "greater": 16, "word": 16, "appli": 16, "behavior": 16, "familiar": 16, "entir": 16, "explain": 16, "possibl": 16, "principl": 16, "constraint": 16, "mai": 16, "violat": 16, "signatur": 16}, "objects": {"": [[3, 0, 0, "-", "phylojunction"]], "phylojunction": [[4, 0, 0, "-", "calculation"], [5, 0, 0, "-", "data"], [6, 0, 0, "-", "distribution"], [7, 0, 0, "-", "inference"], [9, 0, 0, "-", "interface"], [12, 0, 0, "-", "pgm"], [13, 0, 0, "-", "plotting"], [14, 0, 0, "-", "readwrite"], [15, 0, 0, "-", "utility"]], "phylojunction.calculation": [[4, 0, 0, "-", "discrete_sse"], [4, 0, 0, "-", "math_utils"]], "phylojunction.calculation.discrete_sse": [[4, 1, 1, "", "DiscreteStateDependentParameter"], [4, 1, 1, "", "DiscreteStateDependentParameterManager"], [4, 1, 1, "", "DiscreteStateDependentParameterType"], [4, 1, 1, "", "DiscreteStateDependentProbability"], [4, 1, 1, "", "DiscreteStateDependentProbabilityHandler"], [4, 1, 1, "", "DiscreteStateDependentRate"], [4, 1, 1, "", "MacroevolEvent"], [4, 1, 1, "", "MacroevolEventHandler"], [4, 1, 1, "", "SSEStash"], [4, 1, 1, "", "StateIntoPatternConverter"]], "phylojunction.calculation.discrete_sse.DiscreteStateDependentParameter": [[4, 2, 1, "", "epoch_idx"], [4, 2, 1, "", "name"], [4, 2, 1, "", "state"], [4, 2, 1, "", "value"]], "phylojunction.calculation.discrete_sse.DiscreteStateDependentParameterManager": [[4, 2, 1, "", "epsilon"], [4, 2, 1, "", "matrix_state_dep_params"], [4, 2, 1, "", "param_type"], [4, 2, 1, "", "seed_age"], [4, 2, 1, "", "slice_age_ends"], [4, 2, 1, "", "slice_t_ends"], [4, 3, 1, "", "state_dep_params_at_time"]], "phylojunction.calculation.discrete_sse.DiscreteStateDependentParameterType": [[4, 2, 1, "", "PROBABILITY"], [4, 2, 1, "", "RATE"], [4, 2, 1, "", "UNDEFINED"]], "phylojunction.calculation.discrete_sse.DiscreteStateDependentProbability": [[4, 2, 1, "", "state_representation"]], "phylojunction.calculation.discrete_sse.DiscreteStateDependentProbabilityHandler": [[4, 2, 1, "", "n_time_slices"], [4, 3, 1, "", "randomly_decide_taxon_sampling_at_time_at_state"], [4, 2, 1, "", "seed_age"], [4, 2, 1, "", "slice_age_ends"], [4, 2, 1, "", "slice_t_ends"], [4, 2, 1, "", "state_count"], [4, 2, 1, "", "state_dep_prob_manager"], [4, 2, 1, "", "str_representation"]], "phylojunction.calculation.discrete_sse.DiscreteStateDependentRate": [[4, 2, 1, "", "state_tuple"]], "phylojunction.calculation.discrete_sse.MacroevolEvent": [[4, 2, 1, "", "ANAGENETIC_TRANSITION"], [4, 2, 1, "", "ANCESTOR_SAMPLING"], [4, 2, 1, "", "ASYM_SPECIATION"], [4, 2, 1, "", "BW_SPECIATION"], [4, 2, 1, "", "EXTINCTION"], [4, 2, 1, "", "W_SPECIATION"]], "phylojunction.calculation.discrete_sse.MacroevolEventHandler": [[4, 3, 1, "", "get_gcf"], [4, 3, 1, "", "get_length"], [4, 2, 1, "", "n_time_slices"], [4, 3, 1, "", "sample_event_atomic_parameter"], [4, 2, 1, "", "seed_age"], [4, 2, 1, "", "slice_age_ends"], [4, 2, 1, "", "slice_t_ends"], [4, 2, 1, "", "state_count"], [4, 2, 1, "", "state_dep_rate_manager"], [4, 2, 1, "", "str_representation"], [4, 3, 1, "", "total_rate"]], "phylojunction.calculation.discrete_sse.SSEStash": [[4, 3, 1, "", "get_meh"], [4, 3, 1, "", "get_prob_handler"], [4, 2, 1, "", "meh"], [4, 2, 1, "", "prob_handler"], [4, 2, 1, "", "str_representation"]], "phylojunction.calculation.discrete_sse.StateIntoPatternConverter": [[4, 2, 1, "", "int2set_dict"], [4, 2, 1, "", "n_char"], [4, 2, 1, "", "n_states"], [4, 2, 1, "", "n_states_per_char"], [4, 3, 1, "", "populate_dicts"], [4, 2, 1, "", "set2int_dict"]], "phylojunction.calculation.math_utils": [[4, 1, 1, "", "BaseEnum"], [4, 1, 1, "", "MetaEnum"], [4, 1, 1, "", "ParametricDistribution"], [4, 4, 1, "", "exp_extant_count_bd"], [4, 4, 1, "", "exp_root_height_yule_ntaxa"]], "phylojunction.calculation.math_utils.ParametricDistribution": [[4, 2, 1, "", "EXPONENTIAL"], [4, 2, 1, "", "GAMMA"], [4, 2, 1, "", "LOGNORMAL"], [4, 2, 1, "", "NORMAL"], [4, 2, 1, "", "UNIFORM"]], "phylojunction.data": [[5, 0, 0, "-", "attribute_transition"], [5, 0, 0, "-", "sampled_ancestor"], [5, 0, 0, "-", "tree"]], "phylojunction.data.attribute_transition": [[5, 1, 1, "", "AttributeTransition"]], "phylojunction.data.attribute_transition.AttributeTransition": [[5, 2, 1, "", "attr_label"], [5, 2, 1, "", "from_state"], [5, 2, 1, "", "global_time"], [5, 2, 1, "", "str_representation"], [5, 2, 1, "", "subtending_node_label"], [5, 2, 1, "", "to_state"], [5, 3, 1, "", "update_daughter_members"]], "phylojunction.data.sampled_ancestor": [[5, 1, 1, "", "SampledAncestor"]], "phylojunction.data.sampled_ancestor.SampledAncestor": [[5, 2, 1, "", "global_time"], [5, 2, 1, "", "label"], [5, 2, 1, "", "lineage_node_label"], [5, 2, 1, "", "str_representation"], [5, 2, 1, "", "time_to_lineage_node"]], "phylojunction.data.tree": [[5, 1, 1, "", "AnnotatedTree"], [5, 4, 1, "", "get_color_map"], [5, 4, 1, "", "get_node_name"], [5, 4, 1, "", "get_x_coord_from_nd_heights"], [5, 4, 1, "", "get_y_coord_from_n_obs_nodes"], [5, 4, 1, "", "pj_get_mrca_obs_terminals"], [5, 4, 1, "", "plot_ann_tree"]], "phylojunction.data.tree.AnnotatedTree": [[5, 2, 1, "", "alive_sampled_state_count_dict"], [5, 2, 1, "", "alive_state_count_dict"], [5, 2, 1, "", "at_dict"], [5, 2, 1, "", "brosc_node"], [5, 2, 1, "", "condition_on_obs_both_sides_root"], [5, 2, 1, "", "dead_state_count_dict"], [5, 2, 1, "", "epsilon"], [5, 2, 1, "", "extant_sampled_terminal_nodes_labels"], [5, 2, 1, "", "extant_terminal_nodes_labels"], [5, 2, 1, "", "extinct_terminal_nodes_labels"], [5, 3, 1, "", "extract_reconstructed_tree"], [5, 3, 1, "", "get_stats_dict"], [5, 3, 1, "", "get_taxon_states_str"], [5, 3, 1, "", "has_tree_died"], [5, 3, 1, "", "is_extant_or_sa_on_both_sides_complete_tr_root"], [5, 2, 1, "", "max_age"], [5, 2, 1, "", "n_extant_sampled_terminal_nodes"], [5, 2, 1, "", "n_extant_terminal_nodes"], [5, 2, 1, "", "n_extinct_sampled_terminal_nodes"], [5, 2, 1, "", "n_extinct_terminal_nodes"], [5, 2, 1, "", "n_sa_obs_nodes"], [5, 3, 1, "", "name_internal_nodes"], [5, 2, 1, "", "no_event"], [5, 2, 1, "", "node_ages_dict"], [5, 2, 1, "", "node_attr_dict"], [5, 2, 1, "", "node_heights_dict"], [5, 2, 1, "", "obs_count_dict"], [5, 2, 1, "", "origin_age"], [5, 2, 1, "", "origin_node"], [5, 3, 1, "", "plot_node"], [5, 3, 1, "", "populate_nd_attr_dict"], [5, 3, 1, "", "populate_node_age_height_dicts"], [5, 3, 1, "", "prepare_taxon_namespace_for_nexus_printing"], [5, 3, 1, "", "recursively_find_node_age"], [5, 2, 1, "", "root_age"], [5, 2, 1, "", "root_node"], [5, 2, 1, "", "sa_lineage_dict"], [5, 2, 1, "", "sa_obs_nodes_labels"], [5, 2, 1, "", "seed_age"], [5, 2, 1, "", "slice_age_ends"], [5, 2, 1, "", "slice_t_ends"], [5, 2, 1, "", "state_count"], [5, 2, 1, "", "state_count_dict"], [5, 2, 1, "", "tree"], [5, 2, 1, "", "tree_died"], [5, 2, 1, "", "tree_invalid"], [5, 2, 1, "", "tree_read_as_newick_by_dendropy"], [5, 2, 1, "", "tree_reconstructed"], [5, 2, 1, "", "with_origin"]], "phylojunction.distribution": [[6, 0, 0, "-", "dn_discrete_sse"], [6, 0, 0, "-", "dn_parametric"]], "phylojunction.distribution.dn_discrete_sse": [[6, 1, 1, "", "DnSSE"]], "phylojunction.distribution.dn_discrete_sse.DnSSE": [[6, 2, 1, "", "DN_NAME"], [6, 2, 1, "id0", "abort_at_obs"], [6, 2, 1, "id1", "condition_on_obs_both_sides_root"], [6, 2, 1, "id2", "condition_on_speciation"], [6, 2, 1, "id3", "condition_on_survival"], [6, 2, 1, "id4", "debug"], [6, 2, 1, "id5", "epsilon"], [6, 2, 1, "", "events"], [6, 3, 1, "", "generate"], [6, 3, 1, "", "get_rev_inference_spec_info"], [6, 2, 1, "id6", "max_rec_taxa"], [6, 2, 1, "id7", "min_rec_taxa"], [6, 2, 1, "", "n"], [6, 2, 1, "", "n_replicates"], [6, 2, 1, "", "n_sim"], [6, 2, 1, "id8", "n_time_slices"], [6, 2, 1, "", "prob_handler"], [6, 2, 1, "", "root_is_born"], [6, 2, 1, "id9", "runtime_limit"], [6, 2, 1, "", "seed_age"], [6, 2, 1, "", "seeds"], [6, 3, 1, "", "simulate"], [6, 2, 1, "id10", "slice_t_ends"], [6, 2, 1, "id11", "sse_stash"], [6, 2, 1, "", "start_at_origin"], [6, 2, 1, "id12", "start_states"], [6, 2, 1, "id13", "state_count"], [6, 2, 1, "id14", "stop"], [6, 2, 1, "id15", "stop_val"], [6, 2, 1, "", "with_origin"]], "phylojunction.distribution.dn_parametric": [[6, 1, 1, "", "DnExponential"], [6, 1, 1, "", "DnGamma"], [6, 1, 1, "", "DnLogNormal"], [6, 1, 1, "", "DnNormal"], [6, 1, 1, "", "DnUnif"]], "phylojunction.distribution.dn_parametric.DnExponential": [[6, 2, 1, "", "DN_NAME"], [6, 3, 1, "", "draw_exp"], [6, 2, 1, "", "exp_rate_parameterization"], [6, 2, 1, "", "exp_scale_or_rate_list"], [6, 3, 1, "", "generate"], [6, 3, 1, "", "get_rev_inference_spec_info"], [6, 2, 1, "", "param_dict"], [6, 2, 1, "", "parent_node_tracker"], [6, 2, 1, "", "vectorized_params"]], "phylojunction.distribution.dn_parametric.DnGamma": [[6, 2, 1, "", "DN_NAME"], [6, 3, 1, "", "draw_gamma"], [6, 2, 1, "", "gamma_rate_parameterization"], [6, 2, 1, "", "gamma_scale_or_rate_param_list"], [6, 2, 1, "", "gamma_shape_param_list"], [6, 3, 1, "", "generate"], [6, 3, 1, "", "get_rev_inference_spec_info"], [6, 2, 1, "", "param_dict"], [6, 2, 1, "", "parent_node_tracker"], [6, 2, 1, "", "vectorized_params"]], "phylojunction.distribution.dn_parametric.DnLogNormal": [[6, 2, 1, "", "DN_NAME"], [6, 3, 1, "", "draw_ln"], [6, 3, 1, "", "generate"], [6, 3, 1, "", "get_rev_inference_spec_info"], [6, 2, 1, "", "ln_log_space"], [6, 2, 1, "", "ln_mean_list"], [6, 2, 1, "", "ln_sd_list"], [6, 2, 1, "", "param_dict"], [6, 2, 1, "", "parent_node_tracker"], [6, 2, 1, "", "vectorized_params"]], "phylojunction.distribution.dn_parametric.DnNormal": [[6, 2, 1, "", "DN_NAME"], [6, 3, 1, "", "draw_normal"], [6, 3, 1, "", "generate"], [6, 3, 1, "", "get_rev_inference_spec_info"], [6, 2, 1, "", "norm_mean_param_list"], [6, 2, 1, "", "norm_sd_param_list"], [6, 2, 1, "", "param_dict"], [6, 2, 1, "", "parent_node_tracker"], [6, 2, 1, "", "vectorized_params"]], "phylojunction.distribution.dn_parametric.DnUnif": [[6, 2, 1, "", "DN_NAME"], [6, 3, 1, "", "draw_unif"], [6, 3, 1, "", "generate"], [6, 3, 1, "", "get_rev_inference_spec_info"], [6, 2, 1, "", "max_param_list"], [6, 2, 1, "", "min_param_list"], [6, 2, 1, "", "param_dict"], [6, 2, 1, "", "parent_node_tracker"], [6, 2, 1, "", "vectorized_params"]], "phylojunction.inference": [[8, 0, 0, "-", "revbayes"]], "phylojunction.inference.revbayes": [[8, 0, 0, "-", "rb_dn_parametric"], [8, 0, 0, "-", "rb_inference"]], "phylojunction.inference.revbayes.rb_dn_parametric": [[8, 4, 1, "", "get_exponential_rev_inference_spec_info"], [8, 4, 1, "", "get_gamma_rev_inference_spec_info"], [8, 4, 1, "", "get_ln_rev_inference_spec_info"], [8, 4, 1, "", "get_normal_rev_inference_spec_info"], [8, 4, 1, "", "get_rev_str_from_dn_parametric_obj"], [8, 4, 1, "", "get_unif_rev_inference_spec_info"]], "phylojunction.inference.revbayes.rb_inference": [[8, 4, 1, "", "get_mcmc_logging_spec_list"], [8, 4, 1, "", "pgm_obj_to_rev_inference_spec"]], "phylojunction.interface": [[10, 0, 0, "-", "cmdbox"], [11, 0, 0, "-", "grammar"]], "phylojunction.interface.cmdbox": [[10, 0, 0, "-", "cmd_parse"], [10, 0, 0, "-", "cmd_parse_utils"]], "phylojunction.interface.cmdbox.cmd_parse": [[10, 4, 1, "", "cmdline2pgm"], [10, 4, 1, "", "parse_deterministic_function_assignment"], [10, 4, 1, "", "parse_samp_dn_assignment"], [10, 4, 1, "", "parse_variable_assignment"], [10, 4, 1, "", "script2pgm"]], "phylojunction.interface.cmdbox.cmd_parse_utils": [[10, 4, 1, "", "parse_spec"], [10, 4, 1, "", "parse_val_vector"], [10, 4, 1, "", "tokenize_fn_spec"], [10, 4, 1, "", "val_or_obj"]], "phylojunction.interface.grammar": [[11, 0, 0, "-", "det_fn_grammar"], [11, 0, 0, "-", "dn_grammar"]], "phylojunction.interface.grammar.det_fn_grammar": [[11, 1, 1, "", "PJDetFnGrammar"]], "phylojunction.interface.grammar.det_fn_grammar.PJDetFnGrammar": [[11, 3, 1, "", "create_det_fn_obj"], [11, 2, 1, "", "det_fn_grammar_dict"], [11, 3, 1, "", "grammar_check"], [11, 3, 1, "", "init_return_sse_stash"], [11, 3, 1, "", "init_return_state_dep_prob"], [11, 3, 1, "", "init_return_state_dep_rate"]], "phylojunction.interface.grammar.dn_grammar": [[11, 1, 1, "", "PJDnGrammar"]], "phylojunction.interface.grammar.dn_grammar.PJDnGrammar": [[11, 3, 1, "", "create_dn_obj"], [11, 2, 1, "", "dn_grammar_dict"], [11, 3, 1, "", "grammar_check"], [11, 3, 1, "", "init_return_discrete_SSE_dn"]], "phylojunction.pgm": [[12, 0, 0, "-", "pgm"]], "phylojunction.pgm.pgm": [[12, 1, 1, "", "ConstantFn"], [12, 1, 1, "", "DeterministicNodePGM"], [12, 1, 1, "", "DistributionPGM"], [12, 1, 1, "", "NodePGM"], [12, 1, 1, "", "ProbabilisticGraphicalModel"], [12, 1, 1, "", "StochasticNodePGM"], [12, 1, 1, "", "ValueGenerator"], [12, 4, 1, "", "abstract_attribute"], [12, 4, 1, "", "extract_value_from_nodepgm"], [12, 4, 1, "", "plot_blank"], [12, 4, 1, "", "plot_node_histogram"]], "phylojunction.pgm.pgm.ConstantFn": [[12, 5, 1, "", "CT_FN_NAME"]], "phylojunction.pgm.pgm.DeterministicNodePGM": [[12, 3, 1, "", "get_node_stats_str"], [12, 3, 1, "", "plot_node"], [12, 3, 1, "", "populate_operator_weight"]], "phylojunction.pgm.pgm.DistributionPGM": [[12, 5, 1, "", "DN_NAME"]], "phylojunction.pgm.pgm.NodePGM": [[12, 3, 1, "", "get_node_stats_str"], [12, 3, 1, "", "get_start2end_str"], [12, 3, 1, "", "plot_node"], [12, 3, 1, "", "populate_operator_weight"]], "phylojunction.pgm.pgm.ProbabilisticGraphicalModel": [[12, 3, 1, "", "add_node"], [12, 3, 1, "", "get_display_str_by_name"], [12, 3, 1, "", "get_node_pgm_by_name"], [12, 3, 1, "", "get_sorted_node_pgm_list"], [12, 2, 1, "", "n_nodes"], [12, 2, 1, "", "node_dict"], [12, 2, 1, "", "node_name_val_dict"], [12, 2, 1, "", "sample_size"]], "phylojunction.pgm.pgm.StochasticNodePGM": [[12, 3, 1, "", "get_node_stats_str"], [12, 3, 1, "", "get_value"], [12, 3, 1, "", "plot_node"], [12, 3, 1, "", "populate_operator_weight"], [12, 2, 1, "", "random_value"]], "phylojunction.pgm.pgm.ValueGenerator": [[12, 3, 1, "", "generate"], [12, 3, 1, "", "get_rev_inference_spec_info"], [12, 3, 1, "", "n_repl"], [12, 3, 1, "", "n_samples"]], "phylojunction.plotting": [[13, 0, 0, "-", "pj_draw"], [13, 0, 0, "-", "pj_organize"], [13, 0, 0, "-", "pj_seeing_colors"]], "phylojunction.plotting.pj_draw": [[13, 4, 1, "", "plot_intervals"], [13, 4, 1, "", "plot_violins"]], "phylojunction.plotting.pj_organize": [[13, 4, 1, "", "add_within_hpd_col"], [13, 4, 1, "", "join_dataframes"]], "phylojunction.plotting.pj_seeing_colors": [[13, 4, 1, "", "truncate_colormap"]], "phylojunction.readwrite": [[14, 0, 0, "-", "pj_read"], [14, 0, 0, "-", "pj_write"]], "phylojunction.readwrite.pj_read": [[14, 4, 1, "", "is_csv"], [14, 4, 1, "", "parse_cli_str_write_fig"], [14, 4, 1, "", "read_csv_into_dataframe"], [14, 4, 1, "", "read_node_attr_update_tree"], [14, 4, 1, "", "read_nwk_tree_str"], [14, 4, 1, "", "read_serialized_pgm"], [14, 4, 1, "", "read_text_file"]], "phylojunction.readwrite.pj_write": [[14, 4, 1, "", "dump_pgm_data"], [14, 4, 1, "", "dump_serialized_pgm"], [14, 4, 1, "", "get_write_inference_rev_scripts"], [14, 4, 1, "", "initialize_scalar_dataframe"], [14, 4, 1, "", "initialize_tree_dataframe"], [14, 4, 1, "", "prep_data_df"], [14, 4, 1, "", "prep_data_filepaths_dfs"], [14, 4, 1, "", "write_data_df"], [14, 4, 1, "", "write_fig_to_file"], [14, 4, 1, "", "write_str_list"]], "phylojunction.utility": [[15, 0, 0, "-", "exception_classes"], [15, 0, 0, "-", "helper_functions"]], "phylojunction.utility.exception_classes": [[15, 6, 1, "", "AnnotatedTreeLineageMissannotation"], [15, 6, 1, "", "AnnotatedTreeMisspec"], [15, 6, 1, "", "DAGCannotAddNodeError"], [15, 6, 1, "", "DimensionalityError"], [15, 6, 1, "", "DimensionalityWarning"], [15, 6, 1, "", "FunctionArgsMismatchError"], [15, 6, 1, "", "GenerateFailError"], [15, 6, 1, "", "IncorrectDimensionError"], [15, 6, 1, "", "InexistentVariableError"], [15, 6, 1, "", "InvalidMCMCChainLength"], [15, 6, 1, "", "NoPlatingAllowedError"], [15, 6, 1, "", "NodeInferenceDimensionalityError"], [15, 6, 1, "", "NodePGMNodeStatCantFloatError"], [15, 6, 1, "", "NotBetweenZeroAndOneError"], [15, 6, 1, "", "ObjInitIncorrectDimensionError"], [15, 6, 1, "", "ObjInitInvalidArgError"], [15, 6, 1, "", "ObjInitMissingParameterError"], [15, 6, 1, "", "ObjInitMissingStateDependentParameterError"], [15, 6, 1, "", "ObjInitRepeatedStateDependentParameterError"], [15, 6, 1, "", "ObjInitRequireNonZeroStateDependentParameterError"], [15, 6, 1, "", "ObjInitRequireSameParameterTypeError"], [15, 6, 1, "", "PJCLIInvalidInputError"], [15, 6, 1, "", "PJCLISampleOutOfRangeError"], [15, 6, 1, "", "PJIOFileDoesNotExistError"], [15, 6, 1, "", "ParseCtFnInitFailError"], [15, 6, 1, "", "ParseDetFnInitFailError"], [15, 6, 1, "", "ParseDnInitFailError"], [15, 6, 1, "", "ParseFunctionArgError"], [15, 6, 1, "", "ParseInvalidArgumentError"], [15, 6, 1, "", "ParseInvalidNewickStringError"], [15, 6, 1, "", "ParseMissingArgumentError"], [15, 6, 1, "", "ParseMissingParameterError"], [15, 6, 1, "", "ParseMissingSpecificationError"], [15, 6, 1, "", "ParseMutuallyExclusiveParametersError"], [15, 6, 1, "", "ParseNotAParameterError"], [15, 6, 1, "", "ParsePathDoesNotExistError"], [15, 6, 1, "", "ParseRequireIntegerError"], [15, 6, 1, "", "ParseRequireNumericError"], [15, 6, 1, "", "ParseRequirePositiveIntegerError"], [15, 6, 1, "", "ParseRequireSingleValueError"], [15, 6, 1, "", "ReplicateNumberError"], [15, 6, 1, "", "SSEStashMisspec"], [15, 6, 1, "", "ScriptSyntaxError"], [15, 6, 1, "", "StateDependentParameterMisspec"], [15, 6, 1, "", "VariableAssignmentError"], [15, 6, 1, "", "VariableMisspec"]], "phylojunction.utility.exception_classes.AnnotatedTreeLineageMissannotation": [[15, 2, 1, "", "message"]], "phylojunction.utility.exception_classes.AnnotatedTreeMisspec": [[15, 2, 1, "", "message"]], "phylojunction.utility.exception_classes.DAGCannotAddNodeError": [[15, 2, 1, "", "message"]], "phylojunction.utility.exception_classes.DimensionalityError": [[15, 2, 1, "", "dn_name"], [15, 2, 1, "", "message"]], "phylojunction.utility.exception_classes.DimensionalityWarning": [[15, 2, 1, "", "dn_name"], [15, 2, 1, "", "message"], [15, 2, 1, "", "rv_name"]], "phylojunction.utility.exception_classes.FunctionArgsMismatchError": [[15, 2, 1, "", "fn_name"], [15, 2, 1, "", "message"]], "phylojunction.utility.exception_classes.GenerateFailError": [[15, 2, 1, "", "message"]], "phylojunction.utility.exception_classes.IncorrectDimensionError": [[15, 2, 1, "", "container_name"], [15, 2, 1, "", "exp_len"], [15, 2, 1, "", "message"], [15, 2, 1, "", "obs_len"]], "phylojunction.utility.exception_classes.InexistentVariableError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "rv_name"]], "phylojunction.utility.exception_classes.InvalidMCMCChainLength": [[15, 2, 1, "", "message"]], "phylojunction.utility.exception_classes.NoPlatingAllowedError": [[15, 2, 1, "", "det_name"], [15, 2, 1, "", "message"], [15, 2, 1, "", "node_pgm_name"]], "phylojunction.utility.exception_classes.NodeInferenceDimensionalityError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "node_name"]], "phylojunction.utility.exception_classes.NodePGMNodeStatCantFloatError": [[15, 2, 1, "", "message"]], "phylojunction.utility.exception_classes.NotBetweenZeroAndOneError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "par_name"]], "phylojunction.utility.exception_classes.ObjInitIncorrectDimensionError": [[15, 2, 1, "", "at_least"], [15, 2, 1, "", "exp_len"], [15, 2, 1, "", "message"], [15, 2, 1, "", "obj_name"], [15, 2, 1, "", "obs_len"]], "phylojunction.utility.exception_classes.ObjInitInvalidArgError": [[15, 2, 1, "", "dn_name"], [15, 2, 1, "", "message"]], "phylojunction.utility.exception_classes.ObjInitMissingParameterError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "obj_name"]], "phylojunction.utility.exception_classes.ObjInitMissingStateDependentParameterError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "symmetric_diff_str"]], "phylojunction.utility.exception_classes.ObjInitRepeatedStateDependentParameterError": [[15, 2, 1, "", "message"]], "phylojunction.utility.exception_classes.ObjInitRequireNonZeroStateDependentParameterError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "obj_name"]], "phylojunction.utility.exception_classes.ObjInitRequireSameParameterTypeError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "n_diff_par"], [15, 2, 1, "", "obj_name"]], "phylojunction.utility.exception_classes.PJCLIInvalidInputError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "par_name"]], "phylojunction.utility.exception_classes.ParseCtFnInitFailError": [[15, 2, 1, "", "ct_fn_name"], [15, 2, 1, "", "message"]], "phylojunction.utility.exception_classes.ParseDetFnInitFailError": [[15, 2, 1, "", "det_fn_name"], [15, 2, 1, "", "message"]], "phylojunction.utility.exception_classes.ParseDnInitFailError": [[15, 2, 1, "", "dn_name"], [15, 2, 1, "", "message"]], "phylojunction.utility.exception_classes.ParseFunctionArgError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "par_name"]], "phylojunction.utility.exception_classes.ParseInvalidArgumentError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "par_name"]], "phylojunction.utility.exception_classes.ParseInvalidNewickStringError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "par_name"]], "phylojunction.utility.exception_classes.ParseMissingArgumentError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "par_name"]], "phylojunction.utility.exception_classes.ParseMissingParameterError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "par_name"]], "phylojunction.utility.exception_classes.ParseMissingSpecificationError": [[15, 2, 1, "", "message"]], "phylojunction.utility.exception_classes.ParseMutuallyExclusiveParametersError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "mutually_exclusive_par_name"], [15, 2, 1, "", "par_name"]], "phylojunction.utility.exception_classes.ParseNotAParameterError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "par_name"]], "phylojunction.utility.exception_classes.ParsePathDoesNotExistError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "par_name"], [15, 2, 1, "", "path_str"]], "phylojunction.utility.exception_classes.ParseRequireIntegerError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "obj_name"]], "phylojunction.utility.exception_classes.ParseRequireNumericError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "obj_name"]], "phylojunction.utility.exception_classes.ParseRequirePositiveIntegerError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "obj_name"]], "phylojunction.utility.exception_classes.ParseRequireSingleValueError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "obj_name"]], "phylojunction.utility.exception_classes.ReplicateNumberError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "node_name"]], "phylojunction.utility.exception_classes.SSEStashMisspec": [[15, 2, 1, "", "message"]], "phylojunction.utility.exception_classes.ScriptSyntaxError": [[15, 2, 1, "", "cmd_line"], [15, 2, 1, "", "message"]], "phylojunction.utility.exception_classes.StateDependentParameterMisspec": [[15, 2, 1, "", "message"]], "phylojunction.utility.exception_classes.VariableAssignmentError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "rv_name"]], "phylojunction.utility.exception_classes.VariableMisspec": [[15, 2, 1, "", "message"], [15, 2, 1, "", "rv_name"]], "phylojunction.utility.helper_functions": [[15, 4, 1, "", "autovivify"], [15, 4, 1, "", "create_str_defaultdict"], [15, 4, 1, "", "get_ellapsed_time_in_minutes"], [15, 4, 1, "", "is_val_in_interval"], [15, 4, 1, "", "print_progress"], [15, 4, 1, "", "symmetric_difference"], [15, 4, 1, "", "verify_or_convert2_vector"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:method", "4": "py:function", "5": "py:property", "6": "py:exception"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "attribute", "Python attribute"], "3": ["py", "method", "Python method"], "4": ["py", "function", "Python function"], "5": ["py", "property", "Python property"], "6": ["py", "exception", "Python exception"]}, "titleterms": {"phylojunct": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "instal": 1, "configur": 1, "requir": 1, "depend": 1, "typic": 1, "user": [1, 16], "develop": 1, "edit": 1, "mode": 1, "appl": 1, "oper": 1, "system": 1, "linux": 1, "build": 1, "pj": 1, "an": [1, 16], "id": 1, "packag": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "subpackag": [3, 7, 9], "modul": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "content": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "calcul": 4, "submodul": [4, 5, 6, 8, 10, 11, 12, 13, 14, 15], "discrete_ss": 4, "math_util": 4, "data": 5, "attribute_transit": 5, "sampled_ancestor": 5, "tree": 5, "distribut": 6, "dn_discrete_ss": 6, "dn_parametr": 6, "infer": [7, 8], "revbay": 8, "rb_dn_parametr": 8, "rb_infer": 8, "interfac": [9, 10, 11, 16], "cmdbox": 10, "cmd_pars": 10, "cmd_parse_util": 10, "grammar": 11, "det_fn_discrete_ss": 11, "det_fn_grammar": 11, "dn_grammar": 11, "make_dn_discrete_ss": 11, "pgm": 12, "plot": 13, "pj_draw": 13, "pj_organ": 13, "pj_seeing_color": 13, "readwrit": 14, "pj_read": 14, "pj_write": 14, "util": 15, "exception_class": 15, "helper_funct": 15, "document": 16, "overview": 16, "origin": 16, "design": 16, "graphic": 16, "model": 16, "how": 16, "read": 16, "dag": 16, "specifi": 16, "exampl": 16, "multipl": 16, "sampl": 16, "replic": 16, "gui": 16, "command": 16, "line": 16, "cli": 16, "lexicon": 16}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 56}}) \ No newline at end of file +Search.setIndex({"docnames": ["index", "installing", "modules", "phylojunction", "phylojunction.calculation", "phylojunction.data", "phylojunction.distribution", "phylojunction.inference", "phylojunction.inference.revbayes", "phylojunction.interface", "phylojunction.interface.cmdbox", "phylojunction.interface.grammar", "phylojunction.pgm", "phylojunction.plotting", "phylojunction.readwrite", "phylojunction.utility", "pjdoc/index", "pjdoc/parametric"], "filenames": ["index.rst", "installing.rst", "modules.rst", "phylojunction.rst", "phylojunction.calculation.rst", "phylojunction.data.rst", "phylojunction.distribution.rst", "phylojunction.inference.rst", "phylojunction.inference.revbayes.rst", "phylojunction.interface.rst", "phylojunction.interface.cmdbox.rst", "phylojunction.interface.grammar.rst", "phylojunction.pgm.rst", "phylojunction.plotting.rst", "phylojunction.readwrite.rst", "phylojunction.utility.rst", "pjdoc/index.rst", "pjdoc/parametric.rst"], "titles": ["PhyloJunction", "Installing and configuring PhyloJunction", "phylojunction", "phylojunction package", "phylojunction.calculation package", "phylojunction.data package", "phylojunction.distribution package", "phylojunction.inference package", "phylojunction.inference.revbayes package", "phylojunction.interface package", "phylojunction.interface.cmdbox package", "phylojunction.interface.grammar package", "phylojunction.pgm package", "phylojunction.plotting package", "phylojunction.readwrite package", "phylojunction.utility package", "Documentation", "<no title>"], "terms": {"fabio": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "k": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "mend": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "python": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "3": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "dendropi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "msprime": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "numpi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "scipi": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "matplotlib": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "panda": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "pysimplegui": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "visual": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "studio": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "code": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "pycharm": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "java": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "beast": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "2": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "revbay": [0, 1, 2, 3, 4, 5, 6, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17], "c": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17], "pj": [0, 10, 14], "i": [0, 1, 4, 5, 6, 10, 12, 13, 14, 15, 16], "pure": 0, "librari": [0, 1, 16], "design": 0, "framework": [0, 1], "simul": [0, 4, 6, 8, 13, 14, 15, 16], "evolutionari": [0, 16], "model": [0, 8, 10, 14], "summar": [0, 14], "data": [0, 2, 3, 14, 16], "prototyp": [0, 16], "test": [0, 1, 15, 16], "new": [0, 8, 13, 16], "In": [0, 1, 4, 16], "order": [0, 1], "meet": 0, "goal": 0, "implement": [0, 16], "an": [0, 4, 5], "extens": [0, 14], "ecosystem": 0, "pars": [0, 10, 14], "function": [0, 10, 11, 14, 16], "expos": 0, "user": [0, 4, 8, 10, 13, 14], "through": [0, 4, 8, 10, 16], "command": [0, 1, 8, 10, 14], "line": [0, 1, 8, 10, 14], "cli": 0, "graphic": [0, 1, 8, 10, 14], "interfac": [0, 1, 2, 3, 14], "gui": [0, 10], "interact": [0, 1], "normal": [0, 1, 4, 6, 11, 16], "involv": 0, "specifi": [0, 4, 8, 10, 14], "enter": [0, 10], "written": [0, 1, 14, 16], "lowercas": [0, 16], "script": [0, 8, 10, 14, 16], "languag": [0, 16], "after": [0, 1, 12], "sampl": [0, 4, 5, 6, 10, 11, 12, 14], "e": [0, 1, 4, 6, 10, 13, 14, 16], "valu": [0, 4, 5, 6, 10, 11, 12, 13, 14, 15, 16], "each": [0, 4, 5, 6, 8, 10, 14, 16], "variabl": [0, 1, 10, 12, 13, 14, 16], "those": [0, 1, 4, 12, 16], "output": [0, 14, 16], "result": [0, 8, 14, 16], "text": [0, 1, 14, 16], "format": [0, 14, 16], "tabl": 0, "If": [0, 1, 4, 5, 6, 10, 12, 14, 16], "can": [0, 1, 4, 16], "further": [0, 1], "inspect": 0, "summari": [0, 14], "On": [0, 1], "thi": [0, 1, 4, 5, 6, 10, 15, 16], "websit": 0, "you": [0, 1], "find": [0, 1, 16], "instruct": [0, 1, 16], "tutori": 0, "how": [0, 1, 6, 12, 14], "instal": 0, "us": [0, 1, 5, 10, 16], "pleas": 0, "refer": [0, 16], "relev": 0, "section": [0, 1], "document": 0, "help": [0, 16], "question": [0, 16], "bug": 0, "report": 0, "featur": 0, "request": [0, 16], "page": 1, "do": [1, 4, 6, 12, 16], "standard": [1, 16], "so": [1, 5, 10, 16], "its": [1, 6, 16], "suitabl": 1, "who": 1, "want": [1, 4, 6, 16], "custom": 1, "expand": 1, "": [1, 4, 5, 6, 14, 16], "sourc": 1, "integr": 1, "environ": 1, "navig": 1, "For": [1, 4, 16], "most": [1, 6, 16], "part": [1, 14], "ha": [1, 5, 6, 14, 16], "been": [1, 4, 14, 16], "m1": 1, "chip": 1, "machin": 1, "run": 1, "maco": 1, "big": 1, "sur": 1, "though": [1, 16], "period": 1, "ubuntu": 1, "There": [1, 16], "support": [1, 4, 16], "microsoft": 1, "window": [1, 15], "current": [1, 5, 16], "under": [1, 16], "9": 1, "1x": 1, "ad": 1, "soon": 1, "variou": 1, "fortun": 1, "ar": [1, 4, 5, 6, 10, 12, 14, 16], "automat": 1, "manag": [1, 4], "pip": 1, "packag": [1, 2], "shown": [1, 16], "below": [1, 6, 16], "To": 1, "both": [1, 5, 6, 16], "we": [1, 4, 6, 14, 16], "start": [1, 4, 5, 6, 12, 14, 15, 16], "clone": 1, "github": 1, "repositori": 1, "open": 1, "your": 1, "termin": [1, 5, 6], "shell": 1, "go": [1, 5, 6, 10], "directori": [1, 8, 14], "choic": [1, 16], "git": 1, "http": 1, "com": 1, "fkmend": 1, "see": [1, 16], "have": [1, 4, 5, 6, 12, 16], "creat": [1, 8, 10, 11, 16], "root": [1, 4, 5, 6, 14], "folder": 1, "insid": [1, 8, 10, 15], "chose": 1, "some": [1, 4, 16], "might": [1, 4], "know": [1, 6, 16], "setuptool": 1, "when": [1, 4, 6, 10, 12, 16], "being": [1, 10, 11, 14, 16], "local": 1, "type": [1, 4, 6, 8, 10, 11, 13, 14, 15, 16], "conveni": 1, "few": 1, "reason": [1, 5, 16], "first": [1, 4, 16], "copi": [1, 5, 12], "all": [1, 4, 5, 6, 8, 10, 12, 16], "file": [1, 8, 10, 14], "place": [1, 4, 5, 14, 16], "them": 1, "somewher": 1, "instead": [1, 6, 16], "onli": [1, 4, 6, 16], "write": [1, 14, 16], "metadata": 1, "wrapper": 1, "entri": 1, "point": [1, 16], "pjcli": 1, "pjgui": 1, "case": [1, 4, 16], "second": [1, 16], "without": 1, "need": [1, 6, 16], "re": [1, 5], "chang": 1, "effect": [1, 16], "immedi": 1, "next": 1, "import": [1, 16], "call": [1, 4, 8, 10, 11, 16], "becaus": [1, 4], "add": [1, 10, 13], "modul": [1, 2], "path": [1, 5, 10, 14, 16], "pythonpath": 1, "make": [1, 5, 16], "discover": 1, "The": [1, 6, 16], "carri": [1, 8, 16], "out": [1, 8, 13, 16], "from": [1, 4, 5, 6, 8, 10, 14, 16], "like": [1, 16], "python3": 1, "m": [1, 16], "With": [1, 16], "execut": 1, "bin": 1, "wherev": 1, "live": [1, 6], "wa": [1, 10, 16], "homebrew": 1, "exampl": [1, 4], "could": [1, 16], "opt": 1, "version": 1, "flag": [1, 4], "tell": 1, "which": [1, 4, 6, 10, 12, 16], "lib": 1, "site": 1, "__editable__": 1, "0": [1, 4, 5, 6, 10, 12, 13, 14, 15, 16], "1": [1, 4, 5, 6, 8, 10, 12, 13, 14, 15, 16], "pth": 1, "last": [1, 16], "argument": [1, 6, 10, 14, 16], "where": [1, 5, 6, 8, 14, 15, 16], "project": [1, 16], "setup": 1, "py": 1, "access": [1, 4, 10], "deni": 1, "here": [1, 5, 16], "put": [1, 8], "differ": [1, 4, 6, 13, 15, 16], "locat": [1, 6], "user_nam": 1, "note": [1, 4, 5, 16], "abov": [1, 16], "whichev": 1, "name": [1, 4, 8, 10, 11, 13, 14, 16], "A": [1, 4, 10, 14, 16], "third": 1, "option": [1, 4, 5, 6, 8, 11, 12, 13, 14], "work": [1, 4, 16], "altern": [1, 16], "follow": [1, 16], "prefix": [1, 8, 14], "well": [1, 16], "keep": [1, 15], "softwar": 1, "binari": [1, 4, 14], "symbol": 1, "link": 1, "hidden": 1, "doe": [1, 4, 5, 16], "exist": [1, 5, 16], "lastli": 1, "forget": 1, "look": [1, 16], "assum": [1, 5, 16], "defin": [1, 16], "get": [1, 5, 14], "app": 1, "bash_profil": 1, "also": [1, 16], "bashrc": 1, "updat": [1, 10], "environment": 1, "editor": 1, "export": 1, "should": [1, 8, 16], "still": [1, 5], "activ": 1, "session": [1, 14], "must": [1, 12], "save": [1, 14], "close": [1, 16], "todo": 1, "subpackag": 2, "calcul": [2, 3, 15], "submodul": [2, 3, 7, 9], "discrete_ss": [2, 3, 11, 16], "math_util": [2, 3], "content": 2, "attribute_transit": [2, 3], "sampled_ancestor": [2, 3], "tree": [2, 3, 4, 6, 12, 14, 16], "distribut": [2, 3, 10, 11, 16], "dn_discrete_ss": [2, 3], "dn_parametr": [2, 3], "infer": [2, 3, 14, 16], "pgm": [2, 3, 8, 10, 14], "plot": [2, 3, 12, 14], "pj_draw": [2, 3], "pj_organ": [2, 3], "pj_seeing_color": [2, 3], "readwrit": [2, 3], "pj_read": [2, 3], "pj_write": [2, 3], "util": [2, 3], "exception_class": [2, 3], "helper_funct": [2, 3], "rb_dn_parametr": [3, 7], "rb_infer": [3, 7], "cmdbox": [3, 9], "cmd_pars": [3, 9], "cmd_parse_util": [3, 9], "grammar": [3, 9], "det_fn_discrete_ss": [3, 9], "det_fn_grammar": [3, 9], "dn_grammar": [3, 9], "make_dn_discrete_ss": [3, 9], "class": [4, 5, 6, 11, 12, 15], "discretestatedependentparamet": 4, "val": [4, 10, 15], "union": [4, 5, 6, 10, 11, 12, 14, 15], "int": [4, 5, 6, 8, 12, 14, 15], "float": [4, 5, 6, 8, 12, 14, 15], "str": [4, 5, 6, 8, 10, 11, 12, 13, 14, 15], "list": [4, 5, 6, 8, 10, 11, 12, 14, 15], "state": [4, 5, 6, 11, 12, 14], "epoch_idx": 4, "base": [4, 5, 6, 11, 12, 15], "object": [4, 5, 6, 8, 10, 11, 12, 13, 14, 15, 16], "main": [4, 16], "discret": [4, 6, 12], "depend": [4, 5, 6, 16], "paramet": [4, 5, 6, 8, 10, 11, 12, 13, 14, 15, 16], "vector": [4, 10, 16], "discretestatedependentparametermanag": 4, "matrix_state_dep_param": 4, "total_state_count": [4, 5], "seed_age_for_time_sl": 4, "none": [4, 5, 6, 10, 12, 13, 14, 15], "list_time_slice_age_end": 4, "epsilon": [4, 5, 6, 14], "1e": [4, 5, 6, 14], "12": [4, 5, 6, 14], "stash": [4, 11, 16], "time": [4, 5, 6, 12, 14, 15, 16], "slice": [4, 6], "At": [4, 6], "moment": 4, "care": [4, 6], "about": [4, 16], "It": [4, 16], "manipul": 4, "whole": 4, "instanc": [4, 10, 11, 13, 14], "turn": [4, 16], "contain": [4, 8, 10, 11, 13, 14, 16], "multipl": 4, "pass": [4, 14, 16], "later": [4, 5, 11], "seed": [4, 6], "ag": [4, 5, 6, 16], "themselv": 4, "becom": 4, "param_typ": 4, "discretestatedependentparametertyp": 4, "seed_ag": [4, 5, 6, 11], "slice_age_end": [4, 5], "slice_t_end": [4, 5, 6], "state_dep_params_at_tim": 4, "a_tim": 4, "params_matrix": 4, "enum": [4, 15], "enumer": 4, "probabl": [4, 16], "rate": [4, 6, 11, 16], "undefin": 4, "discretestatedependentprob": [4, 11], "state_represent": 4, "discretestatedependentprobabilityhandl": [4, 6], "state_dep_prob_manag": 4, "heterogen": 4, "same": [4, 16], "n_time_slic": [4, 6], "randomly_decide_taxon_sampling_at_time_at_st": 4, "state_idx": 4, "sample_idx": [4, 6, 12], "bool": [4, 5, 6, 8, 10, 11, 12, 13, 14, 15], "state_count": [4, 5, 6], "str_represent": [4, 5], "discretestatedependentr": [4, 11], "event": [4, 5, 6, 11, 16], "macroevolev": 4, "state_tupl": 4, "tupl": [4, 5, 8, 10, 11, 14, 15], "anagenetic_transit": 4, "4": [4, 16], "ancestor_sampl": 4, "5": [4, 6, 16], "asym_speci": 4, "bw_speciat": 4, "extinct": [4, 5, 6, 16], "w_speciat": 4, "macroevoleventhandl": [4, 6], "state_dep_rate_manag": 4, "macroevolutionari": 4, "method": [4, 5, 6, 16], "awar": 4, "value_idx": 4, "directli": [4, 10, 14], "dn_sse": 4, "try": 4, "store": [4, 5, 14, 16], "size": [4, 6, 15], "get_gcf": 4, "get_length": 4, "sample_event_atomic_paramet": 4, "denomin": 4, "state_indic": 4, "a_se": [4, 6], "debug": [4, 6, 16], "fals": [4, 5, 6, 12, 13, 14, 15], "return": [4, 5, 6, 8, 10, 11, 12, 13, 14, 15], "one": [4, 5, 6, 8, 10, 11, 12, 13, 14, 15, 16], "term": [4, 16], "comput": [4, 16], "weight": 4, "take": [4, 6, 16], "condit": [4, 16], "depart": 4, "index": [4, 6, 15], "within": [4, 12], "default": [4, 6, 8, 12, 13, 14], "element": [4, 8, 12, 14], "random": [4, 10, 12, 14, 16], "print": [4, 6, 8, 14, 15], "messag": [4, 6, 15], "total_r": 4, "state_representation_dict": 4, "dict": [4, 5, 6, 8, 10, 11, 12, 14, 15], "set": [4, 6, 8, 11, 15, 16], "departing_st": 4, "total": [4, 5], "either": [4, 6, 11, 14], "ani": [4, 5, 6, 12, 15, 16], "specif": [4, 10, 14, 16], "forward": 4, "recov": 4, "dictionari": [4, 5, 10, 11, 14], "kei": [4, 5, 10, 11, 14], "node": [4, 5, 6, 8, 10, 14, 16], "label": [4, 5, 13, 16], "provid": [4, 6, 10, 13, 14, 16], "global": 4, "otherwis": [4, 14], "ssestash": [4, 6, 11], "macroevol_event_handl": 4, "state_dep_prob_handl": 4, "handler": 4, "get_meh": 4, "get_prob_handl": 4, "meh": 4, "prob_handl": [4, 6], "stateintopatternconvert": 4, "n_charact": 4, "n_states_per_char": 4, "machineri": 4, "check": [4, 5, 10, 14], "convert": [4, 16], "charact": [4, 6, 8], "compound": 4, "bit": 4, "pattern": 4, "vice": 4, "versa": 4, "think": [4, 16], "region": 4, "mean": [4, 6, 10, 11, 13, 16], "rang": [4, 14], "g": [4, 10, 13, 14, 16], "ab": 4, "while": [4, 16], "number": [4, 5, 6, 8, 14, 15, 16], "singl": [4, 14, 16], "speci": 4, "present": 4, "int2set_dict": 4, "n_char": 4, "n_state": [4, 5, 11, 16], "populate_dict": 4, "non": 4, "recurs": [4, 6], "gener": [4, 6, 8, 12, 14, 16], "given": [4, 16], "per": [4, 6, 8, 14], "absent": 4, "set2int_dict": 4, "baseenum": 4, "metaenum": 4, "cl": 4, "classdict": 4, "kwd": 4, "enummeta": 4, "parametricdistribut": 4, "exponenti": [4, 6, 11, 16], "expn": 4, "gamma": [4, 6, 11], "lognorm": [4, 11, 16], "lnormal": 4, "uniform": [4, 6], "exp_extant_count_bd": 4, "birth_rat": [4, 16], "death_rat": [4, 16], "tree_ag": 4, "speciation_k": 4, "expect": 4, "count": [4, 6, 16], "extant": [4, 5], "taxa": [4, 5, 6], "birth": [4, 6, 16], "death": [4, 6, 16], "lambda": 4, "process": [4, 5, 6, 16], "mu": 4, "origin": [4, 5, 6, 11], "th": 4, "speciat": [4, 5, 6, 16], "exp_root_height_yule_ntaxa": 4, "n_taxa": 4, "height": [4, 5, 6], "yule": 4, "up": 4, "tip": [4, 6], "until": [4, 6], "attributetransit": 5, "attr_label": 5, "subtending_node_label": 5, "global_tim": 5, "from_stat": 5, "to_stat": 5, "update_daughter_memb": 5, "daughter_node_label": 5, "daughter_node_tim": 5, "sampledancestor": 5, "lineage_node_label": 5, "time_to_lineage_nod": 5, "annotatedtre": [5, 6, 14], "a_tre": 5, "start_at_origin": [5, 6], "condition_on_obs_both_sides_root": [5, 6], "true": [5, 6, 10, 12, 14, 15, 16], "max_ag": 5, "sa_lineage_dict": 5, "at_dict": 5, "tree_di": 5, "tree_invalid": 5, "read_as_newick_str": 5, "alive_sampled_state_count_dict": 5, "alive_state_count_dict": 5, "brosc_nod": 5, "dead_state_count_dict": 5, "extant_sampled_terminal_nodes_label": 5, "extant_terminal_nodes_label": 5, "extinct_terminal_nodes_label": 5, "extract_reconstructed_tre": 5, "require_obs_both_sid": 5, "deep": 5, "self": 5, "prune": 5, "get_stats_dict": 5, "get_taxon_states_str": 5, "nexu": 5, "has_tree_di": 5, "origin_or_root_nod": 5, "scan": 5, "boolean": 5, "aliv": [5, 6], "member": 5, "dead": [5, 6], "is_extant_or_sa_on_both_sides_complete_tr_root": 5, "a_nod": 5, "least": [5, 6, 16], "taxon": 5, "ancestor": 5, "side": [5, 6, 16], "complet": [5, 6], "befor": [5, 6, 14], "reconstruct": [5, 6], "dummi": 5, "serv": 5, "intern": 5, "parent": 5, "what": [5, 10, 16], "rel": 5, "sinc": 5, "two": [5, 10, 13, 14, 15, 16], "n_extant_sampled_terminal_nod": 5, "n_extant_terminal_nod": 5, "n_extinct_sampled_terminal_nod": 5, "n_extinct_terminal_nod": 5, "n_sa_obs_nod": 5, "name_internal_nod": 5, "no_ev": 5, "node_ages_dict": 5, "node_attr_dict": 5, "node_heights_dict": 5, "obs_count_dict": 5, "origin_ag": 5, "origin_nod": 5, "plot_nod": [5, 12], "ax": [5, 12, 13], "node_attr": 5, "kwarg": 5, "populate_nd_attr_dict": 5, "attrs_of_interest_list": 5, "populate_node_age_height_dict": 5, "unit_branch_length": 5, "popul": [5, 10, 14], "node_height": 5, "prepare_taxon_namespace_for_nexus_print": 5, "prepar": [5, 8, 14], "taxon_namespac": 5, "produc": [5, 16], "remov": 5, "namespac": 5, "affect": 5, "newick": [5, 14], "represent": [5, 16], "recursively_find_node_ag": 5, "running_age_sum": 5, "travel": 5, "wai": 5, "length": [5, 12], "root_ag": 5, "root_nod": 5, "sa_obs_nodes_label": 5, "state_count_dict": 5, "tree_read_as_newick_by_dendropi": 5, "tree_reconstruct": 5, "with_origin": [5, 6], "get_color_map": 5, "integ": [5, 6], "string": [5, 8, 10, 11, 12, 14, 16], "hex": 5, "color": [5, 12, 16], "paint": 5, "branch": [5, 12], "segment": 5, "get_node_nam": 5, "nd": 5, "get_x_coord_from_nd_height": 5, "ann_tr": [5, 14], "use_ag": 5, "x_coord": 5, "annot": [5, 14, 16], "get_y_coord_from_n_obs_nod": 5, "sa_along_branch": 5, "y": [5, 13], "coord": 5, "observ": [5, 6], "everi": [5, 16], "unit": 5, "awai": 5, "other": [5, 16], "sa": 5, "leav": 5, "ignor": 5, "thei": [5, 10, 12, 16], "along": 5, "pj_get_mrca_obs_termin": 5, "nd_label_list": 5, "plot_ann_tre": 5, "attr_of_interest": 5, "dnsse": 6, "sse_stash": [6, 11, 16], "stop_valu": [6, 11, 16], "n": [6, 11, 13, 16], "n_replic": 6, "stop": [6, 11, 16], "start_states_list": 6, "condition_on_speci": 6, "condition_on_surviv": 6, "min_rec_taxa": 6, "max_rec_taxa": 6, "1000000000000": 6, "abort_at_ob": 6, "seeds_list": 6, "runtime_limit": [6, 11], "15": 6, "DistrForSampling": [6, 8, 11, 12, 15], "rise": 6, "tide": 6, "lineag": 6, "grow": 6, "togeth": 6, "mani": [6, 12, 14, 16], "ii": 6, "repres": [6, 10, 16], "would": [6, 16], "itself": 6, "recur": 6, "upon": 6, "hold": [6, 10, 13, 14, 16], "replic": [6, 12, 14], "equal": 6, "stop_condition_valu": 6, "stop_val": 6, "maximum": 6, "start_stat": [6, 11], "n_sim": [6, 8], "obtain": [6, 16], "end": [6, 12, 15], "reject": 6, "reach": 6, "requir": [6, 8, 16], "minimum": 6, "zero": 6, "1e12": 6, "abort": 6, "invalid": 6, "minut": [6, 15], "willing": 6, "wait": 6, "done": 6, "whether": [6, 14, 15], "dn_name": [6, 12, 15], "get_rev_inference_spec_info": [6, 12], "root_is_born": 6, "a_start_st": 6, "a_stop_valu": 6, "One": [6, 8], "dnexponenti": 6, "n_sampl": [6, 8, 12, 15], "n_repl": [6, 12, 14], "scale_or_rate_param": 6, "rate_parameter": [6, 11], "parent_node_track": [6, 8], "static": [6, 10], "draw_exp": 6, "float64": [6, 15], "ndarrai": 6, "draw": [6, 13], "scale": [6, 11], "exp_rate_parameter": [6, 8], "exp_scale_or_rate_list": [6, 8], "param_dict": 6, "vectorized_param": 6, "dngamma": 6, "shape_param": 6, "draw_gamma": 6, "shape": [6, 11], "alpha": 6, "kappa": 6, "sometim": 6, "gamma_rate_parameter": [6, 8], "gamma_scale_or_rate_param_list": [6, 8], "gamma_shape_param_list": [6, 8], "dnlognorm": 6, "ln_mean": 6, "ln_sd": 6, "ln_log_spac": 6, "log": [6, 8, 14, 16], "draw_ln": 6, "mean_param": 6, "sd_param": 6, "log_spac": [6, 11], "space": 6, "std": 6, "deviat": [6, 16], "median": 6, "natur": [6, 16], "ln_mean_list": [6, 8], "ln_sd_list": [6, 8], "dnnormal": 6, "norm_mean_param": 6, "norm_sd_param": 6, "draw_norm": 6, "norm_mean_param_list": [6, 8], "norm_sd_param_list": [6, 8], "dnunif": 6, "min_param": 6, "max_param": 6, "draw_unif": 6, "max_param_list": [6, 8], "min_param_list": [6, 8], "get_exponential_rev_inference_spec_info": 8, "get_gamma_rev_inference_spec_info": 8, "get_ln_rev_inference_spec_info": 8, "get_normal_rev_inference_spec_info": 8, "get_rev_str_from_dn_parametric_obj": 8, "dn_obj": 8, "get_unif_rev_inference_spec_info": 8, "get_mcmc_logging_spec_list": 8, "a_node_pgm_nam": 8, "moves_str": 8, "mcmc_chain_length": 8, "results_dir": 8, "configur": 8, "mcmc": [8, 14], "move": 8, "rev": [8, 14, 16], "probabilist": [8, 10, 14, 16], "dure": 8, "prece": [8, 14], "shall": [8, 16], "pgm_obj_to_rev_inference_spec": 8, "pgm_obj": [8, 10, 14], "probabilisticgraphicalmodel": [8, 10, 12, 14], "inference_root_dir": 8, "1000": 8, "iter": [8, 15], "append": [8, 10], "three": [8, 14], "cmdline2pgm": 10, "cmd_line": [10, 15], "stochast": [10, 14, 16], "via": 10, "noth": 10, "wrong": 10, "parse_deterministic_function_assign": 10, "det_nd_nam": 10, "det_node_fn_spec": 10, "deterministicnodepgm": [10, 12], "oper": [10, 16], "probabilisticgraphiclmodel": 10, "determinist": [10, 11, 12, 16], "initi": [10, 14, 16], "whatev": 10, "right": [10, 16], "parse_samp_dn_assign": 10, "stoch_node_nam": 10, "stoch_node_dn_spec": 10, "parse_variable_assign": 10, "stoch_node_spec": 10, "constant": [10, 16], "practic": 10, "script2pgm": 10, "script_file_path_or_model_spec": 10, "in_pj_fil": 10, "full": [10, 14], "parse_spec": 10, "fn_spec_str": 10, "nodepgm": [10, 11, 12], "parse_val_vector": 10, "vec_str": 10, "assign": [10, 16], "rais": [10, 12, 16], "ec": 10, "scriptsyntaxerror": [10, 15], "more": [10, 13, 16], "than": [10, 16], "squar": [10, 16], "bracket": 10, "thrown": [10, 16], "tokenize_fn_spec": 10, "token": 10, "fn_spec": 10, "appear": 10, "between": [10, 16], "val_or_obj": 10, "a_string_in_quot": 10, "potenti": [10, 16], "latter": 10, "inde": 10, "come": [10, 16], "inexistentvariableerror": [10, 15], "_description_": [10, 12, 13], "quot": 10, "enclos": [10, 16], "pjdetfngrammar": 11, "classmethod": 11, "create_det_fn_obj": 11, "det_fn_id": 11, "det_fn_param_dict": 11, "build": [11, 16], "varieti": 11, "inform": [11, 13, 14], "det_fn_grammar_dict": 11, "sse_prob": 11, "epoch": 11, "sse_rat": [11, 16], "epoch_age_end": 11, "flat_prob_mat": 11, "flat_rate_mat": [11, 16], "n_epoch": [11, 16], "grammar_check": 11, "fn_param": 11, "init_return_sse_stash": 11, "init_return_state_dep_prob": 11, "init_return_state_dep_r": 11, "pjdngrammar": 11, "create_dn_obj": 11, "dn_id": 11, "dn_param_dict": 11, "stochasticnodepgm": [11, 12], "dn_grammar_dict": 11, "nr": [11, 16], "ep": 11, "cond_spn": 11, "cond_surv": 11, "sd": [11, 16], "unif": 11, "min": 11, "max": 11, "dn_param": 11, "init_return_discrete_sse_dn": 11, "constantfn": 12, "valuegener": 12, "abstract": 12, "properti": 12, "ct_fn_name": [12, 15], "node_nam": [12, 15], "call_order_idx": 12, "parent_nod": 12, "get_node_stats_str": 12, "repl_idx": 12, "repl_siz": 12, "branch_attr": 12, "populate_operator_weight": 12, "sample_s": [12, 14], "replicate_s": 12, "clamp": 12, "abc": 12, "get_start2end_str": 12, "is_tre": 12, "add_nod": 12, "node_pgm": 12, "get_display_str_by_nam": 12, "get_node_pgm_by_nam": 12, "get_sorted_node_pgm_list": 12, "n_node": 12, "node_dict": 12, "node_name_val_dict": 12, "sampled_from": 12, "returned_from": 12, "get_valu": 12, "_summary_": [12, 13, 14], "pyplot": 12, "scalar": [12, 14], "attribut": [12, 14], "associ": 12, "random_valu": 12, "abstract_attribut": 12, "obj": 12, "callabl": 12, "r": [12, 16], "extract_value_from_nodepgm": 12, "val_list": 12, "replac": 12, "cast": 12, "field": 12, "cannot": [12, 16], "fi": 12, "except": [12, 15], "plot_blank": 12, "plot_node_histogram": 12, "values_list": 12, "plot_interv": 13, "fig_obj": [13, 14], "figur": [13, 14, 16], "axes_obj": 13, "df": 13, "datafram": [13, 14], "x": [13, 16], "xlab": 13, "ylab": 13, "posterior": [13, 16], "coverag": 13, "plt": 13, "pd": [13, 14], "interv": [13, 15], "axi": 13, "posterior_mean": 13, "ty": [13, 14, 15], "overrid": 13, "plot_violin": 13, "fig": [13, 16], "violin": 13, "factor": [13, 16], "column": [13, 14], "scenario": 13, "add_within_hpd_col": 13, "val_col_nam": 13, "hpd": 13, "input": [13, 14, 16], "join_datafram": 13, "pj_df": 13, "compare_to_df": 13, "thing_to_compar": 13, "summaries_avg_over_repl": [13, 14], "value_to_compar": 13, "truncate_colormap": 13, "cmap": 13, "minval": 13, "maxval": 13, "100": 13, "is_csv": 14, "fp_string": 14, "csv": 14, "read": 14, "parse_cli_str_write_fig": 14, "str_write_fig": 14, "f": 14, "tr": 14, "10": [14, 16], "read_csv_into_datafram": 14, "empti": 14, "read_node_attr_update_tre": 14, "attr_tsv_fp": 14, "attr_nam": 14, "read_nwk_tree_str": 14, "nwk_tree_path_or_str": 14, "fn_name": [14, 15], "read_tre": 14, "in_fil": 14, "node_names_attribut": 14, "read_serialized_pgm": 14, "previou": 14, "read_text_fil": 14, "dump_pgm_data": 14, "dir_str": 14, "write_nex_st": 14, "whose": [14, 15, 16], "extract": 14, "dump_serialized_pgm": 14, "file_nam": 14, "cmd_log_list": 14, "to_fold": 14, "serial": 14, "get_write_inference_rev_script": 14, "all_sims_model_spec_list": 14, "all_sims_mcmc_logging_spec_list": 14, "dir_list": 14, "write2fil": 14, "just": [14, 16], "initialize_scalar_datafram": 14, "independ": [14, 16], "statist": [14, 16], "avg": 14, "st": 14, "dev": 14, "over": 14, "certain": 14, "initialize_tree_datafram": 14, "individu": [14, 16], "prep_data_df": 14, "nex": 14, "suffix": 14, "anoth": 14, "prep_data_filepaths_df": 14, "scalar_output_stash": 14, "tree_output_stash": 14, "These": [14, 16], "param": 14, "filepath": 14, "disk": 14, "write_data_df": 14, "outfile_handl": 14, "io": 14, "data_df": 14, "stream": 14, "frame": 14, "write_fig_to_fil": 14, "outfile_path": 14, "write_str_list": 14, "content_string_list": 14, "annotatedtreelineagemissannot": 15, "annotatedtreemisspec": 15, "dagcannotaddnodeerror": 15, "dimensionalityerror": 15, "dimensionalitywarn": 15, "rv_name": 15, "functionargsmismatcherror": 15, "generatefailerror": 15, "incorrectdimensionerror": 15, "container_nam": 15, "obs_len": 15, "exp_len": 15, "invalidmcmcchainlength": 15, "noplatingallowederror": 15, "det_nam": 15, "problematic_node_pgm_nam": 15, "node_pgm_nam": 15, "nodeinferencedimensionalityerror": 15, "nodepgmnodestatcantfloaterror": 15, "notbetweenzeroandoneerror": 15, "par_nam": 15, "objinitincorrectdimensionerror": 15, "obj_nam": 15, "at_least": 15, "objinitinvalidargerror": 15, "objinitmissingparametererror": 15, "objinitmissingstatedependentparametererror": 15, "epoch_missing_param": 15, "symmetric_diff_set": 15, "symmetric_diff_str": 15, "objinitrepeatedstatedependentparametererror": 15, "epoch_w_repeated_param": 15, "repeated_param": 15, "objinitrequirenonzerostatedependentparametererror": 15, "dimension_idx": 15, "objinitrequiresameparametertypeerror": 15, "n_diff_par": 15, "pjcliinvalidinputerror": 15, "pjclisampleoutofrangeerror": 15, "range_str": 15, "pjiofiledoesnotexisterror": 15, "file_path": 15, "parsectfninitfailerror": 15, "parsedetfninitfailerror": 15, "det_fn_nam": 15, "parsedninitfailerror": 15, "parsefunctionargerror": 15, "parseinvalidargumenterror": 15, "invalid_arg": 15, "parseinvalidnewickstringerror": 15, "parsemissingargumenterror": 15, "arg_nam": 15, "parsemissingparametererror": 15, "parsemissingspecificationerror": 15, "obj2spec_nam": 15, "parsemutuallyexclusiveparameterserror": 15, "mutually_exclusive_par_nam": 15, "parsenotaparametererror": 15, "parsepathdoesnotexisterror": 15, "path_str": 15, "parserequireintegererror": 15, "arg": 15, "parserequirenumericerror": 15, "parserequirepositiveintegererror": 15, "parserequiresinglevalueerror": 15, "replicatenumbererror": 15, "ssestashmisspec": 15, "statedependentparametermisspec": 15, "variableassignmenterror": 15, "variablemisspec": 15, "autovivifi": 15, "level": 15, "final": 15, "defaultdict": 15, "create_str_defaultdict": 15, "get_ellapsed_time_in_minut": 15, "ellaps": 15, "is_val_in_interv": 15, "lower": 15, "upper": 15, "numer": 15, "np": 15, "t": [15, 16], "print_progress": 15, "idx": 15, "iterator_len": 15, "progress": 15, "bar": 15, "longer": 15, "track": 15, "symmetric_differ": 15, "set1": 15, "set2": 15, "symmetr": 15, "among": [15, 16], "verify_or_convert2_vector": 15, "param_list": 15, "size_to_grow": 15, "phylojunct": [16, 17], "born": 16, "our": 16, "arbitrarili": 16, "complex": 16, "sse": 16, "abl": 16, "applic": 16, "seri": 16, "relat": 16, "diversif": 16, "had": 16, "excel": 16, "tool": 16, "made": 16, "uniqu": 16, "assumpt": 16, "relax": 16, "revers": 16, "engin": 16, "modifi": 16, "howev": 16, "seem": 16, "resist": 16, "own": 16, "realiz": 16, "program": 16, "handi": 16, "futur": 16, "off": 16, "chunk": 16, "ideal": 16, "modular": 16, "architectur": 16, "codebas": 16, "allow": 16, "easili": 16, "develop": 16, "seamlessli": 16, "patch": 16, "mind": 16, "bear": 16, "fruit": 16, "faster": 16, "easi": 16, "cross": 16, "platform": 16, "orient": 16, "biologi": 16, "scienc": 16, "were": 16, "avail": 16, "As": 16, "item": 16, "heavi": 16, "great": 16, "maintain": 16, "jeet": 16, "sukumaran": 16, "collabor": 16, "achiev": 16, "around": 16, "past": 16, "flexibl": 16, "paradigm": 16, "popular": 16, "decad": 16, "offer": 16, "brief": 16, "refresh": 16, "simpl": 16, "interest": 16, "detail": 16, "exposit": 16, "h\u00f6hna": 16, "et": 16, "al": 16, "2014": 16, "therein": 16, "amount": 16, "down": 16, "collect": 16, "compris": 16, "bayesian": 16, "network": 16, "suggest": 16, "describ": 16, "graph": 16, "direct": 16, "acycl": 16, "vertex": 16, "edg": 16, "connect": 16, "veri": 16, "seen": 16, "1a": 16, "b": 16, "notat": 16, "theta": 16, "dash": 16, "box": 16, "plate": 16, "envelop": 16, "denot": 16, "precis": 16, "five": 16, "d": 16, "white": 16, "grai": 16, "respect": 16, "pen": 16, "arriv": 16, "joint": 16, "densiti": 16, "continu": 16, "express": 16, "f_": 16, "f_d": 16, "By": 16, "compar": 16, "attent": 16, "reader": 16, "notic": 16, "exactli": 16, "d_1": 16, "d_5": 16, "somehow": 16, "why": 16, "adopt": 16, "1b": 16, "underli": 16, "addit": 16, "fill": 16, "relationship": 16, "explicit": 16, "especi": 16, "give": 16, "u": 16, "boldsymbol": 16, "d_i": 16, "leq": 16, "fact": 16, "form": 16, "stand": 16, "curiou": 16, "complic": 16, "found": 16, "zhang": 16, "2023": 16, "supplementari": 16, "biologist": 16, "step": 16, "estim": 16, "unknown": 16, "quantiti": 16, "world": 16, "Of": 16, "cours": 16, "jointli": 16, "thu": 16, "impli": 16, "bottom": 16, "toward": 16, "approach": 16, "simpli": 16, "middl": 16, "hand": 16, "equat": 16, "solv": 16, "frac": 16, "known": 16, "bay": 16, "theorem": 16, "evalu": 16, "sever": 16, "thing": 16, "rather": 16, "borrow": 16, "jargon": 16, "primarili": 16, "sens": 16, "oppos": 16, "top": 16, "outer": 16, "layer": 16, "flow": 16, "arrow": 16, "downward": 16, "z": 16, "definit": 16, "sit": 16, "commun": 16, "larg": 16, "intersect": 16, "linguaphylo": 16, "syntax": 16, "evok": 16, "But": 16, "unlik": 16, "fulli": 16, "fledg": 16, "lightweight": 16, "behav": 16, "markup": 16, "xml": 16, "mathemat": 16, "statement": 16, "interpret": 16, "homogen": 16, "hyperprior": 16, "dr": 16, "br": 16, "o": 16, "phylogenet": 16, "perman": 16, "spot": 16, "consist": 16, "left": 16, "henceforth": 16, "drawn": 16, "transform": 16, "combin": 16, "And": 16, "instanti": 16, "character": 16, "Such": 16, "diamond": 16, "hollow": 16, "immut": 16, "exclus": 16, "alter": 16, "mutat": 16, "consequ": 16, "preclud": 16, "loop": 16, "control": 16, "structur": 16, "let": 16, "ten": 16, "took": 16, "implicitli": 16, "deal": 16, "discrep": 16, "hood": 16, "error": 16, "greater": 16, "word": 16, "appli": 16, "behavior": 16, "familiar": 16, "entir": 16, "explain": 16, "possibl": 16, "principl": 16, "constraint": 16, "mai": 16, "violat": 16, "signatur": 16}, "objects": {"": [[3, 0, 0, "-", "phylojunction"]], "phylojunction": [[4, 0, 0, "-", "calculation"], [5, 0, 0, "-", "data"], [6, 0, 0, "-", "distribution"], [7, 0, 0, "-", "inference"], [9, 0, 0, "-", "interface"], [12, 0, 0, "-", "pgm"], [13, 0, 0, "-", "plotting"], [14, 0, 0, "-", "readwrite"], [15, 0, 0, "-", "utility"]], "phylojunction.calculation": [[4, 0, 0, "-", "discrete_sse"], [4, 0, 0, "-", "math_utils"]], "phylojunction.calculation.discrete_sse": [[4, 1, 1, "", "DiscreteStateDependentParameter"], [4, 1, 1, "", "DiscreteStateDependentParameterManager"], [4, 1, 1, "", "DiscreteStateDependentParameterType"], [4, 1, 1, "", "DiscreteStateDependentProbability"], [4, 1, 1, "", "DiscreteStateDependentProbabilityHandler"], [4, 1, 1, "", "DiscreteStateDependentRate"], [4, 1, 1, "", "MacroevolEvent"], [4, 1, 1, "", "MacroevolEventHandler"], [4, 1, 1, "", "SSEStash"], [4, 1, 1, "", "StateIntoPatternConverter"]], "phylojunction.calculation.discrete_sse.DiscreteStateDependentParameter": [[4, 2, 1, "", "epoch_idx"], [4, 2, 1, "", "name"], [4, 2, 1, "", "state"], [4, 2, 1, "", "value"]], "phylojunction.calculation.discrete_sse.DiscreteStateDependentParameterManager": [[4, 2, 1, "", "epsilon"], [4, 2, 1, "", "matrix_state_dep_params"], [4, 2, 1, "", "param_type"], [4, 2, 1, "", "seed_age"], [4, 2, 1, "", "slice_age_ends"], [4, 2, 1, "", "slice_t_ends"], [4, 3, 1, "", "state_dep_params_at_time"]], "phylojunction.calculation.discrete_sse.DiscreteStateDependentParameterType": [[4, 2, 1, "", "PROBABILITY"], [4, 2, 1, "", "RATE"], [4, 2, 1, "", "UNDEFINED"]], "phylojunction.calculation.discrete_sse.DiscreteStateDependentProbability": [[4, 2, 1, "", "state_representation"]], "phylojunction.calculation.discrete_sse.DiscreteStateDependentProbabilityHandler": [[4, 2, 1, "", "n_time_slices"], [4, 3, 1, "", "randomly_decide_taxon_sampling_at_time_at_state"], [4, 2, 1, "", "seed_age"], [4, 2, 1, "", "slice_age_ends"], [4, 2, 1, "", "slice_t_ends"], [4, 2, 1, "", "state_count"], [4, 2, 1, "", "state_dep_prob_manager"], [4, 2, 1, "", "str_representation"]], "phylojunction.calculation.discrete_sse.DiscreteStateDependentRate": [[4, 2, 1, "", "state_tuple"]], "phylojunction.calculation.discrete_sse.MacroevolEvent": [[4, 2, 1, "", "ANAGENETIC_TRANSITION"], [4, 2, 1, "", "ANCESTOR_SAMPLING"], [4, 2, 1, "", "ASYM_SPECIATION"], [4, 2, 1, "", "BW_SPECIATION"], [4, 2, 1, "", "EXTINCTION"], [4, 2, 1, "", "W_SPECIATION"]], "phylojunction.calculation.discrete_sse.MacroevolEventHandler": [[4, 3, 1, "", "get_gcf"], [4, 3, 1, "", "get_length"], [4, 2, 1, "", "n_time_slices"], [4, 3, 1, "", "sample_event_atomic_parameter"], [4, 2, 1, "", "seed_age"], [4, 2, 1, "", "slice_age_ends"], [4, 2, 1, "", "slice_t_ends"], [4, 2, 1, "", "state_count"], [4, 2, 1, "", "state_dep_rate_manager"], [4, 2, 1, "", "str_representation"], [4, 3, 1, "", "total_rate"]], "phylojunction.calculation.discrete_sse.SSEStash": [[4, 3, 1, "", "get_meh"], [4, 3, 1, "", "get_prob_handler"], [4, 2, 1, "", "meh"], [4, 2, 1, "", "prob_handler"], [4, 2, 1, "", "str_representation"]], "phylojunction.calculation.discrete_sse.StateIntoPatternConverter": [[4, 2, 1, "", "int2set_dict"], [4, 2, 1, "", "n_char"], [4, 2, 1, "", "n_states"], [4, 2, 1, "", "n_states_per_char"], [4, 3, 1, "", "populate_dicts"], [4, 2, 1, "", "set2int_dict"]], "phylojunction.calculation.math_utils": [[4, 1, 1, "", "BaseEnum"], [4, 1, 1, "", "MetaEnum"], [4, 1, 1, "", "ParametricDistribution"], [4, 4, 1, "", "exp_extant_count_bd"], [4, 4, 1, "", "exp_root_height_yule_ntaxa"]], "phylojunction.calculation.math_utils.ParametricDistribution": [[4, 2, 1, "", "EXPONENTIAL"], [4, 2, 1, "", "GAMMA"], [4, 2, 1, "", "LOGNORMAL"], [4, 2, 1, "", "NORMAL"], [4, 2, 1, "", "UNIFORM"]], "phylojunction.data": [[5, 0, 0, "-", "attribute_transition"], [5, 0, 0, "-", "sampled_ancestor"], [5, 0, 0, "-", "tree"]], "phylojunction.data.attribute_transition": [[5, 1, 1, "", "AttributeTransition"]], "phylojunction.data.attribute_transition.AttributeTransition": [[5, 2, 1, "", "attr_label"], [5, 2, 1, "", "from_state"], [5, 2, 1, "", "global_time"], [5, 2, 1, "", "str_representation"], [5, 2, 1, "", "subtending_node_label"], [5, 2, 1, "", "to_state"], [5, 3, 1, "", "update_daughter_members"]], "phylojunction.data.sampled_ancestor": [[5, 1, 1, "", "SampledAncestor"]], "phylojunction.data.sampled_ancestor.SampledAncestor": [[5, 2, 1, "", "global_time"], [5, 2, 1, "", "label"], [5, 2, 1, "", "lineage_node_label"], [5, 2, 1, "", "str_representation"], [5, 2, 1, "", "time_to_lineage_node"]], "phylojunction.data.tree": [[5, 1, 1, "", "AnnotatedTree"], [5, 4, 1, "", "get_color_map"], [5, 4, 1, "", "get_node_name"], [5, 4, 1, "", "get_x_coord_from_nd_heights"], [5, 4, 1, "", "get_y_coord_from_n_obs_nodes"], [5, 4, 1, "", "pj_get_mrca_obs_terminals"], [5, 4, 1, "", "plot_ann_tree"]], "phylojunction.data.tree.AnnotatedTree": [[5, 2, 1, "", "alive_sampled_state_count_dict"], [5, 2, 1, "", "alive_state_count_dict"], [5, 2, 1, "", "at_dict"], [5, 2, 1, "", "brosc_node"], [5, 2, 1, "", "condition_on_obs_both_sides_root"], [5, 2, 1, "", "dead_state_count_dict"], [5, 2, 1, "", "epsilon"], [5, 2, 1, "", "extant_sampled_terminal_nodes_labels"], [5, 2, 1, "", "extant_terminal_nodes_labels"], [5, 2, 1, "", "extinct_terminal_nodes_labels"], [5, 3, 1, "", "extract_reconstructed_tree"], [5, 3, 1, "", "get_stats_dict"], [5, 3, 1, "", "get_taxon_states_str"], [5, 3, 1, "", "has_tree_died"], [5, 3, 1, "", "is_extant_or_sa_on_both_sides_complete_tr_root"], [5, 2, 1, "", "max_age"], [5, 2, 1, "", "n_extant_sampled_terminal_nodes"], [5, 2, 1, "", "n_extant_terminal_nodes"], [5, 2, 1, "", "n_extinct_sampled_terminal_nodes"], [5, 2, 1, "", "n_extinct_terminal_nodes"], [5, 2, 1, "", "n_sa_obs_nodes"], [5, 3, 1, "", "name_internal_nodes"], [5, 2, 1, "", "no_event"], [5, 2, 1, "", "node_ages_dict"], [5, 2, 1, "", "node_attr_dict"], [5, 2, 1, "", "node_heights_dict"], [5, 2, 1, "", "obs_count_dict"], [5, 2, 1, "", "origin_age"], [5, 2, 1, "", "origin_node"], [5, 3, 1, "", "plot_node"], [5, 3, 1, "", "populate_nd_attr_dict"], [5, 3, 1, "", "populate_node_age_height_dicts"], [5, 3, 1, "", "prepare_taxon_namespace_for_nexus_printing"], [5, 3, 1, "", "recursively_find_node_age"], [5, 2, 1, "", "root_age"], [5, 2, 1, "", "root_node"], [5, 2, 1, "", "sa_lineage_dict"], [5, 2, 1, "", "sa_obs_nodes_labels"], [5, 2, 1, "", "seed_age"], [5, 2, 1, "", "slice_age_ends"], [5, 2, 1, "", "slice_t_ends"], [5, 2, 1, "", "state_count"], [5, 2, 1, "", "state_count_dict"], [5, 2, 1, "", "tree"], [5, 2, 1, "", "tree_died"], [5, 2, 1, "", "tree_invalid"], [5, 2, 1, "", "tree_read_as_newick_by_dendropy"], [5, 2, 1, "", "tree_reconstructed"], [5, 2, 1, "", "with_origin"]], "phylojunction.distribution": [[6, 0, 0, "-", "dn_discrete_sse"], [6, 0, 0, "-", "dn_parametric"]], "phylojunction.distribution.dn_discrete_sse": [[6, 1, 1, "", "DnSSE"]], "phylojunction.distribution.dn_discrete_sse.DnSSE": [[6, 2, 1, "", "DN_NAME"], [6, 2, 1, "id0", "abort_at_obs"], [6, 2, 1, "id1", "condition_on_obs_both_sides_root"], [6, 2, 1, "id2", "condition_on_speciation"], [6, 2, 1, "id3", "condition_on_survival"], [6, 2, 1, "id4", "debug"], [6, 2, 1, "id5", "epsilon"], [6, 2, 1, "", "events"], [6, 3, 1, "", "generate"], [6, 3, 1, "", "get_rev_inference_spec_info"], [6, 2, 1, "id6", "max_rec_taxa"], [6, 2, 1, "id7", "min_rec_taxa"], [6, 2, 1, "", "n"], [6, 2, 1, "", "n_replicates"], [6, 2, 1, "", "n_sim"], [6, 2, 1, "id8", "n_time_slices"], [6, 2, 1, "", "prob_handler"], [6, 2, 1, "", "root_is_born"], [6, 2, 1, "id9", "runtime_limit"], [6, 2, 1, "", "seed_age"], [6, 2, 1, "", "seeds"], [6, 3, 1, "", "simulate"], [6, 2, 1, "id10", "slice_t_ends"], [6, 2, 1, "id11", "sse_stash"], [6, 2, 1, "", "start_at_origin"], [6, 2, 1, "id12", "start_states"], [6, 2, 1, "id13", "state_count"], [6, 2, 1, "id14", "stop"], [6, 2, 1, "id15", "stop_val"], [6, 2, 1, "", "with_origin"]], "phylojunction.distribution.dn_parametric": [[6, 1, 1, "", "DnExponential"], [6, 1, 1, "", "DnGamma"], [6, 1, 1, "", "DnLogNormal"], [6, 1, 1, "", "DnNormal"], [6, 1, 1, "", "DnUnif"]], "phylojunction.distribution.dn_parametric.DnExponential": [[6, 2, 1, "", "DN_NAME"], [6, 3, 1, "", "draw_exp"], [6, 2, 1, "", "exp_rate_parameterization"], [6, 2, 1, "", "exp_scale_or_rate_list"], [6, 3, 1, "", "generate"], [6, 3, 1, "", "get_rev_inference_spec_info"], [6, 2, 1, "", "param_dict"], [6, 2, 1, "", "parent_node_tracker"], [6, 2, 1, "", "vectorized_params"]], "phylojunction.distribution.dn_parametric.DnGamma": [[6, 2, 1, "", "DN_NAME"], [6, 3, 1, "", "draw_gamma"], [6, 2, 1, "", "gamma_rate_parameterization"], [6, 2, 1, "", "gamma_scale_or_rate_param_list"], [6, 2, 1, "", "gamma_shape_param_list"], [6, 3, 1, "", "generate"], [6, 3, 1, "", "get_rev_inference_spec_info"], [6, 2, 1, "", "param_dict"], [6, 2, 1, "", "parent_node_tracker"], [6, 2, 1, "", "vectorized_params"]], "phylojunction.distribution.dn_parametric.DnLogNormal": [[6, 2, 1, "", "DN_NAME"], [6, 3, 1, "", "draw_ln"], [6, 3, 1, "", "generate"], [6, 3, 1, "", "get_rev_inference_spec_info"], [6, 2, 1, "", "ln_log_space"], [6, 2, 1, "", "ln_mean_list"], [6, 2, 1, "", "ln_sd_list"], [6, 2, 1, "", "param_dict"], [6, 2, 1, "", "parent_node_tracker"], [6, 2, 1, "", "vectorized_params"]], "phylojunction.distribution.dn_parametric.DnNormal": [[6, 2, 1, "", "DN_NAME"], [6, 3, 1, "", "draw_normal"], [6, 3, 1, "", "generate"], [6, 3, 1, "", "get_rev_inference_spec_info"], [6, 2, 1, "", "norm_mean_param_list"], [6, 2, 1, "", "norm_sd_param_list"], [6, 2, 1, "", "param_dict"], [6, 2, 1, "", "parent_node_tracker"], [6, 2, 1, "", "vectorized_params"]], "phylojunction.distribution.dn_parametric.DnUnif": [[6, 2, 1, "", "DN_NAME"], [6, 3, 1, "", "draw_unif"], [6, 3, 1, "", "generate"], [6, 3, 1, "", "get_rev_inference_spec_info"], [6, 2, 1, "", "max_param_list"], [6, 2, 1, "", "min_param_list"], [6, 2, 1, "", "param_dict"], [6, 2, 1, "", "parent_node_tracker"], [6, 2, 1, "", "vectorized_params"]], "phylojunction.inference": [[8, 0, 0, "-", "revbayes"]], "phylojunction.inference.revbayes": [[8, 0, 0, "-", "rb_dn_parametric"], [8, 0, 0, "-", "rb_inference"]], "phylojunction.inference.revbayes.rb_dn_parametric": [[8, 4, 1, "", "get_exponential_rev_inference_spec_info"], [8, 4, 1, "", "get_gamma_rev_inference_spec_info"], [8, 4, 1, "", "get_ln_rev_inference_spec_info"], [8, 4, 1, "", "get_normal_rev_inference_spec_info"], [8, 4, 1, "", "get_rev_str_from_dn_parametric_obj"], [8, 4, 1, "", "get_unif_rev_inference_spec_info"]], "phylojunction.inference.revbayes.rb_inference": [[8, 4, 1, "", "get_mcmc_logging_spec_list"], [8, 4, 1, "", "pgm_obj_to_rev_inference_spec"]], "phylojunction.interface": [[10, 0, 0, "-", "cmdbox"], [11, 0, 0, "-", "grammar"]], "phylojunction.interface.cmdbox": [[10, 0, 0, "-", "cmd_parse"], [10, 0, 0, "-", "cmd_parse_utils"]], "phylojunction.interface.cmdbox.cmd_parse": [[10, 4, 1, "", "cmdline2pgm"], [10, 4, 1, "", "parse_deterministic_function_assignment"], [10, 4, 1, "", "parse_samp_dn_assignment"], [10, 4, 1, "", "parse_variable_assignment"], [10, 4, 1, "", "script2pgm"]], "phylojunction.interface.cmdbox.cmd_parse_utils": [[10, 4, 1, "", "parse_spec"], [10, 4, 1, "", "parse_val_vector"], [10, 4, 1, "", "tokenize_fn_spec"], [10, 4, 1, "", "val_or_obj"]], "phylojunction.interface.grammar": [[11, 0, 0, "-", "det_fn_grammar"], [11, 0, 0, "-", "dn_grammar"]], "phylojunction.interface.grammar.det_fn_grammar": [[11, 1, 1, "", "PJDetFnGrammar"]], "phylojunction.interface.grammar.det_fn_grammar.PJDetFnGrammar": [[11, 3, 1, "", "create_det_fn_obj"], [11, 2, 1, "", "det_fn_grammar_dict"], [11, 3, 1, "", "grammar_check"], [11, 3, 1, "", "init_return_sse_stash"], [11, 3, 1, "", "init_return_state_dep_prob"], [11, 3, 1, "", "init_return_state_dep_rate"]], "phylojunction.interface.grammar.dn_grammar": [[11, 1, 1, "", "PJDnGrammar"]], "phylojunction.interface.grammar.dn_grammar.PJDnGrammar": [[11, 3, 1, "", "create_dn_obj"], [11, 2, 1, "", "dn_grammar_dict"], [11, 3, 1, "", "grammar_check"], [11, 3, 1, "", "init_return_discrete_SSE_dn"]], "phylojunction.pgm": [[12, 0, 0, "-", "pgm"]], "phylojunction.pgm.pgm": [[12, 1, 1, "", "ConstantFn"], [12, 1, 1, "", "DeterministicNodePGM"], [12, 1, 1, "", "DistrForSampling"], [12, 1, 1, "", "NodePGM"], [12, 1, 1, "", "ProbabilisticGraphicalModel"], [12, 1, 1, "", "StochasticNodePGM"], [12, 1, 1, "", "ValueGenerator"], [12, 4, 1, "", "abstract_attribute"], [12, 4, 1, "", "extract_value_from_nodepgm"], [12, 4, 1, "", "plot_blank"], [12, 4, 1, "", "plot_node_histogram"]], "phylojunction.pgm.pgm.ConstantFn": [[12, 5, 1, "", "CT_FN_NAME"]], "phylojunction.pgm.pgm.DeterministicNodePGM": [[12, 3, 1, "", "get_node_stats_str"], [12, 3, 1, "", "plot_node"], [12, 3, 1, "", "populate_operator_weight"]], "phylojunction.pgm.pgm.DistrForSampling": [[12, 5, 1, "", "DN_NAME"]], "phylojunction.pgm.pgm.NodePGM": [[12, 3, 1, "", "get_node_stats_str"], [12, 3, 1, "", "get_start2end_str"], [12, 3, 1, "", "plot_node"], [12, 3, 1, "", "populate_operator_weight"]], "phylojunction.pgm.pgm.ProbabilisticGraphicalModel": [[12, 3, 1, "", "add_node"], [12, 3, 1, "", "get_display_str_by_name"], [12, 3, 1, "", "get_node_pgm_by_name"], [12, 3, 1, "", "get_sorted_node_pgm_list"], [12, 2, 1, "", "n_nodes"], [12, 2, 1, "", "node_dict"], [12, 2, 1, "", "node_name_val_dict"], [12, 2, 1, "", "sample_size"]], "phylojunction.pgm.pgm.StochasticNodePGM": [[12, 3, 1, "", "get_node_stats_str"], [12, 3, 1, "", "get_value"], [12, 3, 1, "", "plot_node"], [12, 3, 1, "", "populate_operator_weight"], [12, 2, 1, "", "random_value"]], "phylojunction.pgm.pgm.ValueGenerator": [[12, 3, 1, "", "generate"], [12, 3, 1, "", "get_rev_inference_spec_info"], [12, 3, 1, "", "n_repl"], [12, 3, 1, "", "n_samples"]], "phylojunction.plotting": [[13, 0, 0, "-", "pj_draw"], [13, 0, 0, "-", "pj_organize"], [13, 0, 0, "-", "pj_seeing_colors"]], "phylojunction.plotting.pj_draw": [[13, 4, 1, "", "plot_intervals"], [13, 4, 1, "", "plot_violins"]], "phylojunction.plotting.pj_organize": [[13, 4, 1, "", "add_within_hpd_col"], [13, 4, 1, "", "join_dataframes"]], "phylojunction.plotting.pj_seeing_colors": [[13, 4, 1, "", "truncate_colormap"]], "phylojunction.readwrite": [[14, 0, 0, "-", "pj_read"], [14, 0, 0, "-", "pj_write"]], "phylojunction.readwrite.pj_read": [[14, 4, 1, "", "is_csv"], [14, 4, 1, "", "parse_cli_str_write_fig"], [14, 4, 1, "", "read_csv_into_dataframe"], [14, 4, 1, "", "read_node_attr_update_tree"], [14, 4, 1, "", "read_nwk_tree_str"], [14, 4, 1, "", "read_serialized_pgm"], [14, 4, 1, "", "read_text_file"]], "phylojunction.readwrite.pj_write": [[14, 4, 1, "", "dump_pgm_data"], [14, 4, 1, "", "dump_serialized_pgm"], [14, 4, 1, "", "get_write_inference_rev_scripts"], [14, 4, 1, "", "initialize_scalar_dataframe"], [14, 4, 1, "", "initialize_tree_dataframe"], [14, 4, 1, "", "prep_data_df"], [14, 4, 1, "", "prep_data_filepaths_dfs"], [14, 4, 1, "", "write_data_df"], [14, 4, 1, "", "write_fig_to_file"], [14, 4, 1, "", "write_str_list"]], "phylojunction.utility": [[15, 0, 0, "-", "exception_classes"], [15, 0, 0, "-", "helper_functions"]], "phylojunction.utility.exception_classes": [[15, 6, 1, "", "AnnotatedTreeLineageMissannotation"], [15, 6, 1, "", "AnnotatedTreeMisspec"], [15, 6, 1, "", "DAGCannotAddNodeError"], [15, 6, 1, "", "DimensionalityError"], [15, 6, 1, "", "DimensionalityWarning"], [15, 6, 1, "", "FunctionArgsMismatchError"], [15, 6, 1, "", "GenerateFailError"], [15, 6, 1, "", "IncorrectDimensionError"], [15, 6, 1, "", "InexistentVariableError"], [15, 6, 1, "", "InvalidMCMCChainLength"], [15, 6, 1, "", "NoPlatingAllowedError"], [15, 6, 1, "", "NodeInferenceDimensionalityError"], [15, 6, 1, "", "NodePGMNodeStatCantFloatError"], [15, 6, 1, "", "NotBetweenZeroAndOneError"], [15, 6, 1, "", "ObjInitIncorrectDimensionError"], [15, 6, 1, "", "ObjInitInvalidArgError"], [15, 6, 1, "", "ObjInitMissingParameterError"], [15, 6, 1, "", "ObjInitMissingStateDependentParameterError"], [15, 6, 1, "", "ObjInitRepeatedStateDependentParameterError"], [15, 6, 1, "", "ObjInitRequireNonZeroStateDependentParameterError"], [15, 6, 1, "", "ObjInitRequireSameParameterTypeError"], [15, 6, 1, "", "PJCLIInvalidInputError"], [15, 6, 1, "", "PJCLISampleOutOfRangeError"], [15, 6, 1, "", "PJIOFileDoesNotExistError"], [15, 6, 1, "", "ParseCtFnInitFailError"], [15, 6, 1, "", "ParseDetFnInitFailError"], [15, 6, 1, "", "ParseDnInitFailError"], [15, 6, 1, "", "ParseFunctionArgError"], [15, 6, 1, "", "ParseInvalidArgumentError"], [15, 6, 1, "", "ParseInvalidNewickStringError"], [15, 6, 1, "", "ParseMissingArgumentError"], [15, 6, 1, "", "ParseMissingParameterError"], [15, 6, 1, "", "ParseMissingSpecificationError"], [15, 6, 1, "", "ParseMutuallyExclusiveParametersError"], [15, 6, 1, "", "ParseNotAParameterError"], [15, 6, 1, "", "ParsePathDoesNotExistError"], [15, 6, 1, "", "ParseRequireIntegerError"], [15, 6, 1, "", "ParseRequireNumericError"], [15, 6, 1, "", "ParseRequirePositiveIntegerError"], [15, 6, 1, "", "ParseRequireSingleValueError"], [15, 6, 1, "", "ReplicateNumberError"], [15, 6, 1, "", "SSEStashMisspec"], [15, 6, 1, "", "ScriptSyntaxError"], [15, 6, 1, "", "StateDependentParameterMisspec"], [15, 6, 1, "", "VariableAssignmentError"], [15, 6, 1, "", "VariableMisspec"]], "phylojunction.utility.exception_classes.AnnotatedTreeLineageMissannotation": [[15, 2, 1, "", "message"]], "phylojunction.utility.exception_classes.AnnotatedTreeMisspec": [[15, 2, 1, "", "message"]], "phylojunction.utility.exception_classes.DAGCannotAddNodeError": [[15, 2, 1, "", "message"]], "phylojunction.utility.exception_classes.DimensionalityError": [[15, 2, 1, "", "dn_name"], [15, 2, 1, "", "message"]], "phylojunction.utility.exception_classes.DimensionalityWarning": [[15, 2, 1, "", "dn_name"], [15, 2, 1, "", "message"], [15, 2, 1, "", "rv_name"]], "phylojunction.utility.exception_classes.FunctionArgsMismatchError": [[15, 2, 1, "", "fn_name"], [15, 2, 1, "", "message"]], "phylojunction.utility.exception_classes.GenerateFailError": [[15, 2, 1, "", "message"]], "phylojunction.utility.exception_classes.IncorrectDimensionError": [[15, 2, 1, "", "container_name"], [15, 2, 1, "", "exp_len"], [15, 2, 1, "", "message"], [15, 2, 1, "", "obs_len"]], "phylojunction.utility.exception_classes.InexistentVariableError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "rv_name"]], "phylojunction.utility.exception_classes.InvalidMCMCChainLength": [[15, 2, 1, "", "message"]], "phylojunction.utility.exception_classes.NoPlatingAllowedError": [[15, 2, 1, "", "det_name"], [15, 2, 1, "", "message"], [15, 2, 1, "", "node_pgm_name"]], "phylojunction.utility.exception_classes.NodeInferenceDimensionalityError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "node_name"]], "phylojunction.utility.exception_classes.NodePGMNodeStatCantFloatError": [[15, 2, 1, "", "message"]], "phylojunction.utility.exception_classes.NotBetweenZeroAndOneError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "par_name"]], "phylojunction.utility.exception_classes.ObjInitIncorrectDimensionError": [[15, 2, 1, "", "at_least"], [15, 2, 1, "", "exp_len"], [15, 2, 1, "", "message"], [15, 2, 1, "", "obj_name"], [15, 2, 1, "", "obs_len"]], "phylojunction.utility.exception_classes.ObjInitInvalidArgError": [[15, 2, 1, "", "dn_name"], [15, 2, 1, "", "message"]], "phylojunction.utility.exception_classes.ObjInitMissingParameterError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "obj_name"]], "phylojunction.utility.exception_classes.ObjInitMissingStateDependentParameterError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "symmetric_diff_str"]], "phylojunction.utility.exception_classes.ObjInitRepeatedStateDependentParameterError": [[15, 2, 1, "", "message"]], "phylojunction.utility.exception_classes.ObjInitRequireNonZeroStateDependentParameterError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "obj_name"]], "phylojunction.utility.exception_classes.ObjInitRequireSameParameterTypeError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "n_diff_par"], [15, 2, 1, "", "obj_name"]], "phylojunction.utility.exception_classes.PJCLIInvalidInputError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "par_name"]], "phylojunction.utility.exception_classes.ParseCtFnInitFailError": [[15, 2, 1, "", "ct_fn_name"], [15, 2, 1, "", "message"]], "phylojunction.utility.exception_classes.ParseDetFnInitFailError": [[15, 2, 1, "", "det_fn_name"], [15, 2, 1, "", "message"]], "phylojunction.utility.exception_classes.ParseDnInitFailError": [[15, 2, 1, "", "dn_name"], [15, 2, 1, "", "message"]], "phylojunction.utility.exception_classes.ParseFunctionArgError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "par_name"]], "phylojunction.utility.exception_classes.ParseInvalidArgumentError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "par_name"]], "phylojunction.utility.exception_classes.ParseInvalidNewickStringError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "par_name"]], "phylojunction.utility.exception_classes.ParseMissingArgumentError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "par_name"]], "phylojunction.utility.exception_classes.ParseMissingParameterError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "par_name"]], "phylojunction.utility.exception_classes.ParseMissingSpecificationError": [[15, 2, 1, "", "message"]], "phylojunction.utility.exception_classes.ParseMutuallyExclusiveParametersError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "mutually_exclusive_par_name"], [15, 2, 1, "", "par_name"]], "phylojunction.utility.exception_classes.ParseNotAParameterError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "par_name"]], "phylojunction.utility.exception_classes.ParsePathDoesNotExistError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "par_name"], [15, 2, 1, "", "path_str"]], "phylojunction.utility.exception_classes.ParseRequireIntegerError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "obj_name"]], "phylojunction.utility.exception_classes.ParseRequireNumericError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "obj_name"]], "phylojunction.utility.exception_classes.ParseRequirePositiveIntegerError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "obj_name"]], "phylojunction.utility.exception_classes.ParseRequireSingleValueError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "obj_name"]], "phylojunction.utility.exception_classes.ReplicateNumberError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "node_name"]], "phylojunction.utility.exception_classes.SSEStashMisspec": [[15, 2, 1, "", "message"]], "phylojunction.utility.exception_classes.ScriptSyntaxError": [[15, 2, 1, "", "cmd_line"], [15, 2, 1, "", "message"]], "phylojunction.utility.exception_classes.StateDependentParameterMisspec": [[15, 2, 1, "", "message"]], "phylojunction.utility.exception_classes.VariableAssignmentError": [[15, 2, 1, "", "message"], [15, 2, 1, "", "rv_name"]], "phylojunction.utility.exception_classes.VariableMisspec": [[15, 2, 1, "", "message"], [15, 2, 1, "", "rv_name"]], "phylojunction.utility.helper_functions": [[15, 4, 1, "", "autovivify"], [15, 4, 1, "", "create_str_defaultdict"], [15, 4, 1, "", "get_ellapsed_time_in_minutes"], [15, 4, 1, "", "is_val_in_interval"], [15, 4, 1, "", "print_progress"], [15, 4, 1, "", "symmetric_difference"], [15, 4, 1, "", "verify_or_convert2_vector"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:attribute", "3": "py:method", "4": "py:function", "5": "py:property", "6": "py:exception"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "attribute", "Python attribute"], "3": ["py", "method", "Python method"], "4": ["py", "function", "Python function"], "5": ["py", "property", "Python property"], "6": ["py", "exception", "Python exception"]}, "titleterms": {"phylojunct": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "instal": 1, "configur": 1, "requir": 1, "depend": 1, "typic": 1, "user": [1, 16], "develop": 1, "edit": 1, "mode": 1, "appl": 1, "oper": 1, "system": 1, "linux": 1, "build": 1, "pj": 1, "an": [1, 16], "id": 1, "packag": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "subpackag": [3, 7, 9], "modul": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "content": [3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], "calcul": 4, "submodul": [4, 5, 6, 8, 10, 11, 12, 13, 14, 15], "discrete_ss": 4, "math_util": 4, "data": 5, "attribute_transit": 5, "sampled_ancestor": 5, "tree": 5, "distribut": 6, "dn_discrete_ss": 6, "dn_parametr": 6, "infer": [7, 8], "revbay": 8, "rb_dn_parametr": 8, "rb_infer": 8, "interfac": [9, 10, 11, 16], "cmdbox": 10, "cmd_pars": 10, "cmd_parse_util": 10, "grammar": 11, "det_fn_discrete_ss": 11, "det_fn_grammar": 11, "dn_grammar": 11, "make_dn_discrete_ss": 11, "pgm": 12, "plot": 13, "pj_draw": 13, "pj_organ": 13, "pj_seeing_color": 13, "readwrit": 14, "pj_read": 14, "pj_write": 14, "util": 15, "exception_class": 15, "helper_funct": 15, "document": 16, "overview": 16, "origin": 16, "design": 16, "graphic": 16, "model": 16, "how": 16, "read": 16, "dag": 16, "specifi": 16, "exampl": 16, "multipl": 16, "sampl": 16, "replic": 16, "gui": 16, "command": 16, "line": 16, "cli": 16, "lexicon": 16}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx": 56}}) \ No newline at end of file diff --git a/src/phylojunction/distribution/dn_discrete_sse.py b/src/phylojunction/distribution/dn_discrete_sse.py index 2bc196f..c7bc0db 100644 --- a/src/phylojunction/distribution/dn_discrete_sse.py +++ b/src/phylojunction/distribution/dn_discrete_sse.py @@ -20,7 +20,7 @@ __email__ = "f.mendes@wustl.edu" -class DnSSE(pgm.DistributionPGM): +class DnSSE(pgm.DistrForSampling): """Discrete SSE distribution. Class for the discrete state-dependent speciation and extinction diff --git a/src/phylojunction/distribution/dn_discrete_sse.pyi b/src/phylojunction/distribution/dn_discrete_sse.pyi index 3242fda..fbd1b9c 100644 --- a/src/phylojunction/distribution/dn_discrete_sse.pyi +++ b/src/phylojunction/distribution/dn_discrete_sse.pyi @@ -11,7 +11,7 @@ from phylojunction.data.sampled_ancestor \ from phylojunction.data.attribute_transition \ import AttributeTransition # type: ignore -class DnSSE(pgm.DistributionPGM): +class DnSSE(pgm.DistrForSampling): DN_NAME = "DnSSE" n_sim: int n_repl: int diff --git a/src/phylojunction/distribution/dn_parametric.py b/src/phylojunction/distribution/dn_parametric.py index e53f66f..f1320b7 100644 --- a/src/phylojunction/distribution/dn_parametric.py +++ b/src/phylojunction/distribution/dn_parametric.py @@ -15,7 +15,7 @@ __email__ = "f.mendes@wustl.edu" -class DnLogNormal(pgm.DistributionPGM): +class DnLogNormal(pgm.DistrForSampling): DN_NAME = "Log-normal" @@ -166,7 +166,7 @@ def get_rev_inference_spec_info(self) -> ty.List[str]: self.parent_node_tracker) -class DnNormal(pgm.DistributionPGM): +class DnNormal(pgm.DistrForSampling): DN_NAME = "Normal" @@ -302,7 +302,7 @@ def get_rev_inference_spec_info(self) -> ty.List[str]: self.parent_node_tracker) -class DnExponential(pgm.DistributionPGM): +class DnExponential(pgm.DistrForSampling): DN_NAME = "Exponential" @@ -424,7 +424,7 @@ def get_rev_inference_spec_info(self) -> ty.List[str]: self.parent_node_tracker) -class DnGamma(pgm.DistributionPGM): +class DnGamma(pgm.DistrForSampling): DN_NAME = "Gamma" @@ -565,7 +565,7 @@ def get_rev_inference_spec_info(self) -> ty.List[str]: self.parent_node_tracker) -class DnUnif(pgm.DistributionPGM): +class DnUnif(pgm.DistrForSampling): DN_NAME = "Uniform" diff --git a/src/phylojunction/distribution/dn_parametric.pyi b/src/phylojunction/distribution/dn_parametric.pyi index 765f6e0..1090e1d 100644 --- a/src/phylojunction/distribution/dn_parametric.pyi +++ b/src/phylojunction/distribution/dn_parametric.pyi @@ -4,7 +4,7 @@ import typing as ty # pj imports import phylojunction.pgm.pgm as pgm -class DnLogNormal(pgm.DistributionPGM): +class DnLogNormal(pgm.DistrForSampling): DN_NAME: str n_samples: int n_repl: int @@ -18,7 +18,7 @@ class DnLogNormal(pgm.DistributionPGM): def init_check_vectorize_sample_size(self, param_list: ty.Optional[ty.List[ty.Any]]=None) -> ty.Optional[ty.List[ty.List[ty.Union[int, float, str]]]]: ... def get_rev_inference_spec_info(self) -> ty.List[str]: ... -class DnNormal(pgm.DistributionPGM): +class DnNormal(pgm.DistrForSampling): DN_NAME: str n_samples: int n_repl: int @@ -32,7 +32,7 @@ class DnNormal(pgm.DistributionPGM): def init_check_vectorize_sample_size(self, param_list: ty.Optional[ty.List[ty.Any]]=None) -> ty.Optional[ty.List[ty.List[ty.Union[int, float, str]]]]: ... def get_rev_inference_spec_info(self) -> ty.List[str]: ... -class DnExponential(pgm.DistributionPGM): +class DnExponential(pgm.DistrForSampling): DN_NAME: str n_samples: int n_repl: int @@ -46,7 +46,7 @@ class DnExponential(pgm.DistributionPGM): def init_check_vectorize_sample_size(self, param_list: ty.Optional[ty.List[ty.Any]]=None) -> ty.Optional[ty.List[ty.List[ty.Union[int, float, str]]]]: ... def get_rev_inference_spec_info(self) -> ty.List[str]: ... -class DnGamma(pgm.DistributionPGM): +class DnGamma(pgm.DistrForSampling): DN_NAME: str n_samples: int n_repl: int @@ -60,7 +60,7 @@ class DnGamma(pgm.DistributionPGM): def init_check_vectorize_sample_size(self, param_list: ty.Optional[ty.List[ty.Any]]=None) -> ty.Optional[ty.List[ty.List[ty.Union[int, float, str]]]]: ... def get_rev_inference_spec_info(self) -> ty.List[str]: ... -class DnUnif(pgm.DistributionPGM): +class DnUnif(pgm.DistrForSampling): DN_NAME: str n_samples: int n_repl: int diff --git a/src/phylojunction/inference/revbayes/rb_dn_parametric.py b/src/phylojunction/inference/revbayes/rb_dn_parametric.py index 6eafa49..785e5bf 100644 --- a/src/phylojunction/inference/revbayes/rb_dn_parametric.py +++ b/src/phylojunction/inference/revbayes/rb_dn_parametric.py @@ -6,7 +6,7 @@ # pj imports import phylojunction.pgm.pgm as pgm -def get_rev_str_from_dn_parametric_obj(dn_obj: pgm.DistributionPGM) -> ty.Tuple[int, int, ty.List[str]]: +def get_rev_str_from_dn_parametric_obj(dn_obj: pgm.DistrForSampling) -> ty.Tuple[int, int, ty.List[str]]: rev_str_list: ty.List[str] n_sim: int = dn_obj.n_samples diff --git a/src/phylojunction/interface/cmdbox/cmd_parse.py b/src/phylojunction/interface/cmdbox/cmd_parse.py index 8533b9e..642d0fd 100644 --- a/src/phylojunction/interface/cmdbox/cmd_parse.py +++ b/src/phylojunction/interface/cmdbox/cmd_parse.py @@ -430,7 +430,7 @@ def create_add_rv_pgm( a_stoch_node_name: str, sample_size: int, replicate_size: int, - a_dn_obj: pgm.DistributionPGM, + a_dn_obj: pgm.DistrForSampling, parent_pgm_nodes: ty.List[pgm.NodeDAG], clamped: bool): diff --git a/src/phylojunction/interface/grammar/dn_discrete_sse_makers.py b/src/phylojunction/interface/grammar/dn_discrete_sse_makers.py index 45f9583..e1178ff 100644 --- a/src/phylojunction/interface/grammar/dn_discrete_sse_makers.py +++ b/src/phylojunction/interface/grammar/dn_discrete_sse_makers.py @@ -14,7 +14,7 @@ def make_discrete_SSE_dn( dn_name: str, dn_param_dict: ty.Dict[str, ty.List[ty.Union[str, pgm.NodeDAG]]]) \ - -> pgm.DistributionPGM: + -> pgm.DistrForSampling: ############################# # IMPORTANT: Default values # diff --git a/src/phylojunction/interface/grammar/dn_grammar.py b/src/phylojunction/interface/grammar/dn_grammar.py index 497ae52..6237ec1 100644 --- a/src/phylojunction/interface/grammar/dn_grammar.py +++ b/src/phylojunction/interface/grammar/dn_grammar.py @@ -53,7 +53,7 @@ def init_return_parametric_dn( cls, dn_id: str, dn_param_dict: ty.Dict[str, ty.List[ty.Union[str, pgm.NodeDAG]]]) \ - -> pgm.DistributionPGM: + -> pgm.DistrForSampling: """Create and return parametric distributions for sampling. Args: @@ -451,7 +451,7 @@ def init_return_parametric_dn( def init_return_discrete_SSE_dn( cls, dn_param_dict: ty.Dict[str, ty.List[ty.Union[str, pgm.NodeDAG]]]) \ - -> pgm.DistributionPGM: + -> pgm.DistrForSampling: """Create and return SSE distribution for sampling. Args: @@ -472,7 +472,7 @@ def create_dn_obj( cls, dn_id: str, dn_param_dict: ty.Dict[str, ty.List[ty.Union[str, pgm.NodeDAG]]]) \ - -> pgm.DistributionPGM: + -> pgm.DistrForSampling: """Create and return prob. distribution (for sampling) object. Args: diff --git a/src/phylojunction/interface/grammar/dn_grammar.pyi b/src/phylojunction/interface/grammar/dn_grammar.pyi index 6eec361..991c524 100644 --- a/src/phylojunction/interface/grammar/dn_grammar.pyi +++ b/src/phylojunction/interface/grammar/dn_grammar.pyi @@ -7,8 +7,8 @@ class PJDnGrammar: @classmethod def grammar_check(cls, dn_id: str, dn_param: str) -> bool: ... @classmethod - def init_return_parametric_dn(cls, dn_id: str, dn_param_dict: ty.Dict[str, ty.List[ty.Union[str, pgm.NodeDAG]]]) -> pgm.DistributionPGM: ... + def init_return_parametric_dn(cls, dn_id: str, dn_param_dict: ty.Dict[str, ty.List[ty.Union[str, pgm.NodeDAG]]]) -> pgm.DistrForSampling: ... @classmethod - def init_return_discrete_SSE_dn(cls, dn_param_dict: ty.Dict[str, ty.List[ty.Union[str, pgm.NodeDAG]]]) -> pgm.DistributionPGM: ... + def init_return_discrete_SSE_dn(cls, dn_param_dict: ty.Dict[str, ty.List[ty.Union[str, pgm.NodeDAG]]]) -> pgm.DistrForSampling: ... @classmethod - def create_dn_obj(cls, dn_id: str, dn_param_dict: ty.Dict[str, ty.List[ty.Union[str, pgm.NodeDAG]]]) -> pgm.DistributionPGM: ... + def create_dn_obj(cls, dn_id: str, dn_param_dict: ty.Dict[str, ty.List[ty.Union[str, pgm.NodeDAG]]]) -> pgm.DistrForSampling: ... diff --git a/src/phylojunction/pgm/pgm.py b/src/phylojunction/pgm/pgm.py index 79b989a..df08030 100644 --- a/src/phylojunction/pgm/pgm.py +++ b/src/phylojunction/pgm/pgm.py @@ -150,7 +150,7 @@ def n_repl(self): pass @abstractmethod - def __init__(self): + def __init__(self) -> None: pass @abstractmethod @@ -173,7 +173,7 @@ def get_rev_inference_spec_info(self) -> ty.List[str]: pass -class DistributionPGM(ValueGenerator): +class DistrForSampling(ValueGenerator): """Class for randomly generating (i.e., sampling) values. An object of this class is required by stochastic DAG nodes so @@ -426,7 +426,7 @@ def plot_node(self, pass @abstractmethod - def populate_operator_weight(self): + def populate_operator_weight(self) -> None: pass @abstractmethod @@ -562,16 +562,23 @@ class StochasticNodeDAG(NodeDAG): This class is also used when a value is being specified by a user, or parsed from it. In other words, constant nodes in the graph are still stochastic DAG nodes under the hood. + + Attributes: + sampling_dn (DistrForSampling): Distribution object for randomly + sampling values. + constant_fn (ConstantFn): Function object for obtaining + constant values modified from some user input. + operator_weight (float): Weight given to MCMC move. """ - sampling_dn: ty.Optional[DistributionPGM] - constant_fn: ty.Optional[DistributionPGM] + sampling_dn: ty.Optional[DistrForSampling] + constant_fn: ty.Optional[ConstantFn] operator_weight: float def __init__(self, node_name: str, sample_size: int, - sampled_from: ty.Optional[DistributionPGM] = None, + sampled_from: ty.Optional[DistrForSampling] = None, returned_from: ty.Optional[ConstantFn] = None, value: ty.Optional[ty.List[ty.Any]] = None, replicate_size: int = 1, @@ -580,14 +587,13 @@ def __init__(self, clamped: bool = False, parent_nodes: ty.Optional[ty.List[ty.Any]] = None): - self.is_sampled = False self.sampling_dn = sampled_from # dn object self.constant_fn = returned_from # constant fn object - + self.is_sampled = False # not value checks for both [] and None generated_or_specified_value: ty.List[ty.Any] = \ self.generate_value() if not value else value - + super().__init__(node_name, sample_size=sample_size, value=generated_or_specified_value, @@ -598,7 +604,7 @@ def __init__(self, parent_nodes=parent_nodes) # used for MCMC #move/operator setup during inference - self.operator_weight = 0.0 + self.operator_weight = 0.0 self.populate_operator_weight() @@ -685,7 +691,7 @@ def plot_node(self, # return plot_node_histogram(axes, [float(self.value)]) - def populate_operator_weight(self): + def populate_operator_weight(self) -> None: if isinstance(self.value, (list, np.ndarray)): if isinstance(self.value[0], (int, float, str, np.float64)): self.operator_weight = 1 # this is a scalar random variable @@ -720,7 +726,7 @@ def __init__(self, value: ty.Optional[ty.List[ty.Any]] = None, call_order_idx: ty.Optional[int] = None, deterministic: bool = True, - parent_nodes: ty.Optional[ty.List[NodeDAG]] = None): + parent_nodes: ty.Optional[ty.List[NodeDAG]] = None) -> None: super().__init__(node_name, sample_size=None, @@ -844,14 +850,4 @@ def extract_vals_as_str_from_node_dag( if __name__ == "__main__": - # can be called from pgm/ - # $ python3 pgm.py - # - # can also be called from phylojunction/ - # $ python3 pgm/pgm.py - # or - # $ python3 -m pgm.pgm - # - # can also be called from VS Code, if open folder is phylojuction/ - pass diff --git a/src/phylojunction/pgm/pgm.pyi b/src/phylojunction/pgm/pgm.pyi index 73dbeca..1d33e7d 100644 --- a/src/phylojunction/pgm/pgm.pyi +++ b/src/phylojunction/pgm/pgm.pyi @@ -8,14 +8,7 @@ from abc import ABC, abstractmethod R = ty.TypeVar('R') -class DummyAttribute: - pass -def abstract_attribute(obj: ty.Callable[[ty.Any], R] = None) -> R: - _obj = ty.cast(ty.Any, obj) - if obj is None: - _obj = DummyAttribute() - _obj.__is_abstract_attribute__ = True - return ty.cast(R, _obj) +def abstract_attribute(obj: ty.Callable[[ty.Any], R] = None) -> R: ... class DirectedAcyclicGraph: node_val_dict: ty.Dict[NodeDAG, ty.Any] @@ -25,18 +18,16 @@ class DirectedAcyclicGraph: def __init__(self) -> None: ... def add_node(self, node_dag: NodeDAG) -> None: ... def get_node_dag_by_name(self, node_name): ... - def get_display_str_by_name(self, node_name, sample_idx: Incomplete | None = ..., repl_size: int = ...): ... + def get_display_str_by_name(self, node_name, sample_idx=None, repl_size=1): ... def get_sorted_node_dag_list(self) -> ty.List[NodeDAG]: ... class ValueGenerator(ABC, metaclass=abc.ABCMeta): @abstract_attribute - def n_samples(self): - pass + def n_samples(self): ... @abstract_attribute - def n_repl(self): - pass + def n_repl(self): ... @abstractmethod - def __init__(self): ... + def __init__(self) -> None: ... @abstractmethod def generate(self) -> ty.List[ty.Any]: ... @abstractmethod @@ -44,32 +35,37 @@ class ValueGenerator(ABC, metaclass=abc.ABCMeta): @abstractmethod def get_rev_inference_spec_info(self) -> ty.List[str]: ... -class DistributionPGM(ValueGenerator): +class DistrForSampling(ValueGenerator): @property @abstractmethod - def DN_NAME(self): - pass + def DN_NAME(self) -> str: ... class ConstantFn(ValueGenerator): @property @abstractmethod - def CT_FN_NAME(self): - pass + def CT_FN_NAME(self) -> str: ... -class NodeDAG(ABC, metaclass=abc.ABCMeta): +class NodeDAG(ABC): node_name: str - value: ty.Optional[ty.List[ty.Any]] - sample_size: int - repl_size: int + _value: ty.List[ty.Any] + _sample_size: int + _repl_size: int call_order_idx: int is_sampled: bool is_deterministic: bool is_clamped: bool - parent_nd_list: Incomplete - param_of: Incomplete + parent_nd_list: ty.Optional[ty.List[NodeDAG]] + @property + def value(self): ... + @value.setter + def value(self, a_value): ... + @property + def sample_size(self): ... + @property + def repl_size(self): ... @abstractmethod - def __init__(self, node_name: str, sample_size: int, value: ty.Optional[ty.List[ty.Any]] = ..., replicate_size: int = ..., call_order_idx: ty.Optional[int] = ..., sampled: bool = ..., deterministic: bool = ..., clamped: bool = ..., parent_nodes: ty.Optional[ty.List[NodeDAG]] = ...): ... + def __init__(self, node_name: str, sample_size: ty.Optional[int], replicate_size: int=1, value: ty.Optional[ty.List[ty.Any]]=None, call_order_idx: ty.Optional[int] = None, sampled: bool = False, deterministic: bool=False, clamped: bool=False, parent_nodes: ty.Optional[ty.List[NodeDAG]]=None): ... def _flatten_and_extract_values(self) -> None: ... def get_start2end_str(self, start: int, end: int, repl_idx: int=0, is_tree: bool=False) -> str: ... def __str__(self) -> str: ... @@ -79,34 +75,36 @@ class NodeDAG(ABC, metaclass=abc.ABCMeta): def __len__(self) -> int: ... @abstractmethod - def get_gcf(self, axes: plt.Axes, sample_idx: ty.Optional[int]=None, repl_idx: int=0, repl_size: int=1, branch_attr: ty.Optional[str]="state") -> None: ... - + def plot_node(self, axes: plt.Axes, sample_idx: int = 0, repl_idx: int = 0, repl_size: int = 1, branch_attr: ty.Optional[str] = "state") -> None: ... + + @abstractmethod + def populate_operator_weight(self) -> None: ... + @abstractmethod - def populate_operator_weight(self): ... + def get_node_stats_str(self, start: int, end: int, repl_idx: int) -> str: ... class StochasticNodeDAG(NodeDAG): - _generated_value: ty.List[ty.Any] - is_sampled: bool - sampling_dn: Incomplete + sampling_dn: ty.Optional[DistrForSampling] + constant_fn: ty.Optional[ConstantFn] operator_weight: float - - def __init__(self, node_name: str, sample_size: int, sampled_from: Incomplete | None = ..., value: ty.Optional[ty.List[ty.Any]] = ..., replicate_size: int = ..., call_order_idx: ty.Optional[int] = ..., deterministic: bool = ..., clamped: bool = ..., parent_nodes: ty.Optional[ty.List[ty.Any]] = ...) -> None: ... - value: Incomplete + def __init__(self, node_name: str, sample_size: int, sampled_from: ty.Optional[DistrForSampling]=None, returned_from: ty.Optional[ConstantFn]=None, value: ty.Optional[ty.List[ty.Any]]=None, replicate_size: int=1, call_order_idx: ty.Optional[int]=None, deterministic: bool=False, clamped: bool=False, parent_nodes: ty.Optional[ty.List[ty.Any]]=None): ... def generate_value(self) -> ty.List[ty.Any]: ... - def generated_value(self) -> ty.List[ty.Any]: ... - def sample(self) -> None: ... + def __str__(self) -> str: ... def __lt__(self, other): ... - def get_gcf(self, axes: plt.Axes, sample_idx: ty.Optional[int]=None, repl_idx: int=0, repl_size: int=1, branch_attr: ty.Optional[str]="state") -> None: ... + def plot_node(self, axes: plt.Axes, sample_idx: int=0, repl_idx: int=0, repl_size: int=1, branch_attr: str="state") -> None: ... def populate_operator_weight(self) -> None: ... - -class DeterministicNodeDAG(NodeDAG): - is_sampled: bool + def get_node_stats_str(self, start: int, end: int, repl_idx: int) -> str: ... - def __init__(self, node_name, value: Incomplete | None = ..., call_order_idx: Incomplete | None = ..., deterministic: bool = ..., parent_nodes: Incomplete | None = ...) -> None: ... +class DeterministicNodeDAG(NodeDAG): + def __init__(self, node_name: str, value: ty.Optional[ty.List[ty.Any]]=None, call_order_idx: ty.Optional[int]=None, deterministic: bool=True, parent_nodes: ty.Optional[ty.List[NodeDAG]]=None) -> None: ... + def __str__(self) -> str: ... def __lt__(self, other) -> bool: ... - def get_gcf(self, axes: plt.Axes, sample_idx: ty.Optional[int]=None, repl_idx: int=0, repl_size: int=1, branch_attr: ty.Optional[str]="state") -> None: ... + def __len__(self) -> int: ... + def plot_node(self, axes: plt.Axes, sample_idx: ty.Optional[int]=0, repl_idx: ty.Optional[int]=0, repl_size: ty.Optional[int]=1, branch_attr: ty.Optional[str]="state") -> None: ... def populate_operator_weight(self) -> None: ... + def get_node_stats_str(self, start: int, end: int, repl_idx: int) -> str: ... +def plot_node_histogram(axes: plt.Axes, values_list: ty.List[float], sample_idx: ty.Optional[int]=None, repl_size: int=1) -> None: ... +def plot_blank(axes: plt.Axes) -> None: ... def extract_vals_as_str_from_node_dag(val_list: ty.List[ty.Union[str, NodeDAG]]) -> ty.List[str]: ... -def get_histogram_gcf(axes: plt.Axes, values_list: ty.List[float], sample_idx: ty.Optional[int] = ..., repl_size: int = ...) -> None: ...