File: groups_example1.java

package info (click to toggle)
libsbml 5.13.0%2Bdfsg-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 161,112 kB
  • ctags: 108,318
  • sloc: cpp: 909,538; xml: 239,143; ansic: 58,510; cs: 56,683; java: 26,901; python: 25,599; sh: 10,133; perl: 8,784; makefile: 8,001; ruby: 4,760; php: 202; csh: 3
file content (124 lines) | stat: -rw-r--r-- 3,532 bytes parent folder | download | duplicates (3)
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
123
124
// 
// @file    groups_example1.java
// @brief   SBML Groups example
// @author  Akiya Jouraku
// @author  Frank Bergmann (java port)
// 
// $Id: example1.java 11938 2010-09-20 02:04:23Z mhucka $
// $HeadURL: https://sbml.svn.sourceforge.net/svnroot/sbml/branches/libsbml-5/examples/groups/example1.java $
// 
// This file is part of libSBML.  Please visit http://sbml.org for more
// information about SBML, and the latest version of libSBML.
// 

import org.sbml.libsbml.*;

public class groups_example1
{

public static void main(String[] args)
{
	System.loadLibrary("sbmlj");
//
// Creates an SBMLNamespaces object with the given SBML level, version
// package name, package version.
//
// (NOTE) By defualt, the name of package (i.e. "groups") 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,"groups",1,"GROUP");
//

SBMLNamespaces sbmlns = new SBMLNamespaces(3,1,"groups",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 groups package namespace to the object. 
//
//         SBMLNamespaces sbmlns(3,1);
//         sbmlns.addPkgNamespace("groups",1);
//
//          OR
//
//         SBMLNamespaces sbmlns(3,1);
//         sbmlns.addNamespace(GroupsExtension::XmlnsL3V1V1,"groups");
//
// (2) Creates a GroupsPkgNamespaces object (SBMLNamespace derived class for
//     groups package. The class is basically used for createing an SBase derived
//     objects defined in the groups package) with the given SBML level, version, 
//     and package version
//
//        GroupsPkgNamespaces sbmlns(3,1,1);
//     


// create the document

SBMLDocument document = new SBMLDocument(sbmlns);

// create the Model

Model model=document.createModel();

// create the Compartment

Compartment compartment = model.createCompartment();
compartment.setId("cytosol");
compartment.setConstant(true);

compartment=model.createCompartment();
compartment.setId("mitochon");
compartment.setConstant(true);

// create the Species

Species species = model.createSpecies();
species.setId("ATPc");
species.setCompartment("cytosol");
species.setInitialConcentration(1);
species.setHasOnlySubstanceUnits(false);
species.setBoundaryCondition(false);
species.setConstant(false);

species = model.createSpecies();
species.setId("ATPm");
species.setCompartment("mitochon");
species.setInitialConcentration(2);
species.setHasOnlySubstanceUnits(false);
species.setBoundaryCondition(false);
species.setConstant(false);

// create the Groups

//
// Get a GroupsModelPlugin 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. 
//
GroupsModelPlugin mplugin = (GroupsModelPlugin)(model.getPlugin("groups"));

//
// Creates a Group object via GroupsModelPlugin object.
//
Group group = mplugin.createGroup();

group.setId("ATP");
group.setKind(libsbml.GROUP_KIND_CLASSIFICATION);
group.setSBOTerm("SBO:0000252");

Member member = group.createMember();
member.setIdRef("ATPc");

member = group.createMember();
member.setIdRef("ATPm");

libsbml.writeSBML(document,"groups_example1-java.xml");

}

}