public void test_SpeciesReference_setId1()
        {
            int i = sr.setId("cell");

            assertTrue(i == libsbml.LIBSBML_OPERATION_SUCCESS);
            assertEquals(true, sr.isSetId());
            assertTrue(("cell" == sr.getId()));
        }
Пример #2
0
        public void test_L3_SpeciesReference_createWithNS()
        {
            XMLNamespaces xmlns = new  XMLNamespaces();

            xmlns.add("http://www.sbml.org", "testsbml");
            SBMLNamespaces sbmlns = new  SBMLNamespaces(3, 1);

            sbmlns.addNamespaces(xmlns);
            SpeciesReference sr = new  SpeciesReference(sbmlns);

            assertTrue(sr.getTypeCode() == libsbml.SBML_SPECIES_REFERENCE);
            assertTrue(sr.getMetaId() == "");
            assertTrue(sr.getNotes() == null);
            assertTrue(sr.getAnnotation() == null);
            assertTrue(sr.getLevel() == 3);
            assertTrue(sr.getVersion() == 1);
            assertTrue(sr.getNamespaces() != null);
            assertTrue(sr.getNamespaces().getLength() == 2);
            assertTrue(sr.getId() == "");
            assertTrue(sr.getName() == "");
            assertTrue(sr.getSpecies() == "");
            assertEquals(true, isnan(sr.getStoichiometry()));
            assertTrue(sr.getConstant() == false);
            assertEquals(false, sr.isSetId());
            assertEquals(false, sr.isSetName());
            assertEquals(false, sr.isSetSpecies());
            assertEquals(false, sr.isSetStoichiometry());
            assertEquals(false, sr.isSetConstant());
            sr = null;
        }
Пример #3
0
        public void test_SBMLConvert_convertToL3_stoichiometryMath()
        {
            SBMLDocument d = new  SBMLDocument(2, 1);
            Model        m = d.createModel();
            Compartment  c = m.createCompartment();

            c.setId("c");
            Species s = m.createSpecies();

            s.setId("s");
            s.setCompartment("c");
            Reaction         r  = m.createReaction();
            SpeciesReference sr = r.createReactant();

            sr.setSpecies("s");
            StoichiometryMath sm  = sr.createStoichiometryMath();
            ASTNode           ast = libsbml.parseFormula("c*2");

            sm.setMath(ast);
            assertTrue(m.getNumRules() == 0);
            assertTrue(sr.isSetId() == false);
            assertTrue(d.setLevelAndVersion(3, 1, false) == true);
            m  = d.getModel();
            r  = m.getReaction(0);
            sr = r.getReactant(0);
            assertTrue(m.getNumRules() == 1);
            assertTrue(sr.isSetId() == true);
            Rule rule = m.getRule(0);

            assertTrue((rule.getVariable() == sr.getId()));
            d = null;
        }
Пример #4
0
 public void test_L3_SpeciesReference_create()
 {
     assertTrue(SR.getTypeCode() == libsbml.SBML_SPECIES_REFERENCE);
     assertTrue(SR.getMetaId() == "");
     assertTrue(SR.getNotes() == null);
     assertTrue(SR.getAnnotation() == null);
     assertTrue(SR.getId() == "");
     assertTrue(SR.getName() == "");
     assertTrue(SR.getSpecies() == "");
     assertEquals(true, isnan(SR.getStoichiometry()));
     assertTrue(SR.getConstant() == false);
     assertEquals(false, SR.isSetId());
     assertEquals(false, SR.isSetName());
     assertEquals(false, SR.isSetSpecies());
     assertEquals(false, SR.isSetStoichiometry());
     assertEquals(false, SR.isSetConstant());
 }
Пример #5
0
        public void test_SpeciesReference_copyConstructor()
        {
            SpeciesReference o1 = new SpeciesReference(2, 4);

            o1.setId("c");
            assertTrue(o1.getId() == "c");
            SpeciesReference o2 = new SpeciesReference(o1);

            assertTrue(o2.getId() == "c");
            assertTrue(o2.getParentSBMLObject() == o1.getParentSBMLObject());
            o2 = null;
            o1 = null;
        }
Пример #6
0
        public void test_SpeciesReference_assignmentOperator()
        {
            SpeciesReference o1 = new SpeciesReference(2, 4);

            o1.setId("c");
            assertTrue(o1.getId() == "c");
            SpeciesReference o2 = new SpeciesReference(2, 4);

            o2 = o1;
            assertTrue(o2.getId() == "c");
            assertTrue(o2.getParentSBMLObject() == o1.getParentSBMLObject());
            o2 = null;
            o1 = null;
        }
Пример #7
0
        public void test_SpeciesReference_setId()
        {
            string species = "X0";

            SR.setId(species);
            assertTrue((species == SR.getId()));
            assertEquals(true, SR.isSetId());
            if (SR.getId() == species)
            {
                ;
            }
            {
            }
            SR.setId(SR.getId());
            assertTrue((species == SR.getId()));
            SR.setId("");
            assertEquals(false, SR.isSetId());
            if (SR.getId() != null)
            {
                ;
            }
            {
            }
        }
Пример #8
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 ...");
    }