Open jonrkarr opened 2 years ago
This is not a bug, it is by design, and is correct. The native format (VCML) encodes one or more variations of a model, each of which needs to be translated into a corresponding SBML model upon export. The tree structure of the VCell BioModel is roughly equivalent to a SEDML file, With the Application being the model and the Simulation being the task.
Therefore there will always be exactly 1 model when creating OMEX with VCML format but 1..n models when creating OMEX with SBML format. The total number of tasks however should always be identical.
@jonrkarr if you want to check equivalency you need to count the tasks and match the simulation names
Understand that. The issue is that the VCML vs SBML tasks are different:
If the VCML tasks are intended to simulate different variants of a model, I think this should be encoded using SED-ML model changes, which is not presently the case. It sounds like this is what's happening:
From my perspective, this is unintuitive because it deviates from how SED-ML is intended to be used. In the case of other model languages (SBML-fbc, SBML-qual, BNGL, NeuroML/LEMS, Smoldyn, RBA XML, XPP ODE), I have used SED-ML to capture model changes, including when those languages have capabilities to capture model variants themselves. Encoding model changes into SED-ML is important to enabling us to use SED-ML as an abstraction for specifying changes to models in any format.
Example (12119723):
The SED-ML for native has 1 model, 3 simulations, and 3 tasks.
The SED-ML for SBML has 3 models, 3 simulations, and 3 tasks. The SBML files used by the SED-ML are not identical.
Because the SBML files used by the SED-ML are not identical, the two versions of the COMBINE archives are not equivalent.