Пример #1
0
 def test_ASTNode_prependChild1(self):
     node = libsbml.ASTNode()
     c1 = libsbml.ASTNode()
     c2 = libsbml.ASTNode()
     c1_1 = libsbml.ASTNode()
     i = 0
     node.setType(libsbml.AST_LOGICAL_AND)
     c1.setName("a")
     c2.setName("b")
     node.addChild(c1)
     node.addChild(c2)
     self.assert_(node.getNumChildren() == 2)
     self.assert_(("and(a, b)" == libsbml.formulaToString(node)))
     c1_1.setName("d")
     i = node.prependChild(c1_1)
     self.assert_(i == libsbml.LIBSBML_OPERATION_SUCCESS)
     self.assert_(node.getNumChildren() == 3)
     self.assert_(("and(d, a, b)" == libsbml.formulaToString(node)))
     self.assert_(("d" == node.getChild(0).getName()))
     self.assert_(("a" == node.getChild(1).getName()))
     self.assert_(("b" == node.getChild(2).getName()))
     _dummyList = [node]
     _dummyList[:] = []
     del _dummyList
     pass
Пример #2
0
    def __convertFormulaToExpression( self, anASTNode ):

        numChildren = anASTNode.getNumChildren()

        if numChildren == 2:
            self.__convertFormulaToExpression( anASTNode.getLeftChild() )
            self.__convertFormulaToExpression( anASTNode.getRightChild() )
            return anASTNode

        elif numChildren == 1:
            self.__convertFormulaToExpression( anASTNode.getLeftChild() )
            return anASTNode

        elif numChildren == 0:

            if anASTNode.isNumber():
                return anASTNode

            else:
                name = anASTNode.getName()
                ( fullIDString, sbaseType ) \
                  = self.rootobj.theSBMLIdManager.searchFullIDFromId( name )

                if sbaseType == libsbml.SBML_SPECIES:

                    variableName = self.__addVariableReference( fullIDString )

                    fullID = ecell.ecssupport.createFullID( fullIDString )
                    sizeName = self.__addVariableReference( 'Variable:%s:SIZE' % ( fullID[ 1 ] ) )
                    
                    anASTNode.setType( libsbml.AST_DIVIDE )
                    anASTNode.addChild( libsbml.ASTNode( libsbml.AST_NAME ) )
                    anASTNode.addChild( libsbml.ASTNode( libsbml.AST_NAME ) )
                    anASTNode.getLeftChild().setName( '%s.Value' % ( variableName ) )
                    anASTNode.getRightChild().setName( '%s.Value' % ( sizeName ) )
                    return anASTNode
                    
                elif sbaseType == libsbml.SBML_PARAMETER:

                    variableName = self.__addVariableReference( fullIDString )

                    anASTNode.setName( '%s.Value' % ( variableName ) )
                    return anASTNode

                elif sbaseType == libsbml.SBML_COMPARTMENT:

                    fullID = ecell.ecssupport.createFullID( fullIDString )
                    systemPath = ecell.ecssupport.createSystemPathFromFullID( fullID )
                    fullIDString = 'Variable:%s:SIZE' % ( systemPath )
                    
                    variableName = self.__addVariableReference( fullIDString )

                    anASTNode.setName( '%s.Value' % ( variableName ) )
                    return anASTNode

                elif self.theParameterDict.has_key( name ):
                    return anASTNode

                else:
                    raise SBMLConvertError, 'Reaction [%s] has no parameter [%s]' % ( self.theSBase.getId(), name )
Пример #3
0
 def test_ASTNode_replaceChild(self):
     node = libsbml.ASTNode()
     c1 = libsbml.ASTNode()
     c2 = libsbml.ASTNode()
     c3 = libsbml.ASTNode()
     newc = libsbml.ASTNode()
     i = 0
     node.setType(libsbml.AST_LOGICAL_AND)
     c1.setName("a")
     c2.setName("b")
     c3.setName("c")
     node.addChild(c1)
     node.addChild(c2)
     node.addChild(c3)
     self.assert_(node.getNumChildren() == 3)
     self.assert_(("and(a, b, c)" == libsbml.formulaToString(node)))
     newc.setName("d")
     i = node.replaceChild(0, newc)
     self.assert_(i == libsbml.LIBSBML_OPERATION_SUCCESS)
     self.assert_(node.getNumChildren() == 3)
     self.assert_(("and(d, b, c)" == libsbml.formulaToString(node)))
     i = node.replaceChild(3, newc)
     self.assert_(i == libsbml.LIBSBML_INDEX_EXCEEDS_SIZE)
     self.assert_(node.getNumChildren() == 3)
     self.assert_(("and(d, b, c)" == libsbml.formulaToString(node)))
     i = node.replaceChild(1, c1)
     self.assert_(i == libsbml.LIBSBML_OPERATION_SUCCESS)
     self.assert_(node.getNumChildren() == 3)
     self.assert_(("and(d, a, c)" == libsbml.formulaToString(node)))
     _dummyList = [node]
     _dummyList[:] = []
     del _dummyList
     pass
Пример #4
0
 def test_ASTNode_children(self):
     parent = libsbml.ASTNode()
     left = libsbml.ASTNode()
     right = libsbml.ASTNode()
     right2 = libsbml.ASTNode()
     parent.setType(libsbml.AST_PLUS)
     left.setValue(1)
     right.setValue(2)
     right2.setValue(3)
     parent.addChild(left)
     parent.addChild(right)
     self.assert_(parent.getNumChildren() == 2)
     self.assert_(left.getNumChildren() == 0)
     self.assert_(right.getNumChildren() == 0)
     self.assert_(parent.getLeftChild() == left)
     self.assert_(parent.getRightChild() == right)
     self.assert_(parent.getChild(0) == left)
     self.assert_(parent.getChild(1) == right)
     self.assert_(parent.getChild(2) == None)
     parent.addChild(right2)
     self.assert_(parent.getNumChildren() == 3)
     self.assert_(left.getNumChildren() == 0)
     self.assert_(right.getNumChildren() == 0)
     self.assert_(right2.getNumChildren() == 0)
     self.assert_(parent.getLeftChild() == left)
     self.assert_(parent.getRightChild() == right2)
     self.assert_(parent.getChild(0) == left)
     self.assert_(parent.getChild(1) == right)
     self.assert_(parent.getChild(2) == right2)
     self.assert_(parent.getChild(3) == None)
     _dummyList = [parent]
     _dummyList[:] = []
     del _dummyList
     pass
Пример #5
0
 def test_ASTNode_isUMinus(self):
     n = libsbml.ASTNode()
     n.setType(libsbml.AST_MINUS)
     self.assert_(n.isUMinus() == False)
     n.addChild(libsbml.ASTNode(libsbml.AST_NAME))
     self.assert_(n.isUMinus() == True)
     _dummyList = [n]
     _dummyList[:] = []
     del _dummyList
     pass
 def test_KineticLaw_setMath2(self):
   math = libsbml.ASTNode(libsbml.AST_DIVIDE)
   a = libsbml.ASTNode()
   a.setName( "a")
   math.addChild(a)
   i = self.kl.setMath(math)
   self.assert_( i == libsbml.LIBSBML_INVALID_OBJECT )
   self.assertEqual( False, self.kl.isSetMath() )
   _dummyList = [ math ]; _dummyList[:] = []; del _dummyList
   pass  
Пример #7
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  
Пример #8
0
    def __convertVariableName(self, anASTNode):

        aNumChildren = anASTNode.getNumChildren()

        if (aNumChildren == 2):
            self.__convertVariableName(anASTNode.getLeftChild())
            self.__convertVariableName(anASTNode.getRightChild())

        elif (aNumChildren == 1):
            self.__convertVariableName(anASTNode.getLeftChild())

        elif (aNumChildren == 0):
            if (anASTNode.isNumber() == 1):
                pass

            else:
                aName = anASTNode.getName()
                aType = self.getVariableType(aName)

                # Species
                if (aType == libsbml.SBML_SPECIES):

                    (variableName, compartmentName
                     ) = self.setSpeciesToVariableReference(aName)
                    if (variableName != ''):

                        anASTNode.setType(libsbml.AST_DIVIDE)
                        anASTNode.addChild(libsbml.ASTNode(libsbml.AST_NAME))
                        anASTNode.addChild(libsbml.ASTNode(libsbml.AST_NAME))
                        anASTNode.getLeftChild().setName('%s.Value' %
                                                         (variableName))
                        anASTNode.getRightChild().setName('%s.Value' %
                                                          (compartmentName))
                        return anASTNode

                # Parameter
                elif (aType == libsbml.SBML_PARAMETER):

                    variableName = self.setParameterToVariableReference(aName)
                    if (variableName != ''):
                        anASTNode.setName('%s.Value' % (variableName))
                        return anASTNode

                # Compartment
                elif (aType == libsbml.SBML_COMPARTMENT):

                    variableName = self.setCompartmentToVariableReference(
                        aName)
                    if (variableName != ''):
                        anASTNode.setName('%s.Value' % (variableName))
                        return anASTNode

        return anASTNode
Пример #9
0
 def test_ASTNode_one_child(self):
     node = libsbml.ASTNode()
     child = libsbml.ASTNode()
     node.addChild(child)
     self.assert_(node.getNumChildren() == 1)
     self.assert_(node.getLeftChild() == child)
     self.assert_(node.getRightChild() == None)
     self.assert_(node.getChild(0) == child)
     self.assert_(node.getChild(1) == None)
     _dummyList = [node]
     _dummyList[:] = []
     del _dummyList
     pass
Пример #10
0
 def test_ASTNode_canonicalizeConstants(self):
     n = libsbml.ASTNode()
     n.setName("ExponentialE")
     self.assertEqual(True, n.isName())
     n.canonicalize()
     self.assert_(n.getType() == libsbml.AST_CONSTANT_E)
     n.setType(libsbml.AST_NAME)
     n.setName("False")
     self.assertEqual(True, n.isName())
     n.canonicalize()
     self.assert_(n.getType() == libsbml.AST_CONSTANT_FALSE)
     n.setType(libsbml.AST_NAME)
     n.setName("Pi")
     self.assertEqual(True, n.isName())
     n.canonicalize()
     self.assert_(n.getType() == libsbml.AST_CONSTANT_PI)
     n.setType(libsbml.AST_NAME)
     n.setName("True")
     self.assertEqual(True, n.isName())
     n.canonicalize()
     self.assert_(n.getType() == libsbml.AST_CONSTANT_TRUE)
     n.setType(libsbml.AST_NAME)
     n.setName("Foo")
     self.assertEqual(True, n.isName())
     n.canonicalize()
     self.assertEqual(True, n.isName())
     _dummyList = [n]
     _dummyList[:] = []
     del _dummyList
     pass
Пример #11
0
 def test_MathMLFormatter_cn_rational(self):
     expected = wrapMathML("  <cn type=\"rational\"> 1 <sep/> 3 </cn>\n")
     self.N = libsbml.ASTNode()
     self.N.setValue(1, 3)
     self.S = libsbml.writeMathMLToString(self.N)
     self.assertEqual(True, self.equals(expected, self.S))
     pass
Пример #12
0
 def test_ASTNode_setType(self):
     node = libsbml.ASTNode()
     node.setName("foo")
     self.assert_(node.getType() == libsbml.AST_NAME)
     node.setType(libsbml.AST_FUNCTION)
     self.assert_(node.getType() == libsbml.AST_FUNCTION)
     self.assert_(("foo" == node.getName()))
     node.setType(libsbml.AST_NAME)
     self.assert_(node.getType() == libsbml.AST_NAME)
     self.assert_(("foo" == node.getName()))
     node.setType(libsbml.AST_INTEGER)
     self.assert_(node.getType() == libsbml.AST_INTEGER)
     node.setType(libsbml.AST_REAL)
     self.assert_(node.getType() == libsbml.AST_REAL)
     node.setType(libsbml.AST_UNKNOWN)
     self.assert_(node.getType() == libsbml.AST_UNKNOWN)
     node.setType(libsbml.AST_PLUS)
     self.assert_(node.getType() == libsbml.AST_PLUS)
     self.assert_(node.getCharacter() == '+')
     node.setType(libsbml.AST_MINUS)
     self.assert_(node.getType() == libsbml.AST_MINUS)
     self.assert_(node.getCharacter() == '-')
     node.setType(libsbml.AST_TIMES)
     self.assert_(node.getType() == libsbml.AST_TIMES)
     self.assert_(node.getCharacter() == '*')
     node.setType(libsbml.AST_DIVIDE)
     self.assert_(node.getType() == libsbml.AST_DIVIDE)
     self.assert_(node.getCharacter() == '/')
     node.setType(libsbml.AST_POWER)
     self.assert_(node.getType() == libsbml.AST_POWER)
     self.assert_(node.getCharacter() == '^')
     _dummyList = [node]
     _dummyList[:] = []
     del _dummyList
     pass
Пример #13
0
 def test_ASTNode_setReal(self):
     node = libsbml.ASTNode()
     node.setName("foo")
     self.assert_(node.getType() == libsbml.AST_NAME)
     node.setValue(32.1)
     self.assert_(node.getType() == libsbml.AST_REAL)
     self.assert_(node.getInteger() == 0)
     self.assert_(node.getName() == None)
     self.assert_(node.getCharacter() == "\0")
     self.assert_(node.getReal() == 32.1)
     self.assert_(node.getExponent() == 0)
     self.assert_(node.getDenominator() == 1)
     self.assert_(node.getMantissa() == 32.1)
     node.setValue(45, 90)
     self.assert_(node.getType() == libsbml.AST_RATIONAL)
     self.assert_(node.getInteger() == 45)
     self.assert_(node.getName() == None)
     self.assert_(node.getCharacter() == "\0")
     self.assert_(node.getReal() == 0.5)
     self.assert_(node.getExponent() == 0)
     self.assert_(node.getDenominator() == 90)
     self.assert_(node.getMantissa() == 0)
     node.setValue(32.0, 4)
     self.assert_(node.getType() == libsbml.AST_REAL_E)
     self.assert_(node.getInteger() == 0)
     self.assert_(node.getName() == None)
     self.assert_(node.getCharacter() == "\0")
     self.assert_(node.getReal() == 320000)
     self.assert_(node.getExponent() == 4)
     self.assert_(node.getDenominator() == 1)
     self.assert_(node.getMantissa() == 32)
     _dummyList = [node]
     _dummyList[:] = []
     del _dummyList
     pass
Пример #14
0
 def test_ASTNode_setInteger(self):
     node = libsbml.ASTNode()
     node.setName("foo")
     self.assert_(node.getType() == libsbml.AST_NAME)
     self.assert_(("foo" == node.getName()))
     self.assert_(node.getCharacter() == "\0")
     self.assert_(node.getInteger() == 0)
     self.assert_(node.getReal() == 0)
     self.assert_(node.getExponent() == 0)
     self.assert_(node.getDenominator() == 1)
     node.setValue(3.2)
     self.assert_(node.getType() == libsbml.AST_REAL)
     self.assert_(node.getInteger() == 0)
     self.assert_(node.getName() == None)
     self.assert_(node.getCharacter() == "\0")
     self.assert_(node.getReal() == 3.2)
     self.assert_(node.getExponent() == 0)
     self.assert_(node.getDenominator() == 1)
     node.setValue(321)
     self.assert_(node.getType() == libsbml.AST_INTEGER)
     self.assert_(node.getInteger() == 321)
     self.assert_(node.getName() == None)
     self.assert_(node.getCharacter() == "\0")
     self.assert_(node.getReal() == 0)
     self.assert_(node.getExponent() == 0)
     self.assert_(node.getDenominator() == 1)
     _dummyList = [node]
     _dummyList[:] = []
     del _dummyList
     pass
Пример #15
0
 def test_Constraint_copyConstructor(self):
   o1 = libsbml.Constraint(2,4)
   o1.setMetaId("c")
   self.assert_( o1.getMetaId() ==  "c" )
   text = libsbml.XMLNode.convertStringToXMLNode(" Some text ")
   triple = libsbml.XMLTriple("p", "http://www.w3.org/1999/xhtml", "")
   att = libsbml.XMLAttributes()
   xmlns = libsbml.XMLNamespaces()
   xmlns.add("http://www.w3.org/1999/xhtml")
   p = libsbml.XMLNode(triple,att,xmlns)
   p.addChild(text)
   triple1 = libsbml.XMLTriple("message", "", "")
   att1 = libsbml.XMLAttributes()
   message = libsbml.XMLNode(triple1,att1)
   message.addChild(p)
   math = libsbml.ASTNode(libsbml.AST_CONSTANT_PI)
   o1.setMath(math)
   o1.setMessage(message)
   math = None
   message = None
   self.assert_( o1.getMath() != None )
   msg = o1.getMessage()
   self.assert_( msg != None )
   o2 = libsbml.Constraint(o1)
   self.assert_( o2.getMetaId() ==  "c" )
   self.assert_( o2.getMath() != None )
   msg = o2.getMessage()
   self.assert_( msg != None )
   self.assert_( o2.getParentSBMLObject() == o1.getParentSBMLObject() )
   o2 = None
   o1 = None
   pass  
Пример #16
0
 def test_MathMLFormatter_constant_infinity(self):
     expected = wrapMathML("  <infinity/>\n")
     self.N = libsbml.ASTNode()
     self.N.setValue(util_PosInf())
     self.S = libsbml.writeMathMLToString(self.N)
     self.assertEqual(True, self.equals(expected, self.S))
     pass
Пример #17
0
 def test_MathMLFormatter_constant_notanumber(self):
     expected = wrapMathML("  <notanumber/>\n")
     self.N = libsbml.ASTNode(libsbml.AST_REAL)
     self.N.setValue(util_NaN())
     self.S = libsbml.writeMathMLToString(self.N)
     self.assertEqual(True, self.equals(expected, self.S))
     pass
Пример #18
0
 def test_ValidASTNode_returnsBoolean(self):
     node = libsbml.ASTNode(libsbml.AST_LOGICAL_AND)
     self.assertEqual(True, node.returnsBoolean())
     node.setType(libsbml.AST_LOGICAL_NOT)
     self.assertEqual(True, node.returnsBoolean())
     node.setType(libsbml.AST_LOGICAL_OR)
     self.assertEqual(True, node.returnsBoolean())
     node.setType(libsbml.AST_LOGICAL_XOR)
     self.assertEqual(True, node.returnsBoolean())
     node.setType(libsbml.AST_FUNCTION_PIECEWISE)
     self.assertEqual(True, node.returnsBoolean())
     node.setType(libsbml.AST_RELATIONAL_EQ)
     self.assertEqual(True, node.returnsBoolean())
     node.setType(libsbml.AST_RELATIONAL_GEQ)
     self.assertEqual(True, node.returnsBoolean())
     node.setType(libsbml.AST_RELATIONAL_GT)
     self.assertEqual(True, node.returnsBoolean())
     node.setType(libsbml.AST_RELATIONAL_LEQ)
     self.assertEqual(True, node.returnsBoolean())
     node.setType(libsbml.AST_RELATIONAL_LT)
     self.assertEqual(True, node.returnsBoolean())
     node.setType(libsbml.AST_RELATIONAL_NEQ)
     self.assertEqual(True, node.returnsBoolean())
     node.setType(libsbml.AST_CONSTANT_TRUE)
     self.assertEqual(True, node.returnsBoolean())
     node.setType(libsbml.AST_CONSTANT_FALSE)
     self.assertEqual(True, node.returnsBoolean())
     pass
Пример #19
0
 def test_ASTNode_canonicalizeLogical(self):
     n = libsbml.ASTNode(libsbml.AST_FUNCTION)
     n.setName("and")
     self.assert_(n.getType() == libsbml.AST_FUNCTION)
     n.canonicalize()
     self.assert_(n.getType() == libsbml.AST_LOGICAL_AND)
     n.setType(libsbml.AST_FUNCTION)
     n.setName("not")
     self.assert_(n.getType() == libsbml.AST_FUNCTION)
     n.canonicalize()
     self.assert_(n.getType() == libsbml.AST_LOGICAL_NOT)
     n.setType(libsbml.AST_FUNCTION)
     n.setName("or")
     self.assert_(n.getType() == libsbml.AST_FUNCTION)
     n.canonicalize()
     self.assert_(n.getType() == libsbml.AST_LOGICAL_OR)
     n.setType(libsbml.AST_FUNCTION)
     n.setName("xor")
     self.assert_(n.getType() == libsbml.AST_FUNCTION)
     n.canonicalize()
     self.assert_(n.getType() == libsbml.AST_LOGICAL_XOR)
     n.setType(libsbml.AST_FUNCTION)
     _dummyList = [n]
     _dummyList[:] = []
     del _dummyList
     pass
 def test_StoichiometryMath_setMath2(self):
   math = libsbml.ASTNode(libsbml.AST_DIVIDE)
   i = self.D.setMath(math)
   self.assert_( i == libsbml.LIBSBML_INVALID_OBJECT )
   self.assertEqual( False, self.D.isSetMath() )
   _dummyList = [ math ]; _dummyList[:] = []; del _dummyList
   pass  
Пример #21
0
def traverse_math(node, old_id, new_id):
    if node is None: return
    for i in range(node.getNumChildren()):
        if node.getChild(i).getName() == old_id:
            new_node = libsbml.ASTNode()
            new_node.setName(new_id)
            node.replaceChild(i, new_node)
        traverse_math(node.getChild(i), old_id, new_id)
Пример #22
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  
Пример #23
0
 def test_Priority_setMath2(self):
     math = libsbml.ASTNode(libsbml.AST_DIVIDE)
     i = self.P.setMath(math)
     self.assert_(i == libsbml.LIBSBML_INVALID_OBJECT)
     self.assertEqual(False, self.P.isSetMath())
     _dummyList = [math]
     _dummyList[:] = []
     del _dummyList
     pass
 def test_KineticLaw_setMath1(self):
   math = libsbml.ASTNode(libsbml.AST_TIMES)
   a = libsbml.ASTNode()
   b = libsbml.ASTNode()
   a.setName( "a")
   b.setName( "b")
   math.addChild(a)
   math.addChild(b)
   i = self.kl.setMath(math)
   self.assert_( i == libsbml.LIBSBML_OPERATION_SUCCESS )
   self.assertEqual( True, self.kl.isSetMath() )
   math1 = self.kl.getMath()
   self.assert_( math1 != None )
   formula = libsbml.formulaToString(math1)
   self.assert_( formula != None )
   self.assert_((  "a * b" == formula ))
   _dummyList = [ math ]; _dummyList[:] = []; del _dummyList
   pass  
Пример #25
0
 def test_ASTNode_isSqrt(self):
     n = libsbml.ASTNode()
     n.setType(libsbml.AST_FUNCTION)
     self.assert_(n.isSqrt() == False)
     n.setType(libsbml.AST_FUNCTION_ROOT)
     self.assert_(n.isSqrt() == False)
     c = libsbml.ASTNode()
     n.addChild(c)
     c.setValue(2)
     self.assert_(n.isSqrt() == False)
     n.addChild(libsbml.ASTNode())
     self.assert_(n.isSqrt() == True)
     c.setValue(3)
     self.assert_(n.isSqrt() == False)
     _dummyList = [n]
     _dummyList[:] = []
     del _dummyList
     pass
Пример #26
0
 def test_MathMLFormatter_csymbol_time(self):
     expected = wrapMathML(
         "  <csymbol encoding=\"text\" " +
         "definitionURL=\"http://www.sbml.org/sbml/symbols/time\"> t </csymbol>\n"
     )
     self.N = libsbml.ASTNode(libsbml.AST_NAME_TIME)
     self.N.setName("t")
     self.S = libsbml.writeMathMLToString(self.N)
     self.assertEqual(True, self.equals(expected, self.S))
     pass
Пример #27
0
def buildASTInequality(source, relation, threshold):
    # create a ASTNode for the source/regulator
    source_ASTNode = libsbml.ASTNode(libsbml.AST_NAME)
    source_ASTNode.setName(source)

    # create relation ASTNode. This exporter only uses '<' (lt) and '>=' (geq) relations
    if(relation == 'lt'):
        relation_ASTNode = libsbml.ASTNode(libsbml.AST_RELATIONAL_LT)
    elif(relation == 'geq'):
        relation_ASTNode = libsbml.ASTNode(libsbml.AST_RELATIONAL_GEQ)

    # create threshold ASTNode
    threshold_ASTNode = libsbml.ASTNode(libsbml.AST_INTEGER)  # Integer ASTNode for threshold
    threshold_ASTNode.setValue(threshold)

    relation_ASTNode.addChild(libsbml.ASTNode(source_ASTNode))  # add source and upper bound nodes as children of the inequality node
    relation_ASTNode.addChild(threshold_ASTNode)

    return relation_ASTNode
Пример #28
0
 def test_ASTNode_no_children(self):
     node = libsbml.ASTNode()
     self.assert_(node.getNumChildren() == 0)
     self.assert_(node.getLeftChild() == None)
     self.assert_(node.getRightChild() == None)
     self.assert_(node.getChild(0) == None)
     _dummyList = [node]
     _dummyList[:] = []
     del _dummyList
     pass
Пример #29
0
 def test_ASTNode_getName(self):
     n = libsbml.ASTNode()
     n.setName("foo")
     self.assert_(("foo" == n.getName()))
     n.setType(libsbml.AST_NAME_TIME)
     self.assert_(("foo" == n.getName()))
     n.setName(None)
     self.assert_(n.getName() == None)
     n.setType(libsbml.AST_CONSTANT_E)
     self.assert_(("exponentiale" == n.getName()))
     n.setType(libsbml.AST_CONSTANT_FALSE)
     self.assert_(("false" == n.getName()))
     n.setType(libsbml.AST_CONSTANT_PI)
     self.assert_(("pi" == n.getName()))
     n.setType(libsbml.AST_CONSTANT_TRUE)
     self.assert_(("true" == n.getName()))
     n.setType(libsbml.AST_LAMBDA)
     self.assert_(("lambda" == n.getName()))
     n.setType(libsbml.AST_FUNCTION)
     n.setName("f")
     self.assert_(("f" == n.getName()))
     n.setType(libsbml.AST_FUNCTION_DELAY)
     self.assert_(("f" == n.getName()))
     n.setName(None)
     self.assert_(("delay" == n.getName()))
     n.setType(libsbml.AST_FUNCTION)
     self.assert_(n.getName() == None)
     n.setType(libsbml.AST_FUNCTION_ABS)
     self.assert_(("abs" == n.getName()))
     n.setType(libsbml.AST_FUNCTION_ARCCOS)
     self.assert_(("arccos" == n.getName()))
     n.setType(libsbml.AST_FUNCTION_TAN)
     self.assert_(("tan" == n.getName()))
     n.setType(libsbml.AST_FUNCTION_TANH)
     self.assert_(("tanh" == n.getName()))
     n.setType(libsbml.AST_LOGICAL_AND)
     self.assert_(("and" == n.getName()))
     n.setType(libsbml.AST_LOGICAL_NOT)
     self.assert_(("not" == n.getName()))
     n.setType(libsbml.AST_LOGICAL_OR)
     self.assert_(("or" == n.getName()))
     n.setType(libsbml.AST_LOGICAL_XOR)
     self.assert_(("xor" == n.getName()))
     n.setType(libsbml.AST_RELATIONAL_EQ)
     self.assert_(("eq" == n.getName()))
     n.setType(libsbml.AST_RELATIONAL_GEQ)
     self.assert_(("geq" == n.getName()))
     n.setType(libsbml.AST_RELATIONAL_LT)
     self.assert_(("lt" == n.getName()))
     n.setType(libsbml.AST_RELATIONAL_NEQ)
     self.assert_(("neq" == n.getName()))
     _dummyList = [n]
     _dummyList[:] = []
     del _dummyList
     pass
Пример #30
0
 def test_ValidASTNode_binary(self):
     n = libsbml.ASTNode(libsbml.AST_DIVIDE)
     self.assertEqual(False, (n.isWellFormedASTNode()))
     c = libsbml.parseFormula("c")
     n.addChild(c)
     self.assertEqual(False, (n.isWellFormedASTNode()))
     d = libsbml.parseFormula("d")
     n.addChild(d)
     self.assertEqual(True, n.isWellFormedASTNode())
     n = None
     pass