def test_XMLToken_create(self): token = libsbml.XMLToken() self.assert_(token != None) _dummyList = [token] _dummyList[:] = [] del _dummyList triple = libsbml.XMLTriple("attr", "uri", "prefix") token = libsbml.XMLToken(triple) self.assert_(token != None) self.assert_(("attr" != token.getName()) == False) self.assert_(("prefix" != token.getPrefix()) == False) self.assert_(("uri" != token.getURI()) == False) _dummyList = [token] _dummyList[:] = [] del _dummyList attr = libsbml.XMLAttributes() self.assert_(attr != None) attr.add("attr2", "value") token = libsbml.XMLToken(triple, attr) self.assert_(token != None) returnattr = token.getAttributes() self.assert_(("attr2" != returnattr.getName(0)) == False) _dummyList = [token] _dummyList[:] = [] del _dummyList _dummyList = [triple] _dummyList[:] = [] del _dummyList _dummyList = [attr] _dummyList[:] = [] del _dummyList pass
def test_CVTerm_createFromNode(self): qual_triple = libsbml.XMLTriple("is", "", "bqbiol") bag_triple = libsbml.XMLTriple() li_triple = libsbml.XMLTriple() att = libsbml.XMLAttributes() att.add("", "This is my resource") att1 = libsbml.XMLAttributes() li_token = libsbml.XMLToken(li_triple, att) bag_token = libsbml.XMLToken(bag_triple, att1) qual_token = libsbml.XMLToken(qual_triple, att1) li = libsbml.XMLNode(li_token) bag = libsbml.XMLNode(bag_token) node = libsbml.XMLNode(qual_token) bag.addChild(li) node.addChild(bag) term = libsbml.CVTerm(node) self.assert_(term != None) self.assert_(term.getQualifierType() == libsbml.BIOLOGICAL_QUALIFIER) self.assert_(term.getBiologicalQualifierType() == libsbml.BQB_IS) xa = term.getResources() self.assert_(xa.getLength() == 1) self.assert_(("rdf:resource" == xa.getName(0))) self.assert_(("This is my resource" == xa.getValue(0))) _dummyList = [qual_triple] _dummyList[:] = [] del _dummyList _dummyList = [bag_triple] _dummyList[:] = [] del _dummyList _dummyList = [li_triple] _dummyList[:] = [] del _dummyList _dummyList = [li_token] _dummyList[:] = [] del _dummyList _dummyList = [bag_token] _dummyList[:] = [] del _dummyList _dummyList = [qual_token] _dummyList[:] = [] del _dummyList _dummyList = [att] _dummyList[:] = [] del _dummyList _dummyList = [att1] _dummyList[:] = [] del _dummyList _dummyList = [term] _dummyList[:] = [] del _dummyList _dummyList = [node] _dummyList[:] = [] del _dummyList _dummyList = [bag] _dummyList[:] = [] del _dummyList _dummyList = [li] _dummyList[:] = [] del _dummyList pass
def add_annotation_complex(model, model_id, participants): species = model.getSpecies(model_id) xmlns = libsbml.XMLNamespaces() xmlns.add('http://www.w3.org/1999/02/22-rdf-syntax-ns#', 'rdf') rdf_triple = libsbml.XMLTriple( 'RDF', 'http://www.w3.org/1999/02/22-rdf-syntax-ns#', 'rdf') rdf_token = libsbml.XMLToken(rdf_triple, libsbml.XMLAttributes(), xmlns) annotation = libsbml.XMLNode(rdf_token) if species: participants_xml_triple = libsbml.XMLTriple( 'Participants', 'http://www.w3.org/1999/02/22-rdf-syntax-ns#', 'rdf') participants_xml_token = \ libsbml.XMLToken(participants_xml_triple, libsbml.XMLAttributes()) participants_xml_node = libsbml.XMLNode(participants_xml_token) participant_xml_triple = libsbml.XMLTriple( 'Participant', 'http://www.w3.org/1999/02/22-rdf-syntax-ns#', 'rdf') for iii in participants: resource_att = libsbml.XMLAttributes() resource_att.add('participant', str(iii)) subject_token = libsbml.XMLToken(participant_xml_triple, resource_att) subject_token.setEnd() participants_xml_node.addChild(libsbml.XMLNode(subject_token)) annotation.addChild(participants_xml_node) species.appendAnnotation(annotation)
def test_XMLToken_newSetters_setAttributes1(self): triple = libsbml.XMLTriple("test", "", "") attr = libsbml.XMLAttributes() token = libsbml.XMLToken(triple, attr) nattr = libsbml.XMLAttributes() xt1 = libsbml.XMLTriple("name1", "http://name1.org/", "p1") nattr.add(xt1, "val1") i = token.setAttributes(nattr) self.assert_(i == libsbml.LIBSBML_OPERATION_SUCCESS) self.assert_(token.isAttributesEmpty() == False) _dummyList = [nattr] _dummyList[:] = [] del _dummyList _dummyList = [attr] _dummyList[:] = [] del _dummyList _dummyList = [triple] _dummyList[:] = [] del _dummyList _dummyList = [token] _dummyList[:] = [] del _dummyList _dummyList = [xt1] _dummyList[:] = [] del _dummyList pass
def test_XMLToken_namespace_add(self): triple = libsbml.XMLTriple("test", "", "") attr = libsbml.XMLAttributes() token = libsbml.XMLToken(triple, attr) self.assert_(token.getNamespacesLength() == 0) self.assert_(token.isNamespacesEmpty() == True) token.addNamespace("http://test1.org/", "test1") self.assert_(token.getNamespacesLength() == 1) self.assert_(token.isNamespacesEmpty() == False) token.addNamespace("http://test2.org/", "test2") self.assert_(token.getNamespacesLength() == 2) self.assert_(token.isNamespacesEmpty() == False) token.addNamespace("http://test1.org/", "test1a") self.assert_(token.getNamespacesLength() == 3) self.assert_(token.isNamespacesEmpty() == False) token.addNamespace("http://test1.org/", "test1a") self.assert_(token.getNamespacesLength() == 3) self.assert_(token.isNamespacesEmpty() == False) self.assert_( (token.getNamespaceIndex("http://test1.org/") == -1) == False) _dummyList = [token] _dummyList[:] = [] del _dummyList _dummyList = [triple] _dummyList[:] = [] del _dummyList _dummyList = [attr] _dummyList[:] = [] del _dummyList pass
def test_XMLToken_newSetters_setNamespaces1(self): triple = libsbml.XMLTriple("test", "", "") attr = libsbml.XMLAttributes() token = libsbml.XMLToken(triple, attr) ns = libsbml.XMLNamespaces() self.assert_(token.getNamespacesLength() == 0) self.assert_(token.isNamespacesEmpty() == True) ns.add("http://test1.org/", "test1") i = token.setNamespaces(ns) self.assert_(i == libsbml.LIBSBML_OPERATION_SUCCESS) self.assert_(token.getNamespacesLength() == 1) self.assert_(token.isNamespacesEmpty() == False) _dummyList = [attr] _dummyList[:] = [] del _dummyList _dummyList = [triple] _dummyList[:] = [] del _dummyList _dummyList = [token] _dummyList[:] = [] del _dummyList _dummyList = [ns] _dummyList[:] = [] del _dummyList pass
def test_Node_assignmentOperator(self): att = libsbml.XMLAttributes() t = libsbml.XMLTriple("sarah", "http://foo.org/", "bar") token = libsbml.XMLToken(t,att,3,4) node = libsbml.XMLNode(token) child = libsbml.XMLNode() node.addChild(child) self.assert_( node.getNumChildren() == 1 ) self.assert_( node.getName() == "sarah" ) self.assert_( node.getURI() == "http://foo.org/" ) self.assert_( node.getPrefix() == "bar" ) self.assert_( node.isEnd() == False ) self.assert_( node.isEOF() == False ) self.assert_( node.getLine() == 3 ) self.assert_( node.getColumn() == 4 ) node2 = libsbml.XMLNode() node2 = node self.assert_( node2.getNumChildren() == 1 ) self.assert_( node2.getName() == "sarah" ) self.assert_( node2.getURI() == "http://foo.org/" ) self.assert_( node2.getPrefix() == "bar" ) self.assert_( node2.isEnd() == False ) self.assert_( node2.isEOF() == False ) self.assert_( node2.getLine() == 3 ) self.assert_( node2.getColumn() == 4 ) t = None token = None node = None node2 = None pass
def test_XMLToken_newSetters_addAttributes2(self): triple = libsbml.XMLTriple("test", "", "") token = libsbml.XMLToken(triple) xt2 = libsbml.XMLTriple("name3", "http://name3.org/", "p3") i = token.addAttr("name1", "val1") self.assert_(i == libsbml.LIBSBML_INVALID_XML_OPERATION) self.assert_(token.getAttributesLength() == 0) self.assert_(token.isAttributesEmpty() == True) i = token.addAttr("name2", "val2", "http://name1.org/", "p1") self.assert_(i == libsbml.LIBSBML_INVALID_XML_OPERATION) self.assert_(token.getAttributesLength() == 0) self.assert_(token.isAttributesEmpty() == True) i = token.addAttr(xt2, "val2") self.assert_(i == libsbml.LIBSBML_INVALID_XML_OPERATION) self.assert_(token.getAttributesLength() == 0) self.assert_(token.isAttributesEmpty() == True) _dummyList = [xt2] _dummyList[:] = [] del _dummyList _dummyList = [triple] _dummyList[:] = [] del _dummyList _dummyList = [token] _dummyList[:] = [] del _dummyList pass
def test_XMLToken_namespace_get(self): triple = libsbml.XMLTriple("test", "", "") attr = libsbml.XMLAttributes() token = libsbml.XMLToken(triple, attr) token.addNamespace("http://test1.org/", "test1") token.addNamespace("http://test2.org/", "test2") token.addNamespace("http://test3.org/", "test3") token.addNamespace("http://test4.org/", "test4") token.addNamespace("http://test5.org/", "test5") token.addNamespace("http://test6.org/", "test6") token.addNamespace("http://test7.org/", "test7") token.addNamespace("http://test8.org/", "test8") token.addNamespace("http://test9.org/", "test9") self.assert_(token.getNamespacesLength() == 9) self.assert_(token.getNamespaceIndex("http://test1.org/") == 0) self.assert_(("test2" != token.getNamespacePrefix(1)) == False) self.assert_(( "test1" != token.getNamespacePrefix("http://test1.org/")) == False) self.assert_( ("http://test2.org/" != token.getNamespaceURI(1)) == False) self.assert_( ("http://test2.org/" != token.getNamespaceURI("test2")) == False) self.assert_(token.getNamespaceIndex("http://test1.org/") == 0) self.assert_(token.getNamespaceIndex("http://test2.org/") == 1) self.assert_(token.getNamespaceIndex("http://test5.org/") == 4) self.assert_(token.getNamespaceIndex("http://test9.org/") == 8) self.assert_(token.getNamespaceIndex("http://testX.org/") == -1) self.assert_(token.hasNamespaceURI("http://test1.org/") != False) self.assert_(token.hasNamespaceURI("http://test2.org/") != False) self.assert_(token.hasNamespaceURI("http://test5.org/") != False) self.assert_(token.hasNamespaceURI("http://test9.org/") != False) self.assert_(token.hasNamespaceURI("http://testX.org/") == False) self.assert_(token.getNamespaceIndexByPrefix("test1") == 0) self.assert_(token.getNamespaceIndexByPrefix("test5") == 4) self.assert_(token.getNamespaceIndexByPrefix("test9") == 8) self.assert_(token.getNamespaceIndexByPrefix("testX") == -1) self.assert_(token.hasNamespacePrefix("test1") != False) self.assert_(token.hasNamespacePrefix("test5") != False) self.assert_(token.hasNamespacePrefix("test9") != False) self.assert_(token.hasNamespacePrefix("testX") == False) self.assert_( token.hasNamespaceNS("http://test1.org/", "test1") != False) self.assert_( token.hasNamespaceNS("http://test5.org/", "test5") != False) self.assert_( token.hasNamespaceNS("http://test9.org/", "test9") != False) self.assert_( token.hasNamespaceNS("http://testX.org/", "testX") == False) _dummyList = [token] _dummyList[:] = [] del _dummyList _dummyList = [triple] _dummyList[:] = [] del _dummyList _dummyList = [attr] _dummyList[:] = [] del _dummyList pass
def test_XMLToken_newSetters_setEOF(self): token = libsbml.XMLToken() self.assert_(token.isEnd() == False) i = token.setEOF() self.assert_(i == libsbml.LIBSBML_OPERATION_SUCCESS) self.assert_(token.isEnd() == False) self.assert_(token.isStart() == False) self.assert_(token.isText() == False) _dummyList = [token] _dummyList[:] = [] del _dummyList pass
def test_XMLToken_chars(self): token = libsbml.XMLToken("This is text") self.assert_(token.isElement() == False) self.assert_(token.isEnd() == False) self.assert_(token.isStart() == False) self.assert_(token.isText() == True) self.assert_(token.isEOF() == False) self.assert_(("This is text" != token.getCharacters()) == False) _dummyList = [token] _dummyList[:] = [] del _dummyList pass
def test_XMLToken_newSetters_setTriple2(self): triple = libsbml.XMLTriple("test", "", "") token = libsbml.XMLToken("This is text") i = token.setTriple(triple) self.assert_(i == libsbml.LIBSBML_INVALID_XML_OPERATION) _dummyList = [triple] _dummyList[:] = [] del _dummyList _dummyList = [token] _dummyList[:] = [] del _dummyList pass
def test_Token_copyConstructor(self): t = libsbml.XMLTriple("sarah", "http://foo.org/", "bar") token = libsbml.XMLToken(t,3,4) self.assert_( token.getName() == "sarah" ) self.assert_( token.getURI() == "http://foo.org/" ) self.assert_( token.getPrefix() == "bar" ) self.assert_( token.isEnd() == True ) self.assert_( token.isEOF() == False ) self.assert_( token.getLine() == 3 ) self.assert_( token.getColumn() == 4 ) token2 = libsbml.XMLToken(token) self.assert_( token2.getName() == "sarah" ) self.assert_( token2.getURI() == "http://foo.org/" ) self.assert_( token2.getPrefix() == "bar" ) self.assert_( token2.isEnd() == True ) self.assert_( token2.isEOF() == False ) self.assert_( token2.getLine() == 3 ) self.assert_( token2.getColumn() == 4 ) t = None token = None token2 = None pass
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 test_XMLToken_newSetters_setTriple1(self): triple = libsbml.XMLTriple("test", "", "") token = libsbml.XMLToken() i = token.setTriple(triple) self.assert_(i == libsbml.LIBSBML_OPERATION_SUCCESS) self.assert_(("test" == token.getName())) _dummyList = [triple] _dummyList[:] = [] del _dummyList _dummyList = [token] _dummyList[:] = [] del _dummyList pass
def test_XMLNode_getters(self): NS = libsbml.XMLNamespaces() NS.add("http://test1.org/", "test1") token = libsbml.XMLToken("This is a test") node = libsbml.XMLNode(token) self.assert_(node != None) self.assert_(node.getNumChildren() == 0) self.assert_(("This is a test" != node.getCharacters()) == False) self.assert_(node.getChild(1) != None) attr = libsbml.XMLAttributes() self.assert_(attr != None) attr.add("attr2", "value") triple = libsbml.XMLTriple("attr", "uri", "prefix") token = libsbml.XMLToken(triple, attr) self.assert_(token != None) node = libsbml.XMLNode(token) self.assert_(("attr" != node.getName()) == False) self.assert_(("uri" != node.getURI()) == False) self.assert_(("prefix" != node.getPrefix()) == False) returnattr = node.getAttributes() self.assert_(("attr2" != returnattr.getName(0)) == False) self.assert_(("value" != returnattr.getValue(0)) == False) token = libsbml.XMLToken(triple, attr, NS) node = libsbml.XMLNode(token) returnNS = node.getNamespaces() self.assert_(returnNS.getLength() == 1) self.assert_(returnNS.isEmpty() == False) _dummyList = [triple] _dummyList[:] = [] del _dummyList _dummyList = [token] _dummyList[:] = [] del _dummyList _dummyList = [node] _dummyList[:] = [] del _dummyList pass
def test_XMLToken_newSetters_removeAttributes1(self): triple = libsbml.XMLTriple("test", "", "") attr = libsbml.XMLAttributes() token = libsbml.XMLToken(triple, attr) xt2 = libsbml.XMLTriple("name3", "http://name3.org/", "p3") xt1 = libsbml.XMLTriple("name5", "http://name5.org/", "p5") i = token.addAttr("name1", "val1") i = token.addAttr("name2", "val2", "http://name1.org/", "p1") i = token.addAttr(xt2, "val2") i = token.addAttr("name4", "val4") self.assert_(token.getAttributes().getLength() == 4) i = token.removeAttr(7) self.assert_(i == libsbml.LIBSBML_INDEX_EXCEEDS_SIZE) i = token.removeAttr("name7") self.assert_(i == libsbml.LIBSBML_INDEX_EXCEEDS_SIZE) i = token.removeAttr("name7", "namespaces7") self.assert_(i == libsbml.LIBSBML_INDEX_EXCEEDS_SIZE) i = token.removeAttr(xt1) self.assert_(i == libsbml.LIBSBML_INDEX_EXCEEDS_SIZE) self.assert_(token.getAttributes().getLength() == 4) i = token.removeAttr(3) self.assert_(i == libsbml.LIBSBML_OPERATION_SUCCESS) self.assert_(token.getAttributes().getLength() == 3) i = token.removeAttr("name1") self.assert_(i == libsbml.LIBSBML_OPERATION_SUCCESS) self.assert_(token.getAttributes().getLength() == 2) i = token.removeAttr("name2", "http://name1.org/") self.assert_(i == libsbml.LIBSBML_OPERATION_SUCCESS) self.assert_(token.getAttributes().getLength() == 1) i = token.removeAttr(xt2) self.assert_(i == libsbml.LIBSBML_OPERATION_SUCCESS) self.assert_(token.getAttributes().getLength() == 0) _dummyList = [xt1] _dummyList[:] = [] del _dummyList _dummyList = [xt2] _dummyList[:] = [] del _dummyList _dummyList = [triple] _dummyList[:] = [] del _dummyList _dummyList = [attr] _dummyList[:] = [] del _dummyList _dummyList = [token] _dummyList[:] = [] del _dummyList pass
def test_XMLToken_newSetters_addNamespaces2(self): triple = libsbml.XMLTriple("test", "", "") token = libsbml.XMLToken(triple) self.assert_(token.getNamespacesLength() == 0) self.assert_(token.isNamespacesEmpty() == True) i = token.addNamespace("http://test1.org/", "test1") self.assert_(i == libsbml.LIBSBML_INVALID_XML_OPERATION) self.assert_(token.getNamespacesLength() == 0) self.assert_(token.isNamespacesEmpty() == True) _dummyList = [triple] _dummyList[:] = [] del _dummyList _dummyList = [token] _dummyList[:] = [] del _dummyList pass
def test_XMLToken_namespace_remove(self): triple = libsbml.XMLTriple("test", "", "") attr = libsbml.XMLAttributes() token = libsbml.XMLToken(triple, attr) token.addNamespace("http://test1.org/", "test1") token.addNamespace("http://test2.org/", "test2") token.addNamespace("http://test3.org/", "test3") token.addNamespace("http://test4.org/", "test4") token.addNamespace("http://test5.org/", "test5") self.assert_(token.getNamespacesLength() == 5) token.removeNamespace(4) self.assert_(token.getNamespacesLength() == 4) token.removeNamespace(3) self.assert_(token.getNamespacesLength() == 3) token.removeNamespace(2) self.assert_(token.getNamespacesLength() == 2) token.removeNamespace(1) self.assert_(token.getNamespacesLength() == 1) token.removeNamespace(0) self.assert_(token.getNamespacesLength() == 0) token.addNamespace("http://test1.org/", "test1") token.addNamespace("http://test2.org/", "test2") token.addNamespace("http://test3.org/", "test3") token.addNamespace("http://test4.org/", "test4") token.addNamespace("http://test5.org/", "test5") self.assert_(token.getNamespacesLength() == 5) token.removeNamespace(0) self.assert_(token.getNamespacesLength() == 4) token.removeNamespace(0) self.assert_(token.getNamespacesLength() == 3) token.removeNamespace(0) self.assert_(token.getNamespacesLength() == 2) token.removeNamespace(0) self.assert_(token.getNamespacesLength() == 1) token.removeNamespace(0) self.assert_(token.getNamespacesLength() == 0) _dummyList = [token] _dummyList[:] = [] del _dummyList _dummyList = [triple] _dummyList[:] = [] del _dummyList _dummyList = [attr] _dummyList[:] = [] del _dummyList pass
def test_XMLToken_namespace_set_clear(self): triple = libsbml.XMLTriple("test", "", "") attr = libsbml.XMLAttributes() token = libsbml.XMLToken(triple, attr) ns = libsbml.XMLNamespaces() self.assert_(token.getNamespacesLength() == 0) self.assert_(token.isNamespacesEmpty() == True) ns.add("http://test1.org/", "test1") ns.add("http://test2.org/", "test2") ns.add("http://test3.org/", "test3") ns.add("http://test4.org/", "test4") ns.add("http://test5.org/", "test5") token.setNamespaces(ns) self.assert_(token.getNamespacesLength() == 5) self.assert_(token.isNamespacesEmpty() == False) self.assert_(("test1" != token.getNamespacePrefix(0)) == False) self.assert_(("test2" != token.getNamespacePrefix(1)) == False) self.assert_(("test3" != token.getNamespacePrefix(2)) == False) self.assert_(("test4" != token.getNamespacePrefix(3)) == False) self.assert_(("test5" != token.getNamespacePrefix(4)) == False) self.assert_( ("http://test1.org/" != token.getNamespaceURI(0)) == False) self.assert_( ("http://test2.org/" != token.getNamespaceURI(1)) == False) self.assert_( ("http://test3.org/" != token.getNamespaceURI(2)) == False) self.assert_( ("http://test4.org/" != token.getNamespaceURI(3)) == False) self.assert_( ("http://test5.org/" != token.getNamespaceURI(4)) == False) token.clearNamespaces() self.assert_(token.getNamespacesLength() == 0) _dummyList = [ns] _dummyList[:] = [] del _dummyList _dummyList = [token] _dummyList[:] = [] del _dummyList _dummyList = [triple] _dummyList[:] = [] del _dummyList _dummyList = [attr] _dummyList[:] = [] del _dummyList pass
def test_XMLToken_fields(self): triple = libsbml.XMLTriple("attr", "uri", "prefix") token = libsbml.XMLToken(triple) self.assert_(token.isElement() == True) self.assert_(token.isEnd() == True) self.assert_(token.isStart() == False) self.assert_(token.isText() == False) self.assert_(token.isEOF() == False) self.assert_(("attr" != token.getName()) == False) self.assert_(("uri" != token.getURI()) == False) self.assert_(("prefix" != token.getPrefix()) == False) _dummyList = [token] _dummyList[:] = [] del _dummyList _dummyList = [triple] _dummyList[:] = [] del _dummyList pass
def rFromFlux(flux): fluxSBML = libsbml.XMLNode() triple = libsbml.XMLTriple("flux", "", "") att = libsbml.XMLAttributes() att.add( "forward", str(flux.forward) ) # Forcing string conversion to invoke __str__ for rangedNumber att.add("backward", str(flux.backward)) att.add("net", str(flux.net)) att.add("exchange", str(flux.exchange)) ns = libsbml.XMLNamespaces() token = libsbml.XMLToken(triple, att, ns) fluxNode = libsbml.XMLNode(token) fluxSBML.addChild(fluxNode) return [fluxSBML]
def test_XMLNode_createFromToken(self): triple = libsbml.XMLTriple("attr", "uri", "prefix") token = libsbml.XMLToken(triple) node = libsbml.XMLNode(token) self.assert_(node != None) self.assert_(node.getNumChildren() == 0) self.assert_(("attr" != node.getName()) == False) self.assert_(("prefix" != node.getPrefix()) == False) self.assert_(("uri" != node.getURI()) == False) self.assert_(node.getChild(1) != None) _dummyList = [token] _dummyList[:] = [] del _dummyList _dummyList = [triple] _dummyList[:] = [] del _dummyList _dummyList = [node] _dummyList[:] = [] del _dummyList pass
def test_XMLToken_newSetters_addAttributes1(self): triple = libsbml.XMLTriple("test", "", "") attr = libsbml.XMLAttributes() token = libsbml.XMLToken(triple, attr) xt2 = libsbml.XMLTriple("name3", "http://name3.org/", "p3") i = token.addAttr("name1", "val1") self.assert_(i == libsbml.LIBSBML_OPERATION_SUCCESS) self.assert_(token.getAttributesLength() == 1) self.assert_(token.isAttributesEmpty() == False) self.assert_(("name1" != token.getAttrName(0)) == False) self.assert_(("val1" != token.getAttrValue(0)) == False) i = token.addAttr("name2", "val2", "http://name1.org/", "p1") self.assert_(i == libsbml.LIBSBML_OPERATION_SUCCESS) self.assert_(token.getAttributesLength() == 2) self.assert_(token.isAttributesEmpty() == False) self.assert_(("name2" != token.getAttrName(1)) == False) self.assert_(("val2" != token.getAttrValue(1)) == False) self.assert_(("http://name1.org/" != token.getAttrURI(1)) == False) self.assert_(("p1" != token.getAttrPrefix(1)) == False) i = token.addAttr(xt2, "val2") self.assert_(i == libsbml.LIBSBML_OPERATION_SUCCESS) self.assert_(token.getAttributesLength() == 3) self.assert_(token.isAttributesEmpty() == False) self.assert_(("name3" != token.getAttrName(2)) == False) self.assert_(("val2" != token.getAttrValue(2)) == False) self.assert_(("http://name3.org/" != token.getAttrURI(2)) == False) self.assert_(("p3" != token.getAttrPrefix(2)) == False) _dummyList = [xt2] _dummyList[:] = [] del _dummyList _dummyList = [triple] _dummyList[:] = [] del _dummyList _dummyList = [attr] _dummyList[:] = [] del _dummyList _dummyList = [token] _dummyList[:] = [] del _dummyList pass
def test_XMLToken_newSetters_removeNamespaces1(self): triple = libsbml.XMLTriple("test", "", "") attr = libsbml.XMLAttributes() token = libsbml.XMLToken(triple, attr) token.addNamespace("http://test1.org/", "test1") self.assert_(token.getNamespacesLength() == 1) i = token.removeNamespace("test2") self.assert_(i == libsbml.LIBSBML_INDEX_EXCEEDS_SIZE) self.assert_(token.getNamespacesLength() == 1) i = token.removeNamespace("test1") self.assert_(i == libsbml.LIBSBML_OPERATION_SUCCESS) self.assert_(token.getNamespacesLength() == 0) _dummyList = [token] _dummyList[:] = [] del _dummyList _dummyList = [triple] _dummyList[:] = [] del _dummyList _dummyList = [attr] _dummyList[:] = [] del _dummyList pass
def convertSBMLNotes(notesSBML='unset', notesDict='unset'): """ Function that translates notes sbml node to Dictionary and vice-versa """ # We use 'unset' instead of None as the deault here because sometimes None is given as a valid input value for notesSBML, # and we want to return an empty dictionary for that. # The following functions are used to convert to and from the types of records that # can be conveyed in an SBML notes object. rPassthrough = lambda line: line rToInt = lambda line: int(line) rToStrippedStr = lambda line: line.strip() rToTrue = lambda line: True rFromNumber = lambda numb: [str(numb)] rGetAbbrev = lambda GCMS: GCMS.abbrev def rFromLinesInDict(fragDict): lines = [] for abbrev in fragDict: lines.append(fragDict[abbrev].line) return lines # looks like e.g. [[0,1],[2,3]]. It means first fragment has carbon 0 and 1 eliminated and second fragment carbons 2 and 3 def rToDestInfo(line): indsnew = [] inds = line.split(';') for ind in inds: indsnew.append(ind.strip().split(',')) return indsnew def rFromDestInfo(carbonsOut): if carbonsOut is None: return [] newgroups = [] for group in carbonsOut: newgroups.append(','.join(group)) return [';'.join(newgroups)] def rToFlux(line): # Examples of acceptable inputs: # <flux forward="240.34" backward="5.0" net="[230:235.34:237.004]" exchange="5.0" /> # Or: # "240.34, 5.0, [230:235.34:237.004], 5.0" # Or: # "240.34, 5.0, 235.34, 5.0" if isinstance(line, libsbml.XMLNode): forward = None backward = None net = None exchange = None if line.hasAttr("forward"): forward = line.getAttrValue("forward") if line.hasAttr("backward"): backward = line.getAttrValue("backward") if line.hasAttr("net"): net = line.getAttrValue("net") if line.hasAttr("exchange"): exchange = line.getAttrValue("exchange") else: v = line.split(',') if len(v) != 4: raise Exception('Wrong input for flux value from SBML') forward = v[0] backward = v[1] net = v[2] exchange = v[3] processed = [] for item in [forward, backward, net, exchange]: # If they look like rangedNumbers, turn them into rangedNumber objects # before passing them to the flux instantiator. if isinstance(item, str): item = item.strip() if core.rangedNumber.looks_like_rangedNumber(item): item = core.rangedNumber.from_string(item) else: if utils.is_float(item): item = float(item) processed.append(item) forward = processed[0] backward = processed[1] net = processed[2] exchange = processed[3] flux = core.flux(for_back_tup=(forward, backward), net_exc_tup=(net, exchange)) return flux def rFromFlux(flux): fluxSBML = libsbml.XMLNode() triple = libsbml.XMLTriple("flux", "", "") att = libsbml.XMLAttributes() att.add( "forward", str(flux.forward) ) # Forcing string conversion to invoke __str__ for rangedNumber att.add("backward", str(flux.backward)) att.add("net", str(flux.net)) att.add("exchange", str(flux.exchange)) ns = libsbml.XMLNamespaces() token = libsbml.XMLToken(triple, att, ns) fluxNode = libsbml.XMLNode(token) fluxSBML.addChild(fluxNode) return [fluxSBML] # A dictionary of note headers, providing three things: # 1. A function to use for input from SBML line into dictionary key, # 2. An inverse function to use for obtaining SBML line from dict element, # 3. A function to produce a label for dictionary in the case of multiple entries (e.g. GCMS) noteTypes = { 'GCMSLabelData': (labeling.GCMSLabelData, rFromLinesInDict, rGetAbbrev), 'GCMSLabelData(fit)': (labeling.GCMSLabelData, rFromLinesInDict, rGetAbbrev), 'LCMSLabelData': (labeling.LCMSLabelData, rFromLinesInDict, rGetAbbrev), 'LCMSLabelData(fit)': (labeling.LCMSLabelData, rFromLinesInDict, rGetAbbrev), 'CEMSLabelData': (labeling.CEMSLabelData, rFromLinesInDict, rGetAbbrev), 'CEMSLabelData(fit)': (labeling.CEMSLabelData, rFromLinesInDict, rGetAbbrev), 'DENS': (rPassthrough, '', ''), 'CARBON TRANSITIONS TYPE': (rPassthrough, '', ''), 'CARBON_TRANSITIONS': (rToStrippedStr, '', ''), 'LABELING_DEST': (rToDestInfo, rFromDestInfo, ''), 'LABELING_SOURCE': (rToTrue, '', ''), 'EXCLUDED': (rToTrue, '', ''), 'FEED': (rPassthrough, '', ''), 'CARBON NUMBER': (rToInt, rFromNumber, ''), 'FLUX VALUE': (rToFlux, rFromFlux, ''), 'SUBSYSTEM': (rPassthrough, '', ''), 'GENE_ASSOCIATION': (rPassthrough, '', ''), 'PROTEIN_ASSOCIATION': (rPassthrough, '', ''), 'FORMULA': (rPassthrough, '', '') } # SBML Notes to notesDict if notesSBML != 'unset': notesDict = {} if not notesSBML: return notesDict notesBody = notesSBML if notesSBML.hasChild('body'): notesBody = notesSBML.getChild(0) for i in range(notesBody.getNumChildren()): nElement = notesBody.getChild(i) string = nElement.getChild(0).toXMLString() try: noteHead, noteContent = string.split(':', 1) except ValueError: continue # If there is an additional XML object inside the note element, past the # text string, use that as the note content, rather than the remainder of the string. if (nElement.getNumChildren() > 1): noteContent = nElement.getChild(1) header = noteHead.strip() if header in noteTypes: recordImportFunction, recordExportFunction, labelGeneratorFunc = noteTypes[ header] # Eliminate header (e.g. GCMS :) from string object = recordImportFunction(noteContent) else: labelGeneratorFunc = '' object = noteContent # Store # This object is meant to return a dictionary, store as a list for the moment if labelGeneratorFunc != '': if header in notesDict: notesDict[header].append(object) else: notesDict[header] = [object] # One entry else: notesDict[header] = object # Convert lists into dictionaries if labelGeneratorFunc has been provided for header in notesDict: if header in noteTypes: recordImportFunction, recordExportFunction, labelGeneratorFunc = noteTypes[ header] # if there is a function and it is a list (iterable object) if labelGeneratorFunc and getattr(notesDict[header], '__iter__', False): dict = {} list = notesDict[header] for object in list: dict[labelGeneratorFunc(object)] = object notesDict[header] = dict return notesDict # notesDict to SBML Notes elif notesDict != 'unset': notesSBML = libsbml.XMLNode() triple = libsbml.XMLTriple("body", "", "") att = libsbml.XMLAttributes() ns = libsbml.XMLNamespaces() ns.add("http://www.w3.org/1999/xhtml", "") token = libsbml.XMLToken(triple, att, ns) notesBodyNode = libsbml.XMLNode(token) ns.clear() triple = libsbml.XMLTriple("p", "", "") token = libsbml.XMLToken(triple, att, ns) for header in notesDict: object = notesDict[header] lines = [object] if header in noteTypes: recordImportFunction, recordExportFunction, labelGeneratorFunc = noteTypes[ header] if recordExportFunction: lines = recordExportFunction(object) # Processing all lines for line in lines: # If the result of the export function was None, don't bother embedding the note if line is None: continue node = libsbml.XMLNode(token) if isinstance(line, libsbml.XMLNode): tt = libsbml.XMLToken(header + ': ') n1 = libsbml.XMLNode(tt) node.addChild(n1) node.addChild(line) else: tt = libsbml.XMLToken(header + ': ' + str(line)) n1 = libsbml.XMLNode(tt) node.addChild(n1) notesBodyNode.addChild(node) notesSBML.addChild(notesBodyNode) return notesSBML raise Exception('convertSBMLNotes called with no valid input')
def test_XMLToken_attribute_set_clear(self): triple = libsbml.XMLTriple("test", "", "") attr = libsbml.XMLAttributes() token = libsbml.XMLToken(triple, attr) nattr = libsbml.XMLAttributes() xt1 = libsbml.XMLTriple("name1", "http://name1.org/", "p1") xt2 = libsbml.XMLTriple("name2", "http://name2.org/", "p2") xt3 = libsbml.XMLTriple("name3", "http://name3.org/", "p3") xt4 = libsbml.XMLTriple("name4", "http://name4.org/", "p4") xt5 = libsbml.XMLTriple("name5", "http://name5.org/", "p5") nattr.add(xt1, "val1") nattr.add(xt2, "val2") nattr.add(xt3, "val3") nattr.add(xt4, "val4") nattr.add(xt5, "val5") token.setAttributes(nattr) self.assert_(token.getAttributesLength() == 5) self.assert_(token.isAttributesEmpty() == False) self.assert_(("name1" != token.getAttrName(0)) == False) self.assert_(("val1" != token.getAttrValue(0)) == False) self.assert_(("http://name1.org/" != token.getAttrURI(0)) == False) self.assert_(("p1" != token.getAttrPrefix(0)) == False) self.assert_(("name2" != token.getAttrName(1)) == False) self.assert_(("val2" != token.getAttrValue(1)) == False) self.assert_(("http://name2.org/" != token.getAttrURI(1)) == False) self.assert_(("p2" != token.getAttrPrefix(1)) == False) self.assert_(("name3" != token.getAttrName(2)) == False) self.assert_(("val3" != token.getAttrValue(2)) == False) self.assert_(("http://name3.org/" != token.getAttrURI(2)) == False) self.assert_(("p3" != token.getAttrPrefix(2)) == False) self.assert_(("name4" != token.getAttrName(3)) == False) self.assert_(("val4" != token.getAttrValue(3)) == False) self.assert_(("http://name4.org/" != token.getAttrURI(3)) == False) self.assert_(("p4" != token.getAttrPrefix(3)) == False) self.assert_(("name5" != token.getAttrName(4)) == False) self.assert_(("val5" != token.getAttrValue(4)) == False) self.assert_(("http://name5.org/" != token.getAttrURI(4)) == False) self.assert_(("p5" != token.getAttrPrefix(4)) == False) ntriple = libsbml.XMLTriple("test2", "http://test2.org/", "p2") token.setTriple(ntriple) self.assert_(("test2" != token.getName()) == False) self.assert_(("http://test2.org/" != token.getURI()) == False) self.assert_(("p2" != token.getPrefix()) == False) token.clearAttributes() self.assert_(token.getAttributesLength() == 0) self.assert_(token.isAttributesEmpty() != False) _dummyList = [nattr] _dummyList[:] = [] del _dummyList _dummyList = [triple] _dummyList[:] = [] del _dummyList _dummyList = [ntriple] _dummyList[:] = [] del _dummyList _dummyList = [attr] _dummyList[:] = [] del _dummyList _dummyList = [token] _dummyList[:] = [] del _dummyList _dummyList = [xt1] _dummyList[:] = [] del _dummyList _dummyList = [xt2] _dummyList[:] = [] del _dummyList _dummyList = [xt3] _dummyList[:] = [] del _dummyList _dummyList = [xt4] _dummyList[:] = [] del _dummyList _dummyList = [xt5] _dummyList[:] = [] del _dummyList pass
def test_XMLToken_attribute_add_remove(self): triple = libsbml.XMLTriple("test", "", "") attr = libsbml.XMLAttributes() token = libsbml.XMLToken(triple, attr) xt1 = libsbml.XMLTriple("name1", "http://name1.org/", "p1") xt2 = libsbml.XMLTriple("name2", "http://name2.org/", "p2") xt3 = libsbml.XMLTriple("name3", "http://name3.org/", "p3") xt1a = libsbml.XMLTriple("name1", "http://name1a.org/", "p1a") xt2a = libsbml.XMLTriple("name2", "http://name2a.org/", "p2a") token.addAttr("name1", "val1", "http://name1.org/", "p1") token.addAttr(xt2, "val2") self.assert_(token.getAttributesLength() == 2) self.assert_(token.isAttributesEmpty() == False) self.assert_(("name1" != token.getAttrName(0)) == False) self.assert_(("val1" != token.getAttrValue(0)) == False) self.assert_(("http://name1.org/" != token.getAttrURI(0)) == False) self.assert_(("p1" != token.getAttrPrefix(0)) == False) self.assert_(("name2" != token.getAttrName(1)) == False) self.assert_(("val2" != token.getAttrValue(1)) == False) self.assert_(("http://name2.org/" != token.getAttrURI(1)) == False) self.assert_(("p2" != token.getAttrPrefix(1)) == False) self.assert_(token.getAttrValue("name1") == "") self.assert_(token.getAttrValue("name2") == "") self.assert_( ("val1" != token.getAttrValue("name1", "http://name1.org/") ) == False) self.assert_( ("val2" != token.getAttrValue("name2", "http://name2.org/") ) == False) self.assert_(("val1" != token.getAttrValue(xt1)) == False) self.assert_(("val2" != token.getAttrValue(xt2)) == False) self.assert_(token.hasAttr(-1) == False) self.assert_(token.hasAttr(2) == False) self.assert_(token.hasAttr(0) == True) self.assert_(token.hasAttr("name1", "http://name1.org/") == True) self.assert_(token.hasAttr("name2", "http://name2.org/") == True) self.assert_(token.hasAttr("name3", "http://name3.org/") == False) self.assert_(token.hasAttr(xt1) == True) self.assert_(token.hasAttr(xt2) == True) self.assert_(token.hasAttr(xt3) == False) token.addAttr("noprefix", "val3") self.assert_(token.getAttributesLength() == 3) self.assert_(token.isAttributesEmpty() == False) self.assert_(("noprefix" != token.getAttrName(2)) == False) self.assert_(("val3" != token.getAttrValue(2)) == False) self.assert_(token.getAttrURI(2) == "") self.assert_(token.getAttrPrefix(2) == "") self.assert_(("val3" != token.getAttrValue("noprefix")) == False) self.assert_(("val3" != token.getAttrValue("noprefix", "")) == False) self.assert_(token.hasAttr("noprefix") == True) self.assert_(token.hasAttr("noprefix", "") == True) token.addAttr(xt1, "mval1") token.addAttr("name2", "mval2", "http://name2.org/", "p2") self.assert_(token.getAttributesLength() == 3) self.assert_(token.isAttributesEmpty() == False) self.assert_(("name1" != token.getAttrName(0)) == False) self.assert_(("mval1" != token.getAttrValue(0)) == False) self.assert_(("http://name1.org/" != token.getAttrURI(0)) == False) self.assert_(("p1" != token.getAttrPrefix(0)) == False) self.assert_(("name2" != token.getAttrName(1)) == False) self.assert_(("mval2" != token.getAttrValue(1)) == False) self.assert_(("http://name2.org/" != token.getAttrURI(1)) == False) self.assert_(("p2" != token.getAttrPrefix(1)) == False) self.assert_(token.hasAttr(xt1) == True) self.assert_(token.hasAttr("name1", "http://name1.org/") == True) token.addAttr("noprefix", "mval3") self.assert_(token.getAttributesLength() == 3) self.assert_(token.isAttributesEmpty() == False) self.assert_(("noprefix" != token.getAttrName(2)) == False) self.assert_(("mval3" != token.getAttrValue(2)) == False) self.assert_(token.getAttrURI(2) == "") self.assert_(token.getAttrPrefix(2) == "") self.assert_(token.hasAttr("noprefix") == True) self.assert_(token.hasAttr("noprefix", "") == True) token.addAttr(xt1a, "val1a") token.addAttr(xt2a, "val2a") self.assert_(token.getAttributesLength() == 5) self.assert_(("name1" != token.getAttrName(3)) == False) self.assert_(("val1a" != token.getAttrValue(3)) == False) self.assert_(("http://name1a.org/" != token.getAttrURI(3)) == False) self.assert_(("p1a" != token.getAttrPrefix(3)) == False) self.assert_(("name2" != token.getAttrName(4)) == False) self.assert_(("val2a" != token.getAttrValue(4)) == False) self.assert_(("http://name2a.org/" != token.getAttrURI(4)) == False) self.assert_(("p2a" != token.getAttrPrefix(4)) == False) self.assert_( ("val1a" != token.getAttrValue("name1", "http://name1a.org/") ) == False) self.assert_( ("val2a" != token.getAttrValue("name2", "http://name2a.org/") ) == False) self.assert_(("val1a" != token.getAttrValue(xt1a)) == False) self.assert_(("val2a" != token.getAttrValue(xt2a)) == False) token.removeAttr(xt1a) token.removeAttr(xt2a) self.assert_(token.getAttributesLength() == 3) token.removeAttr("name1", "http://name1.org/") self.assert_(token.getAttributesLength() == 2) self.assert_(token.isAttributesEmpty() == False) self.assert_(("name2" != token.getAttrName(0)) == False) self.assert_(("mval2" != token.getAttrValue(0)) == False) self.assert_(("http://name2.org/" != token.getAttrURI(0)) == False) self.assert_(("p2" != token.getAttrPrefix(0)) == False) self.assert_(("noprefix" != token.getAttrName(1)) == False) self.assert_(("mval3" != token.getAttrValue(1)) == False) self.assert_(token.getAttrURI(1) == "") self.assert_(token.getAttrPrefix(1) == "") self.assert_(token.hasAttr("name1", "http://name1.org/") == False) token.removeAttr(xt2) self.assert_(token.getAttributesLength() == 1) self.assert_(token.isAttributesEmpty() == False) self.assert_(("noprefix" != token.getAttrName(0)) == False) self.assert_(("mval3" != token.getAttrValue(0)) == False) self.assert_(token.getAttrURI(0) == "") self.assert_(token.getAttrPrefix(0) == "") self.assert_(token.hasAttr(xt2) == False) self.assert_(token.hasAttr("name2", "http://name2.org/") == False) token.removeAttr("noprefix") self.assert_(token.getAttributesLength() == 0) self.assert_(token.isAttributesEmpty() == True) self.assert_(token.hasAttr("noprefix") == False) self.assert_(token.hasAttr("noprefix", "") == False) _dummyList = [token] _dummyList[:] = [] del _dummyList _dummyList = [xt1] _dummyList[:] = [] del _dummyList _dummyList = [xt2] _dummyList[:] = [] del _dummyList _dummyList = [xt3] _dummyList[:] = [] del _dummyList _dummyList = [xt1a] _dummyList[:] = [] del _dummyList _dummyList = [xt2a] _dummyList[:] = [] del _dummyList _dummyList = [triple] _dummyList[:] = [] del _dummyList _dummyList = [attr] _dummyList[:] = [] del _dummyList pass