Releases: RuleWorld/bionetgen
Releases · RuleWorld/bionetgen
BioNetGen 2.2.6-testing
== BioNetGen-2.2.6-testing ==
'''''2015 March 3'''''
==== New Features ====
===== SBML-to-BNGL Translator =====
- The SBML-to-BNGL translator can perform both a flat (one-to-one) translation
of an SBML model in terms of unstructured species and an "atomized" translation
that recovers the implicit molecular structure (binding sites and states) of the
species within the model. The translator can be accessed in the following three ways:Using the readFile() BioNetGen action: The 'atomize' argument specifies whether a
flat or atomized translation is to be performed (default is flat, i.e.,
atomize). The translated model is written to [sbml_filename].bngl,
which is then read and loaded into memory. This allows additional actions [e.g., simulate(),
parameter_scan()] to be performed on the model if desired. See the
[[BioNetGen_Actions_and_Arguments | BioNetGen Actions & Arguments Guide]] for a comprehensive
listing of all actions and arguments, including readFile().Running the [BNGPATH]/bin/sbmlTranslator executable directly:
This provides the functionality described above along with additional customization flags.
Run ./sbmlTranslator --help> for a complete list of options with descriptions.As a standalone web application at [http://ratomizer.appspot.com/translate http://ratomizer.appspot.com/translate].
For further information, see the SBML-to-BNGL documentation.
===== Visualization Tools =====
- Visualization tools can be accessed by calling the visualize() action in a BNGL model file
or running the visualize.pl script included in
[BNGPATH]/Perl2/Visualization. The output is generated in Graph Modeling
Language (GML) format, which can be processed by graph editors such as yEd
([http://www.yworks.com/yed www.yworks.com/yed]) and Cytoscape
([http://www.cytoscape.org www.cytoscape.org]). Currently supported visualizations are:
** Model visualization as a contact map: >visualize({type=>"contactmap"})
** Model visualization as a regulatory graph: visualize({type=>"regulatory"})
** Rule visualization as a Petri net: visualize({type=>"ruleviz_pattern"})
** Rule visualization using graph operations: visualize({type=>"ruleviz_operation"})
For further information, call visualize({help=>1}) or run ./visualize.pl --help.
===== Actions & Arguments =====
- Added a 'reset_conc' argument to parameter_scan() that suppresses the call to resetConcentrations()
if set to 0 (default value is 1). This allows simulations in the scan to be started from the end point
of the previous simulation (used in bifurcate(); see below). - Added a new bifurcate() action that takes the same arguments as parameter_scan() (except 'reset_conc').
The method automatically runs two scans, one from 'par_min' to 'par_max' and the other in the reverse
direction. Each simulation in the scans starts from the end point of the previous simulation by passing
reset_conc=>0 to parameter_scan(). Output files are then generated for each observable
containing the parameter values vs. final observable values for both forward and reverse directions. - Modified readFile() to allow specific model blocks to be read using the 'blocks' argument.
** Example: readFile({file=>"mymodel.bngl",blocks=>["parameters","seed species"]}) - Added support for method=>"nf" in simulate(). This allows NFsim to be used in
parameter_scan() and bifurcate() as well. - Added support for compartments in writeSBML() and upgraded the supported version of SBML to Level 2 Version 3.
==== Minor Changes ====
- Upgraded muParser ([http://muparser.beltoforion.de http://muparser.beltoforion.de]) to version 2.2.4.
- Modified parameter_scan() to set get_final_state=>0 if reset_conc=>1
(the default). This prevents BNG from unnecessarily reading in the final species populations at the end of
NFsim simulations if they are going to be reset anyway. This is important as the read step can be extremely
expensive for models with high degrees of symmetry. - Modified setConcentration() to retain parameter names in expressions (rather than evaluating to a number).
This allows setConcentration() to be used with parameter_scan(). However, observables and functions are
still evaluated to numbers. - Modified NET file output to list all rules that generate a given reaction in the comment following each
line of the reactions block. This is useful when a reaction is generated by multiple
different rules. Often this is unintentional and can be problematic since BNG multiplies the rate constant
by the number of duplicates generated. Listing all rules that generate a reaction can help identify and
debug situations like this. - Added a default PLA configuration for simulate(method=>"pla"). If the 'pla_config'
argument is not defined, the configuration is set to fEuler|pre-neg:sb|eps=0.03, i.e.,
a standard tau-leaping method (1st order) with species-based preleap tau calculations, negative-population
postleap checking, and error control parameter 'eps' of 0.03. - Modified validate_examples.pl to only report a stochastic validation failure if the
validation fails twice in a row. - Added functionality to readFile() to convert forward slashes (/) to back slashes (), and vice versa,
in '''''relative''''' paths, depending on the OS. This improves cross-platform portability and makes it
easier to share models.
==== Bug Fixes ====
- An error is now thrown if zero-order synthesis products do not have compartments.
- BNG will no longer switch to "compartmental" mode if the compartments block is empty.
- Expressions for compartment volumes are now correctly evaluated when generating a BNG-XML file.
- Fixed an inconsistency where forward referencing of parameters/observables was allowed for functions
defined in the functions block but not in the reaction rules block. - Fixed a bug where in rare cases a function defined in the reaction rules block would
be typed as a 'ConstantExpression'. This would cause simulation to fail since it would be placed in the
parameters block of the generated NET file. - Fixed a bug in the handling of 'max_stoich' constraints. In versions 2.2.3, 2.2.4, and 2.2.5, the
constraints were sometimes ignored during network generation and complexes larger than the maximum
specified could be constructed. Also added code to check that molecule names passed in the argument are
valid. This is useful since users often specify patterns, such as 'A()', rather than the actual molecule
name 'A'. Without an error message this can cause confusion. - Fixed a bug where BNG was not passing to NFsim the random seed that it was generating when the 'seed'
argument was not explicitly set by the user. This made it difficult to debug problems in NFsim since it
was not outputting a random seed in the error messages.