示例#1
0
    static void Main(string[] args)
    {
        SBMLNamespaces sbmlns = new SBMLNamespaces(3, 1, "multi", 1);

        // create the document

        SBMLDocument document = new SBMLDocument(sbmlns);

        // set the required attribute to true
        SBMLDocumentPlugin docPlug =
            (SBMLDocumentPlugin)(document.getPlugin("multi"));

        docPlug.setRequired(true);


        // create the Model

        Model model = document.createModel();

        // create the compartments

        Compartment c = model.createCompartment();

        c.setId("membrane");
        c.setConstant(true);

        // set the multi attribute isType via the compartmentPlugin
        MultiCompartmentPlugin compPlug =
            (MultiCompartmentPlugin)(c.getPlugin("multi"));

        compPlug.setIsType(true);

        c = model.createCompartment();
        c.setId("inter_membrane");
        c.setConstant(true);

        // set the multi attribute isType via the compartmentPlugin
        compPlug =
            (MultiCompartmentPlugin)(c.getPlugin("multi"));
        compPlug.setIsType(true);

        // create the compartmentReferences

        CompartmentReference compRef = compPlug.createCompartmentReference();

        compRef.setId("m1");
        compRef.setCompartment("membrane");

        compRef = compPlug.createCompartmentReference();
        compRef.setId("m2");
        compRef.setCompartment("membrane");

        // create the speciesTypes

        MultiModelPlugin modelPlug =
            (MultiModelPlugin)(model.getPlugin("multi"));

        MultiSpeciesType st = modelPlug.createMultiSpeciesType();

        st.setId("stX");
        st.setCompartment("ct");

        st = modelPlug.createMultiSpeciesType();
        st.setId("stXXcis");
        st.setCompartment("ct");

        // create speciesTypeInstances

        SpeciesTypeInstance sti = st.createSpeciesTypeInstance();

        sti.setId("stiX1");
        sti.setSpeciesType("stX");

        sti = st.createSpeciesTypeInstance();
        sti.setId("stiX2");
        sti.setSpeciesType("stX");

        // create speciesTypeBond

        InSpeciesTypeBond istb = st.createInSpeciesTypeBond();

        istb.setBindingSite1("stiX1");
        istb.setBindingSite2("stiX2");

        // another speciesType

        st = modelPlug.createMultiSpeciesType();
        st.setId("stXXtrans");
        st.setCompartment("cct");

        // create speciesTypeInstances

        sti = st.createSpeciesTypeInstance();
        sti.setId("stiX1");
        sti.setSpeciesType("stX");
        sti.setCompartmentReference("cr1");

        sti = st.createSpeciesTypeInstance();
        sti.setId("stiX2");
        sti.setSpeciesType("stX");
        sti.setCompartmentReference("cr2");

        // create speciesTypeBond

        istb = st.createInSpeciesTypeBond();
        istb.setBindingSite1("stiX1");
        istb.setBindingSite2("stiX2");

        libsbml.writeSBML(document, "multi_example1.xml");
    }
    static void Main(string[] args)
    {
        SBMLNamespaces sbmlns = new SBMLNamespaces(3, 1, "multi", 1);

        // create the document

        SBMLDocument document = new SBMLDocument(sbmlns);

        // set the required attribute to true
        SBMLDocumentPlugin docPlug =
            (SBMLDocumentPlugin)(document.getPlugin("multi"));

        docPlug.setRequired(true);


        // create the Model

        Model model = document.createModel();

        // create the compartments

        Compartment c = model.createCompartment();

        c.setId("membrane");
        c.setConstant(true);

        // set the multi attribute isType via the compartmentPlugin
        MultiCompartmentPlugin compPlug =
            (MultiCompartmentPlugin)(c.getPlugin("multi"));

        compPlug.setIsType(true);

        // create the speciesTypes

        MultiModelPlugin modelPlug =
            (MultiModelPlugin)(model.getPlugin("multi"));

        MultiSpeciesType st = modelPlug.createMultiSpeciesType();

        st.setId("stX");
        st.setCompartment("membrane");

        // create species
        Species s = model.createSpecies();

        s.setId("s1");
        s.setCompartment("membrane");
        s.setBoundaryCondition(false);
        s.setHasOnlySubstanceUnits(false);
        s.setConstant(false);

        // set the multi attribute speciesType via the compartmentPlugin
        MultiSpeciesPlugin spPlug =
            (MultiSpeciesPlugin)(s.getPlugin("multi"));

        spPlug.setSpeciesType("stX");

        // create species feature
        SpeciesFeature sf = spPlug.createSpeciesFeature();

        sf.setSpeciesFeatureType("a");
        sf.setOccur(1);
        sf.setComponent("b");

        SpeciesFeatureValue sfv = sf.createSpeciesFeatureValue();

        sfv.setValue("c");

        // create a subListOfSpeciesFeatures
        SubListOfSpeciesFeatures subloSF = spPlug.createSubListOfSpeciesFeatures();

        subloSF.setRelation(libsbml.Relation_fromString("and"));

        // add speciesFeatures to the subList
        SpeciesFeature sf1 = new SpeciesFeature(3, 1, 1);

        sf1.setSpeciesFeatureType("a1");
        sf1.setOccur(1);
        sf1.setComponent("b1");

        SpeciesFeatureValue sfv1 = sf1.createSpeciesFeatureValue();

        sfv1.setValue("c1");

        subloSF.appendAndOwn(sf1);

        sf1 = new SpeciesFeature(3, 1, 1);
        sf1.setSpeciesFeatureType("a2");
        sf1.setOccur(1);
        sf1.setComponent("b2");

        sfv1 = sf1.createSpeciesFeatureValue();
        sfv1.setValue("c2");

        subloSF.appendAndOwn(sf1);

        // create a second subListOfSpeciesfeatures
        subloSF = spPlug.createSubListOfSpeciesFeatures();
        subloSF.setRelation(libsbml.Relation_fromString("or"));

        sf1 = new SpeciesFeature(3, 1, 1);
        sf1.setSpeciesFeatureType("a3");
        sf1.setOccur(1);
        sf1.setComponent("b3");

        sfv1 = sf1.createSpeciesFeatureValue();
        sfv1.setValue("c3");

        subloSF.appendAndOwn(sf1);

        sf1 = new SpeciesFeature(3, 1, 1);
        sf1.setSpeciesFeatureType("a4");
        sf1.setOccur(1);
        sf1.setComponent("b4");

        sfv1 = sf1.createSpeciesFeatureValue();
        sfv1.setValue("c4");

        subloSF.appendAndOwn(sf1);

        libsbml.writeSBML(document, "multi_example3.xml");
    }