Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incorrect binding with catalyze_complex macro on dimer substrate #498

Open
alubbock opened this issue Apr 8, 2020 · 0 comments
Open

Incorrect binding with catalyze_complex macro on dimer substrate #498

alubbock opened this issue Apr 8, 2020 · 0 comments
Labels

Comments

@alubbock
Copy link
Member

alubbock commented Apr 8, 2020

As reported by @acorbat on gitter, the catalyze_complex macro fails with a DanglingBondError in the following example, presumably due to the use of a dimer as a substrate:

from pysb import
from pysb.macros import

Model()

substrate = Monomer('S', ['bf', 'es'])
enzyme = Monomer('E', ['es'])
product = Monomer('P', ['bf'])

dimer = substrate(bf=1, es=None) % substrate(bf=1, es=None)

catalyze_complex(enzyme, 'es', dimer, 'es', product(bf=None), [1e-6, 1e-3, 1], m2=substrate(bf=1, es=None))

The macro attempts to produce the following to rules (if the error is suppressed):

Rule('bind_SS_E', S(bf=1, es=None) % S(bf=1, es=None) + E(es=None) | S(bf=1, es=50) % S(bf=1, es=None) % E(es=50), bind_SS_E_kf, bind_SS_E_kr)
Rule('catalyze_ESS_to_E_P', E(es=1) % S(bf=1, es=50) % S(bf=1, es=None) >> E(es=None) + P(bf=None), catalyze_ESS_to_E_P_kc)

The catalyze_ESS_to_E_P rule's reactant side appears to be causing the issue - the enzyme's es bond should be 50, not 1.

@alubbock alubbock added the bug label Apr 8, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant