Skip to content

40 models fail to parse / are incomplete under BioNetGen 2.9.3 (front-end errors, all methods) #13

@wshlavacek

Description

@wshlavacek

Summary

While expanding a BioNetGen parity test suite, I ran the RuleHub model collection
through BioNetGen 2.9.3 (BNG2.pl + run_network/NFsim). 40 models fail at
the front-end
— i.e. during parse / network generation, before any simulator
runs — so they're broken regardless of method (ODE/SSA/NF) and regardless of
which BNG-compatible tool consumes them.

They fall into a few clean categories, most mechanically fixable. Each model is
listed with its exact BNG2.pl error and the cause. Paths are relative to the
RuleHub repo root.

Scope note: 4 additional models with the same kinds of problems live in
RuleMonkey (tests/models/feature_coverage/), not RuleHub, so they're omitted
here — listed at the bottom for reference.


1. Deprecated / unsupported block names (15)

begin molecules → should be begin molecule types (9)

begin molecules is an archaic block name; current BioNetGen uses
begin molecule types. Mechanical rename.

  • Published/Faeder2003/Faeder_2003.bngl
  • Published/Nag2009/Nag_2009.bngl
  • Published/mapkdimers/mapk-dimers.bngl
  • Published/mapkmonomers/mapk-monomers.bngl
  • Published/notch/notch.bngl
  • Published/wnt/wnt.bngl
  • Tutorials/General/chemistry/chemistry.bngl
  • Tutorials/General/toy1/toy1.bngl
  • Tutorials/General/toy2/toy2.bngl

begin molecular types → typo for begin molecule types (1)

  • Published/vilar2002/vilar_2002.bngl

begin anchors — block not supported by BNG2.pl (5)

Could not process block type 'anchors'. The anchors block (compartmental /
localization) isn't processed by BNG2.pl 2.9.3; these models need it ported or
removed.

  • Published/Blinovegfr/Blinov_egfr.bngl
  • Published/Blinovran/Blinov_ran.bngl
  • Published/RulebasedRantransport/Rule_based_Ran_transport.bngl
  • Published/RulebasedRantransportdraft/Rule_based_Ran_transport_draft.bngl
  • Published/Rulebasedegfrcompart/Rule_based_egfr_compart.bngl

2. Missing companion files (10)

The .bngl references a file that isn't in the repo (the model directories
contain only the .bngl + metadata.yaml/README.md).

Missing seed-species file .species (3)

Couldn't read from file ./<name>.species: No such file or directory

  • Tutorials/General/polymer/polymer.bngl
  • Tutorials/General/polymerdraft/polymer_draft.bngl
  • Tutorials/polymerfixed/polymer_fixed.bngl

Missing read-file input (3)

Couldn't read from file <...>: No such file or directory

  • Published/Ordyan2020/CaMKIIholo/CaMKII_holo.bngl
  • Tutorials/michmentcont/michment_cont.bngl
  • Tutorials/simplenfsimtest/simple_nfsim_test.bngl

Missing geometry file for compartmental models (3)

Error loading default geometry: <...> is missing or corrupted

  • Tutorials/fcerijicomp/fceri_ji_comp.bngl
  • Tutorials/recdim/rec_dim.bngl
  • Tutorials/recdimcomp/rec_dim_comp.bngl

Missing SBML import target (1)

Could not find 'BIOMD0000000010.xml'

  • Tutorials/simplesbmlimport/simple_sbml_import.bngl

3. Unquoted barewords in action blocks (4)

Bareword "X" not allowed while "strict subs" in use — BNG2.pl evaluates action
arguments as Perl, so unquoted string values are rejected.

  • Tutorials/General/simple/simple.bnglsimulate_ode({suffix=>ode,...}); should be suffix=>"ode"
  • Published/Ligon2014/Ligon_2014.bnglsimulate_nf({suffix=>nf,...}); should be suffix=>"nf"
  • Published/tlbr/tlbr.bnglsimulate_rm({t_end=>t_end,n_steps=>n_steps}); uses bare parameter names as values (needs literal values)
  • Published/Kesseler2013/Kesseler_2013.bnglmax_stoich=>{MPF=>unlimited,...}; unlimited is not a valid stoich value (must be a number, as the other entries use 1e10)

4. Undefined symbols in functions (2)

  • Published/Nosbisch2022/Nosbisch_2022.bngl — rate-law functions use t as simulation time (e.g. (1.0 * t) < 5000.0), but t is undefined; BioNetGen exposes time as time, not t. (Parameter 't' is referenced but not defined)
  • Published/Ordyan2020/extraCaMKIIHolo/extra_CaMKII_Holo.bngl — functions reference tics / tics_per_second (e.g. max(tics/tics_per_second - 300, 0)), which are never declared. (Parameter 'tics' is referenced but not defined)

5. Malformed model structure / other (9)

  • Published/McMillan2021/McMillan_2021.bngl — molecule T(1,2,3) uses numeric component names; component names must begin with a letter or underscore. (Invalid component name in '1,2,3)')
  • Published/Erdem2021/Erdem_2021.bnglFound illegal wildcard bond breaking in a rule (a rule breaks a bond specified with a wildcard).
  • Published/Zhang2023/Zhang_2023.bngl — observable SphK1 has a dangling edge (bond to nothing). (SpeciesGraph::updateEdges(): dangling edge not allowed)
  • Tutorials/Kiefhaberemodel/Kiefhaber_emodel.bngl — observable references A(c~U,s!1), a molecule not present in molecule types. (does not match any declared molecule types)
  • Published/BaruaFceRI2012/BaruaFceRI_2012.bngl — a seed-species expression refers to observables/functions, which isn't allowed in the species block. (Error while parsing species block)
  • Published/Mertins2023/Mertins_2023.bngl — a block isn't closed before the next begins. (begin block before end of previous block parameters)
  • Published/Jung2017/Jung_2017.bngl — block begin/end mismatch. (end 540.0 does not match begin parameters)
  • Published/Dushek2014/Dushek_2014.bngl — Perl-eval error from a malformed function/expression. (Not a CODE reference at (eval 89) line 1)
  • Tutorials/NativeTutorials/translateSBML/translateSBML.bngl — no reaction rules defined, nothing to simulate. (Nothing to do: no reaction rules defined)

Reproduction

perl BNG2.pl <model>.bngl     # fails at parse / network generation

(Tested via PyBioNetGen bionetgen.run(..., simulator="subprocess"), which wraps
BNG2.pl 2.9.3; identical failures occur driving the model directly.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions