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(); }
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"); }
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"); }