sys-bio / tellurium

Python Environment for Modeling and Simulating Biological Systems
http://tellurium.analogmachine.org/
Apache License 2.0
106 stars 36 forks source link

Simulation times parsed incorrectly: BIOMD0000000242_fig2_sedml.omex #219

Closed matthiaskoenig closed 7 years ago

matthiaskoenig commented 7 years ago

Somehow the simulation times are parsed incorrectly from the following SED-ML. It looks like for initial integration until outputStartTime gets the arguments in wrong order. Switch to named arguments in tesedml to fix this.

<uniformTimeCourse id="sim1" initialTime="200" outputStartTime="0" outputEndTime="400" numberOfPoints="1000">

==> model1.simulate(start=200.0, end=0.0, points=2) ???

   Traceback (most recent call last):
  File "/home/mkoenig/envs/tellurium-web/lib/python3.5/site-packages/celery/app/trace.py", line 374, in trace_task
    R = retval = fun(*args, **kwargs)
  File "/home/mkoenig/envs/tellurium-web/lib/python3.5/site-packages/celery/app/trace.py", line 629, in __protected_call__
    return self.run(*args, **kwargs)
  File "/home/mkoenig/git/tellurium-web/teweb/combine/tasks.py", line 63, in execute_omex
    dgs_all = tellurium.sedml.tesedml.executeOMEX(omex_path, workingDir=tmp_dir)
  File "/home/mkoenig/git/tellurium/tellurium/sedml/tesedml.py", line 193, in executeOMEX
    sedml_dgs = factory.executePython()
  File "/home/mkoenig/git/tellurium/tellurium/sedml/tesedml.py", line 414, in executePython
    exec(compile(execStr, filename, 'exec'), symbols)
  File "/tmp/te-generated-sedml.py", line 44, in 
    model1.simulate(start=200.0, end=0.0, points=2)
  File "/home/mkoenig/envs/tellurium-web/lib/python3.5/site-packages/roadrunner/roadrunner.py", line 3578, in simulate
    result = self._simulate(o)
  File "/home/mkoenig/envs/tellurium-web/lib/python3.5/site-packages/roadrunner/roadrunner.py", line 3332, in _simulate
    return _roadrunner.RoadRunner__simulate(self, opt)
RuntimeError: duration, startTime and steps must be non-negative
matthiaskoenig commented 7 years ago

This was a SED-ML encoding error. Should be

<uniformTimeCourse id="sim1" initialTime="0" outputStartTime="200" outputEndTime="400" 
numberOfPoints="1000">

Fixed by fixing the SED-ML