Exemplo n.º 1
0
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  
Exemplo n.º 3
0
 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  
Exemplo n.º 4
0
 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
Exemplo n.º 5
0
 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  
Exemplo n.º 6
0
 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
Exemplo n.º 7
0
 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  
Exemplo n.º 8
0
 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  
Exemplo n.º 10
0
 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  
Exemplo n.º 12
0
 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)