Closed bilalshaikh42 closed 2 years ago
This sounds like an error that OpenCOR raises that the CellML RNG schema doesn't catch. This sounds like an error with the model that should be reported to Physiome. Perhaps it should be an OpenCOR error, but let's defer to the Auckland team to determine whether its a model or OpenCOR error.
This is a more general set of issues that need to be addressed in this repository rather than physiome. Some or all of the below error types can be addressed by more carefully selecting which CellML files to create SED-ML for. Many of the simulation runs have successful tasks, but failures for some model files.
In general this is caused by attempting to run components as top level simulations. This happens when the component is not imported into any other model. This is only caught at runtime, so it might be necessary to load the models definitions into opencor to determine if they can have a simulation defined for them. The biosimulators_utils method could then raise an error if there is an attempt to create sims, params, vars
for a non-top level model
Because OpenCOR needs to be run in its own Python environment, I'd prefer not to make it a dependency of BioSimulators-utils. Alternatively, this functionality could be added to this repository.
@jonrkarr I could use some help in figuring out how to approach this one. For this model, the sedml was generated by the package.
Here is the example run https://run.biosimulations.org/runs/624e906ce2e617ecb3590ff8#tab=log
The first task in the simulations fails with the message:
I suppose when adding the variables that can be output to the sedml file that is generated, I would have to parse the CellML model and check for this condition. However, based on my understanding of these interfaces work ( https://tutorial-on-cellml-opencor-and-pmr.readthedocs.io/en/latest/pmr.html) this condition perhaps means that the model is not correctly written, since there is an interface for some component that is not connected to other components. There are some sedml tasks that do complete successfully, so I am unsure if this needs to be addressed in our sedml generation or in the source