Skip to content

Commit

Permalink
Changed netgen_args={} to netgen_args=None in the call signature for
Browse files Browse the repository at this point in the history
`BngSimulator.run` and added a simple validation test to
test_simulator_bng.py.
  • Loading branch information
lh64 committed Jan 25, 2019
1 parent 79050c7 commit 0a151fc
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 1 deletion.
4 changes: 3 additions & 1 deletion pysb/simulator/bng.py
Expand Up @@ -25,7 +25,7 @@ def __init__(self, model, tspan=None, cleanup=True, verbose=False):

def run(self, tspan=None, initials=None, param_values=None, n_runs=1,
method='ssa', output_dir=None, output_file_basename=None,
cleanup=None, population_maps=None, netgen_args={},
cleanup=None, population_maps=None, netgen_args=None,
**additional_args):
"""
Simulate a model using BioNetGen
Expand Down Expand Up @@ -177,6 +177,8 @@ def run(self, tspan=None, initials=None, param_values=None, n_runs=1,
f.write(hpp_bngl)
if method != 'nf':
# TODO: Write existing netfile if already generated
if netgen_args is None:
netgen_args = {}
bngfile.action('generate_network', overwrite=True,
verbose=extended_debug, **netgen_args)
if output_file_basename is None:
Expand Down
17 changes: 17 additions & 0 deletions pysb/tests/test_simulator_bng.py
Expand Up @@ -122,3 +122,20 @@ def test_hpp():
seed=_BNG_SEED)
observables = np.array(x.observables)
assert len(observables) == 50

def test_bng_netgen_args():
Model()
N_STATES=10
Monomer('A', ['state'], {'state' : ['_{}'.format(i)
for i in range(N_STATES)]})
Initial(A(state='_0'), Parameter('A0'))
Parameter('k', 1)
[Rule('State_{}_to_{}'.format(i,i+1),
A(state='_{}'.format(i)) >> A(state='_{}'.format(i+1)), k)
for i in range(N_STATES-1)]
sim = BngSimulator(model)
sim.run(tspan=[0,1], netgen_args={'max_iter':1})
assert len(model.species) == 2
model.reset_equations()
sim.run(tspan=[0,1], netgen_args={'max_iter':2})
assert len(model.species) == 3

0 comments on commit 0a151fc

Please sign in to comment.