setModel() 공개 메소드

public setModel ( Model m ) : int
m Model
리턴 int
 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;
 }
예제 #2
0
 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;
 }
예제 #4
0
 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;
 }
예제 #7
0
    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;
 }
예제 #12
0
 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;
 }