Skip to content

Bnd and mod nodes are not merged as expected in the action graph #9

@slegare2

Description

@slegare2

SH2 regions have distinct bnd nodes for each target if the anatomizer is not used.
Kinase regions have distinct mod nodes for each target, independently of anatomizer use.
Here is an example and some KamiStudio images that illustrate the issue.

import json
import pickle
from kami.entities import *
from kami.interactions import (Binding, Modification)
from kami.hierarchy import (KamiHierarchy)
from kami.resolvers.black_box import create_nuggets

inters = []

#ABL1 binds BCR on phosphorylated Y246
sh2_gene = Gene("P00519", hgnc_symbol="ABL1")
ptyr_gene = Gene("P11274", hgnc_symbol="BRC")
ptyr_resi = Residue(aa="Y", loc=246, state=State("phosphorylation", True))
b = Binding(
[RegionActor(gene=sh2_gene, region=Region(name="SH2"))],
[SiteActor(gene=ptyr_gene, site=Site(name="Tyr246", start=246, end=246,
residues=[ptyr_resi]))],
)
inters.append(b)

#ABL1 binds BCR on phosphorylated Y279
sh2_gene = Gene("P00519", hgnc_symbol="ABL1")
ptyr_gene = Gene("P11274", hgnc_symbol="BRC")
ptyr_resi = Residue(aa="Y", loc=279, state=State("phosphorylation", True))
b = Binding(
[RegionActor(gene=sh2_gene, region=Region(name="SH2"))],
[SiteActor(gene=ptyr_gene, site=Site(name="Tyr279", start=279, end=279,
residues=[ptyr_resi]))],
)
inters.append(b)

#ALK phosphorylates PTPN11 on Y546
kin_gene = Gene("Q9UM73", hgnc_symbol="ALK")
ptyr_gene = Gene("Q06124", hgnc_symbol="PTPN11")
ptyr_resi = Residue(aa="Y", loc=546, state=State("phosphorylation", True))
m = Modification(
enzyme = RegionActor(gene=kin_gene, region=Region(name="Tyr_kin")),
substrate = SiteActor(gene=ptyr_gene, site=Site(name="Tyr546", start=546, end=546)),
mod_target = Residue(aa="Y", loc=546, state=State("phosphorylation", False)),
mod_value = True
)
inters.append(m)

#ALK phosphorylates PTPN11 on Y584
kin_gene = Gene("Q9UM73", hgnc_symbol="ALK")
ptyr_gene = Gene("Q06124", hgnc_symbol="PTPN11")
ptyr_resi = Residue(aa="Y", loc=584, state=State("phosphorylation", True))
m = Modification(
enzyme = RegionActor(gene=kin_gene, region=Region(name="Tyr_kin")),
substrate = SiteActor(gene=ptyr_gene, site=Site(name="Tyr584", start=584, end=584)),
mod_target = Residue(aa="Y", loc=584, state=State("phosphorylation", False)),
mod_value = True
)
inters.append(m)

hierarchy = KamiHierarchy()
create_nuggets(inters, hierarchy, anatomize=False)

kstudio = hierarchy.get_studio_v1()
outfile = open('bind-match-noanato.json', 'w')
json.dump(kstudio, outfile, indent=4, sort_keys=False)

actions-noanato
actions-withanato

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions