public void test_CVTerm_getResources() { CVTerm term = new CVTerm(libsbml.MODEL_QUALIFIER); string resource = "GO6666"; string resource1 = "OtherURI"; long number; term.addResource(resource); term.addResource(resource1); number = term.getNumResources(); assertTrue(number == 2); assertTrue(("GO6666" == term.getResourceURI(0))); assertTrue(("OtherURI" == term.getResourceURI(1))); term = null; }
public void test_RDFAnnotation2_modelWithHistoryAndCVTerms() { ModelHistory h = new ModelHistory(); ModelCreator c = new ModelCreator(); c.setFamilyName("Keating"); c.setGivenName("Sarah"); h.addCreator(c); Date d = new Date(2008, 11, 17, 18, 37, 0, 0, 0, 0); h.setCreatedDate(d); h.setModifiedDate(d); m2.unsetModelHistory(); m2.setModelHistory(h); CVTerm cv = new CVTerm(); cv.setQualifierType(libsbml.BIOLOGICAL_QUALIFIER); cv.setBiologicalQualifierType(libsbml.BQB_IS_VERSION_OF); cv.addResource("http://www.geneontology.org/#GO:0005892"); m2.addCVTerm(cv); XMLNode ann = RDFAnnotationParser.parseModelHistory(m2); string expected = "<annotation>\n" + " <rdf:RDF xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\" xmlns:dc=\"http://purl.org/dc/elements/1.1/\" xmlns:dcterms=\"http://purl.org/dc/terms/\" xmlns:vCard=\"http://www.w3.org/2001/vcard-rdf/3.0#\" xmlns:bqbiol=\"http://biomodels.net/biology-qualifiers/\" xmlns:bqmodel=\"http://biomodels.net/model-qualifiers/\">\n" + " <rdf:Description rdf:about=\"#_000001\">\n" + " <dc:creator rdf:parseType=\"Resource\">\n" + " <rdf:Bag>\n" + " <rdf:li rdf:parseType=\"Resource\">\n" + " <vCard:N rdf:parseType=\"Resource\">\n" + " <vCard:Family>Keating</vCard:Family>\n" + " <vCard:Given>Sarah</vCard:Given>\n" + " </vCard:N>\n" + " </rdf:li>\n" + " </rdf:Bag>\n" + " </dc:creator>\n" + " <dcterms:created rdf:parseType=\"Resource\">\n" + " <dcterms:W3CDTF>2008-11-17T18:37:00Z</dcterms:W3CDTF>\n" + " </dcterms:created>\n" + " <dcterms:modified rdf:parseType=\"Resource\">\n" + " <dcterms:W3CDTF>2008-11-17T18:37:00Z</dcterms:W3CDTF>\n" + " </dcterms:modified>\n" + " <bqbiol:isVersionOf>\n" + " <rdf:Bag>\n" + " <rdf:li rdf:resource=\"http://www.geneontology.org/#GO:0005892\"/>\n" + " </rdf:Bag>\n" + " </bqbiol:isVersionOf>\n" + " </rdf:Description>\n" + " </rdf:RDF>\n" + "</annotation>"; if (ann != null) { ; } { assertEquals(true, equals(expected, ann.toXMLString())); } { } }
public void test_CVTerm_addResource() { CVTerm term = new CVTerm(libsbml.MODEL_QUALIFIER); string resource = "GO6666"; XMLAttributes xa; assertTrue(term != null); assertTrue(term.getQualifierType() == libsbml.MODEL_QUALIFIER); int i = term.addResource(""); assertTrue(i == libsbml.LIBSBML_OPERATION_FAILED); xa = term.getResources(); assertTrue(xa.getLength() == 0); i = term.addResource(resource); assertTrue(i == libsbml.LIBSBML_OPERATION_SUCCESS); xa = term.getResources(); assertTrue(xa.getLength() == 1); assertTrue(("rdf:resource" == xa.getName(0))); assertTrue(("GO6666" == xa.getValue(0))); term = null; }
public void test_Validation_CVTerm2() { CVTerm cv = new CVTerm(); assertTrue(cv != null); assertEquals(false, (cv.hasRequiredAttributes())); cv.setQualifierType(libsbml.BIOLOGICAL_QUALIFIER); assertEquals(false, (cv.hasRequiredAttributes())); cv.setBiologicalQualifierType(libsbml.BQB_IS); assertEquals(false, (cv.hasRequiredAttributes())); cv.addResource("ggg"); assertEquals(true, (cv.hasRequiredAttributes())); cv = null; }
public void test_Validation_CVTerm1() { CVTerm cv = new CVTerm(); assertTrue(cv != null); assertEquals(false, (cv.hasRequiredAttributes())); cv.setQualifierType(libsbml.MODEL_QUALIFIER); assertEquals(false, (cv.hasRequiredAttributes())); cv.setModelQualifierType(libsbml.BQM_IS); assertEquals(false, (cv.hasRequiredAttributes())); cv.addResource("ggg"); assertEquals(true, (cv.hasRequiredAttributes())); cv = null; }
public void test_RDFAnnotation_testMissingMetaId() { SBMLDocument doc = new SBMLDocument ( 3,1 ); Model model = doc.createModel(); assertTrue( model != null ); model.setId("test1"); CVTerm term = new CVTerm ( libsbml.MODEL_QUALIFIER ); term.addResource("testResource"); term.setModelQualifierType(libsbml.BQM_IS); model.setMetaId("t1"); model.addCVTerm(term); model.setMetaId(""); string test = model.toSBML(); assertTrue( test == "<model id=\"test1\"/>" ); }
public void test_CVTerm_copyConstructor() { CVTerm CVTerm1 = new CVTerm(libsbml.BIOLOGICAL_QUALIFIER); CVTerm1.addResource("http://www.geneontology.org/#GO:0005892"); assertTrue(CVTerm1.getQualifierType() == libsbml.BIOLOGICAL_QUALIFIER); assertTrue(CVTerm1.getResources().getLength() == 1); assertTrue(CVTerm1.getResources().getValue(0) == "http://www.geneontology.org/#GO:0005892"); CVTerm CVTerm2 = new CVTerm(CVTerm1); assertTrue(CVTerm2.getQualifierType() == libsbml.BIOLOGICAL_QUALIFIER); assertTrue(CVTerm2.getResources().getLength() == 1); assertTrue(CVTerm2.getResources().getValue(0) == "http://www.geneontology.org/#GO:0005892"); CVTerm2 = null; CVTerm1 = null; }
public void test_CVTerm_removeResource() { CVTerm term = new CVTerm(libsbml.MODEL_QUALIFIER); string resource = "GO6666"; XMLAttributes xa; assertTrue(term != null); assertTrue(term.getQualifierType() == libsbml.MODEL_QUALIFIER); term.addResource(resource); xa = term.getResources(); assertTrue(xa.getLength() == 1); int i = term.removeResource("CCC"); assertTrue(i == libsbml.LIBSBML_INVALID_ATTRIBUTE_VALUE); xa = term.getResources(); assertTrue(xa.getLength() == 1); i = term.removeResource(resource); assertTrue(i == libsbml.LIBSBML_OPERATION_SUCCESS); xa = term.getResources(); assertTrue(xa.getLength() == 0); term = null; }
public static int Main(string[] args) { if (args.Length != 2) { Console.WriteLine(" usage: addingEvidenceCodes_2 <input-filename> <output-filename>"); Console.WriteLine(" Adds controlled vocabulary term to a species"); Console.WriteLine(); return(2); } SBMLDocument d = libsbml.readSBML(args[0]); long errors = d.getNumErrors(); if (errors > 0) { Console.WriteLine("Read Error(s):"); d.printErrors(); Console.WriteLine("Correct the above and re-run."); } else { long n = d.getModel().getNumSpecies(); if (n <= 0) { Console.WriteLine("Model has no species.\n Cannot add CV terms\n"); } else { Species s = d.getModel().getSpecies(0); /* check that the species has a metaid * no CVTerms will be added if there is no metaid to reference */ if (!s.isSetMetaId()) { s.setMetaId("metaid_0000052"); } CVTerm cv1 = new CVTerm(libsbml.BIOLOGICAL_QUALIFIER); cv1.setBiologicalQualifierType(libsbml.BQB_OCCURS_IN); cv1.addResource("urn:miriam:obo.go:GO%3A0005764"); s.addCVTerm(cv1); // now create the additional annotation //<rdf:Statement> // <rdf:subject rdf:resource="#metaid_0000052"/> // <rdf:predicate rdf:resource="http://biomodels.net/biology-qualifiers/occursIn"/> // <rdf:object rdf:resource="urn:miriam:obo.go:GO%3A0005764"/> // <bqbiol:isDescribedBy> // <rdf:Bag> // <rdf:li rdf:resource="urn:miriam:obo.eco:ECO%3A0000004"/> // <rdf:li rdf:resource="urn:miriam:pubmed:7017716"/> // </rdf:Bag> // </bqbiol:isDescribedBy> //</rdf:Statement> /* attributes */ XMLAttributes blank_att = new XMLAttributes(); XMLAttributes resource_att = new XMLAttributes(); /* create the outer statement node */ XMLTriple statement_triple = new XMLTriple("Statement", "http://www.w3.org/1999/02/22-rdf-syntax-ns#", "rdf"); XMLToken statement_token = new XMLToken(statement_triple, blank_att); XMLNode statement = new XMLNode(statement_token); /*create the subject node */ XMLTriple subject_triple = new XMLTriple("subject", "http://www.w3.org/1999/02/22-rdf-syntax-ns#", "rdf"); resource_att.clear(); resource_att.add("rdf:resource", "#" + s.getMetaId()); XMLToken subject_token = new XMLToken(subject_triple, resource_att); XMLNode subject = new XMLNode(subject_token); /*create the predicate node */ XMLTriple predicate_triple = new XMLTriple("predicate", "http://www.w3.org/1999/02/22-rdf-syntax-ns#", "rdf"); resource_att.clear(); resource_att.add("rdf:resource", "http://biomodels.net/biology-qualifiers/occursIn"); XMLToken predicate_token = new XMLToken(predicate_triple, resource_att); XMLNode predicate = new XMLNode(predicate_token); /*create the object node */ XMLTriple object_triple = new XMLTriple("object", "http://www.w3.org/1999/02/22-rdf-syntax-ns#", "rdf"); resource_att.clear(); resource_att.add("rdf:resource", "urn:miriam:obo.go:GO%3A0005764"); XMLToken object_token = new XMLToken(object_triple, resource_att); XMLNode object_ = new XMLNode(object_token); /* create the bqbiol node */ XMLTriple bqbiol_triple = new XMLTriple("isDescribedBy", "http://biomodels.net/biology-qualifiers/", "bqbiol"); XMLToken bqbiol_token = new XMLToken(bqbiol_triple, blank_att); XMLNode bqbiol = new XMLNode(bqbiol_token); /* create the bag node */ XMLTriple bag_triple = new XMLTriple("Bag", "http://www.w3.org/1999/02/22-rdf-syntax-ns#", "rdf"); XMLToken bag_token = new XMLToken(bag_triple, blank_att); XMLNode bag = new XMLNode(bag_token); /* create each li node and add to the bag */ XMLTriple li_triple = new XMLTriple("li", "http://www.w3.org/1999/02/22-rdf-syntax-ns#", "rdf"); resource_att.clear(); resource_att.add("rdf:resource", "urn:miriam:obo.eco:ECO%3A0000004"); XMLToken li_token = new XMLToken(li_triple, resource_att); li_token.setEnd(); XMLNode li = new XMLNode(li_token); bag.addChild(li); resource_att.clear(); resource_att.add("rdf:resource", "urn:miriam:pubmed:7017716"); li_token = new XMLToken(li_triple, resource_att); li_token.setEnd(); li = new XMLNode(li_token); bag.addChild(li); /* add the bag to bqbiol */ bqbiol.addChild(bag); /* add subject, predicate, object and bqbiol to statement */ statement.addChild(subject); statement.addChild(predicate); statement.addChild(object_); statement.addChild(bqbiol); /* create a top-level RDF element * this will ensure correct merging */ XMLNamespaces xmlns = new XMLNamespaces(); xmlns.add("http://www.w3.org/1999/02/22-rdf-syntax-ns#", "rdf"); xmlns.add("http://purl.org/dc/elements/1.1/", "dc"); xmlns.add("http://purl.org/dc/terms/", "dcterms"); xmlns.add("http://www.w3.org/2001/vcard-rdf/3.0#", "vCard"); xmlns.add("http://biomodels.net/biology-qualifiers/", "bqbiol"); xmlns.add("http://biomodels.net/model-qualifiers/", "bqmodel"); XMLTriple RDF_triple = new XMLTriple("RDF", "http://www.w3.org/1999/02/22-rdf-syntax-ns#", "rdf"); XMLToken RDF_token = new XMLToken(RDF_triple, blank_att, xmlns); XMLNode annotation = new XMLNode(RDF_token); /* add the staement node to the RDF node */ annotation.addChild(statement); s.appendAnnotation(annotation); libsbml.writeSBML(d, args[1]); } } return((int)errors); }
public static int Main(string[] args) { SBMLDocument d; long errors, n; Species s; if (args.Length != 2) { Console.WriteLine(" usage: addCVTerms <input-filename> <output-filename>"); Console.WriteLine(" Adds controlled vocabulary term to a species"); return(2); } d = libsbml.readSBML(args[0]); errors = d.getNumErrors(); if (errors > 0) { Console.WriteLine("Read Error(s):"); d.printErrors(); Console.WriteLine("Correct the above and re-run."); } else { n = d.getModel().getNumSpecies(); if (n <= 0) { Console.WriteLine("Model has no species.\n Cannot add CV terms\n"); } else { s = d.getModel().getSpecies(0); CVTerm cv = new CVTerm(); cv.setQualifierType(libsbml.BIOLOGICAL_QUALIFIER); cv.setBiologicalQualifierType(libsbml.BQB_IS_VERSION_OF); cv.addResource("http://www.geneontology.org/#GO:0005892"); CVTerm cv2 = new CVTerm(); cv2.setQualifierType(libsbml.BIOLOGICAL_QUALIFIER); cv2.setBiologicalQualifierType(libsbml.BQB_IS); cv2.addResource("http://www.geneontology.org/#GO:0005895"); CVTerm cv1 = new CVTerm(); cv1.setQualifierType(libsbml.BIOLOGICAL_QUALIFIER); cv1.setBiologicalQualifierType(libsbml.BQB_IS_VERSION_OF); cv1.addResource("http://www.ebi.ac.uk/interpro/#IPR002394"); s.addCVTerm(cv); s.addCVTerm(cv2); s.addCVTerm(cv1); libsbml.writeSBML(d, args[1]); } } return((int)errors); }
public static int Main(string[] args) { SBMLDocument d; long errors, n; Reaction r; if (args.Length != 2) { Console.Write(Environment.NewLine + " usage: addingEvidenceCodes_1 <input-filename> <output-filename>" + Environment.NewLine + " Adds controlled vocabulary term to a reaction" + Environment.NewLine + Environment.NewLine); return(2); } d = libsbml.readSBML(args[1]); errors = d.getNumErrors(); if (errors > 0) { Console.Write("Read Error(s):" + Environment.NewLine); d.printErrors(); Console.Write("Correct the above and re-run." + Environment.NewLine); } else { n = d.getModel().getNumReactions(); if (n <= 0) { Console.Write("Model has no reactions.\n Cannot add CV terms\n"); } else { r = d.getModel().getReaction(0); /* check that the reaction has a metaid * no CVTerms will be added if there is no metaid to reference */ if (!r.isSetMetaId()) { r.setMetaId("metaid_0000052"); } CVTerm cv1 = new CVTerm(libsbml.BIOLOGICAL_QUALIFIER); cv1.setBiologicalQualifierType(libsbml.BQB_IS_DESCRIBED_BY); cv1.addResource("urn:miriam:obo.eco:ECO%3A0000183"); r.addCVTerm(cv1); CVTerm cv2 = new CVTerm(libsbml.BIOLOGICAL_QUALIFIER); cv2.setBiologicalQualifierType(libsbml.BQB_IS); cv2.addResource("urn:miriam:kegg.reaction:R00756"); cv2.addResource("urn:miriam:reactome:REACT_736"); r.addCVTerm(cv2); libsbml.writeSBML(d, args[1]); } } return((int)errors); }
public void test_RDFAnnotation_parseCVTerms() { XMLNode node = RDFAnnotationParser.parseCVTerms(m.getCompartment(0)); assertTrue(node.getNumChildren() == 1); XMLNode rdf = node.getChild(0); assertTrue(("RDF" == rdf.getName())); assertTrue(("rdf" == rdf.getPrefix())); assertTrue(("http://www.w3.org/1999/02/22-rdf-syntax-ns#" == rdf.getURI())); assertTrue(rdf.getNumChildren() == 1); XMLNode desc = rdf.getChild(0); assertTrue(("Description" == desc.getName())); assertTrue(("rdf" == desc.getPrefix())); assertTrue(("http://www.w3.org/1999/02/22-rdf-syntax-ns#" == desc.getURI())); assertTrue(desc.getNumChildren() == 1); XMLNode is1 = desc.getChild(0); assertTrue(("is" == is1.getName())); assertTrue(("bqbiol" == is1.getPrefix())); assertTrue(is1.getNumChildren() == 1); XMLNode Bag = is1.getChild(0); assertTrue(("Bag" == Bag.getName())); assertTrue(("rdf" == Bag.getPrefix())); assertTrue(("http://www.w3.org/1999/02/22-rdf-syntax-ns#" == Bag.getURI())); assertTrue(Bag.getNumChildren() == 4); XMLNode li = Bag.getChild(0); assertTrue(("li" == li.getName())); assertTrue(("rdf" == li.getPrefix())); assertTrue(("http://www.w3.org/1999/02/22-rdf-syntax-ns#" == li.getURI())); assertTrue(li.getNumChildren() == 0); XMLNode li1 = Bag.getChild(1); assertTrue(("li" == li1.getName())); assertTrue(("rdf" == li1.getPrefix())); assertTrue(("http://www.w3.org/1999/02/22-rdf-syntax-ns#" == li1.getURI())); assertTrue(li1.getNumChildren() == 0); XMLNode li2 = Bag.getChild(2); assertTrue(("li" == li2.getName())); assertTrue(("rdf" == li2.getPrefix())); assertTrue(("http://www.w3.org/1999/02/22-rdf-syntax-ns#" == li2.getURI())); assertTrue(li2.getNumChildren() == 0); XMLNode li3 = Bag.getChild(3); assertTrue(("li" == li3.getName())); assertTrue(("rdf" == li3.getPrefix())); assertTrue(("http://www.w3.org/1999/02/22-rdf-syntax-ns#" == li3.getURI())); assertTrue(li3.getNumChildren() == 0); node = null; XMLNode node1 = RDFAnnotationParser.parseCVTerms(null); assertTrue(node1 == null); node1 = RDFAnnotationParser.createCVTerms(null); assertTrue(node1 == null); node1 = RDFAnnotationParser.parseCVTerms(m.getCompartment(2)); assertTrue(node1 == null); node1 = RDFAnnotationParser.createCVTerms(m.getCompartment(2)); assertTrue(node1 == null); node1 = RDFAnnotationParser.parseCVTerms(m); assertTrue(node1 == null); node1 = RDFAnnotationParser.createCVTerms(m); assertTrue(node1 == null); Compartment c = new Compartment(3, 1); c.setMetaId("_002"); node1 = RDFAnnotationParser.parseCVTerms(c); assertTrue(node1 == null); node1 = RDFAnnotationParser.createCVTerms(c); assertTrue(node1 == null); CVTerm cv = new CVTerm(libsbml.BIOLOGICAL_QUALIFIER); cv.setBiologicalQualifierType(23); cv.addResource("http://myres"); c.addCVTerm(cv); node1 = RDFAnnotationParser.createCVTerms(c); assertTrue(node1 == null); c = null; Model m1 = new Model(3, 1); m1.setMetaId("_002"); cv = new CVTerm(libsbml.MODEL_QUALIFIER); cv.setModelQualifierType(23); cv.addResource("http://myres"); m1.addCVTerm(cv); node1 = RDFAnnotationParser.createCVTerms(m1); assertTrue(node1 == null); }