Hi everyone!
On current Kappa syntax, rules of ambiguous molecularity require a distinction between unimolecular and bimolecular rates. So basically, if I wrote a reaction such as:
Kinase(), Substrate(s1~x) -> Kinase(), Substrate(s1~p) @ 0.0 (1.0)
Then every time Substrate and Kinase are on the same molecule (i.e. connected graph), s1 will be modified. I was wondering if a feature could be added to specify the maximum distance, in agents, between Kinase and Substrate, i.e.:
Kinase(), |x|, Substrate(s1~x) -> Kinase(), |x|, Substrate(s1~p) @ 0.0 (1.0)
Where |x| is the number of separating agents in the complex (e.g. 0 for a direct connection). This could serve to compensate the lack of geometry on agents (either because KaSim is geometry-free, or because the agent is unstructured in the first place). On my current model, there are many heterogenous paths connecting the agents mentioned, and a combinatorial explosion renders writing each rule down extremely cumbersome. I realize this feature would probably come at the expense of run speed (scaling with the network complexity); and yet, it would also mean not writing a very large number of rules (logarithmic impact on run speed if I recall correctly?).
Best,
Héctor