When trying to flatten some simple comp models I get errors for the following files:
comp.zip
Flattening is performed via
doc = SBMLReader.read(file);
CompFlatteningConverter compFlatteningConverter = new CompFlatteningConverter();
docFlat = compFlatteningConverter.flatten(doc);
E.g. for test10.xml one gets
May 19, 2020 2:53:12 PM org.sbml.jsbml.ext.comp.util.CompFlatteningConverter initSubModels
INFO: No model definition found in sub1.
May 19, 2020 2:53:12 PM org.sbml.jsbml.ext.comp.util.CompFlatteningConverter initSubModels
INFO: No model definition found in sub1.
ERROR (Model.java:4687) - An element of type compartment with the id "moddef1C" is already present in this model. The new element of type compartment will not have it's id set. In some cases, the new element will not be added to the model.
java.lang.IllegalArgumentException: Cannot register compartment.
at org.sbml.jsbml.AbstractSBase.registerChild(AbstractSBase.java:2220)
at org.sbml.jsbml.ListOf.add(ListOf.java:444)
at org.sbml.jsbml.Model.addCompartment(Model.java:351)
at org.sbml.jsbml.ext.comp.util.CompFlatteningConverter.mergeListsOfModels(CompFlatteningConverter.java:385)
at org.sbml.jsbml.ext.comp.util.CompFlatteningConverter.mergeModels(CompFlatteningConverter.java:347)
at org.sbml.jsbml.ext.comp.util.CompFlatteningConverter.flattenAndMergeModels(CompFlatteningConverter.java:304)
at org.sbml.jsbml.ext.comp.util.CompFlatteningConverter.flattenAndMergeModels(CompFlatteningConverter.java:299)
at org.sbml.jsbml.ext.comp.util.CompFlatteningConverter.initSubModels(CompFlatteningConverter.java:284)
at org.sbml.jsbml.ext.comp.util.CompFlatteningConverter.initSubModels(CompFlatteningConverter.java:277)
at org.sbml.jsbml.ext.comp.util.CompFlatteningConverter.instantiateSubModels(CompFlatteningConverter.java:153)
at org.sbml.jsbml.ext.comp.util.CompFlatteningConverter.flatten(CompFlatteningConverter.java:115)
at org.simulator.comp.CompSimulator.<init>(CompSimulator.java:43)
at org.simulator.comp.CompSimulatorTest.testComp(CompSimulatorTest.java:45)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.junit.runners.Suite.runChild(Suite.java:127)
at org.junit.runners.Suite.runChild(Suite.java:26)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.junit.runners.Suite.runChild(Suite.java:127)
at org.junit.runners.Suite.runChild(Suite.java:26)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
For test6.xml one gets
ERROR (Model.java:4687) - An element of type parameter with the id "Mod1subparam2" is already present in this model. The new element of type parameter will not have it's id set. In some cases, the new element will not be added to the model.
java.lang.IllegalArgumentException: Cannot register parameter.
at org.sbml.jsbml.AbstractSBase.registerChild(AbstractSBase.java:2220)
at org.sbml.jsbml.ListOf.add(ListOf.java:444)
at org.sbml.jsbml.Model.addParameter(Model.java:434)
at org.sbml.jsbml.ext.comp.util.CompFlatteningConverter.mergeListsOfModels(CompFlatteningConverter.java:451)
at org.sbml.jsbml.ext.comp.util.CompFlatteningConverter.mergeModels(CompFlatteningConverter.java:354)
at org.sbml.jsbml.ext.comp.util.CompFlatteningConverter.flattenAndMergeModels(CompFlatteningConverter.java:304)
at org.sbml.jsbml.ext.comp.util.CompFlatteningConverter.initSubModels(CompFlatteningConverter.java:284)
at org.sbml.jsbml.ext.comp.util.CompFlatteningConverter.instantiateSubModels(CompFlatteningConverter.java:153)
at org.sbml.jsbml.ext.comp.util.CompFlatteningConverter.flatten(CompFlatteningConverter.java:115)
at org.simulator.comp.CompSimulator.<init>(CompSimulator.java:43)
at org.simulator.comp.CompSimulatorTest.testComp(CompSimulatorTest.java:45)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:47)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:44)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)
at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:271)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:70)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.junit.runners.Suite.runChild(Suite.java:127)
at org.junit.runners.Suite.runChild(Suite.java:26)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.junit.runners.Suite.runChild(Suite.java:127)
at org.junit.runners.Suite.runChild(Suite.java:26)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
at org.junit.runner.JUnitCore.run(JUnitCore.java:160)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:68)
at com.intellij.rt.execution.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:47)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:242)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:70)
When trying to flatten some simple comp models I get errors for the following files:
comp.zip
Flattening is performed via
E.g. for
test10.xmlone getsFor
test6.xmlone gets