RuleWorld / bionetgen

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

BNGParser grammars differ slightly for NET files and BNGL files #86

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
The reason for differences between NET and BNGL file syntax is mostly 
historical. The writeNET() method in BNG prints out certain blocks to the NET 
file, like "molecule types" and "observables", that are not really part of the 
NET file. The syntax of these blocks in the NET file differs slightly from the 
syntax that we have recently agreed to for BNGL files (e.g., leading indices 
without colons). Since these blocks are really part of the BNGL file, not the 
NET file, it doesn't make sense for there to be any differences in the grammars 
between BNGL and NET files. Note that writeNET() will eventually be deprecated 
in favor of writeNetwork(), which does not print the extraneous information to 
the NET file (see https://code.google.com/p/rulebender/issues/detail?id=95 for 
why this hasn't been done yet). 

Officially, NET files are comprised of five blocks: "parameters", "species", 
"functions", "reactions", and "groups". The first three are common to BNGL and 
NET files so their formats should be identical. The last two are specific to 
NET files and thus should be the (only) elements of the NETGrammer.

Original issue reported on code.google.com by lh64@cornell.edu on 26 Mar 2013 at 10:43

GoogleCodeExporter commented 9 years ago

Original comment by lh64@cornell.edu on 27 Mar 2013 at 9:17

GoogleCodeExporter commented 9 years ago
From BNG developers' meeting, 04/04/2013
----------------------------------------
Remove differences between BNGL and NET grammars. Reformulate NETGrammar to 
include only “reactions” and “groups” blocks.

1)NET files begin every line with an index (not orthodox BNGL)
*Action: add colon after label in net file
*Action: require labels to use same syntax as parameter names
*Check RB compatibility (Leonard)
*Coordinate with PySB devs.

2) Single colon vs. double colon for compartment and tag prefixes.
*NET: “@comp::M(x)”, “%tag::M(x)”
*BNGL: “@comp:M(x)”, “%tag:M(x)”.
*NFsim manual uses “::”, while cBNGL paper uses “:”
*Action: single colon is party dogma. Double colon will be supported 
temporarily for the sake of backwards compatibility.

Original comment by lh64@cornell.edu on 17 Apr 2013 at 8:54