public void test_SBMLDocument_setLevelAndVersion() { SBMLDocument d = new SBMLDocument(2,2); Model m1 = new Model(2,2); d.setModel(m1); assertTrue( d.setLevelAndVersion(2,3,false) == true ); assertTrue( d.setLevelAndVersion(2,1,false) == true ); assertTrue( d.setLevelAndVersion(1,2,false) == true ); assertTrue( d.setLevelAndVersion(1,1,false) == false ); d = null; }
public void test_create_l1v1_units() { SBMLDocument d; Model m; Compartment c; KineticLaw kl; Parameter p; Reaction r; Species s; SpeciesReference sr; Unit u; UnitDefinition ud; d = new SBMLDocument(); m = new Model(2,4); d.setModel(m); ud = m.createUnitDefinition(); ud.setName( "substance"); u = m.createUnit(); u.setKind(libsbml.UNIT_KIND_MOLE); u.setScale(-3); ud = m.createUnitDefinition(); ud.setName( "mls"); u = m.createUnit(); u.setKind(libsbml.UNIT_KIND_MOLE); u.setScale(-3); u = m.createUnit(); u.setKind(libsbml.UNIT_KIND_LITER); u.setExponent(-1); u = m.createUnit(); u.setKind(libsbml.UNIT_KIND_SECOND); u.setExponent(-1); c = m.createCompartment(); c.setName( "cell"); s = m.createSpecies(); s.setName( "x0"); s.setCompartment( "cell"); s.setInitialAmount(1); s = m.createSpecies(); s.setName( "x1"); s.setCompartment( "cell"); s.setInitialAmount(1); s = m.createSpecies(); s.setName( "s1"); s.setCompartment( "cell"); s.setInitialAmount(1); s = m.createSpecies(); s.setName( "s2"); s.setCompartment( "cell"); s.setInitialAmount(1); p = m.createParameter(); p.setName( "vm"); p.setUnits( "mls"); p.setValue(2); p = m.createParameter(); p.setName( "km"); p.setValue(2); r = m.createReaction(); r.setName( "v1"); sr = m.createReactant(); sr.setSpecies( "x0"); sr = m.createProduct(); sr.setSpecies( "s1"); kl = m.createKineticLaw(); kl.setFormula( "(vm * s1)/(km + s1)"); r = m.createReaction(); r.setName( "v2"); sr = m.createReactant(); sr.setSpecies( "s1"); sr = m.createProduct(); sr.setSpecies( "s2"); kl = m.createKineticLaw(); kl.setFormula( "(vm * s2)/(km + s2)"); r = m.createReaction(); r.setName( "v3"); sr = m.createReactant(); sr.setSpecies( "s2"); sr = m.createProduct(); sr.setSpecies( "x1"); kl = m.createKineticLaw(); kl.setFormula( "(vm * s1)/(km + s1)"); d = null; }
public void test_Model_parent_add() { SBMLDocument d = new SBMLDocument(2,4); Model m = new Model(2,4); d.setModel(m); assertTrue( d == d.getModel().getParentSBMLObject() ); d = null; }
public void test_Model_ancestor_add() { SBMLDocument d = new SBMLDocument(2,4); Model m = new Model(2,4); d.setModel(m); assertTrue( d == d.getModel().getAncestorOfType(libsbml.SBML_DOCUMENT) ); d = null; }
public void test_internal_consistency_check_99904_model() { SBMLDocument d = new SBMLDocument(2,4); long errors; d.setLevelAndVersion(1,2,false); Model m = new Model(2,4); Compartment c = m.createCompartment(); c.setId("cc"); m.setMetaId("mmm"); d.setModel(m); errors = d.checkInternalConsistency(); assertTrue( errors == 1 ); assertTrue( d.getError(0).getErrorId() == 20201 ); d = null; }
public void test_internal_consistency_check_99911_model() { SBMLDocument d = new SBMLDocument(2,4); long errors; d.setLevelAndVersion(2,1,false); Model m = new Model(2,4); m.setSBOTerm(2); d.setModel(m); errors = d.checkInternalConsistency(); assertTrue( errors == 1 ); assertTrue( d.getError(0).getErrorId() == 20201 ); d = null; }
public static void Main(string[] args) { // // Creates an SBMLNamespaces object with the given SBML level, version // package name, package version. // // (NOTE) By defualt, the name of package (i.e. "layout") will be used // if the arugment for the prefix is missing or empty. Thus the argument // for the prefix can be added as follows: // // SBMLNamespaces sbmlns(3,1,"layout",1,"LAYOUT"); // SBMLNamespaces sbmlns = new SBMLNamespaces (3, 1, "layout", 1); // // (NOTES) The above code creating an SBMLNamespaces object can be replaced // with one of the following other styles. // // (1) Creates an SBMLNamespace object with a SBML core namespace and then // adds a layout package namespace to the object. // // SBMLNamespaces sbmlns(3,1); // sbmlns.addPkgNamespace("layout",1); // // OR // // SBMLNamespaces sbmlns(3,1); // sbmlns.addNamespace(LayoutExtension::XmlnsL3V1V1,"layout"); // // (2) Creates a LayoutPkgNamespaces object (SBMLNamespace derived class for // layout package. The class is basically used for createing an SBase derived // objects belonging to the layout package) with the given SBML level, version, // and package version // // LayoutPkgNamespaces sbmlns(3,1,1); // // create the document SBMLDocument document = new SBMLDocument (sbmlns); // set the "required" attribute of layout package to "true" document.setPkgRequired ("layout", true); // create the Model Model model = document.createModel (); model.setId ("TestModel"); document.setModel (model); // create the Compartment Compartment compartment = model.createCompartment (); compartment.setId ("Compartment_1"); compartment.setConstant (true); // create the Species Species species1 = model.createSpecies (); species1.setId ("Species_1"); species1.setCompartment (compartment.getId ()); species1.setHasOnlySubstanceUnits (false); species1.setBoundaryCondition (false); species1.setConstant (false); Species species2 = model.createSpecies (); species2.setId ("Species_2"); species2.setCompartment (compartment.getId ()); species2.setHasOnlySubstanceUnits (false); species2.setBoundaryCondition (false); species2.setConstant (false); // create the Reactions Reaction reaction1 = model.createReaction (); reaction1.setId ("Reaction_1"); reaction1.setReversible (false); reaction1.setFast (false); SpeciesReference reference1 = reaction1.createReactant (); reference1.setSpecies (species1.getId ()); reference1.setId ("SpeciesReference_1"); reference1.setConstant (false); SpeciesReference reference2 = reaction1.createProduct (); reference2.setSpecies (species2.getId ()); reference2.setId ("SpeciesReference_2"); reference2.setConstant (false); Reaction reaction2 = model.createReaction (); reaction2.setId ("Reaction_2"); reaction2.setReversible (false); reaction2.setFast (false); SpeciesReference reference3 = reaction2.createReactant (); reference3.setSpecies (species2.getId ()); reference3.setId ("SpeciesReference_3"); reference3.setConstant (false); SpeciesReference reference4 = reaction2.createProduct (); reference4.setSpecies (species1.getId ()); reference4.setId ("SpeciesReference_4"); reference4.setConstant (false); // create the Layout // // set the LayoutPkgNamespaces for Level 3 Version1 Layout Version 1 // LayoutPkgNamespaces layoutns = new LayoutPkgNamespaces (3, 1, 1); // // Get a LayoutModelPlugin object plugged in the model object. // // The type of the returned value of SBase::getPlugin() function is SBasePlugin, and // thus the value needs to be casted for the corresponding derived class. // LayoutModelPlugin mplugin = (LayoutModelPlugin)(model.getPlugin ("layout")); if (mplugin == null) { Console.Error.WriteLine ("[Fatal Error] Layout Extension Level " + layoutns.getLevel () + " Version " + layoutns.getVersion () + " package version " + layoutns.getPackageVersion () + " is not registered."); Environment.Exit (1); } // // Creates a Layout object via LayoutModelPlugin object. // Layout layout = mplugin.createLayout (); layout.setId ("Layout_1"); Dimensions dim = new Dimensions (layoutns, 400.0, 220.0); layout.setDimensions (dim); // create the CompartmentGlyph CompartmentGlyph compartmentGlyph = layout.createCompartmentGlyph (); compartmentGlyph.setId ("CompartmentGlyph_1"); compartmentGlyph.setCompartmentId (compartment.getId ()); BoundingBox bb = new BoundingBox (layoutns, "bb1", 5, 5, 390, 210); compartmentGlyph.setBoundingBox (bb); // create the SpeciesGlyphs SpeciesGlyph speciesGlyph1 = layout.createSpeciesGlyph (); speciesGlyph1.setId ("SpeciesGlyph_1"); speciesGlyph1.setSpeciesId (species1.getId ()); bb = new BoundingBox (layoutns, "bb2", 80, 26, 240, 24); speciesGlyph1.setBoundingBox (bb); TextGlyph textGlyph1 = layout.createTextGlyph (); textGlyph1.setId ("TextGlyph_01"); bb = new BoundingBox (layoutns, "bbA", 92, 26, 228, 24); textGlyph1.setBoundingBox (bb); textGlyph1.setOriginOfTextId (speciesGlyph1.getId ()); textGlyph1.setGraphicalObjectId (speciesGlyph1.getId ()); SpeciesGlyph speciesGlyph2 = layout.createSpeciesGlyph (); speciesGlyph2.setId ("SpeciesGlyph_2"); speciesGlyph2.setSpeciesId (species2.getId ()); bb = new BoundingBox (layoutns, "bb3", 80, 170, 240, 24); speciesGlyph2.setBoundingBox (bb); TextGlyph textGlyph2 = layout.createTextGlyph (); textGlyph2.setId ("TextGlyph_02"); bb = new BoundingBox (layoutns, "bbB", 92, 170, 228, 24); textGlyph2.setBoundingBox (bb); textGlyph2.setOriginOfTextId (speciesGlyph2.getId ()); textGlyph2.setGraphicalObjectId (speciesGlyph2.getId ()); // create the ReactionGlyphs ReactionGlyph reactionGlyph1 = layout.createReactionGlyph (); reactionGlyph1.setId ("ReactionGlyph_1"); reactionGlyph1.setReactionId (reaction1.getId ()); Curve reactionCurve1 = reactionGlyph1.getCurve (); LineSegment ls = reactionCurve1.createLineSegment (); Point p = new Point (layoutns, 165, 105); ls.setStart (p); p = new Point (layoutns, 165, 115); ls.setEnd (p); ReactionGlyph reactionGlyph2 = layout.createReactionGlyph (); reactionGlyph2.setId ("ReactionGlyph_1"); reactionGlyph2.setReactionId (reaction2.getId ()); Curve reactionCurve2 = reactionGlyph2.getCurve (); ls = reactionCurve2.createLineSegment (); p = new Point (layoutns, 235, 105); ls.setStart (p); p = new Point (layoutns, 235, 115); ls.setEnd (p); // add the SpeciesReferenceGlyphs SpeciesReferenceGlyph speciesReferenceGlyph1 = reactionGlyph1.createSpeciesReferenceGlyph (); speciesReferenceGlyph1.setId ("SpeciesReferenceGlyph_1"); speciesReferenceGlyph1.setSpeciesGlyphId (speciesGlyph1.getId ()); speciesReferenceGlyph1.setSpeciesReferenceId (reference1.getId ()); speciesReferenceGlyph1.setRole (libsbml.SPECIES_ROLE_SUBSTRATE); Curve speciesReferenceCurve1 = speciesReferenceGlyph1.getCurve (); CubicBezier cb = speciesReferenceCurve1.createCubicBezier (); p = new Point (layoutns, 165, 105); cb.setStart (p); p = new Point (layoutns, 165, 90); cb.setBasePoint1 (p); p = new Point (layoutns, 165, 90); cb.setBasePoint2 (p); p = new Point (layoutns, 195, 60); cb.setEnd (p); SpeciesReferenceGlyph speciesReferenceGlyph2 = reactionGlyph1.createSpeciesReferenceGlyph (); speciesReferenceGlyph2.setId ("SpeciesReferenceGlyph_2"); speciesReferenceGlyph2.setSpeciesGlyphId (speciesGlyph2.getId ()); speciesReferenceGlyph2.setSpeciesReferenceId (reference2.getId ()); speciesReferenceGlyph2.setRole (libsbml.SPECIES_ROLE_PRODUCT); Curve speciesReferenceCurve2 = speciesReferenceGlyph2.getCurve (); cb = speciesReferenceCurve2.createCubicBezier (); p = new Point (layoutns, 165, 115); cb.setStart (p); p = new Point (layoutns, 165, 130); cb.setBasePoint1 (p); p = new Point (layoutns, 165, 130); cb.setBasePoint2 (p); p = new Point (layoutns, 195, 160); cb.setEnd (p); SpeciesReferenceGlyph speciesReferenceGlyph3 = reactionGlyph2.createSpeciesReferenceGlyph (); speciesReferenceGlyph3.setId ("SpeciesReferenceGlyph_3"); speciesReferenceGlyph3.setSpeciesGlyphId (speciesGlyph2.getId ()); speciesReferenceGlyph3.setSpeciesReferenceId (reference3.getId ()); speciesReferenceGlyph3.setRole (libsbml.SPECIES_ROLE_SUBSTRATE); Curve speciesReferenceCurve3 = speciesReferenceGlyph3.getCurve (); cb = speciesReferenceCurve3.createCubicBezier (); p = new Point (layoutns, 235, 115); cb.setStart (p); p = new Point (layoutns, 235, 130); cb.setBasePoint1 (p); p = new Point (layoutns, 235, 130); cb.setBasePoint2 (p); p = new Point (layoutns, 205, 160); cb.setEnd (p); SpeciesReferenceGlyph speciesReferenceGlyph4 = reactionGlyph2.createSpeciesReferenceGlyph (); speciesReferenceGlyph4.setId ("SpeciesReferenceGlyph_4"); speciesReferenceGlyph4.setSpeciesGlyphId (speciesGlyph1.getId ()); speciesReferenceGlyph4.setSpeciesReferenceId (reference4.getId ()); speciesReferenceGlyph4.setRole (libsbml.SPECIES_ROLE_PRODUCT); Curve speciesReferenceCurve4 = speciesReferenceGlyph4.getCurve (); cb = speciesReferenceCurve4.createCubicBezier (); p = new Point (layoutns, 235, 105); cb.setStart (p); p = new Point (layoutns, 235, 90); cb.setBasePoint1 (p); p = new Point (layoutns, 235, 90); cb.setBasePoint2 (p); p = new Point (layoutns, 205, 60); cb.setEnd (p); libsbml.writeSBML (document, "layout_example1_L3-cs.xml"); Console.WriteLine("all done ..."); }
public void test_SBMLDocument_setLevelAndVersion_Error() { SBMLDocument d = new SBMLDocument(); d.setLevelAndVersion(2,1,true); Model m1 = new Model(2,1); Unit u = new Unit(2,1); u.setKind(libsbml.UnitKind_forName("mole")); u.setOffset(3.2); UnitDefinition ud = new UnitDefinition(2,1); ud.setId( "ud"); ud.addUnit(u); m1.addUnitDefinition(ud); d.setModel(m1); assertTrue( d.setLevelAndVersion(2,2,true) == false ); assertTrue( d.setLevelAndVersion(2,3,true) == false ); assertTrue( d.setLevelAndVersion(1,2,true) == false ); assertTrue( d.setLevelAndVersion(1,1,true) == false ); d = null; }
public void test_SBMLDocument_setModel3() { SBMLDocument d = new SBMLDocument(2,2); Model m1 = new Model(2,2); int i = d.setModel(m1); assertTrue( i == libsbml.LIBSBML_OPERATION_SUCCESS ); assertTrue( d.getModel() != null ); d = null; }
public void test_SBMLDocument_setModel2() { SBMLDocument d = new SBMLDocument(2,2); Model m1 = new Model(1,2); int i = d.setModel(m1); assertTrue( i == libsbml.LIBSBML_LEVEL_MISMATCH ); assertTrue( d.getModel() == null ); d = null; }
public void test_SBMLDocument_setModel() { SBMLDocument d = new SBMLDocument(2,4); Model m1 = new Model(2,4); Model m2 = new Model(2,4); Model mout; assertTrue( d.getModel() == null ); int i = d.setModel(m1); assertTrue( i == libsbml.LIBSBML_OPERATION_SUCCESS ); mout = d.getModel(); assertTrue( mout != null ); assertTrue( mout != m1 ); i = d.setModel(d.getModel()); assertTrue( i == libsbml.LIBSBML_OPERATION_SUCCESS ); mout = d.getModel(); assertTrue( mout != null ); assertTrue( mout != m1 ); i = d.setModel(m2); assertTrue( i == libsbml.LIBSBML_OPERATION_SUCCESS ); mout = d.getModel(); assertTrue( mout != null ); assertTrue( mout != m2 ); d = null; }
public void test_SBMLDocument_clone() { SBMLDocument o1 = new SBMLDocument(); o1.setLevelAndVersion(1,1,false); Model m = new Model(1,1); m.createCompartment(); m.createSpecies(); m.createReaction(); m.setId("foo"); o1.setModel(m); assertTrue( o1.getLevel() == 1 ); assertTrue( o1.getVersion() == 1 ); assertTrue( o1.getModel().getId() == "foo" ); assertTrue( o1.getModel().getLevel() == 1 ); assertTrue( o1.getModel().getVersion() == 1 ); assertTrue( o1.getModel().getSBMLDocument() == o1 ); SBMLDocument o2 = o1.clone(); assertTrue( o2.getLevel() == 1 ); assertTrue( o2.getVersion() == 1 ); assertTrue( o2.getModel().getId() == "foo" ); assertTrue( o2.getModel().getLevel() == 1 ); assertTrue( o2.getModel().getVersion() == 1 ); assertTrue( o2.getModel().getSBMLDocument() == o2 ); o2 = null; o1 = null; }