RuleWorld / bionetgen

Rule-based modeling framework
https://bionetgen.org/
MIT License
56 stars 25 forks source link

'0' (zero) as the official BNGL null symbol #56

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
It has recently been decided to use empty parentheses '()' to denote NULL 
(sources or sinks) in BNGL [e.g., () <-> A()]. When BNG detects this symbol it 
should ignore it, as opposed to creating a fixed species with a concentration 
of 1. This will allow for the specification of true 0th-order reactions in 
models. This will be particularly useful in cBNGL where synthesis rates need to 
be scaled by the compartmental volume. In some cases, it will also allow for 
larger time steps in PLA simulations.

Original issue reported on code.google.com by lh64@cornell.edu on 24 Sep 2012 at 7:45

GoogleCodeExporter commented 9 years ago

Original comment by lh64@cornell.edu on 24 Sep 2012 at 7:46

GoogleCodeExporter commented 9 years ago
Section 4.5 of the Primer (Sekar & Faeder, 2012) states that '0' is a special 
symbol for designating sources and sinks, even though this is not implemented 
currently in BNG. As such, I think we should revert to the original plan of 
using '0' as the official null symbol. I also think that we should elevate this 
issue to High priority given that it is in official BNG documentation.  Anyone 
have any opinions on this?

Original comment by lh64@cornell.edu on 4 Dec 2012 at 9:43

GoogleCodeExporter commented 9 years ago
Because '0' is documented in the Primer we have decided to revert back to the 
original idea of using it as the official BNGL null symbol.

Note that for cBNGL we came to the consensus that synthesized complexes must 
explicitly state their target compartment, i.e., 0 -> A()@C is valid but 0 -> 
A() is not.

Original comment by lh64@cornell.edu on 7 Dec 2012 at 11:26

GoogleCodeExporter commented 9 years ago
the null pattern is now implemented for vanilla BNGL. Work is ongoing to 
implement compartment handling.

I refactored a couple validation models with the null pattern replacing the use 
of an abstract 0() molecule. Specific models affected:  heise.bngl and 
gene_expr_simple.bngl

Original comment by justinshogg on 10 Dec 2012 at 12:28

GoogleCodeExporter commented 9 years ago
The null pattern is now fully implemented.

Under cBNGL, the rate of a zero order synthesis reaction is multiplied by the 
volume of the species compartment.  If multiple species are synthesized in the 
same compartment, the same volume multiplier is applied.  However, if species 
are synthesized in multiple compartments, then no multiplier is applied and BNG 
issues a warning.

Original comment by justinshogg on 11 Dec 2012 at 12:25

GoogleCodeExporter commented 9 years ago

Original comment by justinshogg on 11 Dec 2012 at 12:26