def test_SBMLNamespaces_constructor(self): s = None try: s = libsbml.SBMLNamespaces(3, 1) s = libsbml.SBMLNamespaces(self.SN31) except ValueError: inst = sys.exc_info()[1] s = None pass self.assert_(s != None)
def test_L3_Compartment_createWithNS(self): xmlns = libsbml.XMLNamespaces() xmlns.add("http://www.sbml.org", "testsbml") sbmlns = libsbml.SBMLNamespaces(3, 1) sbmlns.addNamespaces(xmlns) c = libsbml.Compartment(sbmlns) self.assert_(c.getTypeCode() == libsbml.SBML_COMPARTMENT) self.assert_(c.getMetaId() == "") self.assert_(c.getNotes() == None) self.assert_(c.getAnnotation() == None) self.assert_(c.getLevel() == 3) self.assert_(c.getVersion() == 1) self.assert_(c.getNamespaces() != None) self.assert_(c.getNamespaces().getLength() == 2) self.assert_(c.getId() == "") self.assert_(c.getName() == "") self.assert_(c.getUnits() == "") self.assert_(c.getOutside() == "") self.assertEqual(True, isnan(c.getSpatialDimensionsAsDouble())) self.assertEqual(True, isnan(c.getVolume())) self.assert_(c.getConstant() == True) self.assertEqual(False, c.isSetId()) self.assertEqual(False, c.isSetSpatialDimensions()) self.assertEqual(False, c.isSetName()) self.assertEqual(False, c.isSetSize()) self.assertEqual(False, c.isSetVolume()) self.assertEqual(False, c.isSetUnits()) self.assertEqual(False, c.isSetOutside()) self.assertEqual(False, c.isSetConstant()) _dummyList = [c] _dummyList[:] = [] del _dummyList pass
def create_merged_doc(model_paths, merged_id="merged"): """ Create a comp model from the given model paths. Warning: This only works if all models are in the same directory. """ sbmlns = libsbml.SBMLNamespaces(3, 1) sbmlns.addPackageNamespace("comp", 1) doc = libsbml.SBMLDocument(sbmlns) doc.setPackageRequired("comp", True) # model model = doc.createModel() model.setId(merged_id) # comp plugin comp_doc = doc.getPlugin("comp") # type: libsbml.CompSBMLDocumentPlugin comp_model = model.getPlugin("comp") # type: libsbml.CompModelPlugin for emd_id, path in model_paths.items(): # create ExternalModelDefinitions emd = comp.create_ExternalModelDefinition(comp_doc, emd_id, source=path) # add submodel which references the external model definitions print("emd:", emd) print("emd_id:", emd_id) print("comp_model:", comp_model) comp.add_submodel_from_emd(comp_model, submodel_id=emd_id, emd=emd) return doc
def create_merged_doc(model_paths: Dict[str, Path], merged_id: str = "merged") -> libsbml.SBMLDocument: """Create a comp model from given model paths. Warning: This only works if all models are in the same directory. :param model_paths: Dictionary of id:path :param merged_id: :return: """ sbmlns = libsbml.SBMLNamespaces(3, 1) sbmlns.addPackageNamespace("comp", 1) doc = libsbml.SBMLDocument(sbmlns) # type: libsbml.SBMLDocument doc.setPackageRequired("comp", True) # model model = doc.createModel() # type: libsbml.Model model.setId(merged_id) # comp plugin comp_doc = doc.getPlugin("comp") # type: libsbml.CompSBMLDocumentPlugin comp_model = model.getPlugin("comp") # type: libsbml.CompModelPlugin for emd_id, path in model_paths.items(): # create ExternalModelDefinitions emd = comp.create_ExternalModelDefinition( comp_doc, emd_id, source=str(path)) # type: libsbml.ExternalModelDefinition # add submodel which references the external model definitions comp.add_submodel_from_emd(comp_model, submodel_id=emd_id, emd=emd) return doc
def _create_merged_doc( model_paths: Dict[str, Path], merged_id: str = "merged", sbml_level: int = 3, sbml_version: int = 1, ) -> libsbml.SBMLDocument: """Create a comp model from given model paths. Warning: This only works if all models are in the same directory. """ sbmlns = libsbml.SBMLNamespaces(sbml_level, sbml_version) sbmlns.addPackageNamespace("comp", 1) doc: libsbml.SBMLDocument = libsbml.SBMLDocument(sbmlns) doc.setPackageRequired("comp", True) model: libsbml.Model = doc.createModel() model.setId(merged_id) comp_doc: libsbml.CompSBMLDocumentPlugin = doc.getPlugin("comp") comp_model: libsbml.CompModelPlugin = model.getPlugin("comp") for emd_id, path in model_paths.items(): # create ExternalModelDefinition emd: libsbml.ExternalModelDefinition = comp.create_ExternalModelDefinition( comp_doc, emd_id, source=str(path)) # add submodel which references the external model definition comp.add_submodel_from_emd(comp_model, submodel_id=emd_id, emd=emd) return doc
def test_L3_SpeciesReference_createWithNS(self): xmlns = libsbml.XMLNamespaces() xmlns.add( "http://www.sbml.org", "testsbml") sbmlns = libsbml.SBMLNamespaces(3,1) sbmlns.addNamespaces(xmlns) sr = libsbml.SpeciesReference(sbmlns) self.assert_( sr.getTypeCode() == libsbml.SBML_SPECIES_REFERENCE ) self.assert_( sr.getMetaId() == "" ) self.assert_( sr.getNotes() == None ) self.assert_( sr.getAnnotation() == None ) self.assert_( sr.getLevel() == 3 ) self.assert_( sr.getVersion() == 1 ) self.assert_( sr.getNamespaces() != None ) self.assert_( sr.getNamespaces().getLength() == 2 ) self.assert_( sr.getId() == "" ) self.assert_( sr.getName() == "" ) self.assert_( sr.getSpecies() == "" ) self.assertEqual( True, isnan(sr.getStoichiometry()) ) self.assert_( sr.getConstant() == False ) self.assertEqual( False, sr.isSetId() ) self.assertEqual( False, sr.isSetName() ) self.assertEqual( False, sr.isSetSpecies() ) self.assertEqual( False, sr.isSetStoichiometry() ) self.assertEqual( False, sr.isSetConstant() ) _dummyList = [ sr ]; _dummyList[:] = []; del _dummyList pass
def test_L3_Model_createWithNS(self): xmlns = libsbml.XMLNamespaces() xmlns.add("http://www.sbml.org", "testsbml") sbmlns = libsbml.SBMLNamespaces(3, 1) sbmlns.addNamespaces(xmlns) m = libsbml.Model(sbmlns) self.assert_(m.getTypeCode() == libsbml.SBML_MODEL) self.assert_(m.getMetaId() == "") self.assert_(m.getNotes() == None) self.assert_(m.getAnnotation() == None) self.assert_(m.getLevel() == 3) self.assert_(m.getVersion() == 1) self.assert_(m.getNamespaces() != None) self.assert_(m.getNamespaces().getLength() == 2) self.assert_(m.getId() == "") self.assert_(m.getName() == "") self.assert_(m.getSubstanceUnits() == "") self.assert_(m.getTimeUnits() == "") self.assert_(m.getVolumeUnits() == "") self.assert_(m.getAreaUnits() == "") self.assert_(m.getLengthUnits() == "") self.assert_(m.getConversionFactor() == "") self.assertEqual(False, m.isSetId()) self.assertEqual(False, m.isSetName()) self.assertEqual(False, m.isSetSubstanceUnits()) self.assertEqual(False, m.isSetTimeUnits()) self.assertEqual(False, m.isSetVolumeUnits()) self.assertEqual(False, m.isSetAreaUnits()) self.assertEqual(False, m.isSetLengthUnits()) self.assertEqual(False, m.isSetConversionFactor()) _dummyList = [m] _dummyList[:] = [] del _dummyList pass
def test_L3_Reaction_createWithNS(self): xmlns = libsbml.XMLNamespaces() xmlns.add("http://www.sbml.org", "testsbml") sbmlns = libsbml.SBMLNamespaces(3, 1) sbmlns.addNamespaces(xmlns) r = libsbml.Reaction(sbmlns) self.assert_(r.getTypeCode() == libsbml.SBML_REACTION) self.assert_(r.getMetaId() == "") self.assert_(r.getNotes() == None) self.assert_(r.getAnnotation() == None) self.assert_(r.getLevel() == 3) self.assert_(r.getVersion() == 1) self.assert_(r.getNamespaces() != None) self.assert_(r.getNamespaces().getLength() == 2) self.assert_(r.getId() == "") self.assert_(r.getName() == "") self.assert_(r.getCompartment() == "") self.assert_(r.getFast() == False) self.assert_(r.getReversible() == True) self.assertEqual(False, r.isSetId()) self.assertEqual(False, r.isSetName()) self.assertEqual(False, r.isSetCompartment()) self.assertEqual(False, r.isSetFast()) self.assertEqual(False, r.isSetReversible()) _dummyList = [r] _dummyList[:] = [] del _dummyList pass
def test_SBMLNamespaces_add_and_remove_namespaces(self): sbmlns = libsbml.SBMLNamespaces( 3,1 ) self.assert_( sbmlns.getLevel() == 3 ) self.assert_( sbmlns.getVersion() == 1 ) sbmlns.addNamespace("http://www.sbml.org/sbml/level3/version1/group/version1", "group") sbmlns.addNamespace("http://www.sbml.org/sbml/level3/version1/layout/version1", "layout") sbmlns.addNamespace("http://www.sbml.org/sbml/level3/version1/render/version1", "render") sbmlns.addNamespace("http://www.sbml.org/sbml/level3/version1/multi/version1", "multi") ns = sbmlns.getNamespaces() self.assert_( ns.getLength() == 5 ) self.assert_( ns.getURI(0) == "http://www.sbml.org/sbml/level3/version1/core" ) self.assert_( ns.getPrefix(0) == "" ) self.assert_( ns.getURI(1) == "http://www.sbml.org/sbml/level3/version1/group/version1" ) self.assert_( ns.getPrefix(1) == "group" ) self.assert_( ns.getURI(2) == "http://www.sbml.org/sbml/level3/version1/layout/version1" ) self.assert_( ns.getPrefix(2) == "layout" ) self.assert_( ns.getURI(3) == "http://www.sbml.org/sbml/level3/version1/render/version1" ) self.assert_( ns.getPrefix(3) == "render" ) self.assert_( ns.getURI(4) == "http://www.sbml.org/sbml/level3/version1/multi/version1" ) self.assert_( ns.getPrefix(4) == "multi" ) sbmlns.removeNamespace("http://www.sbml.org/sbml/level3/version1/layout/version1") sbmlns.removeNamespace("http://www.sbml.org/sbml/level3/version1/group/version1") sbmlns.removeNamespace("http://www.sbml.org/sbml/level3/version1/render/version1") sbmlns.removeNamespace("http://www.sbml.org/sbml/level3/version1/multi/version1") pass
def test_L3_Unit_createWithNS(self): xmlns = libsbml.XMLNamespaces() xmlns.add("http://www.sbml.org", "testsbml") sbmlns = libsbml.SBMLNamespaces(3, 1) sbmlns.addNamespaces(xmlns) u = libsbml.Unit(sbmlns) self.assert_(u.getTypeCode() == libsbml.SBML_UNIT) self.assert_(u.getMetaId() == "") self.assert_(u.getNotes() == None) self.assert_(u.getAnnotation() == None) self.assert_(u.getLevel() == 3) self.assert_(u.getVersion() == 1) self.assert_(u.getNamespaces() != None) self.assert_(u.getNamespaces().getLength() == 2) self.assert_(u.getKind() == libsbml.UNIT_KIND_INVALID) self.assertEqual(True, isnan(u.getExponentAsDouble())) self.assertEqual(True, isnan(u.getMultiplier())) self.assertEqual(False, u.isSetKind()) self.assertEqual(False, u.isSetExponent()) self.assertEqual(False, u.isSetMultiplier()) self.assertEqual(False, u.isSetScale()) _dummyList = [u] _dummyList[:] = [] del _dummyList pass
def test_L3_Parameter_createWithNS(self): xmlns = libsbml.XMLNamespaces() xmlns.add( "http://www.sbml.org", "testsbml") sbmlns = libsbml.SBMLNamespaces(3,1) sbmlns.addNamespaces(xmlns) p = libsbml.Parameter(sbmlns) self.assert_( p.getTypeCode() == libsbml.SBML_PARAMETER ) self.assert_( p.getMetaId() == "" ) self.assert_( p.getNotes() == None ) self.assert_( p.getAnnotation() == None ) self.assert_( p.getLevel() == 3 ) self.assert_( p.getVersion() == 1 ) self.assert_( p.getNamespaces() != None ) self.assert_( p.getNamespaces().getLength() == 2 ) self.assert_( p.getId() == "" ) self.assert_( p.getName() == "" ) self.assert_( p.getUnits() == "" ) self.assertEqual( True, isnan(p.getValue()) ) self.assert_( p.getConstant() == True ) self.assertEqual( False, p.isSetId() ) self.assertEqual( False, p.isSetName() ) self.assertEqual( False, p.isSetValue() ) self.assertEqual( False, p.isSetUnits() ) self.assertEqual( False, p.isSetConstant() ) _dummyList = [ p ]; _dummyList[:] = []; del _dummyList pass
def template_doc_bounds(model_id, create_min_max=True): """ Create template bounds model. Adds min and max functions :param create_min_max: :param model_id: model identifier :return: SBMLDocument """ sbmlns = libsbml.SBMLNamespaces(SBML_LEVEL, SBML_VERSION, 'comp', SBML_COMP_VERSION) doc = libsbml.SBMLDocument(sbmlns) doc.setPackageRequired(SBML_COMP_NAME, True) model = doc.createModel() model.setId("{}_bounds".format(model_id)) model.setName("{} (BOUNDS)".format(model_id)) model.setSBOTerm(comp.SBO_CONTINOUS_FRAMEWORK) if create_min_max: objects = [ # definition of min and max Function('max', 'lambda(x,y, piecewise(x,gt(x,y),y) )', name='min'), Function('min', 'lambda(x,y, piecewise(x,lt(x,y),y) )', name='max'), ] factory.create_objects(model, objects) return doc
def test_SBMLNamespaces_L2V1(self): sbml = libsbml.SBMLNamespaces(2, 1) self.assert_(sbml.getLevel() == 2) self.assert_(sbml.getVersion() == 1) ns = sbml.getNamespaces() self.assert_(ns.getLength() == 1) self.assert_(ns.getURI(0) == "http://www.sbml.org/sbml/level2") self.assert_(ns.getPrefix(0) == "") sbml = None pass
def _distrib_doc() -> libsbml.SBMLDocument: """Create distrib document.""" sbml_level = 3 sbml_version = 1 sbmlns = libsbml.SBMLNamespaces(sbml_level, sbml_version) sbmlns.addPackageNamespace("distrib", 1) doc: libsbml.SBMLDocument = libsbml.SBMLDocument(sbmlns) doc.setPackageRequired("distrib", True) return doc
def test_SyntaxChecker_validXHTML(self): NS24 = libsbml.SBMLNamespaces(2,4) NS31 = libsbml.SBMLNamespaces(3,1) toptriple = libsbml.XMLTriple("notes", "", "") triple = libsbml.XMLTriple("p", "", "") att = libsbml.XMLAttributes() ns = libsbml.XMLNamespaces() ns.add( "http://www.w3.org/1999/xhtml", "") tt = libsbml.XMLToken("This is my text") n1 = libsbml.XMLNode(tt) toptoken = libsbml.XMLToken(toptriple,att) topnode = libsbml.XMLNode(toptoken) token = libsbml.XMLToken(triple,att,ns) node = libsbml.XMLNode(token) node.addChild(n1) topnode.addChild(node) self.assert_( libsbml.SyntaxChecker.hasExpectedXHTMLSyntax(topnode,None) == True ) self.assert_( libsbml.SyntaxChecker.hasExpectedXHTMLSyntax(topnode,NS24) == True ) self.assert_( libsbml.SyntaxChecker.hasExpectedXHTMLSyntax(topnode,NS31) == True ) triple = libsbml.XMLTriple("html", "", "") token = libsbml.XMLToken(triple,att,ns) node = libsbml.XMLNode(token) node.addChild(n1) topnode.removeChild(0) topnode.addChild(node) self.assert_( libsbml.SyntaxChecker.hasExpectedXHTMLSyntax(topnode,None) == True ) self.assert_( libsbml.SyntaxChecker.hasExpectedXHTMLSyntax(topnode,NS24) == False ) self.assert_( libsbml.SyntaxChecker.hasExpectedXHTMLSyntax(topnode,NS31) == True ) triple = libsbml.XMLTriple("html", "", "") ns.clear() token = libsbml.XMLToken(triple,att,ns) node = libsbml.XMLNode(token) node.addChild(n1) topnode.removeChild(0) topnode.addChild(node) self.assert_( libsbml.SyntaxChecker.hasExpectedXHTMLSyntax(topnode,None) == False ) self.assert_( libsbml.SyntaxChecker.hasExpectedXHTMLSyntax(topnode,NS24) == False ) self.assert_( libsbml.SyntaxChecker.hasExpectedXHTMLSyntax(topnode,NS31) == False ) pass
def _init_sbml_model(self) -> None: """Create and initialize the SBML model.""" # FIXME: support arbitrary levels and versions sbmlns = libsbml.SBMLNamespaces(3, 1) sbmlns.addPackageNamespace("comp", 1) doc: libsbml.SBMLDocument = libsbml.SBMLDocument(sbmlns) doc.setPackageRequired("comp", True) self.doc = doc model: libsbml.Model = doc.createModel() model.setNotes(notes) model.setId(f"Interpolation_{self.method}") model.setName(f"Interpolation_{self.method}") self.model = model
def test_FunctionDefinition_createWithNS(self): xmlns = libsbml.XMLNamespaces() xmlns.add( "http://www.sbml.org", "testsbml") sbmlns = libsbml.SBMLNamespaces(2,1) sbmlns.addNamespaces(xmlns) object = libsbml.FunctionDefinition(sbmlns) self.assert_( object.getTypeCode() == libsbml.SBML_FUNCTION_DEFINITION ) self.assert_( object.getMetaId() == "" ) self.assert_( object.getNotes() == None ) self.assert_( object.getAnnotation() == None ) self.assert_( object.getLevel() == 2 ) self.assert_( object.getVersion() == 1 ) self.assert_( object.getNamespaces() != None ) self.assert_( object.getNamespaces().getLength() == 2 ) _dummyList = [ object ]; _dummyList[:] = []; del _dummyList pass
def test_Constraint_createWithNS(self): xmlns = libsbml.XMLNamespaces() xmlns.add( "http://www.sbml.org", "testsbml") sbmlns = libsbml.SBMLNamespaces(2,2) sbmlns.addNamespaces(xmlns) object = libsbml.Constraint(sbmlns) self.assert_( object.getTypeCode() == libsbml.SBML_CONSTRAINT ) self.assert_( object.getMetaId() == "" ) self.assert_( object.getNotes() == None ) self.assert_( object.getAnnotation() == None ) self.assert_( object.getLevel() == 2 ) self.assert_( object.getVersion() == 2 ) self.assert_( object.getNamespaces() != None ) self.assert_( object.getNamespaces().getLength() == 2 ) _dummyList = [ object ]; _dummyList[:] = []; del _dummyList pass
def test_EventAssignment_createWithNS(self): xmlns = libsbml.XMLNamespaces() xmlns.add( "http://www.sbml.org", "testsbml") sbmlns = libsbml.SBMLNamespaces(2,1) sbmlns.addNamespaces(xmlns) object = libsbml.EventAssignment(sbmlns) self.assert_( object.getTypeCode() == libsbml.SBML_EVENT_ASSIGNMENT ) self.assert_( object.getMetaId() == "" ) self.assert_( object.getNotes() == None ) self.assert_( object.getAnnotation() == None ) self.assert_( object.getLevel() == 2 ) self.assert_( object.getVersion() == 1 ) self.assert_( object.getNamespaces() != None ) self.assert_( object.getNamespaces().getLength() == 2 ) _dummyList = [ object ]; _dummyList[:] = []; del _dummyList pass
def test_StoichiometryMath_createWithNS(self): xmlns = libsbml.XMLNamespaces() xmlns.add( "http://www.sbml.org", "testsbml") sbmlns = libsbml.SBMLNamespaces(2,1) sbmlns.addNamespaces(xmlns) object = libsbml.StoichiometryMath(sbmlns) self.assert_( object.getTypeCode() == libsbml.SBML_STOICHIOMETRY_MATH ) self.assert_( object.getMetaId() == "" ) self.assert_( object.getNotes() == None ) self.assert_( object.getAnnotation() == None ) self.assert_( object.getLevel() == 2 ) self.assert_( object.getVersion() == 1 ) self.assert_( object.getNamespaces() != None ) self.assert_( object.getNamespaces().getLength() == 2 ) _dummyList = [ object ]; _dummyList[:] = []; del _dummyList pass
def template_doc_update(model_id): """ Create template update model. :param model_id: model identifier :return: SBMLDocument """ sbmlns = libsbml.SBMLNamespaces(SBML_LEVEL, SBML_VERSION, 'comp', SBML_COMP_VERSION) doc = libsbml.SBMLDocument(sbmlns) doc.setPackageRequired(SBML_COMP_NAME, True) # model model = doc.createModel() model.setId("{}_update".format(model_id)) model.setName("{} (UPDATE)".format(model_id)) model.setSBOTerm(comp.SBO_CONTINOUS_FRAMEWORK) return doc
def _init_sbml_model(self): """ Initializes the SBML model. :return: :rtype: """ sbmlns = libsbml.SBMLNamespaces(3, 1) sbmlns.addPackageNamespace("comp", 1) doc = libsbml.SBMLDocument(sbmlns) doc.setPackageRequired("comp", True) self.doc = doc model = doc.createModel() model.setNotes(notes) model.setId("Interpolation_{}".format(self.method)) model.setName("Interpolation_{}".format(self.method)) self.model = model
def test_CompartmentType_createWithNS(self): xmlns = libsbml.XMLNamespaces() xmlns.add("http://www.sbml.org", "testsbml") sbmlns = libsbml.SBMLNamespaces(2, 2) sbmlns.addNamespaces(xmlns) object = libsbml.CompartmentType(sbmlns) self.assert_(object.getTypeCode() == libsbml.SBML_COMPARTMENT_TYPE) self.assert_(object.getMetaId() == "") self.assert_(object.getNotes() == None) self.assert_(object.getAnnotation() == None) self.assert_(object.getLevel() == 2) self.assert_(object.getVersion() == 2) self.assert_(object.getNamespaces() != None) self.assert_(object.getNamespaces().getLength() == 2) _dummyList = [object] _dummyList[:] = [] del _dummyList pass
def test_Delay_createWithNS(self): xmlns = libsbml.XMLNamespaces() xmlns.add("http://www.sbml.org", "testsbml") sbmlns = libsbml.SBMLNamespaces(2, 1) sbmlns.addNamespaces(xmlns) object = libsbml.Delay(sbmlns) self.assert_(object.getTypeCode() == libsbml.SBML_DELAY) self.assert_(object.getMetaId() == "") self.assert_(object.getNotes() == None) self.assert_(object.getAnnotation() == None) self.assert_(object.getLevel() == 2) self.assert_(object.getVersion() == 1) self.assert_(object.getNamespaces() != None) self.assert_(object.getNamespaces().getLength() == 2) _dummyList = [object] _dummyList[:] = [] del _dummyList pass
def test_AlgebraicRule_createWithNS(self): xmlns = libsbml.XMLNamespaces() xmlns.add("http://www.sbml.org", "testsbml") sbmlns = libsbml.SBMLNamespaces(2, 3) sbmlns.addNamespaces(xmlns) r = libsbml.AlgebraicRule(sbmlns) self.assert_(r.getTypeCode() == libsbml.SBML_ALGEBRAIC_RULE) self.assert_(r.getMetaId() == "") self.assert_(r.getNotes() == None) self.assert_(r.getAnnotation() == None) self.assert_(r.getLevel() == 2) self.assert_(r.getVersion() == 3) self.assert_(r.getNamespaces() != None) self.assert_(r.getNamespaces().getLength() == 2) _dummyList = [r] _dummyList[:] = [] del _dummyList pass
def template_doc_top(model_id, emds): """ Create template top model. Adds the ExternalModelDefinitions and submodels for FBA, BOUNDS & UPDATE model. :param emds: :param model_id: model identifier :return: SBMLDocument """ sbmlns = libsbml.SBMLNamespaces(SBML_LEVEL, SBML_VERSION, 'comp', SBML_COMP_VERSION) doc = libsbml.SBMLDocument(sbmlns) doc.setPackageRequired(SBML_COMP_NAME, True) doc.setPackageRequired(SBML_FBC_NAME, False) # create models and submodels model = doc.createModel() model.setId("{}_top".format(model_id)) model.setName("{} (TOP)".format(model_id)) model.setSBOTerm(comp.SBO_CONTINOUS_FRAMEWORK) # create listOfExternalModelDefinitions doc_comp = doc.getPlugin(SBML_COMP_NAME) emd_fba = comp.create_ExternalModelDefinition( doc_comp, "{}_fba".format(model_id), source=emds["{}_fba".format(model_id)]) emd_bounds = comp.create_ExternalModelDefinition( doc_comp, "{}_bounds".format(model_id), source=emds["{}_bounds".format(model_id)]) emd_update = comp.create_ExternalModelDefinition( doc_comp, "{}_update".format(model_id), source=emds["{}_update".format(model_id)]) # add submodel which references the external model definition doc_model = model.getPlugin(SBML_COMP_NAME) comp.add_submodel_from_emd(doc_model, submodel_id="fba", emd=emd_fba) comp.add_submodel_from_emd(doc_model, submodel_id="bounds", emd=emd_bounds) comp.add_submodel_from_emd(doc_model, submodel_id="update", emd=emd_update) return doc
def create_port_doc(): sbmlns = libsbml.SBMLNamespaces(3, 1, "comp", 1) doc = libsbml.SBMLDocument(sbmlns) doc.setPackageRequired("comp", True) model = doc.createModel() model.setId("toy_update") model.setName("toy (UPDATE submodel)") model.setSBOTerm(SBO_CONTINOUS_FRAMEWORK) objects = [ fac.Compartment( sid="extern", value=1.0, unit="m3", constant=True, name="external compartment", ), fac.Species( sid="A", name="A", initialConcentration=10.0, hasOnlySubstanceUnits=True, compartment="extern", ), fac.Species( sid="C", name="C", initialConcentration=0, hasOnlySubstanceUnits=True, compartment="extern", ), fac.Parameter(sid="EX_A", value=1.0, constant=False, sboTerm="SBO:0000613"), fac.Parameter(sid="EX_C", value=1.0, constant=False, sboTerm="SBO:0000613"), ] fac.create_objects(model, obj_iter=objects) return doc
def test_ModifierSpeciesReference_createWithNS(self): xmlns = libsbml.XMLNamespaces() xmlns.add("http://www.sbml.org", "testsbml") sbmlns = libsbml.SBMLNamespaces(2, 1) sbmlns.addNamespaces(xmlns) object = libsbml.ModifierSpeciesReference(sbmlns) self.assert_( object.getTypeCode() == libsbml.SBML_MODIFIER_SPECIES_REFERENCE) self.assert_(object.getMetaId() == "") self.assert_(object.getNotes() == None) self.assert_(object.getAnnotation() == None) self.assert_(object.getLevel() == 2) self.assert_(object.getVersion() == 1) self.assert_(object.getNamespaces() != None) n = object.getNamespaces() self.assert_(n.getLength() == 2) _dummyList = [object] _dummyList[:] = [] del _dummyList pass
def create_fba_doc(): sbmlns = libsbml.SBMLNamespaces(3, 1) sbmlns.addPackageNamespace("fbc", 2) sbmlns.addPackageNamespace("comp", 1) doc = libsbml.SBMLDocument(sbmlns) doc.setPackageRequired("comp", True) doc.setPackageRequired("fbc", False) model = doc.createModel() mplugin = model.getPlugin("fbc") mplugin.setStrict(True) objects = [ fac.Compartment(sid='cell', value=1.0), fac.Species(sid='A', initialConcentration=0, compartment="cell"), fac.Species(sid='B', initialConcentration=0, compartment="cell"), ] fac.create_objects(model, objects) return doc
def test_Compartment_createWithNS(self): xmlns = libsbml.XMLNamespaces() xmlns.add("http://www.sbml.org", "testsbml") sbmlns = libsbml.SBMLNamespaces(2, 1) sbmlns.addNamespaces(xmlns) c = libsbml.Compartment(sbmlns) self.assert_(c.getTypeCode() == libsbml.SBML_COMPARTMENT) self.assert_(c.getMetaId() == "") self.assert_(c.getNotes() == None) self.assert_(c.getAnnotation() == None) self.assert_(c.getLevel() == 2) self.assert_(c.getVersion() == 1) self.assert_(c.getNamespaces() != None) self.assert_(c.getNamespaces().getLength() == 2) self.assert_(c.getName() == "") self.assert_(c.getSpatialDimensions() == 3) self.assert_(c.getConstant() == True) _dummyList = [c] _dummyList[:] = [] del _dummyList pass