1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122
|
import org.sbml.libsbml.ArraysSBasePlugin;
import org.sbml.libsbml.ArraysPkgNamespaces;
import org.sbml.libsbml.Compartment;
import org.sbml.libsbml.Dimension;
import org.sbml.libsbml.Index;
import org.sbml.libsbml.Model;
import org.sbml.libsbml.ASTNode;
import org.sbml.libsbml.Parameter;
import org.sbml.libsbml.Reaction;
import org.sbml.libsbml.SBMLDocument;
import org.sbml.libsbml.Species;
import org.sbml.libsbml.SpeciesReference;
import org.sbml.libsbml.libsbml;
public class createArrays1
{
public static void main(String args[])
{
System.loadLibrary("sbmlj");
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_FUNCTION);
ast.setName("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");
}
}
|