public void test_SBMLTransforms_replaceFD() { SBMLReader reader = new SBMLReader(); SBMLDocument d; Model m; ASTNode ast; FunctionDefinition fd; ListOfFunctionDefinitions lofd; string filename = "../../sbml/test/test-data/"; filename += "multiple-functions.xml"; d = reader.readSBML(filename); if (d == null); { } m = d.getModel(); assertTrue( m.getNumFunctionDefinitions() == 2 ); d.expandFunctionDefinitions(); assertTrue( d.getModel().getNumFunctionDefinitions() == 0 ); ast = d.getModel().getReaction(0).getKineticLaw().getMath(); assertTrue(( "S1 * p * compartmentOne / t" == libsbml.formulaToString(ast) )); ast = d.getModel().getReaction(1).getKineticLaw().getMath(); assertTrue(( "S1 * p * compartmentOne / t" == libsbml.formulaToString(ast) )); ast = d.getModel().getReaction(2).getKineticLaw().getMath(); assertTrue(( "S1 * p * compartmentOne / t" == libsbml.formulaToString(ast) )); }
public static void Main(string[] args) { if (args.Length != 2) { string myname = Path.GetFileName(Environment.GetCommandLineArgs()[0]); Console.WriteLine("Usage: {0} input-filename output-filename", myname); Environment.Exit(1); } string inputFile = args[0]; string outputFile = args[1]; if (!File.Exists(inputFile)) { Console.WriteLine("[Error] {0} : No such file.", inputFile); Environment.Exit(1); } SBMLReader reader = new SBMLReader(); SBMLWriter writer = new SBMLWriter(); SBMLDocument sbmlDoc = reader.readSBML(inputFile); if (sbmlDoc.getNumErrors() > 0) { sbmlDoc.printErrors(); Console.WriteLine("[Error] Cannot read {0}", inputFile); Environment.Exit(1); } writer.writeSBML(sbmlDoc, outputFile); Console.WriteLine("[OK] Echoed {0} to {1}", inputFile, outputFile); }
public void test_GetMultipleObjects_noLocalParameters() { SBMLReader reader = new SBMLReader(); SBMLDocument d; string filename = "../../sbml/test/test-data/"; filename += "multiple-ids.xml"; d = reader.readSBML(filename); if (d == null) { ; } { } SBase rxn = d.getElementBySId("J0"); assertTrue(rxn != null); SBase obj = rxn.getElementBySId("x"); assertTrue(obj == null); obj = rxn.getElementByMetaId("meta28"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_LOCAL_PARAMETER); d = null; }
public static void Main(String[] args) { if (args.Length < 2 || args.Length > 3) { Console.WriteLine("Usage: FlattenModel [-p] input-filename output-filename"); Console.WriteLine(" -p : list unused ports"); Environment.Exit(2); } SBMLReader reader = new SBMLReader(); SBMLWriter writer = new SBMLWriter(); bool leavePorts = false; SBMLDocument doc; if (args.Length == 2) { doc = reader.readSBML(args[0]); } else { doc = reader.readSBML(args[1]); leavePorts = true; } if (doc.getErrorLog().getNumFailsWithSeverity(libsbml.LIBSBML_SEV_ERROR) > 0) { doc.printErrors(); } else { /* create a new conversion properties structure */ ConversionProperties props = new ConversionProperties(); /* add an option that we want to flatten */ props.addOption("flatten comp", true, "flatten comp"); /* add an option to leave ports if the user has requested this */ props.addOption("leavePorts", leavePorts, "unused ports should be listed in the flattened model"); /* perform the conversion */ int result = doc.convert(props); if (result != libsbml.LIBSBML_OPERATION_SUCCESS) { Console.WriteLine("conversion failed ... ({0})", result); doc.printErrors(); Environment.Exit(3); } if (args.Length == 2) { writer.writeSBML(doc, args[1]); } else { writer.writeSBML(doc, args[2]); } } }
public void test_SBMLTransforms_replaceIA_species() { SBMLReader reader = new SBMLReader(); SBMLDocument d; Model m; ASTNode ast; FunctionDefinition fd; ListOfFunctionDefinitions lofd; string filename = "../../sbml/test/test-data/"; filename += "initialAssignments_species.xml"; d = reader.readSBML(filename); if (d == null); { } m = d.getModel(); assertTrue( m.getNumInitialAssignments() == 3 ); assertTrue( m.getParameter(1).getValue() == 0.75 ); assertEquals( false, (m.getParameter(2).isSetValue()) ); assertEquals( true, m.getSpecies(2).isSetInitialAmount() ); assertTrue( m.getSpecies(2).getInitialAmount() == 2 ); d.expandInitialAssignments(); assertTrue( d.getModel().getNumInitialAssignments() == 0 ); assertTrue( m.getParameter(1).getValue() == 3 ); assertEquals( true, m.getParameter(2).isSetValue() ); assertTrue( m.getParameter(2).getValue() == 0.75 ); assertEquals( false, (m.getSpecies(2).isSetInitialAmount()) ); assertTrue( m.getSpecies(2).getInitialConcentration() == 2 ); }
public static void Main(string[] args) { if (args.Length != 2) { string myname = Path.GetFileName(Environment.GetCommandLineArgs()[0]); Console.WriteLine("Usage: {0} input-filename output-filename", myname); Environment.Exit(1); } string inputFile = args[0]; string outputFile = args[1]; if (!File.Exists(inputFile)) { Console.WriteLine("[Error] {0} : No such file.", inputFile); Environment.Exit(1); } var now = DateTime.Now.Ticks; SBMLReader reader = new SBMLReader(); SBMLWriter writer = new SBMLWriter(); SBMLDocument sbmlDoc = reader.readSBML(inputFile); if (sbmlDoc.getErrorLog().getNumFailsWithSeverity(libsbml.LIBSBML_SEV_ERROR) > 0) { sbmlDoc.printErrors(); Console.WriteLine("[Error] Cannot read {0}", inputFile); Environment.Exit(1); } Console.WriteLine("Read {0} in {1}", inputFile, new TimeSpan(DateTime.Now.Ticks - now).TotalMilliseconds); /* create a new conversion properties structure */ ConversionProperties props = new ConversionProperties(); /* add an option that we want to convert a model with * L3 FBC to L2 with COBRA annotation */ props.addOption("convert fbc to cobra", true, "Convert FBC model to Cobra model"); now = DateTime.Now.Ticks; /* perform the conversion */ int result = sbmlDoc.convert(props); if (result != libsbml.LIBSBML_OPERATION_SUCCESS) { Console.WriteLine("conversion failed ... "); Environment.Exit(3); } writer.writeSBML(sbmlDoc, outputFile); Console.WriteLine("[OK] converted to FBC from {0} and wrote to {1} (in {2} msec)", inputFile, outputFile, new TimeSpan(DateTime.Now.Ticks - now).TotalMilliseconds); }
/// <summary> /// Initializes and returns a new binary model based on an SBML file. /// </summary> /// <param name="filePath">The SBML file path</param> /// <returns>A new <see cref="BinaryModel" /> instance initialized from <paramref name="filePath" /></returns> public BinaryModel ReadFromSbmlFile(string filePath) { var reader = new SBMLReader(); var sbmlDoc = reader.readSBML(filePath); var sbmlModel = sbmlDoc.getModel(); Console.WriteLine("Initializing boolean model"); var binaryModel = new BinaryModel(); InitFromSbmlQualModel(binaryModel, sbmlModel); return(binaryModel); }
public static void Main(string[] args) { if (args.Length != 3) { string myname = Path.GetFileName(Environment.GetCommandLineArgs()[0]); Console.WriteLine("Usage: {0} input-filename package-to-strip output-filename", myname); Environment.Exit(1); } string inputFile = args[0]; string packageToStrip = args[1]; string outputFile = args[2]; if (!File.Exists(inputFile)) { Console.WriteLine("[Error] {0} : No such file.", inputFile); Environment.Exit(1); } SBMLReader reader = new SBMLReader(); SBMLWriter writer = new SBMLWriter(); SBMLDocument sbmlDoc = reader.readSBML(inputFile); if (sbmlDoc.getErrorLog().getNumFailsWithSeverity(libsbml.LIBSBML_SEV_ERROR) > 0) { sbmlDoc.printErrors(); Console.WriteLine("[Error] Cannot read {0}", inputFile); Environment.Exit(1); } /* create a new conversion properties structure */ ConversionProperties props = new ConversionProperties(); /* add an option that we want to strip a given package */ props.addOption("stripPackage", true, "Strip SBML Level 3 package constructs from the model"); /* add an option with the package we want to remove */ props.addOption("package", packageToStrip, "Name of the SBML Level 3 package to be stripped"); /* perform the conversion */ if (sbmlDoc.convert(props) != libsbml.LIBSBML_OPERATION_SUCCESS) { Console.WriteLine("conversion failed ... "); Environment.Exit(3); } writer.writeSBML(sbmlDoc, outputFile); Console.WriteLine("[OK] Stripped package '{0}' from {1} and wrote to {2}", packageToStrip, inputFile, outputFile); }
public void test_consistency_checks() { SBMLReader reader = new SBMLReader(); SBMLDocument d; long errors; string filename = "../../sbml/test/test-data/"; filename += "inconsistent.xml"; d = reader.readSBML(filename); if (d == null) { ; } { } errors = d.checkConsistency(); assertTrue(errors == 1); assertTrue(d.getError(0).getErrorId() == 10301); d.getErrorLog().clearLog(); d.setConsistencyChecks(libsbml.LIBSBML_CAT_IDENTIFIER_CONSISTENCY, false); errors = d.checkConsistency(); assertTrue(errors == 2); assertTrue(d.getError(0).getErrorId() == 10214); assertTrue(d.getError(1).getErrorId() == 20612); d.getErrorLog().clearLog(); d.setConsistencyChecks(libsbml.LIBSBML_CAT_GENERAL_CONSISTENCY, false); errors = d.checkConsistency(); assertTrue(errors == 1); assertTrue(d.getError(0).getErrorId() == 10701); d.getErrorLog().clearLog(); d.setConsistencyChecks(libsbml.LIBSBML_CAT_SBO_CONSISTENCY, false); errors = d.checkConsistency(); assertTrue(errors == 1); assertTrue(d.getError(0).getErrorId() == 10214); d.getErrorLog().clearLog(); d.setConsistencyChecks(libsbml.LIBSBML_CAT_MATHML_CONSISTENCY, false); errors = d.checkConsistency(); assertTrue(errors == 4); assertTrue(d.getError(0).getErrorId() == 99505); assertTrue(d.getError(1).getErrorId() == 99505); assertTrue(d.getError(2).getErrorId() == 99505); assertTrue(d.getError(3).getErrorId() == 80701); d.getErrorLog().clearLog(); d.setConsistencyChecks(libsbml.LIBSBML_CAT_UNITS_CONSISTENCY, false); errors = d.checkConsistency(); assertTrue(errors == 0); d = null; }
public void test_read_l2v4_new() { SBMLReader reader = new SBMLReader(); SBMLDocument d; Model m; Compartment c; Event e; Trigger trigger; EventAssignment ea; ASTNode ast; string filename = "../../sbml/test/test-data/"; filename += "l2v4-new.xml"; d = reader.readSBML(filename); if (d == null) { ; } { } assertTrue(d.getLevel() == 2); assertTrue(d.getVersion() == 4); m = d.getModel(); assertTrue(m != null); assertTrue(m.getId() == "l2v4_all"); assertTrue(m.getNumCompartments() == 1); c = m.getCompartment(0); assertTrue(c != null); assertTrue(c.getId() == "a"); assertTrue(c.getSize() == 1); assertEquals(false, c.getConstant()); assertTrue(m.getNumEvents() == 1); e = m.getEvent(0); assertTrue(e != null); assertEquals(true, e.getUseValuesFromTriggerTime()); assertEquals(true, e.isSetTrigger()); trigger = e.getTrigger(); assertTrue(trigger != null); ast = trigger.getMath(); assertTrue(("lt(x, 3)" == libsbml.formulaToString(ast))); assertTrue(e.getNumEventAssignments() == 1); ea = e.getEventAssignment(0); assertTrue(ea != null); assertTrue(ea.getVariable() == "a"); ast = ea.getMath(); assertTrue(("x * p3" == libsbml.formulaToString(ast))); d = null; }
public static void Main(string[] args) { if (args.Length != 2) { string myname = Path.GetFileName(Environment.GetCommandLineArgs()[0]); Console.WriteLine("Usage: {0} input-filenameoutput-filename", myname); Environment.Exit(1); } string inputFile = args[0]; string outputFile = args[1]; if (!File.Exists(inputFile)) { Console.WriteLine("[Error] {0} : No such file.", inputFile); Environment.Exit(1); } SBMLReader reader = new SBMLReader(); SBMLWriter writer = new SBMLWriter(); SBMLDocument sbmlDoc = reader.readSBML(inputFile); if (sbmlDoc.getErrorLog().getNumFailsWithSeverity(libsbml.LIBSBML_SEV_ERROR) > 0) { sbmlDoc.printErrors(); Console.WriteLine("[Error] Cannot read {0}", inputFile); Environment.Exit(1); } /* create a new conversion properties structure */ ConversionProperties props = new ConversionProperties(); /* add an option that we want to promote parameters */ props.addOption("promoteLocalParameters", true, "Promotes all Local Parameters to Global ones"); /* perform the conversion */ if (sbmlDoc.convert(props) != libsbml.LIBSBML_OPERATION_SUCCESS) { Console.WriteLine("conversion failed ... "); Environment.Exit(3); } writer.writeSBML(sbmlDoc, outputFile); Console.WriteLine("[OK] promoted paramters from {0} and wrote to {1}", inputFile, outputFile); }
public void test_GetMultipleObjects_allElements() { SBMLReader reader = new SBMLReader(); SBMLDocument d; string filename = "../../sbml/test/test-data/"; filename += "multiple-ids.xml"; d = reader.readSBML(filename); if (d == null) { ; } { } SBaseList list = d.getListOfAllElements(); assertTrue(list.getSize() == 37); d = null; }
public void test_GetMultipleObjects_getId() { SBMLReader reader = new SBMLReader(); SBMLDocument d; string filename = "../../sbml/test/test-data/"; filename += "multiple-ids.xml"; d = reader.readSBML(filename); if (d == null) { ; } { } SBase obj = d.getElementBySId("no_id"); assertTrue(obj == null); obj = d.getElementBySId(""); assertTrue(obj == null); obj = d.getElementBySId("find_id"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_MODEL); obj = d.getElementBySId("func1"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_FUNCTION_DEFINITION); obj = d.getElementBySId("comp"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_COMPARTMENT); obj = d.getElementBySId("b"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_SPECIES); obj = d.getElementBySId("x"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_PARAMETER); obj = d.getElementBySId("J0"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_REACTION); obj = d.getElementBySId("E0"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_EVENT); d = null; }
public void test_GetMultipleObjects_noUnits() { SBMLReader reader = new SBMLReader(); SBMLDocument d; string filename = "../../sbml/test/test-data/"; filename += "multiple-ids.xml"; d = reader.readSBML(filename); if (d == null) { ; } { } SBase obj = d.getElementBySId("volume"); assertTrue(obj == null); obj = d.getElementByMetaId("meta30"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_UNIT_DEFINITION); d = null; }
public void test_GetMultipleObjects_noAssignments() { SBMLReader reader = new SBMLReader(); SBMLDocument d; string filename = "../../sbml/test/test-data/"; filename += "assignments-invalid.xml"; d = reader.readSBML(filename); if (d.getModel() == null) { ; } { } SBase obj = d.getElementBySId("ia"); assertTrue(obj == null); obj = d.getElementByMetaId("ia_meta"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_INITIAL_ASSIGNMENT); obj = d.getElementBySId("ar"); assertTrue(obj == null); obj = d.getElementByMetaId("ar_meta"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_ASSIGNMENT_RULE); obj = d.getElementBySId("rr"); assertTrue(obj == null); obj = d.getElementByMetaId("rr_meta"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_RATE_RULE); obj = d.getElementBySId("ea"); assertTrue(obj == null); obj = d.getElementByMetaId("ea_meta"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_EVENT_ASSIGNMENT); d = null; }
public void test_read_l3v1_new() { SBMLReader reader = new SBMLReader(); SBMLDocument d; Model m; UnitDefinition ud; Unit u; Compartment c; Species s; Parameter p; Reaction r; SpeciesReference sr; KineticLaw kl; LocalParameter lp; Event e; Trigger t; Priority pr; string filename = "../../sbml/test/test-data/"; filename += "l3v1-new-invalid.xml"; d = reader.readSBML(filename); if (d == null) { ; } { } assertTrue(d.getLevel() == 3); assertTrue(d.getVersion() == 1); m = d.getModel(); assertTrue(m != null); assertEquals(true, m.isSetSubstanceUnits()); assertEquals(true, m.isSetTimeUnits()); assertEquals(true, m.isSetVolumeUnits()); assertEquals(true, m.isSetLengthUnits()); assertEquals(true, m.isSetAreaUnits()); assertEquals(true, m.isSetExtentUnits()); assertEquals(true, m.isSetConversionFactor()); assertTrue(m.getSubstanceUnits() == "mole"); assertTrue(m.getTimeUnits() == "second"); assertTrue(m.getVolumeUnits() == "litre"); assertTrue(m.getLengthUnits() == "metre"); assertTrue(m.getAreaUnits() == "metre"); assertTrue(m.getExtentUnits() == "mole"); assertTrue(m.getConversionFactor() == "p"); assertTrue(m.getNumUnitDefinitions() == 2); ud = m.getUnitDefinition(0); assertTrue(ud.getNumUnits() == 1); u = ud.getUnit(0); assertEquals(false, u.isSetExponent()); assertEquals(false, u.isSetScale()); assertEquals(false, u.isSetMultiplier()); assertEquals(true, isnan(u.getExponentAsDouble())); assertTrue(u.getScale() == SBML_INT_MAX); assertEquals(true, isnan(u.getMultiplier())); ud = m.getUnitDefinition(1); assertTrue(ud.getNumUnits() == 3); u = ud.getUnit(0); assertEquals(true, u.isSetExponent()); assertEquals(true, u.isSetScale()); assertEquals(true, u.isSetMultiplier()); assertTrue(u.getExponent() == -1); assertTrue(u.getExponentAsDouble() == -1); assertTrue(u.getScale() == 2); assertTrue(u.getMultiplier() == 1.3); u = ud.getUnit(1); assertEquals(true, u.isSetExponent()); assertEquals(true, u.isSetScale()); assertEquals(true, u.isSetMultiplier()); assertTrue(u.getExponentAsDouble() == 1.5); assertTrue(u.getScale() == 10); assertTrue(u.getMultiplier() == 0.5); u = ud.getUnit(2); assertEquals(true, u.isSetExponent()); assertEquals(true, u.isSetScale()); assertEquals(true, u.isSetMultiplier()); assertTrue(u.getExponent() == 1); assertTrue(u.getScale() == 0); assertTrue(u.getMultiplier() == 1); assertTrue(m.getNumCompartments() == 3); c = m.getCompartment(0); assertEquals(true, c.isSetSize()); assertEquals(true, c.isSetSpatialDimensions()); assertEquals(true, c.isSetConstant()); assertTrue(c.getId() == "comp"); assertTrue(c.getSize() == 1e-14); assertTrue(c.getSpatialDimensions() == 3); assertTrue(c.getSpatialDimensionsAsDouble() == 3); assertTrue(c.getUnits() == "litre"); assertTrue(c.getConstant() == true); c = m.getCompartment(1); assertEquals(false, c.isSetSize()); assertEquals(false, c.isSetSpatialDimensions()); assertEquals(true, c.isSetConstant()); assertTrue(c.getId() == "comp1"); assertEquals(true, isnan(c.getSize())); assertEquals(true, isnan(c.getSpatialDimensionsAsDouble())); assertTrue(c.getConstant() == false); c = m.getCompartment(2); assertEquals(false, c.isSetSize()); assertEquals(true, c.isSetSpatialDimensions()); assertEquals(false, c.isSetConstant()); assertTrue(c.getId() == "comp2"); assertTrue(c.getSpatialDimensionsAsDouble() == 4.6); assertTrue(m.getNumSpecies() == 2); s = m.getSpecies(0); assertTrue(s.getId() == "ES"); assertTrue(s.getCompartment() == "comp"); assertEquals(true, s.isSetConversionFactor()); assertTrue(s.getConversionFactor() == "p"); assertEquals(true, s.isSetBoundaryCondition()); assertTrue(s.getBoundaryCondition() == false); assertEquals(true, s.isSetHasOnlySubstanceUnits()); assertTrue(s.getHasOnlySubstanceUnits() == false); assertEquals(true, s.isSetSubstanceUnits()); assertTrue(s.getSubstanceUnits() == "mole"); assertEquals(true, s.isSetConstant()); assertTrue(s.getConstant() == false); assertEquals(true, s.isSetInitialAmount()); assertTrue(s.getInitialAmount() == 0); assertEquals(false, s.isSetInitialConcentration()); assertEquals(true, isnan(s.getInitialConcentration())); s = m.getSpecies(1); assertTrue(s.getId() == "P"); assertTrue(s.getCompartment() == "comp"); assertEquals(false, s.isSetConversionFactor()); assertTrue(s.getConversionFactor() == ""); assertEquals(false, s.isSetBoundaryCondition()); assertEquals(false, s.isSetHasOnlySubstanceUnits()); assertEquals(false, s.isSetSubstanceUnits()); assertTrue(s.getSubstanceUnits() == ""); assertEquals(false, s.isSetConstant()); assertEquals(false, s.isSetInitialAmount()); assertEquals(true, isnan(s.getInitialAmount())); assertEquals(false, s.isSetInitialConcentration()); assertEquals(true, isnan(s.getInitialConcentration())); assertTrue(m.getNumParameters() == 3); p = m.getParameter(0); assertTrue(p.getId() == "Keq"); assertEquals(true, p.isSetValue()); assertTrue(p.getValue() == 2.5); assertEquals(true, p.isSetUnits()); assertTrue(p.getUnits() == "dimensionless"); assertEquals(true, p.isSetConstant()); assertTrue(p.getConstant() == true); p = m.getParameter(1); assertTrue(p.getId() == "Keq1"); assertEquals(false, p.isSetValue()); assertEquals(true, isnan(p.getValue())); assertEquals(false, p.isSetUnits()); assertTrue(p.getUnits() == ""); assertEquals(true, p.isSetConstant()); assertTrue(p.getConstant() == false); p = m.getParameter(2); assertTrue(p.getId() == "Keq2"); assertEquals(false, p.isSetValue()); assertEquals(true, isnan(p.getValue())); assertEquals(false, p.isSetUnits()); assertTrue(p.getUnits() == ""); assertEquals(false, p.isSetConstant()); assertTrue(m.getNumReactions() == 3); r = m.getReaction(0); assertEquals(true, r.isSetFast()); assertTrue(r.getFast() == false); assertEquals(true, r.isSetReversible()); assertTrue(r.getReversible() == false); assertEquals(true, r.isSetCompartment()); assertTrue(r.getCompartment() == "comp"); sr = r.getReactant(0); assertEquals(true, sr.isSetConstant()); assertTrue(sr.getConstant() == true); assertEquals(true, sr.isSetStoichiometry()); assertTrue(sr.getStoichiometry() == 1); sr = r.getProduct(0); assertEquals(true, sr.isSetConstant()); assertTrue(sr.getConstant() == false); assertEquals(false, sr.isSetStoichiometry()); assertEquals(true, isnan(sr.getStoichiometry())); kl = r.getKineticLaw(); assertTrue(kl.getNumLocalParameters() == 2); assertTrue(kl.getNumParameters() == 2); p = kl.getParameter(0); assertEquals(true, p.isSetUnits()); assertTrue(p.getUnits() == "per_second"); assertEquals(true, p.isSetValue()); assertTrue(p.getValue() == 0.1); lp = kl.getLocalParameter(0); assertEquals(true, lp.isSetUnits()); assertTrue(lp.getUnits() == "per_second"); assertEquals(true, lp.isSetValue()); assertTrue(lp.getValue() == 0.1); lp = kl.getLocalParameter(1); assertEquals(false, lp.isSetUnits()); assertTrue(lp.getUnits() == ""); assertEquals(false, lp.isSetValue()); assertEquals(true, isnan(lp.getValue())); r = m.getReaction(1); assertEquals(true, r.isSetFast()); assertTrue(r.getFast() == true); assertEquals(true, r.isSetReversible()); assertTrue(r.getReversible() == true); assertEquals(false, r.isSetCompartment()); assertTrue(r.getCompartment() == ""); sr = r.getReactant(0); assertEquals(false, sr.isSetConstant()); r = m.getReaction(2); assertEquals(false, r.isSetFast()); assertEquals(false, r.isSetReversible()); assertEquals(false, r.isSetCompartment()); assertTrue(r.getCompartment() == ""); e = m.getEvent(0); t = e.getTrigger(); assertEquals(true, t.isSetPersistent()); assertTrue(t.getPersistent() == false); assertEquals(true, t.isSetInitialValue()); assertTrue(t.getInitialValue() == false); assertEquals(true, e.isSetPriority()); pr = e.getPriority(); assertTrue(pr != null); assertEquals(true, pr.isSetMath()); e = m.getEvent(1); assertEquals(false, e.isSetPriority()); t = e.getTrigger(); assertEquals(false, (t.isSetPersistent())); assertEquals(false, (t.isSetInitialValue())); d = null; }
public void test_read_l2v2_newComponents() { SBMLReader reader = new SBMLReader(); SBMLDocument d; Model m; Compartment c; CompartmentType ct; Species s; Parameter p; Reaction r; SpeciesReference sr; KineticLaw kl; Constraint con; InitialAssignment ia; SpeciesType st; ListOfCompartmentTypes loct; CompartmentType ct1; ListOfConstraints locon; Constraint con1; ListOfInitialAssignments loia; InitialAssignment ia1; ListOfReactions lor; Reaction r1; ListOfSpeciesReferences losr; SpeciesReference sr1; ASTNode ast; string filename = "../../sbml/test/test-data/"; filename += "l2v2-newComponents.xml"; d = reader.readSBML(filename); if (d == null) { ; } { } assertTrue(d.getLevel() == 2); assertTrue(d.getVersion() == 2); m = d.getModel(); assertTrue(m != null); assertTrue(m.getId() == "l2v2_newComponents"); assertTrue(m.getSBOTerm() == 4); assertTrue(m.getSBOTermID() == "SBO:0000004"); assertTrue(m.getNumCompartments() == 2); c = m.getCompartment(0); assertTrue(c != null); assertTrue(c.getId() == "cell"); assertEquals(c.getCompartmentType(), "mitochondria"); assertTrue(c.getOutside() == "m"); assertTrue(c.getSBOTerm() == -1); assertTrue(c.getSBOTermID() == ""); c = m.getCompartment(1); assertTrue(c != null); assertTrue(c.getId() == "m"); assertEquals(c.getCompartmentType(), "mitochondria"); assertTrue(m.getNumCompartmentTypes() == 1); ct = m.getCompartmentType(0); assertTrue(ct != null); assertTrue(ct.getId() == "mitochondria"); loct = m.getListOfCompartmentTypes(); ct1 = loct.get(0); assertTrue(ct1 == ct); ct1 = loct.get("mitochondria"); assertTrue(ct1 == ct); assertTrue(m.getNumSpeciesTypes() == 1); st = m.getSpeciesType(0); assertTrue(st != null); assertTrue(st.getId() == "Glucose"); assertTrue(m.getNumSpecies() == 2); s = m.getSpecies(0); assertTrue(s != null); assertTrue(s.getId() == "X0"); assertEquals(s.getSpeciesType(), "Glucose"); assertTrue(s.getCompartment() == "cell"); assertEquals(false, s.isSetInitialAmount()); assertEquals(false, s.isSetInitialConcentration()); s = m.getSpecies(1); assertTrue(s != null); assertTrue(s.getId() == "X1"); assertEquals(false, s.isSetSpeciesType()); assertTrue(s.getCompartment() == "cell"); assertTrue(s.getInitialConcentration() == 0.013); assertEquals(false, s.isSetInitialAmount()); assertEquals(true, s.isSetInitialConcentration()); assertTrue(m.getNumParameters() == 1); p = m.getParameter(0); assertTrue(p != null); assertTrue(p.getId() == "y"); assertTrue(p.getValue() == 2); assertTrue(p.getUnits() == "dimensionless"); assertTrue(p.getId() == "y"); assertTrue(p.getSBOTerm() == 2); assertTrue(p.getSBOTermID() == "SBO:0000002"); assertTrue(m.getNumConstraints() == 1); con = m.getConstraint(0); assertTrue(con != null); assertTrue(con.getSBOTerm() == 64); assertTrue(con.getSBOTermID() == "SBO:0000064"); ast = con.getMath(); assertTrue(("lt(1, cell)" == libsbml.formulaToString(ast))); locon = m.getListOfConstraints(); con1 = locon.get(0); assertTrue(con1 == con); assertTrue(m.getNumInitialAssignments() == 1); ia = m.getInitialAssignment(0); assertTrue(ia != null); assertTrue(ia.getSBOTerm() == 64); assertTrue(ia.getSBOTermID() == "SBO:0000064"); assertTrue(ia.getSymbol() == "X0"); ast = ia.getMath(); assertTrue(("y * X1" == libsbml.formulaToString(ast))); loia = m.getListOfInitialAssignments(); ia1 = loia.get(0); assertTrue(ia1 == ia); ia1 = loia.get("X0"); assertTrue(ia1 == ia); assertTrue(m.getNumReactions() == 1); r = m.getReaction(0); assertTrue(r != null); assertTrue(r.getSBOTerm() == 231); assertTrue(r.getSBOTermID() == "SBO:0000231"); assertTrue(r.getId() == "in"); lor = m.getListOfReactions(); r1 = lor.get(0); assertTrue(r1 == r); r1 = lor.get("in"); assertTrue(r1 == r); assertEquals(true, r.isSetKineticLaw()); kl = r.getKineticLaw(); assertTrue(kl != null); assertTrue(kl.getSBOTerm() == 1); assertTrue(kl.getSBOTermID() == "SBO:0000001"); assertEquals(true, kl.isSetMath()); ast = kl.getMath(); assertTrue(("v * X0 / t" == libsbml.formulaToString(ast))); assertTrue(kl.getNumParameters() == 2); p = kl.getParameter(0); assertTrue(p != null); assertTrue(p.getSBOTerm() == 2); assertTrue(p.getSBOTermID() == "SBO:0000002"); assertTrue(p.getId() == "v"); assertTrue(p.getUnits() == "litre"); assertTrue(r.getNumReactants() == 1); assertTrue(r.getNumProducts() == 0); assertTrue(r.getNumModifiers() == 0); sr = r.getReactant(0); assertTrue(sr != null); assertTrue(sr.getName() == "sarah"); assertTrue(sr.getId() == "me"); assertTrue(sr.getSpecies() == "X0"); losr = r.getListOfReactants(); sr1 = (SpeciesReference)losr.get(0); assertTrue(sr1 == sr); sr1 = (SpeciesReference)losr.get("me"); assertTrue(sr1 == sr); d = null; }
public void test_read_MathML_1() { SBMLReader reader = new SBMLReader(); SBMLDocument d; Model m; FunctionDefinition fd; InitialAssignment ia; Rule r; KineticLaw kl; string filename = "../../sbml/math/test/test-data/"; filename += "mathML_1-invalid.xml"; d = reader.readSBML(filename); if (d == null) { ; } { } m = d.getModel(); assertTrue(m != null); assertTrue(m.getNumFunctionDefinitions() == 2); assertTrue(m.getNumInitialAssignments() == 1); assertTrue(m.getNumRules() == 2); assertTrue(m.getNumReactions() == 1); fd = m.getFunctionDefinition(0); ASTNode fd_math = fd.getMath(); assertTrue(fd_math.getType() == libsbml.AST_LAMBDA); assertTrue(fd_math.getNumChildren() == 2); assertTrue(("lambda(x, )" == libsbml.formulaToString(fd_math))); assertTrue(fd_math.getParentSBMLObject() == fd); ASTNode child = fd_math.getRightChild(); assertTrue(child.getType() == libsbml.AST_UNKNOWN); assertTrue(child.getNumChildren() == 0); assertTrue(("" == libsbml.formulaToString(child))); fd = m.getFunctionDefinition(1); ASTNode fd1_math = fd.getMath(); assertTrue(fd1_math.getType() == libsbml.AST_LAMBDA); assertTrue(fd1_math.getNumChildren() == 2); assertTrue(("lambda(x, true)" == libsbml.formulaToString(fd1_math))); assertTrue(fd1_math.getParentSBMLObject() == fd); ASTNode child1 = fd1_math.getRightChild(); assertTrue(child1.getType() == libsbml.AST_CONSTANT_TRUE); assertTrue(child1.getNumChildren() == 0); assertTrue(("true" == libsbml.formulaToString(child1))); ia = m.getInitialAssignment(0); ASTNode ia_math = ia.getMath(); assertTrue(ia_math.getType() == libsbml.AST_UNKNOWN); assertTrue(ia_math.getNumChildren() == 0); assertTrue(("" == libsbml.formulaToString(ia_math))); assertTrue(ia_math.getParentSBMLObject() == ia); r = m.getRule(0); ASTNode r_math = r.getMath(); assertTrue(r_math.getType() == libsbml.AST_CONSTANT_TRUE); assertTrue(r_math.getNumChildren() == 0); assertTrue(("true" == libsbml.formulaToString(r_math))); assertTrue(r_math.getParentSBMLObject() == r); r = m.getRule(1); ASTNode r1_math = r.getMath(); assertTrue(r1_math.getType() == libsbml.AST_REAL); assertTrue(r1_math.getNumChildren() == 0); assertTrue(("INF" == libsbml.formulaToString(r1_math))); assertTrue(r1_math.getParentSBMLObject() == r); kl = m.getReaction(0).getKineticLaw(); //ASTNode kl_math = kl.getMath(); //assertTrue( kl_math == null ); d = null; }
public void test_read_l2v3_all() { SBMLReader reader = new SBMLReader(); SBMLDocument d; Model m; Compartment c; CompartmentType ct; Species s; Parameter p; AssignmentRule ar; Reaction r; SpeciesReference sr; KineticLaw kl; UnitDefinition ud; Constraint con; Event e; Delay delay; Trigger trigger; EventAssignment ea; FunctionDefinition fd; InitialAssignment ia; AlgebraicRule alg; RateRule rr; SpeciesType st; StoichiometryMath stoich; Unit u; ListOfEvents loe; Event e1; ListOfEventAssignments loea; EventAssignment ea1; ListOfFunctionDefinitions lofd; FunctionDefinition fd1; ListOfParameters lop; Parameter p1; ListOfSpeciesTypes lost; SpeciesType st1; ListOfUnitDefinitions loud; UnitDefinition ud1; ListOfUnits lou; Unit u1; ASTNode ast; string filename = "../../sbml/test/test-data/"; filename += "l2v3-all.xml"; d = reader.readSBML(filename); if (d == null) { ; } { } assertTrue(d.getLevel() == 2); assertTrue(d.getVersion() == 3); m = d.getModel(); assertTrue(m != null); assertTrue(m.getId() == "l2v3_all"); assertTrue(m.getNumCompartments() == 1); c = m.getCompartment(0); assertTrue(c != null); assertTrue(c.getId() == "a"); assertEquals(c.getCompartmentType(), "hh"); assertTrue(c.getSBOTerm() == 236); assertTrue(c.getSBOTermID() == "SBO:0000236"); assertTrue(c.getSize() == 2.3); assertTrue(m.getNumCompartmentTypes() == 1); ct = m.getCompartmentType(0); assertTrue(ct != null); assertTrue(ct.getId() == "hh"); assertTrue(ct.getSBOTerm() == 236); assertTrue(ct.getSBOTermID() == "SBO:0000236"); assertTrue(m.getNumSpeciesTypes() == 1); st = m.getSpeciesType(0); assertTrue(st != null); assertTrue(st.getId() == "gg"); assertTrue(st.getName() == "dd"); assertTrue(st.getSBOTerm() == 236); assertTrue(st.getSBOTermID() == "SBO:0000236"); lost = m.getListOfSpeciesTypes(); st1 = lost.get(0); assertTrue(st1 == st); st1 = lost.get("gg"); assertTrue(st1 == st); assertTrue(m.getNumConstraints() == 1); con = m.getConstraint(0); assertTrue(con != null); ast = con.getMath(); assertTrue(("lt(x, 3)" == libsbml.formulaToString(ast))); assertTrue(m.getNumEvents() == 1); e = m.getEvent(0); assertTrue(e != null); assertTrue(e.getId() == "e1"); assertTrue(e.getSBOTerm() == 231); assertTrue(e.getSBOTermID() == "SBO:0000231"); assertEquals(true, e.isSetDelay()); delay = e.getDelay(); assertTrue(delay != null); assertTrue(delay.getSBOTerm() == 64); assertTrue(delay.getSBOTermID() == "SBO:0000064"); ast = delay.getMath(); assertTrue(("p + 3" == libsbml.formulaToString(ast))); assertEquals(true, e.isSetTrigger()); trigger = e.getTrigger(); assertTrue(trigger != null); assertTrue(trigger.getSBOTerm() == 64); assertTrue(trigger.getSBOTermID() == "SBO:0000064"); ast = trigger.getMath(); assertTrue(("lt(x, 3)" == libsbml.formulaToString(ast))); loe = m.getListOfEvents(); e1 = loe.get(0); assertTrue(e1 == e); e1 = loe.get("e1"); assertTrue(e1 == e); assertTrue(e.getNumEventAssignments() == 1); ea = e.getEventAssignment(0); assertTrue(ea != null); assertTrue(ea.getVariable() == "a"); assertTrue(ea.getSBOTerm() == 64); assertTrue(ea.getSBOTermID() == "SBO:0000064"); ast = ea.getMath(); assertTrue(("x * p3" == libsbml.formulaToString(ast))); loea = e.getListOfEventAssignments(); ea1 = loea.get(0); assertTrue(ea1 == ea); ea1 = loea.get("a"); assertTrue(ea1 == ea); assertTrue(m.getNumFunctionDefinitions() == 1); fd = m.getFunctionDefinition(0); assertTrue(fd != null); assertTrue(fd.getId() == "fd"); assertTrue(fd.getSBOTerm() == 64); assertTrue(fd.getSBOTermID() == "SBO:0000064"); ast = fd.getMath(); assertTrue(("lambda(x, pow(x, 3))" == libsbml.formulaToString(ast))); lofd = m.getListOfFunctionDefinitions(); fd1 = lofd.get(0); assertTrue(fd1 == fd); fd1 = lofd.get("fd"); assertTrue(fd1 == fd); assertTrue(m.getNumInitialAssignments() == 1); ia = m.getInitialAssignment(0); assertTrue(ia != null); assertTrue(ia.getSymbol() == "p1"); ast = ia.getMath(); assertTrue(("x * p3" == libsbml.formulaToString(ast))); assertTrue(m.getNumRules() == 3); alg = (AlgebraicRule)m.getRule(0); assertTrue(alg != null); assertTrue(alg.getSBOTerm() == 64); assertTrue(alg.getSBOTermID() == "SBO:0000064"); ast = alg.getMath(); assertTrue(("pow(x, 3)" == libsbml.formulaToString(ast))); ar = (AssignmentRule)m.getRule(1); assertTrue(ar != null); assertTrue(ar.getVariable() == "p2"); assertTrue(ar.getSBOTerm() == 64); assertTrue(ar.getSBOTermID() == "SBO:0000064"); ast = ar.getMath(); assertTrue(("x * p3" == libsbml.formulaToString(ast))); rr = (RateRule)m.getRule(2); assertTrue(rr != null); assertTrue(rr.getVariable() == "p3"); assertTrue(rr.getSBOTerm() == 64); assertTrue(rr.getSBOTermID() == "SBO:0000064"); ast = rr.getMath(); assertTrue(("p1 / p" == libsbml.formulaToString(ast))); assertTrue(m.getNumSpecies() == 1); s = m.getSpecies(0); assertTrue(s != null); assertTrue(s.getId() == "s"); assertEquals(s.getSpeciesType(), "gg"); assertTrue(s.getCompartment() == "a"); assertTrue(s.getSBOTerm() == 236); assertTrue(s.getSBOTermID() == "SBO:0000236"); assertEquals(true, s.isSetInitialAmount()); assertEquals(false, s.isSetInitialConcentration()); assertTrue(s.getInitialAmount() == 0); assertTrue(m.getNumReactions() == 1); r = m.getReaction(0); assertTrue(r != null); assertTrue(r.getId() == "r"); assertEquals(false, r.getReversible()); assertEquals(true, r.getFast()); assertEquals(true, r.isSetKineticLaw()); kl = r.getKineticLaw(); assertTrue(kl != null); assertEquals(true, kl.isSetMath()); ast = kl.getMath(); assertTrue(("s * k / p" == libsbml.formulaToString(ast))); assertTrue(kl.getNumParameters() == 2); p = kl.getParameter(0); assertTrue(p != null); assertTrue(p.getId() == "k"); assertTrue(p.getUnits() == "litre"); assertTrue(p.getValue() == 9); ud = p.getDerivedUnitDefinition(); assertTrue(ud.getNumUnits() == 1); assertTrue(ud.getUnit(0).getKind() == libsbml.UNIT_KIND_LITRE); assertTrue(ud.getUnit(0).getExponent() == 1); lop = kl.getListOfParameters(); p1 = lop.get(0); assertTrue(p1 == p); p1 = lop.get("k"); assertTrue(p1 == p); p = kl.getParameter(1); assertTrue(p != null); assertTrue(p.getId() == "k1"); assertTrue(p.getUnits() == "ud1"); assertTrue(p.getValue() == 9); ud = p.getDerivedUnitDefinition(); assertTrue(ud.getNumUnits() == 1); assertTrue(ud.getUnit(0).getKind() == libsbml.UNIT_KIND_MOLE); assertTrue(ud.getUnit(0).getExponent() == 1); assertTrue(r.getNumReactants() == 1); assertTrue(r.getNumProducts() == 0); assertTrue(r.getNumModifiers() == 0); sr = r.getReactant(0); assertTrue(sr != null); assertTrue(sr.getSpecies() == "s"); assertTrue(sr.getSBOTerm() == 11); assertTrue(sr.getSBOTermID() == "SBO:0000011"); stoich = sr.getStoichiometryMath(); assertTrue(stoich != null); assertTrue(stoich.getSBOTerm() == 64); assertTrue(stoich.getSBOTermID() == "SBO:0000064"); ast = stoich.getMath(); assertTrue(("s * p" == libsbml.formulaToString(ast))); assertTrue(m.getNumUnitDefinitions() == 1); ud = m.getUnitDefinition(0); assertTrue(ud != null); assertTrue(ud.getId() == "ud1"); loud = m.getListOfUnitDefinitions(); ud1 = loud.get(0); assertTrue(ud1 == ud); ud1 = loud.get("ud1"); assertTrue(ud1 == ud); assertTrue(ud.getNumUnits() == 1); u = ud.getUnit(0); assertTrue(u != null); assertTrue(u.getKind() == libsbml.UNIT_KIND_MOLE); lou = ud.getListOfUnits(); u1 = lou.get(0); assertTrue(u1 == u); d = null; }
public void test_GetMultipleObjects_getMetaId() { SBMLReader reader = new SBMLReader(); SBMLDocument d; string filename = "../../sbml/test/test-data/"; filename += "multiple-ids.xml"; d = reader.readSBML(filename); if (d == null) { ; } { } SBase obj = d.getElementByMetaId("no_id"); assertTrue(obj == null); obj = d.getElementByMetaId(""); assertTrue(obj == null); obj = d.getElementByMetaId("meta1"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_DOCUMENT); obj = d.getElementByMetaId("meta2"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_MODEL); obj = d.getElementByMetaId("meta3"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_LIST_OF); assertTrue(((ListOf)obj).getItemTypeCode() == libsbml.SBML_COMPARTMENT); obj = d.getElementByMetaId("meta4"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_COMPARTMENT); obj = d.getElementByMetaId("meta5"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_LIST_OF); assertTrue(((ListOf)obj).getItemTypeCode() == libsbml.SBML_SPECIES); obj = d.getElementByMetaId("meta6"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_SPECIES); obj = d.getElementByMetaId("meta7"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_LIST_OF); assertTrue(((ListOf)obj).getItemTypeCode() == libsbml.SBML_REACTION); obj = d.getElementByMetaId("meta8"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_REACTION); obj = d.getElementByMetaId("meta9"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_LIST_OF); assertTrue(((ListOf)obj).getItemTypeCode() == libsbml.SBML_SPECIES_REFERENCE); obj = d.getElementByMetaId("meta10"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_SPECIES_REFERENCE); obj = d.getElementByMetaId("meta11"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_KINETIC_LAW); obj = d.getElementByMetaId("meta12"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_LIST_OF); assertTrue(((ListOf)obj).getItemTypeCode() == libsbml.SBML_EVENT); obj = d.getElementByMetaId("meta13"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_EVENT); obj = d.getElementByMetaId("meta14"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_TRIGGER); obj = d.getElementByMetaId("meta15"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_LIST_OF); assertTrue(((ListOf)obj).getItemTypeCode() == libsbml.SBML_EVENT_ASSIGNMENT); obj = d.getElementByMetaId("meta16"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_EVENT_ASSIGNMENT); obj = d.getElementByMetaId("meta17"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_DELAY); obj = d.getElementByMetaId("meta18"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_PARAMETER); obj = d.getElementByMetaId("meta19"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_PRIORITY); obj = d.getElementByMetaId("meta20"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_LIST_OF); assertTrue(((ListOf)obj).getItemTypeCode() == libsbml.SBML_FUNCTION_DEFINITION); obj = d.getElementByMetaId("meta21"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_FUNCTION_DEFINITION); obj = d.getElementByMetaId("meta22"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_LIST_OF); assertTrue(((ListOf)obj).getItemTypeCode() == libsbml.SBML_INITIAL_ASSIGNMENT); obj = d.getElementByMetaId("meta23"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_INITIAL_ASSIGNMENT); obj = d.getElementByMetaId("meta24"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_LIST_OF); assertTrue(((ListOf)obj).getItemTypeCode() == libsbml.SBML_RULE); obj = d.getElementByMetaId("meta25"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_RATE_RULE); obj = d.getElementByMetaId("meta26"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_ASSIGNMENT_RULE); obj = d.getElementByMetaId("meta27"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_LIST_OF); assertTrue(((ListOf)obj).getItemTypeCode() == libsbml.SBML_LOCAL_PARAMETER); obj = d.getElementByMetaId("meta28"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_LOCAL_PARAMETER); obj = d.getElementByMetaId("meta29"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_LIST_OF); assertTrue(((ListOf)obj).getItemTypeCode() == libsbml.SBML_UNIT_DEFINITION); obj = d.getElementByMetaId("meta30"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_UNIT_DEFINITION); obj = d.getElementByMetaId("meta31"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_LIST_OF); assertTrue(((ListOf)obj).getItemTypeCode() == libsbml.SBML_UNIT); obj = d.getElementByMetaId("meta32"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_UNIT); obj = d.getElementByMetaId("meta33"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_LIST_OF); assertTrue(((ListOf)obj).getItemTypeCode() == libsbml.SBML_PARAMETER); obj = d.getElementByMetaId("meta34"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_LIST_OF); assertTrue(((ListOf)obj).getItemTypeCode() == libsbml.SBML_MODIFIER_SPECIES_REFERENCE); obj = d.getElementByMetaId("meta35"); assertTrue(obj != null); assertTrue(obj.getTypeCode() == libsbml.SBML_MODIFIER_SPECIES_REFERENCE); d = null; }
public void test_read_MathML_2() { SBMLReader reader = new SBMLReader(); SBMLDocument d; Model m; FunctionDefinition fd; InitialAssignment ia; Rule r; string filename = "../../sbml/math/test/test-data/"; filename += "mathML_2-invalid.xml"; d = reader.readSBML(filename); if (d == null) { ; } { } m = d.getModel(); assertTrue(m != null); assertTrue(m.getNumFunctionDefinitions() == 2); assertTrue(m.getNumInitialAssignments() == 1); assertTrue(m.getNumRules() == 2); fd = m.getFunctionDefinition(0); ASTNode fd_math = fd.getMath(); assertTrue(fd_math.getType() == libsbml.AST_LAMBDA); assertTrue(fd_math.getNumChildren() == 1); assertTrue(("lambda()" == libsbml.formulaToString(fd_math))); ASTNode child = fd_math.getChild(0); assertTrue(child.getType() == libsbml.AST_UNKNOWN); assertTrue(child.getNumChildren() == 0); assertTrue(("" == libsbml.formulaToString(child))); fd = m.getFunctionDefinition(1); ASTNode fd1_math = fd.getMath(); assertTrue(fd1_math.getType() == libsbml.AST_LAMBDA); assertTrue(fd1_math.getNumChildren() == 2); assertTrue(("lambda(x, piecewise(p, leq(x, 4)))" == libsbml.formulaToString(fd1_math))); ASTNode child1 = fd1_math.getRightChild(); assertTrue(child1.getType() == libsbml.AST_FUNCTION_PIECEWISE); assertTrue(child1.getNumChildren() == 2); assertTrue(("piecewise(p, leq(x, 4))" == libsbml.formulaToString(child1))); ASTNode c1 = child1.getChild(0); assertTrue(c1.getType() == libsbml.AST_NAME); assertTrue(c1.getNumChildren() == 0); assertTrue(("p" == libsbml.formulaToString(c1))); ASTNode c2 = child1.getChild(1); assertTrue(c2.getType() == libsbml.AST_RELATIONAL_LEQ); assertTrue(c2.getNumChildren() == 2); assertTrue(("leq(x, 4)" == libsbml.formulaToString(c2))); ia = m.getInitialAssignment(0); ASTNode ia_math = ia.getMath(); assertTrue(ia_math.getType() == libsbml.AST_FUNCTION_PIECEWISE); assertTrue(ia_math.getNumChildren() == 4); assertTrue(("piecewise(-x, lt(x, 0), 0, eq(x, 0))" == libsbml.formulaToString(ia_math))); child1 = ia_math.getChild(0); ASTNode child2 = ia_math.getChild(1); ASTNode child3 = ia_math.getChild(2); ASTNode child4 = ia_math.getChild(3); assertTrue(child1.getType() == libsbml.AST_MINUS); assertTrue(child1.getNumChildren() == 1); assertTrue(("-x" == libsbml.formulaToString(child1))); assertTrue(child2.getType() == libsbml.AST_RELATIONAL_LT); assertTrue(child2.getNumChildren() == 2); assertTrue(("lt(x, 0)" == libsbml.formulaToString(child2))); assertTrue(child3.getType() == libsbml.AST_REAL); assertTrue(child3.getNumChildren() == 0); assertTrue(("0" == libsbml.formulaToString(child3))); assertTrue(child4.getType() == libsbml.AST_RELATIONAL_EQ); assertTrue(child4.getNumChildren() == 2); assertTrue(("eq(x, 0)" == libsbml.formulaToString(child4))); r = m.getRule(0); //ASTNode r_math = r.getMath(); //assertTrue( r_math == null ); r = m.getRule(1); ASTNode r1_math = r.getMath(); assertTrue(r1_math.getType() == libsbml.AST_FUNCTION_LOG); assertTrue(r1_math.getNumChildren() == 2); assertTrue(("log(3, x)" == libsbml.formulaToString(r1_math))); //child1 = r1_math.getChild(0); //child2 = r1_math.getChild(1); //assertTrue(child1.getType() == libsbml.AST_QUALIFIER_LOGBASE); //assertTrue( child1.getNumChildren() == 1 ); //assertTrue( child2.getType() == libsbml.AST_NAME ); //assertTrue( child2.getNumChildren() == 0 ); //assertTrue(( "x" == libsbml.formulaToString(child2) )); //child2 = child1.getChild(0); //assertTrue(child2.getType() == libsbml.AST_REAL); //assertTrue(child2.getNumChildren() == 0); //assertTrue(("3" == libsbml.formulaToString(child2))); d = null; }
public void test_read_l2v1_assignment() { SBMLReader reader = new SBMLReader(); SBMLDocument d; Model m; Compartment c; Species s; Parameter p; AssignmentRule ar; Reaction r; SpeciesReference sr; KineticLaw kl; UnitDefinition ud; Reaction r1; ListOfCompartments loc; Compartment c1; ListOfRules lor; AssignmentRule ar1; ListOfParameters lop; Parameter p1; ListOfSpecies los; Species s1; string filename = "../../sbml/test/test-data/"; filename += "l2v1-assignment.xml"; d = reader.readSBML(filename); if (d == null) { ; } { } assertTrue(d.getLevel() == 2); assertTrue(d.getVersion() == 1); m = d.getModel(); assertTrue(m != null); assertTrue(m.getNumCompartments() == 1); c = m.getCompartment(0); assertTrue(c != null); assertTrue(c.getId() == "cell"); ud = c.getDerivedUnitDefinition(); assertTrue(ud.getNumUnits() == 1); assertTrue(ud.getUnit(0).getKind() == libsbml.UNIT_KIND_LITRE); loc = m.getListOfCompartments(); c1 = loc.get(0); assertTrue(c1 == c); c1 = loc.get("cell"); assertTrue(c1 == c); assertTrue(m.getNumSpecies() == 5); s = m.getSpecies(0); assertTrue(s != null); assertTrue(s.getId() == "X0"); assertTrue(s.getCompartment() == "cell"); assertTrue(s.getInitialConcentration() == 1.0); los = m.getListOfSpecies(); s1 = los.get(0); assertTrue(s1 == s); s1 = los.get("X0"); assertTrue(s1 == s); s = m.getSpecies(1); assertTrue(s != null); assertTrue(s.getId() == "X1"); assertTrue(s.getCompartment() == "cell"); assertTrue(s.getInitialConcentration() == 0.0); s = m.getSpecies(2); assertTrue(s != null); assertTrue(s.getId() == "T"); assertTrue(s.getCompartment() == "cell"); assertTrue(s.getInitialConcentration() == 0.0); s = m.getSpecies(3); assertTrue(s != null); assertTrue(s.getId() == "S1"); assertTrue(s.getCompartment() == "cell"); assertTrue(s.getInitialConcentration() == 0.0); s = m.getSpecies(4); assertTrue(s != null); assertTrue(s.getId() == "S2"); assertTrue(s.getCompartment() == "cell"); assertTrue(s.getInitialConcentration() == 0.0); assertTrue(m.getNumParameters() == 1); p = m.getParameter(0); assertTrue(p != null); assertTrue(p.getId() == "Keq"); assertTrue(p.getValue() == 2.5); lop = m.getListOfParameters(); p1 = lop.get(0); assertTrue(p1 == p); p1 = lop.get("Keq"); assertTrue(p1 == p); ud = p.getDerivedUnitDefinition(); assertTrue(ud.getNumUnits() == 0); assertTrue(m.getNumRules() == 2); ar = (AssignmentRule)m.getRule(0); assertTrue(ar != null); assertTrue(ar.getVariable() == "S1"); assertTrue(ar.getFormula() == "T / (1 + Keq)"); ud = ar.getDerivedUnitDefinition(); assertTrue(ud.getNumUnits() == 2); assertTrue(ud.getUnit(0).getKind() == libsbml.UNIT_KIND_MOLE); assertTrue(ud.getUnit(0).getExponent() == 1); assertTrue(ud.getUnit(1).getKind() == libsbml.UNIT_KIND_LITRE); assertTrue(ud.getUnit(1).getExponent() == -1); assertTrue(ar.containsUndeclaredUnits() == true); lor = m.getListOfRules(); ar1 = (AssignmentRule)lor.get(0); assertTrue(ar1 == ar); ar1 = (AssignmentRule)lor.get("S1"); assertTrue(ar1 == ar); ar = (AssignmentRule)m.getRule(1); assertTrue(ar != null); assertTrue(ar.getVariable() == "S2"); assertTrue(ar.getFormula() == "Keq * S1"); assertTrue(m.getNumReactions() == 2); r = m.getReaction(0); assertTrue(r != null); assertTrue(r.getId() == "in"); assertTrue(r.getNumReactants() == 1); assertTrue(r.getNumProducts() == 1); sr = r.getReactant(0); assertTrue(sr != null); assertTrue(sr.getSpecies() == "X0"); sr = r.getProduct(0); assertTrue(sr != null); assertTrue(sr.getSpecies() == "T"); kl = r.getKineticLaw(); assertTrue(kl != null); assertTrue(kl.getFormula() == "k1 * X0"); assertTrue(kl.getNumParameters() == 1); r1 = (Reaction)kl.getParentSBMLObject(); assertTrue(r1 != null); assertTrue(r1.getId() == "in"); assertTrue(r1.getNumReactants() == 1); assertTrue(r1.getNumProducts() == 1); p = kl.getParameter(0); assertTrue(p != null); assertTrue(p.getId() == "k1"); assertTrue(p.getValue() == 0.1); kl = (KineticLaw)p.getParentSBMLObject().getParentSBMLObject(); assertTrue(kl != null); assertTrue(kl.getFormula() == "k1 * X0"); assertTrue(kl.getNumParameters() == 1); r = m.getReaction(1); assertTrue(r != null); assertTrue(r.getId() == "out"); assertTrue(r.getNumReactants() == 1); assertTrue(r.getNumProducts() == 1); sr = r.getReactant(0); assertTrue(sr != null); assertTrue(sr.getSpecies() == "T"); sr = r.getProduct(0); assertTrue(sr != null); assertTrue(sr.getSpecies() == "X1"); kl = r.getKineticLaw(); assertTrue(kl != null); assertTrue(kl.getFormula() == "k2 * T"); assertTrue(kl.getNumParameters() == 1); p = kl.getParameter(0); assertTrue(p != null); assertTrue(p.getId() == "k2"); assertTrue(p.getValue() == 0.15); d = null; }