Example with two Binding interactions:
1) LRP6 binds WNT9B through LRP6's first beta-propeller region (range 16-298).
2) LRP6 binds WNT3A through LRP6's second beta-propeller region (range 630-904).
Once I create_nuggets with those interactions, the two beta-propeller regions are merged onto one region with range 16-904.
import json
import pickle
from kami.entities import (Gene, Region, Site, Residue, State, RegionActor, SiteActor)
from kami.interactions import (Binding, Modification)
from kami.hierarchy import (KamiHierarchy)
from kami.resolvers.black_box import create_nuggets
rule_list = []
rule_list.append(
Binding(
[RegionActor(
gene=Gene(uniprotid="O75581", hgnc_symbol="LRP6"),
region=Region(name="Six-bladed beta-propeller, TolB-like",
interproid="IPR011042", start=16, end=298))],
[Gene(uniprotid="O14905", hgnc_symbol="WNT9A")]))
rule_list.append(
Binding(
[RegionActor(
gene=Gene(uniprotid="O75581", hgnc_symbol="LRP6"),
region=Region(name="Six-bladed beta-propeller, TolB-like",
interproid="IPR011042", start=630, end=904))],
[Gene(uniprotid="P56704", hgnc_symbol="WTN3A")]))
hierarchy = KamiHierarchy()
create_nuggets(rule_list, hierarchy, anatomize=True)
# Print start and end of region.
node_id = "O75581_Region_Six-bladed beta-propeller, TolB-like_IPR011042_16_298"
start = (list(hierarchy.graph['action_graph'].node[node_id]["start"])[0])
end = (list(hierarchy.graph['action_graph'].node[node_id]["end"])[0])
print("start=", start, "end=", end)
# Get the KamiStudio file for visualization.
kstudio = hierarchy.get_studio_v1()
outfile = open('multiregion.json', 'w')
json.dump(kstudio, outfile, indent=4, sort_keys=False)
Example with two Binding interactions: 1) LRP6 binds WNT9B through LRP6's first beta-propeller region (range 16-298). 2) LRP6 binds WNT3A through LRP6's second beta-propeller region (range 630-904).
Once I create_nuggets with those interactions, the two beta-propeller regions are merged onto one region with range 16-904.