OpenSourceBrain / SBMLShowcase

OSB showcase of interactions between SBML and NeuroML
http://www.opensourcebrain.org/projects/sbmlshowcase
1 stars 2 forks source link

Create summary table of whether omex file runs locally in different simulators #23

Open stellaprins opened 3 weeks ago

stellaprins commented 3 weeks ago

Create overview table like the one below for locally ran models (different than the one tested below).

Use helper functions that Rob wrote.

Down the line:

The resulting minimal omex file SBML\LEMS_NML2_Ex9_FN.omex biosimulations tool was used to run simulations on https://run.biosimulations.org/

Simulator: tellurium 2.2.8 (Sensible output was produced) Simulator: copasi 4.42.284 Failed Simulator: amici 0.18.1 (No output was produced) Simulator: vcell 7.5.0.127 (No output was produced) Simulator: pysces 1.2.1 Failed Simulator: gillespy2 1.6.6 (No sensible output was produced, flat line) Simulator: libsbmlsim 1.4.0 (Sensible output was produced) Simulator: masspy 0.1.6 Failed

robertvi commented 3 weeks ago

note: tellurium has some support for using combine/omex input files (https://tellurium.readthedocs.io/en/latest/notebooks.html#combine-inline-omex)

sanjayankur31 commented 3 weeks ago

https://github.com/NeuroML/pyNeuroML/blob/development/pyneuroml/biosimulations.py#L167 -> function to simulate an omex archive on biosimulators using its API

stellaprins commented 1 week ago

Github actions is failing, Rob and myself have been looking at it but have not found a solution yet. Any clues what is going on @sanjayankur31 or @pgleeson? We think it may be more related to a conflict in package version than changes to the code.

ImportError: cannot import name 'VisibleDeprecationWarning' from 'numpy' (/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/numpy/__init__.py) (see for example here)

ValueError: numpy.dtype size changed, may indicate binary incompatibility. Expected 96 from C header, got 88 from PyObject (see for example here)

sanjayankur31 commented 1 week ago

Hello,

Yes, looks like the version of Brian that's being pulled in is 2.5.3, which doesn't seem to have the necessary fixes for numpy2.x support, which were made in 2.6.0:

https://github.com/brian-team/brian2/commit/e8f05c6461d7c530ca26bdbab474a1891d9036b0

OMV uses 2.5.3 as the default version from the looks of it:

https://github.com/OpenSourceBrain/osb-model-validation/blob/e2b060dbcb3d82a1236cd14896b5c1db6a8476ab/omv/engines/getbrian2.py#L6

Numpy2.x was only released yesterday, so we'll have to update omv to work with that.

I think a current workaround is to explicitly install numpy<=1.2.3, as has been done here:

https://github.com/OpenSourceBrain/PotjansDiesmann2014/commit/25059f533e880db4d5aac3ed4b11072ba5f42bcc

See also: https://github.com/OpenSourceBrain/osb-model-validation/issues/91

sanjayankur31 commented 1 week ago

The other error is probably also because pytables is not ready for numpy 2.x, so pinning numpy should fix that too.

Requirement already satisfied: numpy in /opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages (from libNeuroML>=0.5.5->pyneuroml) (2.0.0)
stellaprins commented 1 week ago

Your first suggestion appears to have solved the github actions problems! Thanks a lot @sanjayankur31.

sanjayankur31 commented 2 days ago

FYI: json files including format information: