def pi_drug_target(graph, node):
pi_to_drug_nodes = P.neighbors(node)
nghr_targets = {}
for pi_drug in pi_to_drug_nodes:
nghr_targets[pi_drug] = {}
nghr_targets[pi_drug]['treated with'] = []
if B.has_node(pi_drug):
drug_target = B.neighbors(pi_drug)
for targets in drug_target:
nghr_targets[pi_drug]['treated with'].append(targets)
nghr_targets[targets]['treated with']['neighbors with'] = []
if G.has_node(targets):
gg_nodes = G.neighbors(targets)
for ggn in gg_nodes:
if G.has_node(ggn):
nghr_targets[pi_drug]['treated with']['neighbors with'].append(ggn)
return(nghr_targets)
KeyError Traceback (most recent call last)
in ()
----> 1 pi_drug_target(P, 'DO218719')
in pi_drug_target(graph, node)
12 for targets in drug_target:
13 nghr_targets[pi_drug]['is treated with'].append(targets)
---> 14 nghr_targets[targets]['treated with']['Gene neighbors with'] = []
15
16 if G.has_node(targets):
KeyError: 'CYP19A1'
我有3个networkx图p,B和G。我试图创建一个函数,当我在p图中输入一个节点时,它会找到给定节点的相邻节点。然后,迭代这些邻居,在另一个图(B)中找到它的邻居。然后,循环查看在
B图,并在另一个图(G)中再次找到邻域。我想创建一个嵌套字典,将节点显示为键,将邻居显示为值。这是我创建的代码,但是我得到了这个KeyError,尽管我检查了节点是否存在于图中。在
我刚开始编程和使用networkx。所以任何帮助都是感激的!谢谢您!在