def rxn_add_stoich(srxn, rid, stoich, is_product=True): try: stoich = float(stoich) if stoich < 0: sr = srxn.createReactant() sr.setStoichiometry(-stoich) elif stoich > 0: sr = srxn.createProduct() sr.setStoichiometry(stoich) elif stoich == 0: sr = srxn.createModifier() sr.setSpecies(rid) except ValueError: formula = stoich.replace('**', '^') math_ast = libsbml.parseFormula(formula) #try: # smath = libsbml.StoichiometryMath(math_ast) #except: # normally this is in an except block but the try above doesn't throw erro # I am expecting in libSBML 4.0 try: smath = libsbml.StoichiometryMath(math_ast) except NotImplementedError: smath = libsbml.StoichiometryMath(sbml_level, sbml_version) smath.setMath(math_ast) if is_product == True: sr = srxn.createProduct() else: sr = srxn.createReactant() sr.setSpecies(rid) sr.setStoichiometryMath(smath)
def test_StoichiometryMath(self): sm = libsbml.StoichiometryMath(2,4) self.assertEqual( False, (sm.hasRequiredElements()) ) sm.setMath(libsbml.parseFormula("ar")) self.assertEqual( True, sm.hasRequiredElements() ) sm = None pass
def test_SpeciesReference_setStoichiometryMath6(self): sm = libsbml.StoichiometryMath(2,1) sm.setMath(libsbml.parseFormula("1 + 1")) i = self.sr.setStoichiometryMath(sm) self.assert_( i == libsbml.LIBSBML_VERSION_MISMATCH ) self.assertEqual( False, self.sr.isSetStoichiometryMath() ) _dummyList = [ sm ]; _dummyList[:] = []; del _dummyList pass
def test_StoichiometryMath_parent_add(self): m = libsbml.StoichiometryMath(2, 4) m.setMath(libsbml.parseFormula("1")) sr = libsbml.SpeciesReference(2, 4) sr.setStoichiometryMath(m) m = None self.assert_(sr == sr.getStoichiometryMath().getParentSBMLObject()) sr = None pass
def test_SpeciesReference_setStoichiometryMath2(self): sm = libsbml.StoichiometryMath(2,4) math = libsbml.ASTNode(libsbml.AST_TIMES) a = libsbml.ASTNode() a.setName( "a") math.addChild(a) sm.setMath(math) i = self.sr.setStoichiometryMath(sm) self.assert_( i == libsbml.LIBSBML_OPERATION_SUCCESS ) self.assertEqual( True, self.sr.isSetStoichiometryMath() ) _dummyList = [ sm ]; _dummyList[:] = []; del _dummyList pass
def test_SpeciesReference_setStoichiometryMath(self): math = libsbml.parseFormula("k3 / k2") stoich = libsbml.StoichiometryMath(2, 4) stoich.setMath(math) self.SR.setStoichiometryMath(stoich) math1 = self.SR.getStoichiometryMath() self.assert_(math1 != None) formula = libsbml.formulaToString(math1.getMath()) self.assert_(formula != None) self.assert_(("k3 / k2" == formula)) self.assertEqual(True, self.SR.isSetStoichiometryMath()) pass
def test_StoichiometryMath_ancestor_add(self): m = libsbml.StoichiometryMath(2,4) m.setMath(libsbml.parseFormula("1")) sr = libsbml.SpeciesReference(2,4) sr.setStoichiometryMath(m) m = None obj = sr.getStoichiometryMath() self.assert_( obj.getAncestorOfType(libsbml.SBML_SPECIES_REFERENCE) == sr ) self.assert_( obj.getAncestorOfType(libsbml.SBML_MODEL) == None ) self.assert_( obj.getAncestorOfType(libsbml.SBML_DOCUMENT) == None ) sr = None pass
def test_SpeciesReference_setStoichiometryMath4(self): sm = libsbml.StoichiometryMath(2,4) math = None sm.setMath(math) i = self.sr.setStoichiometryMath(sm) self.assert_( i == libsbml.LIBSBML_INVALID_OBJECT ) self.assertEqual( False, self.sr.isSetStoichiometryMath() ) self.assert_( self.sr.getStoichiometry() == 1 ) i = self.sr.unsetStoichiometryMath() self.assert_( i == libsbml.LIBSBML_OPERATION_SUCCESS ) self.assertEqual( False, self.sr.isSetStoichiometryMath() ) _dummyList = [ sm ]; _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 test_SpeciesReference_setStoichiometryMath5(self): sr1 = libsbml.SpeciesReference(1,2) sm = libsbml.StoichiometryMath(2,4) math = libsbml.ASTNode(libsbml.AST_TIMES) a = libsbml.ASTNode() b = libsbml.ASTNode() a.setName( "a") b.setName( "b") math.addChild(a) math.addChild(b) sm.setMath(math) i = sr1.setStoichiometryMath(sm) self.assert_( i == libsbml.LIBSBML_UNEXPECTED_ATTRIBUTE ) self.assertEqual( False, sr1.isSetStoichiometryMath() ) _dummyList = [ sm ]; _dummyList[:] = []; del _dummyList _dummyList = [ sr1 ]; _dummyList[:] = []; del _dummyList pass
def test_internal_consistency_check_99923(self): d = libsbml.SBMLDocument(2,4) sm = libsbml.StoichiometryMath(2,4) m = d.createModel() d.setLevelAndVersion(1,2,False) s = m.createSpecies() s.setId("s") c = m.createCompartment() c.setId("c") s.setCompartment("c") r = m.createReaction() r.setId("r") sr = r.createProduct() sr.setSpecies("s") sr.setStoichiometryMath(sm) errors = d.checkInternalConsistency() self.assert_( errors == 0 ) d = None pass
def test_StoichiometryMath(self): sm = libsbml.StoichiometryMath(2, 4) self.assertEqual(True, sm.hasRequiredAttributes()) sm = None pass
def setUp(self): self.D = libsbml.StoichiometryMath(2,4) if (self.D == None): pass pass
def test_StoichiometryMath_constructor(self): s = None try: s = libsbml.StoichiometryMath(2, 1) s = libsbml.StoichiometryMath(2, 2) s = libsbml.StoichiometryMath(2, 3) s = libsbml.StoichiometryMath(2, 4) s = libsbml.StoichiometryMath(self.SN21) s = libsbml.StoichiometryMath(self.SN22) s = libsbml.StoichiometryMath(self.SN23) s = libsbml.StoichiometryMath(self.SN24) except ValueError: inst = sys.exc_info()[1] s = None pass self.assert_(s != None) msg = "" try: s = libsbml.StoichiometryMath(1, 1) except ValueError: inst = sys.exc_info()[1] msg = inst.args[0] pass self.assertEqual(msg, self.ERR_MSG) msg = "" try: s = libsbml.StoichiometryMath(1, 2) except ValueError: inst = sys.exc_info()[1] msg = inst.args[0] pass self.assertEqual(msg, self.ERR_MSG) msg = "" try: s = libsbml.StoichiometryMath(9, 9) except ValueError: inst = sys.exc_info()[1] msg = inst.args[0] pass self.assertEqual(msg, self.ERR_MSG) msg = "" try: s = libsbml.StoichiometryMath(self.SN11) except ValueError: inst = sys.exc_info()[1] msg = inst.args[0] pass self.assertEqual(msg, self.ERR_MSG) msg = "" try: s = libsbml.StoichiometryMath(self.SN12) except ValueError: inst = sys.exc_info()[1] msg = inst.args[0] pass self.assertEqual(msg, self.ERR_MSG) try: s = libsbml.StoichiometryMath(self.SN99) except ValueError: inst = sys.exc_info()[1] msg = inst.args[0] pass self.assertEqual(msg, self.ERR_MSG)