Skip to content

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

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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions