RuleWorld / bionetgen

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

parameter_scan does not check for valid parameter #251

Closed jrfaeder closed 2 years ago

jrfaeder commented 2 years ago

The parameter_scan action in bngl does not currently check whether the parameter that is being scanned is defined. The attached example shows that scanning an undefined parameter still results in the full set of simulations being run and they each produce the same result.

begin parameters
  ke1 0.3
  k_e1 0.3
end parameters

begin species
    A() 10
end species

begin observables
  Molecules B B()
end observables

begin reaction rules
  A() <-> B() ke1,k_e1
end reaction rules

#simulate({method=>"ode",t_end=>10,n_steps=>200})
# Scan valid parameter
parameter_scan({method=>"ode",t_start=>0,t_end=>1e7,\
n_steps=>10,parameter=>"ke1",par_min=>1e-2,par_max=>1e2,n_scan_pts=>20,log_scale=>1})
# Scan invalid parameter
parameter_scan({method=>"ode",t_start=>0,t_end=>1e7,\
n_steps=>10,parameter=>"ke2",par_min=>1e-2,par_max=>1e2,n_scan_pts=>20,log_scale=>1})