Skip to content

Releases: RuleWorld/bionetgen

BioNetGen 2.2.6-testing

01 Jul 07:27
Compare
Choose a tag to compare

== 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.