def build_gtg_model(T, evidence_cpds, internal_cpds):
    dag, observed_species, ancestors = build_dag(T, use_tree = True, blast = False, gtg = True)
    bnet = BayesianNetwork()
    bnet.set_dag(dag)

    # set cpds for internal nodes
    set_internal_cpds(bnet, internal_cpds)

    # set cpds for evidence nodes
    blastcpd, gtgcpd = evidence_cpds
    for u in observed_species:
        bnet.set_pd(get_gtg_node_name(u), [u], gtgcpd)

    return bnet, observed_species, ancestors
Пример #2
0
def build_naive_model(T, cpds):
    dag, observed_species, ancestors = build_dag(T,
                                                 use_tree=False,
                                                 blast=True,
                                                 gtg=True)
    bnet = BayesianNetwork()
    bnet.set_dag(dag)

    # set cpds for internal nodes
    for u in bnet.dag.children:
        if len(bnet.dag.children[u]) > 0 and len(bnet.dag.parents[u]) == 0:
            bnet.set_pd(u, [], {"0": 0.5, "1": 0.5})

    # set cpds for evidence nodes
    blastcpd, gtgcpd = cpds
    for u in observed_species:
        bnet.set_pd(get_blast_node_name(u), [u], blastcpd)
        bnet.set_pd(get_gtg_node_name(u), [u], gtgcpd)

    return bnet, observed_species, ancestors
def build_naive_model(T, cpds):
    dag, observed_species, ancestors = build_dag(T, use_tree = False, blast = True, gtg = True)
    bnet = BayesianNetwork()
    bnet.set_dag(dag)

    # set cpds for internal nodes
    for u in bnet.dag.children:
        if len(bnet.dag.children[u]) > 0 and len(bnet.dag.parents[u]) == 0:
            bnet.set_pd(u, [], {"0" : 0.5, "1" : 0.5})

    # set cpds for evidence nodes
    blastcpd, gtgcpd = cpds
    for u in observed_species:
        bnet.set_pd(get_blast_node_name(u), [u], blastcpd)
        bnet.set_pd(get_gtg_node_name(u), [u], gtgcpd)

    return bnet, observed_species, ancestors
Пример #4
0
def build_model(T, evidence_cpds, internal_cpds):
    dag, observed_species, ancestors = build_dag(T,
                                                 use_tree=True,
                                                 blast=True,
                                                 gtg=True)
    bnet = BayesianNetwork()
    bnet.set_dag(dag)

    # set cpds for internal nodes
    set_internal_cpds(bnet, internal_cpds)

    # set cpds for evidence nodes
    blastcpd, gtgcpd = evidence_cpds
    for u in observed_species:
        bnet.set_pd(get_blast_node_name(u), [u], blastcpd)
        bnet.set_pd(get_gtg_node_name(u), [u], gtgcpd)

    return bnet, observed_species, ancestors