示例#1
0
    private static void printCompartmentInfo(Compartment compartment)
    {
        var plugin = (MultiCompartmentPlugin)compartment.getPlugin("multi");
        var name   = compartment.isSetName() ? compartment.getName() : compartment.getId();

        Console.WriteLine("Compartment {0}: isType = {1}", name, plugin.getIsType());
        for (int i = 0; i < plugin.getNumCompartmentReferences(); ++i)
        {
            var current = plugin.getCompartmentReference(i);
            Console.WriteLine("  compartmentReference: {0}", current.getCompartment());
        }

        Console.WriteLine();
    }
示例#2
0
    public static void Main(string[] args)
    {
        ArraysPkgNamespaces arraysNs = new ArraysPkgNamespaces();
        SBMLDocument        doc      = new SBMLDocument(arraysNs);

        doc.setPackageRequired("arrays", true);
        Model model = doc.createModel();

        // create compartment
        Compartment comp = model.createCompartment();

        comp.setMetaId("dd");
        comp.setId("s");
        comp.setConstant(true);

        // set dimensions
        ArraysSBasePlugin compPlugin = (ArraysSBasePlugin)comp.getPlugin("arrays");
        Dimension         dim        = compPlugin.createDimension();

        dim.setId("i");
        dim.setSize("n");

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

        species.setId("A");
        species.setCompartment("s");
        species.setHasOnlySubstanceUnits(false);
        species.setBoundaryCondition(false);
        species.setConstant(false);

        ArraysSBasePlugin splugin = (ArraysSBasePlugin)species.getPlugin("arrays");

        dim = splugin.createDimension();
        dim.setId("i");
        dim.setSize("n");

        species = model.createSpecies();
        species.setId("B");
        species.setCompartment("s");
        species.setHasOnlySubstanceUnits(false);
        species.setBoundaryCondition(false);
        species.setConstant(false);

        splugin = (ArraysSBasePlugin)species.getPlugin("arrays");
        dim     = splugin.createDimension();
        dim.setId("i");
        dim.setSize("n");

        species = model.createSpecies();
        species.setId("C");
        species.setCompartment("s");
        species.setHasOnlySubstanceUnits(false);
        species.setBoundaryCondition(false);
        species.setConstant(false);

        splugin = (ArraysSBasePlugin)species.getPlugin("arrays");
        dim     = splugin.createDimension();
        dim.setId("i");
        dim.setSize("n");

        // create parameter
        Parameter param = model.createParameter();

        param.setId("n");
        param.setValue(100);
        param.setConstant(true);

        // create reaction
        Reaction reaction = model.createReaction();

        reaction.setId("reaction1");
        reaction.setReversible(false);
        reaction.setFast(false);

        ArraysSBasePlugin reactionPlugin = (ArraysSBasePlugin)reaction.getPlugin("arrays");

        dim = reactionPlugin.createDimension();
        dim.setId("i");
        dim.setSize("n");

        SpeciesReference speciesRef = reaction.createReactant();

        speciesRef.setSpecies("A");
        speciesRef.setConstant(false);
        ArraysSBasePlugin refPlugin = (ArraysSBasePlugin)speciesRef.getPlugin("arrays");
        Index             index     = refPlugin.createIndex();
        ASTNode           ast       = new ASTNode(libsbml.AST_LINEAR_ALGEBRA_SELECTOR);
        ASTNode           ci        = new ASTNode(libsbml.AST_NAME);

        ci.setName("A");
        ast.addChild(ci);
        ci = new ASTNode(libsbml.AST_NAME);
        ci.setName("i");
        ast.addChild(ci);
        index.setMath(ast);

        speciesRef = reaction.createProduct();
        speciesRef.setSpecies("C");
        speciesRef.setConstant(false);
        refPlugin = (ArraysSBasePlugin)speciesRef.getPlugin("arrays");
        index     = refPlugin.createIndex();
        ast       = new ASTNode(libsbml.AST_LINEAR_ALGEBRA_SELECTOR);
        ci        = new ASTNode(libsbml.AST_NAME);
        ci.setName("C");
        ast.addChild(ci);
        ci = new ASTNode(libsbml.AST_NAME);
        ci.setName("i");
        ast.addChild(ci);
        index.setMath(ast);

        libsbml.writeSBMLToFile(doc, "arrays1.xml");
    }
示例#3
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 a  compartment

        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 species
        Species s = model.createSpecies();

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

        // create reaction
        Reaction r = model.createReaction();

        r.setId("r1");
        r.setFast(false);
        r.setReversible(false);

        // createReactant
        SpeciesReference sr = r.createReactant();

        sr.setId("sr1");
        sr.setSpecies("s1");
        sr.setConstant(false);

        KineticLaw kl = r.createKineticLaw();

        ASTNode ci = new ASTNode(libsbml.AST_NAME);

        ci.setName("s1");
        MultiASTPlugin astPlugin = (MultiASTPlugin)(ci.getPlugin("multi"));

        astPlugin.setSpeciesReference("r1");

        ASTNode        ci1        = new ASTNode(libsbml.AST_NAME);
        MultiASTPlugin astPlugin1 = (MultiASTPlugin)(ci1.getPlugin("multi"));

        astPlugin1.setRepresentationType("sum");
        ci1.setName("s1");

        ASTNode math = new ASTNode(libsbml.AST_TIMES);

        math.addChild(ci);
        math.addChild(ci1);

        kl.setMath(math);

        libsbml.writeSBML(document, "multi_example2.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");
    }