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
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_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
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