如何让find_motifs仅输出指定核酸节点对而非匹配映射结果
提取指定节点对的映射结果
假设你用grandiso库的find_motifs函数得到的节点映射结果存在变量motif_matches中(该函数返回的是匹配结果列表,每个元素是一个完整的节点映射字典),可以通过以下方式只输出你需要的“CYS 6 N”和“ASP 40 OD2”节点对:
- 遍历所有匹配结果,逐个提取目标节点对:
# 先执行grandiso的匹配,得到结果列表 motif_matches = find_motifs(motif_graph, target_graph, ...) # 遍历每个匹配结果,筛选目标节点 for match in motif_matches: target_pair = { "CYS 6 N": match["CYS 6 N"], "ASP 40 OD2": match["ASP 40 OD2"] } print(target_pair)
- 若只需要第一个匹配结果里的目标节点对,直接索引提取:
first_match = motif_matches[0] target_pair = { "CYS 6 N": first_match["CYS 6 N"], "ASP 40 OD2": first_match["ASP 40 OD2"] } print(target_pair)
- 怕节点键不存在导致报错的话,用
get方法做容错:
target_pair = { "CYS 6 N": match.get("CYS 6 N", "无匹配节点"), "ASP 40 OD2": match.get("ASP 40 OD2", "无匹配节点") }
内容的提问来源于stack exchange,提问作者Syahir Muhammad
相关产品推荐
相关产品推荐

