1 /**
2  * Filename    : TestRenderWriting.cpp
3  * Description : Unit tests for writing render information in the
4  *               context of a complete model with layout.
5  * Organization: University of Heidelberg
6  * Created     : 2008-10-24
7  *
8  * Copyright 2008 University of Heidelberg
9  *
10  * This library is free software; you can redistribute it and/or modify it
11  * under the terms of the GNU Lesser General Public License as published
12  * by the Free Software Foundation; either version 2.1 of the License, or
13  * any later version.
14  *
15  * This library is distributed in the hope that it will be useful, but
16  * WITHOUT ANY WARRANTY, WITHOUT EVEN THE IMPLIED WARRANTY OF
17  * MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.  The software and
18  * documentation provided hereunder is on an "as is" basis, and the
19  * European Media Laboratories Research gGmbH have no obligations to
20  * provide maintenance, support, updates, enhancements or modifications.
21  * In no event shall the European Media Laboratories Research gGmbH be
22  * liable to any party for direct, indirect, special, incidental or
23  * consequential damages, including lost profits, arising out of the use of
24  * this software and its documentation, even if the European Media
25  * Laboratories Research gGmbH have been advised of the possibility of such
26  * damage.  See the GNU Lesser General Public License for more details.
27  *
28  * You should have received a copy of the GNU Lesser General Public License
29  * along with this library; if not, write to the Free Software Foundation,
30  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
31  *
32  * The original code contained here was initially developed by:
33  *
34  *     Ralph Gauges
35  *     Group for Modelling of Biological Systems
36  *     University of Heidelberg
37  *     Im Neuenheimer Feld 267
38  *     69120 Heidelberg
39  *     Germany
40  *
41  *     http://otto.bioquant.uni-heidelberg.de
42  *     mailto:ralph.gauges@bioquant.uni-heidelberg.de
43  *
44  * Contributor(s):
45  */
46 
47 #include <sbml/common/common.h>
48 #include <sbml/common/extern.h>
49 
50 #include <sbml/SBMLReader.h>
51 #include <sbml/SBMLWriter.h>
52 #include <sbml/SBMLDocument.h>
53 #include <sbml/Model.h>
54 #include <sbml/packages/layout/sbml/test/utility.h>
55 #include <sbml/packages/layout/extension/LayoutModelPlugin.h>
56 #include <sbml/packages/layout/sbml/Layout.h>
57 #include <sbml/packages/layout/sbml/Point.h>
58 #include <sbml/packages/layout/sbml/LineSegment.h>
59 #include <sbml/packages/layout/sbml/CubicBezier.h>
60 #include <sbml/packages/layout/sbml/Curve.h>
61 
62 #include <sbml/packages/render/extension/RenderLayoutPlugin.h>
63 #include <sbml/packages/render/extension/RenderListOfLayoutsPlugin.h>
64 #include <sbml/packages/render/extension/RenderGraphicalObjectPlugin.h>
65 #include <sbml/packages/render/sbml/GlobalRenderInformation.h>
66 #include <sbml/packages/render/sbml/LocalRenderInformation.h>
67 #include <sbml/packages/render/sbml/ColorDefinition.h>
68 #include <sbml/packages/render/sbml/LocalStyle.h>
69 #include <sbml/packages/render/sbml/GlobalStyle.h>
70 #include <sbml/packages/render/sbml/Rectangle.h>
71 #include <sbml/packages/render/sbml/Polygon.h>
72 #include <sbml/packages/render/sbml/Text.h>
73 #include <sbml/packages/render/sbml/RenderPoint.h>
74 #include <sbml/packages/render/sbml/RenderCubicBezier.h>
75 
76 #include <check.h>
77 #include <limits>
78 
79 #include <string>
80 
81 LIBSBML_CPP_NAMESPACE_USE
82 
83 BEGIN_C_DECLS
84 
85 static RenderPkgNamespaces* renderns;
86 static LayoutPkgNamespaces* layoutns;
87 
88 void
RenderWriting_setup(void)89 RenderWriting_setup (void)
90 {
91   renderns = new (std::nothrow) RenderPkgNamespaces();
92   layoutns = new (std::nothrow) LayoutPkgNamespaces();
93 }
94 
95 void
RenderWriting_teardown(void)96 RenderWriting_teardown (void)
97 {
98   delete renderns;
99   delete layoutns;
100 }
101 
102 
START_TEST(test_RenderWriting_write_l2_ojectrole)103 START_TEST (test_RenderWriting_write_l2_ojectrole)
104 {
105   SBMLDocument doc(2, 4);
106   doc.getSBMLNamespaces()->addPackageNamespace("layout", 1);
107   doc.getSBMLNamespaces()->addPackageNamespace("render", 1);
108   Model* model = doc.createModel();
109   model->setId("test");
110   Compartment *comp = model->createCompartment();
111   comp->initDefaults();
112   comp->setId("c1");
113   Species* species = model->createSpecies();
114   species->initDefaults();
115   species->setId("s1");
116   species->setCompartment("c1");
117   LayoutModelPlugin* layoutPlugin = (LayoutModelPlugin*)model->getPlugin("layout");
118   Layout* layout= layoutPlugin ->createLayout();
119   layout->setId("l1");
120   SpeciesGlyph* glyph = layout->createSpeciesGlyph();
121   glyph->initDefaults();
122   glyph->setId("g1");
123 
124   RenderGraphicalObjectPlugin* goPlugin = (RenderGraphicalObjectPlugin*)glyph->getPlugin("render");
125   goPlugin->setObjectRole("myRole");
126 
127   std::string  modelString = writeSBMLToStdString(&doc);
128 
129 
130   std::string::size_type index = modelString.find("objectRole=\"myRole");
131   fail_unless(index != std::string::npos);
132 
133 }
134 END_TEST
135 
136 
START_TEST(test_RenderWriting_write_model_1)137 START_TEST (test_RenderWriting_write_model_1)
138 {
139   const char* s =
140     "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
141     "<sbml xmlns=\"http://www.sbml.org/sbml/level2\" level=\"2\" version=\"1\">\n"
142     "  <model id=\"TestModel\">\n"
143     "          <annotation>\n"
144     "  <listOfLayouts xmlns=\"http://projects.eml.org/bcb/sbml/level2\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n"
145     "    <annotation xmlns=\"http://www.sbml.org/sbml/level2\">\n"
146     "      <listOfGlobalRenderInformation xmlns=\"http://projects.eml.org/bcb/sbml/render/level2\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n"
147     "        <renderInformation id=\"wireFrame\" name=\"wireframe style\" \n"
148     "                           programName=\"Ralph Gauges\" programVersion=\"1.0\" backgroundColor='#FFFFFFFF'>\n"
149     "          <listOfColorDefinitions>\n"
150     "            <colorDefinition id=\"white\" value=\"#ffffff\"/>\n"
151     "            <colorDefinition id=\"black\" value=\"#000000\"/>\n"
152     "          </listOfColorDefinitions>\n"
153     "          <listOfStyles>\n"
154     "            <style id=\"compartmentGlyphStyle\" typeList=\"COMPARTMENTGLYPH\">\n"
155     "              <g stroke=\"black\" stroke-width=\"1\">\n"
156     "                <rectangle x=\"0\" y=\"0\" width=\"100%\" height=\"100%\"/>\n"
157     "              </g>\n"
158     "            </style>  \n"
159     "            <style id=\"speciesGlyphStyle\" typeList=\"SPECIESGLYPH\">\n"
160     "              <g stroke=\"black\" stroke-width=\"1\">\n"
161     "                <rectangle x=\"0\" y=\"0\" width=\"100%\" height=\"100%\"/>\n"
162     "              </g>\n"
163     "            </style>\n"
164     "            <style id=\"reactionGlyphStyle\" typeList=\"REACTIONGLYPH SPECIESREFERENCEGLYPH TEXTGLYPH\">\n"
165     "              <g stroke=\"black\" stroke-width=\"1\" font-size=\"12\" text-anchor=\"middle\" />\n"
166     "            </style>\n"
167     "          </listOfStyles>\n"
168     "        </renderInformation>\n"
169     "        <renderInformation id=\"defaultGrayStyle\" name=\"grayscale style\" \n"
170     "                           programName=\"Ralph Gauges\" programVersion=\"1.0\" backgroundColor='#FFFFFFFF'>\n"
171     "          <listOfColorDefinitions>\n"
172     "            <colorDefinition id=\"lightGray\" value=\"#cecece\"/>\n"
173     "            <colorDefinition id=\"white\" value=\"#ffffff\"/>\n"
174     "            <colorDefinition id=\"black\" value=\"#000000\"/>\n"
175     "            <colorDefinition id=\"lightGray2\" value=\"#f0f0f0\" />\n"
176     "            <colorDefinition id=\"gray\" value=\"#0b0b0b\" />\n"
177     "          </listOfColorDefinitions>\n"
178     "          <listOfGradientDefinitions>\n"
179     "            <radialGradient id=\"speciesGlyphGradient\">\n"
180     "              <stop offset=\"0\" stop-color=\"white\" />\n"
181     "              <stop offset=\"100%\" stop-color=\"lightGray\" />\n"
182     "            </radialGradient>\n"
183     "          </listOfGradientDefinitions>\n"
184     "          <listOfLineEndings>\n"
185     "           <lineEnding id=\"simpleHead_black\">\n"
186     "             <boundingBox  xmlns=\"http://projects.eml.org/bcb/sbml/level2\" >\n"
187     "               <position x=\"-8\" y=\"-3\" />\n"
188     "               <dimensions width=\"10\" height=\"6\" />\n"
189     "             </boundingBox>\n"
190     "             <g stroke=\"black\" stroke-width=\"1\" fill=\"black\">\n"
191     "               <polygon>\n"
192     "                 <listOfElements>\n"
193     "                    <element xsi:type=\"RenderPoint\" x=\"0\" y=\"0\"/>\n"
194     "                    <element xsi:type=\"RenderPoint\" x=\"10\" y=\"3\"/>\n"
195     "                    <element xsi:type=\"RenderPoint\" x=\"0\" y=\"6\"/>\n"
196     "                 </listOfElements>\n"
197     "               </polygon>\n"
198     "             </g>\n"
199     "           </lineEnding>\n"
200     "          </listOfLineEndings>\n"
201     "          <listOfStyles>\n"
202     "            <style id=\"compartmentGlyphStyle\" typeList=\"COMPARTMENTGLYPH\">\n"
203     "              <g stroke=\"gray\" stroke-width=\"1\">\n"
204     "                <rectangle fill=\"lightGray2\" x=\"0\" y=\"0\" width=\"100%\" height=\"100%\" rx=\"5%\" />\n"
205     "              </g>\n"
206     "            </style>  \n"
207     "            <style id=\"speciesGlyphStyle\" typeList=\"SPECIESGLYPH\">\n"
208     "              <g stroke=\"black\" stroke-width=\"1\">\n"
209     "                <rectangle fill=\"speciesGlyphGradient\" x=\"0\" y=\"0\" width=\"100%\" height=\"100%\" rx=\"5%\" />\n"
210     "              </g>\n"
211     "            </style>\n"
212     "            <style id=\"reactionGlyphStyle\" typeList=\"REACTIONGLYPH TEXTGLYPH\">\n"
213     "              <g stroke=\"black\" stroke-width=\"1\" font-size=\"12\" text-anchor=\"middle\" />\n"
214     "            </style>\n"
215     "            <style id=\"reactantSpeciesReferenceGlyphStyle\" roleList=\"product sideproduct sidesubstrate substrate\">\n"
216     "              <g stroke=\"#000000\" stroke-width=\"1\" />\n"
217     "            </style>\n"
218     "            <style id=\"activatorSpeciesReferenceGlyphStyle\" roleList=\"activator\">\n"
219     "              <g stroke=\"#000000\" stroke-width=\"1\" />\n"
220     "            </style>\n"
221     "            <style id=\"modifierSpeciesReferenceGlyphStyle\" roleList=\"modifier\">\n"
222     "              <g stroke=\"#000000\" stroke-width=\"1\" />\n"
223     "            </style>\n"
224     "            <style id=\"inhibitorSpeciesReferenceGlyphStyle\" roleList=\"inhibitor\">\n"
225     "              <g stroke=\"#000000\" stroke-width=\"1\" />\n"
226     "            </style>\n"
227     "          </listOfStyles>\n"
228     "        </renderInformation>\n"
229     "        <renderInformation id=\"shortGrayStyle\" name=\"modified default style to grayscale\" referenceRenderInformation=\"defaultStyle\" \n"
230     "                           programName=\"Ralph Gauges\" programVersion=\"1.0\" backgroundColor='#FFFFFFFF'>\n"
231     "          <listOfColorDefinitions>\n"
232     "            <colorDefinition id=\"lightBlue\" value=\"#cecece\"/>\n"
233     "            <colorDefinition id=\"white\" value=\"#ffffff\"/>\n"
234     "            <colorDefinition id=\"black\" value=\"#000000\"/>\n"
235     "            <colorDefinition id=\"red\" value=\"#000000\"/>\n"
236     "            <colorDefinition id=\"green\" value=\"#000000\"/>\n"
237     "            <colorDefinition id=\"blue\" value=\"#000000\"/>\n"
238     "            <colorDefinition id=\"lightYellow\" value=\"#f0f0f0\" />\n"
239     "            <colorDefinition id=\"darkGreen\" value=\"#0b0b0b\" />\n"
240     "          </listOfColorDefinitions>\n"
241     "        </renderInformation>\n"
242     "        <renderInformation id=\"defaultStyle\" name=\"default style\" \n"
243     "                           programName=\"Ralph Gauges\" programVersion=\"1.0\" backgroundColor='#FFFFFFFF'>\n"
244     "          <listOfColorDefinitions>\n"
245     "            <colorDefinition id=\"lightBlue\" value=\"#add8e6\"/>\n"
246     "            <colorDefinition id=\"white\" value=\"#ffffff\"/>\n"
247     "            <colorDefinition id=\"black\" value=\"#000000\"/>\n"
248     "            <colorDefinition id=\"red\" value=\"#ff0000\"/>\n"
249     "            <colorDefinition id=\"green\" value=\"#00ff00\"/>\n"
250     "            <colorDefinition id=\"blue\" value=\"#0000ff\"/>\n"
251     "            <colorDefinition id=\"lightYellow\" value=\"#ffffd1\" />\n"
252     "            <colorDefinition id=\"darkGreen\" value=\"#002000\" />\n"
253     "          </listOfColorDefinitions>\n"
254     "          <listOfGradientDefinitions>\n"
255     "            <radialGradient id=\"speciesGlyphGradient\">\n"
256     "              <stop offset=\"0\" stop-color=\"white\" />\n"
257     "              <stop offset=\"100%\" stop-color=\"lightBlue\" />\n"
258     "            </radialGradient>\n"
259     "          </listOfGradientDefinitions>\n"
260     "          <listOfLineEndings>\n"
261     "           <lineEnding id=\"simpleHead_black\">\n"
262     "             <boundingBox xmlns=\"http://projects.eml.org/bcb/sbml/level2\" >\n"
263     "               <position x=\"-8\" y=\"-3\" />\n"
264     "               <dimensions width=\"10\" height=\"6\" />\n"
265     "             </boundingBox>\n"
266     "             <g stroke=\"black\" stroke-width=\"1\" fill=\"black\">\n"
267     "               <polygon>\n"
268     "                 <listOfElements>\n"
269     "                    <element xsi:type=\"RenderPoint\" x=\"0\" y=\"0\"/>\n"
270     "                    <element xsi:type=\"RenderPoint\" x=\"10\" y=\"3\"/>\n"
271     "                    <element xsi:type=\"RenderPoint\" x=\"0\" y=\"6\"/>\n"
272     "                 </listOfElements>\n"
273     "               </polygon>\n"
274     "             </g>\n"
275     "           </lineEnding>\n"
276     "           <lineEnding id=\"simpleHead_red\">\n"
277     "             <boundingBox xmlns=\"http://projects.eml.org/bcb/sbml/level2\" >\n"
278     "               <position x=\"-8\" y=\"-3\" />\n"
279     "               <dimensions width=\"10\" height=\"6\" />\n"
280     "             </boundingBox>\n"
281     "             <g stroke=\"red\" stroke-width=\"1\" fill=\"red\">\n"
282     "               <polygon>\n"
283     "                 <listOfElements>\n"
284     "                    <element xsi:type=\"RenderPoint\" x=\"0\" y=\"0\"/>\n"
285     "                    <element xsi:type=\"RenderPoint\" x=\"10\" y=\"3\"/>\n"
286     "                    <element xsi:type=\"RenderPoint\" x=\"0\" y=\"6\"/>\n"
287     "                 </listOfElements>\n"
288     "               </polygon>\n"
289     "             </g>\n"
290     "           </lineEnding>\n"
291     "           <lineEnding id=\"simpleHead_green\">\n"
292     "             <boundingBox xmlns=\"http://projects.eml.org/bcb/sbml/level2\" >\n"
293     "               <position x=\"-8\" y=\"-3\" />\n"
294     "               <dimensions width=\"10\" height=\"6\" />\n"
295     "             </boundingBox>\n"
296     "             <g stroke=\"green\" stroke-width=\"1\" fill=\"green\">\n"
297     "               <polygon>\n"
298     "                 <listOfElements>\n"
299     "                    <element xsi:type=\"RenderPoint\" x=\"0\" y=\"0\"/>\n"
300     "                    <element xsi:type=\"RenderPoint\" x=\"10\" y=\"3\"/>\n"
301     "                    <element xsi:type=\"RenderPoint\" x=\"0\" y=\"6\"/>\n"
302     "                 </listOfElements>\n"
303     "               </polygon>\n"
304     "             </g>\n"
305     "           </lineEnding>\n"
306     "           <lineEnding id=\"simpleHead_blue\">\n"
307     "             <boundingBox xmlns=\"http://projects.eml.org/bcb/sbml/level2\" >\n"
308     "               <position x=\"-8\" y=\"-3\" />\n"
309     "               <dimensions width=\"10\" height=\"6\" />\n"
310     "             </boundingBox>\n"
311     "             <g stroke=\"blue\" stroke-width=\"1\" fill=\"blue\">\n"
312     "               <polygon>\n"
313     "                 <listOfElements>\n"
314     "                    <element xsi:type=\"RenderPoint\" x=\"0\" y=\"0\"/>\n"
315     "                    <element xsi:type=\"RenderPoint\" x=\"10\" y=\"3\"/>\n"
316     "                    <element xsi:type=\"RenderPoint\" x=\"0\" y=\"6\"/>\n"
317     "                 </listOfElements>\n"
318     "               </polygon>\n"
319     "             </g>\n"
320     "           </lineEnding>\n"
321     "          </listOfLineEndings>\n"
322     "          <listOfStyles>\n"
323     "            <style id=\"compartmentGlyphStyle\" typeList=\"COMPARTMENTGLYPH\">\n"
324     "              <g stroke=\"darkGreen\" stroke-width=\"1\">\n"
325     "                <rectangle fill=\"lightYellow\" x=\"0\" y=\"0\" width=\"100%\" height=\"100%\" rx=\"10%\" ry=\"10%\" />\n"
326     "              </g>\n"
327     "            </style>  \n"
328     "            <style id=\"speciesGlyphStyle\" typeList=\"SPECIESGLYPH\">\n"
329     "              <g stroke=\"black\" stroke-width=\"1\">\n"
330     "                <rectangle fill=\"speciesGlyphGradient\" x=\"0\" y=\"0\" width=\"100%\" height=\"100%\" rx=\"5\" ry=\"50%\" />\n"
331     "              </g>\n"
332     "            </style>\n"
333     "            <style id=\"reactionGlyphStyle\" typeList=\"REACTIONGLYPH TEXTGLYPH\">\n"
334     "              <g stroke=\"black\" stroke-width=\"1\" font-size=\"12\" text-anchor=\"middle\" />\n"
335     "            </style>\n"
336     "            <style id=\"reactantSpeciesReferenceGlyphStyle\" roleList=\"product sideproduct sidesubstrate substrate\">\n"
337     "              <g stroke=\"#000000\" stroke-width=\"1\" endHead=\"simpleHead_black\" />\n"
338     "            </style>\n"
339     "            <style id=\"activatorSpeciesReferenceGlyphStyle\" roleList=\"activator\">\n"
340     "              <g stroke=\"green\" stroke-width=\"1\" endHead=\"simpleHead_green\" />\n"
341     "            </style>\n"
342     "            <style id=\"modifierSpeciesReferenceGlyphStyle\" roleList=\"modifier\">\n"
343     "              <g stroke=\"blue\" stroke-width=\"1\" endHead=\"simpleHead_blue\" />\n"
344     "            </style>\n"
345     "            <style id=\"inhibitorSpeciesReferenceGlyphStyle\" roleList=\"inhibitor\">\n"
346     "              <g stroke=\"red\" stroke-width=\"1\" endHead=\"simpleHead_red\" />\n"
347     "            </style>\n"
348     "          </listOfStyles>\n"
349     "        </renderInformation>\n"
350     "      </listOfGlobalRenderInformation>\n"
351     "    </annotation>\n"
352     "    <layout id=\"Layout_1\">\n"
353     "      <annotation xmlns=\"http://www.sbml.org/sbml/level2\">\n"
354     "        <listOfRenderInformation xmlns=\"http://projects.eml.org/bcb/sbml/render/level2\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" versionMajor='2' versionMinor='1' >\n"
355     "          <renderInformation id=\"highlightGlucose\" referenceRenderInformation=\"defaultStyle\"\n"
356     "                             programName=\"Ralph Gauges\" programVersion=\"1.0\" backgroundColor='#FFFFFFFF'>\n"
357     "            <listOfColorDefinitions>\n"
358     "              <colorDefinition id=\"lightRed\" value=\"#e6add8\"/>\n"
359     "              <colorDefinition id=\"white\" value=\"#ffffff\"/>\n"
360     "            </listOfColorDefinitions>\n"
361     "            <listOfGradientDefinitions>\n"
362     "              <radialGradient id=\"highlightedSpeciesGlyphGradient\">\n"
363     "                <stop offset=\"0\" stop-color=\"white\" />\n"
364     "                <stop offset=\"100%\" stop-color=\"lightRed\" />\n"
365     "              </radialGradient>\n"
366     "            </listOfGradientDefinitions>\n"
367     "            <listOfStyles>\n"
368     "              <style id=\"highlightedGlucose\" idList=\"SpeciesGlyph_Glucose\" >\n"
369     "                <g stroke=\"black\" stroke-width=\"1\">\n"
370     "                  <rectangle fill=\"highlightedSpeciesGlyphGradient\" x=\"0\" y=\"0\" width=\"100%\" height=\"100%\" rx=\"5\" ry=\"50%\" />\n"
371     "                </g>\n"
372     "              </style>\n"
373     "            </listOfStyles>\n"
374     "          </renderInformation>\n"
375     "        </listOfRenderInformation>\n"
376     "      </annotation>\n"
377     "      <dimensions width=\"2320\" height=\"1000\"/>\n"
378     "      <listOfCompartmentGlyphs>\n"
379     "        <compartmentGlyph id=\"CompartmentGlyph_1\" compartment=\"Hepatocyte\">\n"
380     "          <boundingBox id=\"bb_compartment\">\n"
381     "            <position x=\"10\" y=\"10\"/>\n"
382     "            <dimensions width=\"2300\" height=\"980\"/>\n"
383     "          </boundingBox>\n"
384     "        </compartmentGlyph>\n"
385     "        <compartmentGlyph id=\"Mito1_Glyph\" compartment=\"Mito_1\">\n"
386     "          <boundingBox id=\"bb_mito1\">\n"
387     "            <position x=\"100\" y=\"100\"/>\n"
388     "            <dimensions width=\"300\" height=\"100\"/>\n"
389     "          </boundingBox>\n"
390     "        </compartmentGlyph>\n"
391     "        <compartmentGlyph id=\"Mito2_Glyph\" compartment=\"Mito_2\">\n"
392     "          <boundingBox id=\"bb_mito2\">\n"
393     "            <position x=\"200\" y=\"650\"/>\n"
394     "            <dimensions width=\"300\" height=\"100\"/>\n"
395     "          </boundingBox>\n"
396     "        </compartmentGlyph>\n"
397     "        <compartmentGlyph id=\"Mito3_Glyph_2\" compartment=\"Mito_3\">\n"
398     "          <boundingBox id=\"bb_mito3_2\">\n"
399     "            <position x=\"1470\" y=\"30\"/>\n"
400     "            <dimensions width=\"820\" height=\"536\"/>\n"
401     "          </boundingBox>\n"
402     "        </compartmentGlyph>\n"
403     "      </listOfCompartmentGlyphs>\n"
404     "      <listOfSpeciesGlyphs>\n"
405     "        <speciesGlyph id=\"SpeciesGlyph_malate_cyt\" species=\"malate_cyt\">\n"
406     "          <boundingBox id=\"bb_sg_malate_cyt\">\n"
407     "            <position x=\"580\" y=\"280\"/>\n"
408     "            <dimensions width=\"240\" height=\"36\"/>\n"
409     "          </boundingBox>\n"
410     "        </speciesGlyph>\n"
411     "        <speciesGlyph id=\"SpeciesGlyph_oxaloacetate_cyt\" species=\"oxaloacetate_cyt\">\n"
412     "          <boundingBox id=\"bb_sg_oxaloacetate_cyt\">\n"
413     "            <position x=\"580\" y=\"480\"/>\n"
414     "            <dimensions width=\"240\" height=\"36\"/>\n"
415     "          </boundingBox>\n"
416     "        </speciesGlyph>\n"
417     "        <speciesGlyph id=\"SpeciesGlyph_aspartate_cyt\" species=\"aspartate_cyt\">\n"
418     "          <boundingBox id=\"bb_sg_aspartate_cyt\">\n"
419     "            <position x=\"580\" y=\"680\"/>\n"
420     "            <dimensions width=\"240\" height=\"36\"/>\n"
421     "          </boundingBox>\n"
422     "        </speciesGlyph>\n"
423     "        <speciesGlyph id=\"SpeciesGlyph_glutamate_cyt\" species=\"glutamate_cyt\">\n"
424     "          <boundingBox id=\"bb_sg_glutamate_cyt\">\n"
425     "            <position x=\"800\" y=\"610\"/>\n"
426     "            <dimensions width=\"240\" height=\"36\"/>\n"
427     "          </boundingBox>\n"
428     "        </speciesGlyph>\n"
429     "        <speciesGlyph id=\"SpeciesGlyph_aKetoglutarate_cyt\" species=\"aKetoglutarate_cyt\">\n"
430     "          <boundingBox id=\"bb_sg_aKetoglutarate_cyt\">\n"
431     "            <position x=\"860\" y=\"500\"/>\n"
432     "            <dimensions width=\"280\" height=\"36\"/>\n"
433     "          </boundingBox>\n"
434     "        </speciesGlyph>\n"
435     "        <speciesGlyph id=\"SpeciesGlyph_nad_cyt\" species=\"nad_cyt\">\n"
436     "          <boundingBox id=\"bb_sg_nad_cyt\">\n"
437     "            <position x=\"520\" y=\"350\"/>\n"
438     "            <dimensions width=\"100\" height=\"24\"/>\n"
439     "          </boundingBox>\n"
440     "        </speciesGlyph>\n"
441     "        <speciesGlyph id=\"SpeciesGlyph_nadh_cyt\" species=\"nadh_cyt\">\n"
442     "          <boundingBox id=\"bb_sg_nadh_cyt\">\n"
443     "            <position x=\"520\" y=\"430\"/>\n"
444     "            <dimensions width=\"100\" height=\"24\"/>\n"
445     "          </boundingBox>\n"
446     "        </speciesGlyph>\n"
447     "        <speciesGlyph id=\"SpeciesGlyph_h_cyt\" species=\"h_cyt\">\n"
448     "          <boundingBox id=\"bb_sg_h_cyt\">\n"
449     "            <position x=\"430\" y=\"430\"/>\n"
450     "            <dimensions width=\"40\" height=\"24\"/>\n"
451     "          </boundingBox>\n"
452     "        </speciesGlyph>\n"
453     "        <speciesGlyph id=\"SpeciesGlyph_malate_mito3\" species=\"malate_mito3\">\n"
454     "          <boundingBox id=\"bb_sg_malate_mito3\">\n"
455     "            <position x=\"1850\" y=\"80\"/>\n"
456     "            <dimensions width=\"240\" height=\"36\"/>\n"
457     "          </boundingBox>\n"
458     "        </speciesGlyph>\n"
459     "        <speciesGlyph id=\"SpeciesGlyph_oxaloacetate_mito3\" species=\"oxaloacetate_mito3\">\n"
460     "          <boundingBox id=\"bb_sg_oxaloacetate_mito3\">\n"
461     "            <position x=\"1850\" y=\"280\"/>\n"
462     "            <dimensions width=\"240\" height=\"36\"/>\n"
463     "          </boundingBox>\n"
464     "        </speciesGlyph>\n"
465     "        <speciesGlyph id=\"SpeciesGlyph_aspartate_mito3\" species=\"aspartate_mito3\">\n"
466     "          <boundingBox id=\"bb_sg_aspartate_mito3\">\n"
467     "            <position x=\"1850\" y=\"480\"/>\n"
468     "            <dimensions width=\"240\" height=\"36\"/>\n"
469     "          </boundingBox>\n"
470     "        </speciesGlyph>\n"
471     "        <speciesGlyph id=\"SpeciesGlyph_glutamate_mito3\" species=\"glutamate_mito3\">\n"
472     "          <boundingBox id=\"bb_sg_glutamate_mito3\">\n"
473     "            <position x=\"1550\" y=\"430\"/>\n"
474     "            <dimensions width=\"240\" height=\"36\"/>\n"
475     "          </boundingBox>\n"
476     "        </speciesGlyph>\n"
477     "        <speciesGlyph id=\"SpeciesGlyph_aKetoglutarate_mito3\" species=\"aKetoglutarate_mito3\">\n"
478     "          <boundingBox id=\"bb_sg_aKetoglutarate_mito3\">\n"
479     "            <position x=\"1530\" y=\"300\"/>\n"
480     "            <dimensions width=\"280\" height=\"36\"/>\n"
481     "          </boundingBox>\n"
482     "        </speciesGlyph>\n"
483     "        <speciesGlyph id=\"SpeciesGlyph_nad_mito3\" species=\"nad_mito3\">\n"
484     "          <boundingBox id=\"bb_sg_nad_mito3\">\n"
485     "            <position x=\"2050\" y=\"150\"/>\n"
486     "            <dimensions width=\"100\" height=\"24\"/>\n"
487     "          </boundingBox>\n"
488     "        </speciesGlyph>\n"
489     "        <speciesGlyph id=\"SpeciesGlyph_nadh_mito3\" species=\"nadh_mito3\">\n"
490     "          <boundingBox id=\"bb_sg_nadh_mito3\">\n"
491     "            <position x=\"2050\" y=\"230\"/>\n"
492     "            <dimensions width=\"100\" height=\"24\"/>\n"
493     "          </boundingBox>\n"
494     "        </speciesGlyph>\n"
495     "        <speciesGlyph id=\"SpeciesGlyph_h_mito3\" species=\"h_mito3\">\n"
496     "          <boundingBox id=\"bb_sg_h_mito3\">\n"
497     "            <position x=\"2200\" y=\"230\"/>\n"
498     "            <dimensions width=\"40\" height=\"24\"/>\n"
499     "          </boundingBox>\n"
500     "        </speciesGlyph>\n"
501     "      </listOfSpeciesGlyphs>\n"
502     "      <listOfReactionGlyphs>\n"
503     "        <reactionGlyph id=\"rg_malatedh_cyt\" reaction=\"reaction_malatedh_cyt\">\n"
504     "          <curve>\n"
505     "            <listOfCurveSegments>\n"
506     "              <curveSegment xsi:type=\"LineSegment\">\n"
507     "                <start x=\"700\" y=\"381\"/>\n"
508     "                <end x=\"700\" y=\"415\"/>\n"
509     "              </curveSegment>\n"
510     "            </listOfCurveSegments>\n"
511     "          </curve>\n"
512     "          <listOfSpeciesReferenceGlyphs>\n"
513     "            <speciesReferenceGlyph id=\"srg_malate_cyt_1\" speciesReference=\"sr_malate_cyt\" speciesGlyph=\"SpeciesGlyph_malate_cyt\" role=\"substrate\">\n"
514     "              <curve>\n"
515     "                <listOfCurveSegments>\n"
516     "                  <curveSegment xsi:type=\"LineSegment\">\n"
517     "                    <start x=\"700\" y=\"381\"/>\n"
518     "                    <end x=\"700\" y=\"316\"/>\n"
519     "                  </curveSegment>\n"
520     "                </listOfCurveSegments>\n"
521     "              </curve>\n"
522     "            </speciesReferenceGlyph>\n"
523     "            <speciesReferenceGlyph id=\"srg_nad_cyt\" speciesReference=\"sr_nad_cyt\" speciesGlyph=\"SpeciesGlyph_nad_cyt\" role=\"substrate\">\n"
524     "              <curve>\n"
525     "                <listOfCurveSegments>\n"
526     "                  <curveSegment xsi:type=\"CubicBezier\">\n"
527     "                    <start x=\"700\" y=\"381\"/>\n"
528     "                    <end x=\"620\" y=\"362\"/>\n"
529     "                    <basePoint1 x=\"700\" y=\"362\"/>\n"
530     "                    <basePoint2 x=\"700\" y=\"362\"/>\n"
531     "                  </curveSegment>\n"
532     "                </listOfCurveSegments>\n"
533     "              </curve>\n"
534     "            </speciesReferenceGlyph>\n"
535     "            <speciesReferenceGlyph id=\"srg_oxaloacetate_cyt_1\" speciesReference=\"sr_oxaloacetate_cyt_1\" speciesGlyph=\"SpeciesGlyph_oxaloacetate_cyt\" role=\"product\">\n"
536     "              <curve>\n"
537     "                <listOfCurveSegments>\n"
538     "                  <curveSegment xsi:type=\"LineSegment\">\n"
539     "                    <start x=\"700\" y=\"415\"/>\n"
540     "                    <end x=\"700\" y=\"480\"/>\n"
541     "                  </curveSegment>\n"
542     "                </listOfCurveSegments>\n"
543     "              </curve>\n"
544     "            </speciesReferenceGlyph>\n"
545     "            <speciesReferenceGlyph id=\"srg_nadh_cyt\" speciesReference=\"sr_nadh_cyt\" speciesGlyph=\"SpeciesGlyph_nadh_cyt\" role=\"product\">\n"
546     "              <curve>\n"
547     "                <listOfCurveSegments>\n"
548     "                  <curveSegment xsi:type=\"CubicBezier\">\n"
549     "                    <start x=\"700\" y=\"415\"/>\n"
550     "                    <end x=\"620\" y=\"442\"/>\n"
551     "                    <basePoint1 x=\"700\" y=\"442\"/>\n"
552     "                    <basePoint2 x=\"700\" y=\"442\"/>\n"
553     "                  </curveSegment>\n"
554     "                </listOfCurveSegments>\n"
555     "              </curve>\n"
556     "            </speciesReferenceGlyph>\n"
557     "            <speciesReferenceGlyph id=\"srg_h_cyt\" speciesReference=\"sr_h_cyt\" speciesGlyph=\"SpeciesGlyph_h_cyt\" role=\"product\">\n"
558     "              <curve>\n"
559     "                <listOfCurveSegments>\n"
560     "                  <curveSegment xsi:type=\"CubicBezier\">\n"
561     "                    <start x=\"700\" y=\"415\"/>\n"
562     "                    <end x=\"470\" y=\"430\"/>\n"
563     "                    <basePoint1 x=\"570\" y=\"415\"/>\n"
564     "                    <basePoint2 x=\"570\" y=\"415\"/>\n"
565     "                  </curveSegment>\n"
566     "                </listOfCurveSegments>\n"
567     "              </curve>\n"
568     "            </speciesReferenceGlyph>\n"
569     "          </listOfSpeciesReferenceGlyphs>\n"
570     "        </reactionGlyph>\n"
571     "        <reactionGlyph id=\"rg_aspartateat_cyt\" reaction=\"reaction_aspartateat_cyt\">\n"
572     "          <curve>\n"
573     "            <listOfCurveSegments>\n"
574     "              <curveSegment xsi:type=\"LineSegment\">\n"
575     "                <start x=\"700\" y=\"581\"/>\n"
576     "                <end x=\"700\" y=\"615\"/>\n"
577     "              </curveSegment>\n"
578     "            </listOfCurveSegments>\n"
579     "          </curve>\n"
580     "          <listOfSpeciesReferenceGlyphs>\n"
581     "            <speciesReferenceGlyph id=\"srg_oxaloacetate_cyt_2\" speciesReference=\"sr_oxaloacetate_cyt_2\" speciesGlyph=\"SpeciesGlyph_oxaloacetate_cyt\" role=\"substrate\">\n"
582     "              <curve>\n"
583     "                <listOfCurveSegments>\n"
584     "                  <curveSegment xsi:type=\"LineSegment\">\n"
585     "                    <start x=\"700\" y=\"581\"/>\n"
586     "                    <end x=\"700\" y=\"516\"/>\n"
587     "                  </curveSegment>\n"
588     "                </listOfCurveSegments>\n"
589     "              </curve>\n"
590     "            </speciesReferenceGlyph>\n"
591     "            <speciesReferenceGlyph id=\"srg_glutamate_cyt_1\" speciesReference=\"sr_glutamate_cyt_1\" speciesGlyph=\"SpeciesGlyph_glutamate_cyt\" role=\"substrate\">\n"
592     "              <curve>\n"
593     "                <listOfCurveSegments>\n"
594     "                  <curveSegment xsi:type=\"CubicBezier\">\n"
595     "                    <start x=\"700\" y=\"581\"/>\n"
596     "                    <end x=\"800\" y=\"628\"/>\n"
597     "                    <basePoint1 x=\"750\" y=\"581\"/>\n"
598     "                    <basePoint2 x=\"750\" y=\"628\"/>\n"
599     "                  </curveSegment>\n"
600     "                </listOfCurveSegments>\n"
601     "              </curve>\n"
602     "            </speciesReferenceGlyph>\n"
603     "            <speciesReferenceGlyph id=\"srg_aspartate_cyt_1\" speciesReference=\"sr_aspartate_cyt_1\" speciesGlyph=\"SpeciesGlyph_aspartate_cyt\" role=\"product\">\n"
604     "              <curve>\n"
605     "                <listOfCurveSegments>\n"
606     "                  <curveSegment xsi:type=\"LineSegment\">\n"
607     "                    <start x=\"700\" y=\"615\"/>\n"
608     "                    <end x=\"700\" y=\"680\"/>\n"
609     "                  </curveSegment>\n"
610     "                </listOfCurveSegments>\n"
611     "              </curve>\n"
612     "            </speciesReferenceGlyph>\n"
613     "            <speciesReferenceGlyph id=\"srg_aKetoglutaratecyt_1\" speciesReference=\"sr_aKetoglutarate_cyt_1\" speciesGlyph=\"SpeciesGlyph_aKetoglutarate_cyt\" role=\"product\">\n"
614     "              <curve>\n"
615     "                <listOfCurveSegments>\n"
616     "                  <curveSegment xsi:type=\"CubicBezier\">\n"
617     "                    <start x=\"700\" y=\"615\"/>\n"
618     "                    <end x=\"860\" y=\"515\"/>\n"
619     "                    <basePoint1 x=\"790\" y=\"615\"/>\n"
620     "                    <basePoint2 x=\"790\" y=\"515\"/>\n"
621     "                  </curveSegment>\n"
622     "                </listOfCurveSegments>\n"
623     "              </curve>\n"
624     "            </speciesReferenceGlyph>\n"
625     "          </listOfSpeciesReferenceGlyphs>\n"
626     "        </reactionGlyph>\n"
627     "        <reactionGlyph id=\"rg_malatedh_mito3\" reaction=\"reaction_malatedh_mito3\">\n"
628     "          <curve>\n"
629     "            <listOfCurveSegments>\n"
630     "              <curveSegment xsi:type=\"LineSegment\">\n"
631     "                <start x=\"1970\" y=\"181\"/>\n"
632     "                <end x=\"1970\" y=\"215\"/>\n"
633     "              </curveSegment>\n"
634     "            </listOfCurveSegments>\n"
635     "          </curve>\n"
636     "          <listOfSpeciesReferenceGlyphs>\n"
637     "            <speciesReferenceGlyph id=\"srg_malate_mito3_1\" speciesReference=\"sr_malate_mito3\" speciesGlyph=\"SpeciesGlyph_malate_mito3\" role=\"substrate\">\n"
638     "              <curve>\n"
639     "                <listOfCurveSegments>\n"
640     "                  <curveSegment xsi:type=\"LineSegment\">\n"
641     "                    <start x=\"1970\" y=\"181\"/>\n"
642     "                    <end x=\"1970\" y=\"116\"/>\n"
643     "                  </curveSegment>\n"
644     "                </listOfCurveSegments>\n"
645     "              </curve>\n"
646     "            </speciesReferenceGlyph>\n"
647     "            <speciesReferenceGlyph id=\"srg_nad_mito3\" speciesReference=\"sr_nad_mito3\" speciesGlyph=\"SpeciesGlyph_nad_mito3\" role=\"substrate\">\n"
648     "              <curve>\n"
649     "                <listOfCurveSegments>\n"
650     "                  <curveSegment xsi:type=\"CubicBezier\">\n"
651     "                    <start x=\"1970\" y=\"181\"/>\n"
652     "                    <end x=\"2050\" y=\"162\"/>\n"
653     "                    <basePoint1 x=\"1970\" y=\"162\"/>\n"
654     "                    <basePoint2 x=\"1970\" y=\"162\"/>\n"
655     "                  </curveSegment>\n"
656     "                </listOfCurveSegments>\n"
657     "              </curve>\n"
658     "            </speciesReferenceGlyph>\n"
659     "            <speciesReferenceGlyph id=\"srg_oxaloacetate_mito3_1\" speciesReference=\"sr_oxaloacetate_mito3_1\" speciesGlyph=\"SpeciesGlyph_oxaloacetate_mito3\" role=\"product\">\n"
660     "              <curve>\n"
661     "                <listOfCurveSegments>\n"
662     "                  <curveSegment xsi:type=\"LineSegment\">\n"
663     "                    <start x=\"1970\" y=\"215\"/>\n"
664     "                    <end x=\"1970\" y=\"280\"/>\n"
665     "                  </curveSegment>\n"
666     "                </listOfCurveSegments>\n"
667     "              </curve>\n"
668     "            </speciesReferenceGlyph>\n"
669     "            <speciesReferenceGlyph id=\"srg_nadh_mito3\" speciesReference=\"sr_nadh_mito3\" speciesGlyph=\"SpeciesGlyph_nadh_mito3\" role=\"product\">\n"
670     "              <curve>\n"
671     "                <listOfCurveSegments>\n"
672     "                  <curveSegment xsi:type=\"CubicBezier\">\n"
673     "                    <start x=\"1970\" y=\"215\"/>\n"
674     "                    <end x=\"2050\" y=\"242\"/>\n"
675     "                    <basePoint1 x=\"1970\" y=\"242\"/>\n"
676     "                    <basePoint2 x=\"1970\" y=\"242\"/>\n"
677     "                  </curveSegment>\n"
678     "                </listOfCurveSegments>\n"
679     "              </curve>\n"
680     "            </speciesReferenceGlyph>\n"
681     "            <speciesReferenceGlyph id=\"srg_h_mito3\" speciesReference=\"sr_h_mito3\" speciesGlyph=\"SpeciesGlyph_h_mito3\" role=\"product\">\n"
682     "              <curve>\n"
683     "                <listOfCurveSegments>\n"
684     "                  <curveSegment xsi:type=\"CubicBezier\">\n"
685     "                    <start x=\"1970\" y=\"215\"/>\n"
686     "                    <end x=\"2200\" y=\"230\"/>\n"
687     "                    <basePoint1 x=\"2100\" y=\"215\"/>\n"
688     "                    <basePoint2 x=\"2100\" y=\"215\"/>\n"
689     "                  </curveSegment>\n"
690     "                </listOfCurveSegments>\n"
691     "              </curve>\n"
692     "            </speciesReferenceGlyph>\n"
693     "          </listOfSpeciesReferenceGlyphs>\n"
694     "        </reactionGlyph>\n"
695     "        <reactionGlyph id=\"rg_aspartateat_mito3\" reaction=\"reaction_aspartateat_mito3\">\n"
696     "          <curve>\n"
697     "            <listOfCurveSegments>\n"
698     "              <curveSegment xsi:type=\"LineSegment\">\n"
699     "                <start x=\"1970\" y=\"381\"/>\n"
700     "                <end x=\"1970\" y=\"415\"/>\n"
701     "              </curveSegment>\n"
702     "            </listOfCurveSegments>\n"
703     "          </curve>\n"
704     "          <listOfSpeciesReferenceGlyphs>\n"
705     "            <speciesReferenceGlyph id=\"srg_oxaloacetate_mito3_2\" speciesReference=\"sr_oxaloacetate_mito3_2\" speciesGlyph=\"SpeciesGlyph_oxaloacetate_mito3\" role=\"substrate\">\n"
706     "              <curve>\n"
707     "                <listOfCurveSegments>\n"
708     "                  <curveSegment xsi:type=\"LineSegment\">\n"
709     "                    <start x=\"1970\" y=\"381\"/>\n"
710     "                    <end x=\"1970\" y=\"316\"/>\n"
711     "                  </curveSegment>\n"
712     "                </listOfCurveSegments>\n"
713     "              </curve>\n"
714     "            </speciesReferenceGlyph>\n"
715     "            <speciesReferenceGlyph id=\"srg_glutamate_mito3_1\" speciesReference=\"sr_glutamate_mito3_1\" speciesGlyph=\"SpeciesGlyph_glutamate_mito3\" role=\"substrate\">\n"
716     "              <curve>\n"
717     "                <listOfCurveSegments>\n"
718     "                  <curveSegment xsi:type=\"CubicBezier\">\n"
719     "                    <start x=\"1970\" y=\"381\"/>\n"
720     "                    <end x=\"1790\" y=\"448\"/>\n"
721     "                    <basePoint1 x=\"1880\" y=\"381\"/>\n"
722     "                    <basePoint2 x=\"1880\" y=\"448\"/>\n"
723     "                  </curveSegment>\n"
724     "                </listOfCurveSegments>\n"
725     "              </curve>\n"
726     "            </speciesReferenceGlyph>\n"
727     "            <speciesReferenceGlyph id=\"srg_aspartate_mito3_1\" speciesReference=\"sr_aspartate_mito3_1\" speciesGlyph=\"SpeciesGlyph_aspartate_mito3\" role=\"product\">\n"
728     "              <curve>\n"
729     "                <listOfCurveSegments>\n"
730     "                  <curveSegment xsi:type=\"LineSegment\">\n"
731     "                    <start x=\"1970\" y=\"415\"/>\n"
732     "                    <end x=\"1970\" y=\"480\"/>\n"
733     "                  </curveSegment>\n"
734     "                </listOfCurveSegments>\n"
735     "              </curve>\n"
736     "            </speciesReferenceGlyph>\n"
737     "            <speciesReferenceGlyph id=\"srg_aKetoglutaratemito3_1\" speciesReference=\"sr_aKetoglutarate_mito3_1\" speciesGlyph=\"SpeciesGlyph_aKetoglutarate_mito3\" role=\"product\">\n"
738     "              <curve>\n"
739     "                <listOfCurveSegments>\n"
740     "                  <curveSegment xsi:type=\"CubicBezier\">\n"
741     "                    <start x=\"1970\" y=\"415\"/>\n"
742     "                    <end x=\"1810\" y=\"315\"/>\n"
743     "                    <basePoint1 x=\"1880\" y=\"415\"/>\n"
744     "                    <basePoint2 x=\"1880\" y=\"315\"/>\n"
745     "                  </curveSegment>\n"
746     "                </listOfCurveSegments>\n"
747     "              </curve>\n"
748     "            </speciesReferenceGlyph>\n"
749     "          </listOfSpeciesReferenceGlyphs>\n"
750     "        </reactionGlyph>\n"
751     "        <reactionGlyph id=\"rg_aspartateCarrier\" reaction=\"aspartateCarrier\">\n"
752     "          <curve>\n"
753     "            <listOfCurveSegments>\n"
754     "              <curveSegment xsi:type=\"LineSegment\">\n"
755     "                <start x=\"1420\" y=\"530\"/>\n"
756     "                <end x=\"1360\" y=\"550\"/>\n"
757     "              </curveSegment>\n"
758     "            </listOfCurveSegments>\n"
759     "          </curve>\n"
760     "          <listOfSpeciesReferenceGlyphs>\n"
761     "            <speciesReferenceGlyph id=\"srg_aspartate_mito3_2\" speciesReference=\"sr_aspartate_mito3_2\" speciesGlyph=\"SpeciesGlyph_aspartate_mito3\" role=\"substrate\">\n"
762     "              <curve>\n"
763     "                <listOfCurveSegments>\n"
764     "                  <curveSegment xsi:type=\"LineSegment\">\n"
765     "                    <start x=\"1420\" y=\"530\"/>\n"
766     "                    <end x=\"1850\" y=\"498\"/>\n"
767     "                  </curveSegment>\n"
768     "                </listOfCurveSegments>\n"
769     "              </curve>\n"
770     "            </speciesReferenceGlyph>\n"
771     "            <speciesReferenceGlyph id=\"srg_aspartate_cyt_2\" speciesReference=\"sr_aspartate_cyt_2\" speciesGlyph=\"SpeciesGlyph_aspartate_cyt\" role=\"product\">\n"
772     "              <curve>\n"
773     "                <listOfCurveSegments>\n"
774     "                  <curveSegment xsi:type=\"CubicBezier\">\n"
775     "                    <start x=\"1360\" y=\"550\"/>\n"
776     "                    <end x=\"820\" y=\"698\"/>\n"
777     "                    <basePoint1 x=\"1390\" y=\"698\"/>\n"
778     "                    <basePoint2 x=\"1390\" y=\"698\"/>\n"
779     "                  </curveSegment>\n"
780     "                </listOfCurveSegments>\n"
781     "              </curve>\n"
782     "            </speciesReferenceGlyph>\n"
783     "            <speciesReferenceGlyph id=\"srg_glutamate_cyt_2\" speciesReference=\"sr_glutamate_cyt_2\" speciesGlyph=\"SpeciesGlyph_glutamate_cyt\" role=\"substrate\">\n"
784     "              <curve>\n"
785     "                <listOfCurveSegments>\n"
786     "                  <curveSegment xsi:type=\"CubicBezier\">\n"
787     "                    <start x=\"1420\" y=\"530\"/>\n"
788     "                    <end x=\"1050\" y=\"628\"/>\n"
789     "                    <basePoint1 x=\"1390\" y=\"648\"/>\n"
790     "                    <basePoint2 x=\"1390\" y=\"648\"/>\n"
791     "                  </curveSegment>\n"
792     "                </listOfCurveSegments>\n"
793     "              </curve>\n"
794     "            </speciesReferenceGlyph>\n"
795     "            <speciesReferenceGlyph id=\"srg_glutamate_mito3_2\" speciesReference=\"sr_glutamate_mito3_2\" speciesGlyph=\"SpeciesGlyph_glutamate_mito3\" role=\"product\">\n"
796     "              <curve>\n"
797     "                <listOfCurveSegments>\n"
798     "                  <curveSegment xsi:type=\"CubicBezier\">\n"
799     "                    <start x=\"1360\" y=\"550\"/>\n"
800     "                    <end x=\"1550\" y=\"448\"/>\n"
801     "                    <basePoint1 x=\"1390\" y=\"448\"/>\n"
802     "                    <basePoint2 x=\"1390\" y=\"448\"/>\n"
803     "                  </curveSegment>\n"
804     "                </listOfCurveSegments>\n"
805     "              </curve>\n"
806     "            </speciesReferenceGlyph>\n"
807     "          </listOfSpeciesReferenceGlyphs>\n"
808     "        </reactionGlyph>\n"
809     "        <reactionGlyph id=\"rg_malateCarrier\" reaction=\"malateCarrier\">\n"
810     "          <curve>\n"
811     "            <listOfCurveSegments>\n"
812     "              <curveSegment xsi:type=\"LineSegment\">\n"
813     "                <start x=\"1420\" y=\"320\"/>\n"
814     "                <end x=\"1360\" y=\"340\"/>\n"
815     "              </curveSegment>\n"
816     "            </listOfCurveSegments>\n"
817     "          </curve>\n"
818     "          <listOfSpeciesReferenceGlyphs>\n"
819     "            <speciesReferenceGlyph id=\"srg_aKetoglutarate_mito3_2\" speciesReference=\"sr_aKetoglutarate_mito3_2\" speciesGlyph=\"SpeciesGlyph_aKetoglutarate_mito3\" role=\"substrate\">\n"
820     "              <curve>\n"
821     "                <listOfCurveSegments>\n"
822     "                  <curveSegment xsi:type=\"LineSegment\">\n"
823     "                    <start x=\"1420\" y=\"320\"/>\n"
824     "                    <end x=\"1530\" y=\"318\"/>\n"
825     "                  </curveSegment>\n"
826     "                </listOfCurveSegments>\n"
827     "              </curve>\n"
828     "            </speciesReferenceGlyph>\n"
829     "            <speciesReferenceGlyph id=\"srg_aKetoglutarate_cyt_2\" speciesReference=\"sr_aKetoglutarate_cyt_2\" speciesGlyph=\"SpeciesGlyph_aKetoglutarate_cyt\" role=\"product\">\n"
830     "              <curve>\n"
831     "                <listOfCurveSegments>\n"
832     "                  <curveSegment xsi:type=\"LineSegment\">\n"
833     "                    <start x=\"1360\" y=\"340\"/>\n"
834     "                    <end x=\"1140\" y=\"518\"/>\n"
835     "                  </curveSegment>\n"
836     "                </listOfCurveSegments>\n"
837     "              </curve>\n"
838     "            </speciesReferenceGlyph>\n"
839     "            <speciesReferenceGlyph id=\"srg_malate_cyt_2\" speciesReference=\"sr_malate_cyt_2\" speciesGlyph=\"SpeciesGlyph_malate_cyt\" role=\"substrate\">\n"
840     "              <curve>\n"
841     "                <listOfCurveSegments>\n"
842     "                  <curveSegment xsi:type=\"CubicBezier\">\n"
843     "                    <start x=\"1420\" y=\"320\"/>\n"
844     "                    <end x=\"820\" y=\"298\"/>\n"
845     "                    <basePoint1 x=\"1390\" y=\"250\"/>\n"
846     "                    <basePoint2 x=\"1390\" y=\"250\"/>\n"
847     "                  </curveSegment>\n"
848     "                </listOfCurveSegments>\n"
849     "              </curve>\n"
850     "            </speciesReferenceGlyph>\n"
851     "            <speciesReferenceGlyph id=\"srg_malate_mito3_2\" speciesReference=\"sr_malate_mito3_2\" speciesGlyph=\"SpeciesGlyph_malate_mito3\" role=\"product\">\n"
852     "              <curve>\n"
853     "                <listOfCurveSegments>\n"
854     "                  <curveSegment xsi:type=\"CubicBezier\">\n"
855     "                    <start x=\"1360\" y=\"340\"/>\n"
856     "                    <end x=\"1850\" y=\"98\"/>\n"
857     "                    <basePoint1 x=\"1390\" y=\"150\"/>\n"
858     "                    <basePoint2 x=\"1390\" y=\"150\"/>\n"
859     "                  </curveSegment>\n"
860     "                </listOfCurveSegments>\n"
861     "              </curve>\n"
862     "            </speciesReferenceGlyph>\n"
863     "          </listOfSpeciesReferenceGlyphs>\n"
864     "        </reactionGlyph>\n"
865     "      </listOfReactionGlyphs>\n"
866     "      <listOfTextGlyphs>\n"
867     "        <textGlyph id=\"TextGlyph_Hepatocyte\" graphicalObject=\"CompartmentGlyph_1\" originOfText=\"Hepatocyte\">\n"
868     "          <boundingBox id=\"bb_tg_compartment\">\n"
869     "            <position x=\"50\" y=\"870\"/>\n"
870     "            <dimensions width=\"300\" height=\"72\"/>\n"
871     "          </boundingBox>\n"
872     "        </textGlyph>\n"
873     "        <textGlyph id=\"TextGlyph_mito1\" graphicalObject=\"Mito1_Glyph\" originOfText=\"Mito_1\">\n"
874     "          <boundingBox id=\"bb_tg_mito1\">\n"
875     "            <position x=\"110\" y=\"110\"/>\n"
876     "            <dimensions width=\"280\" height=\"72\"/>\n"
877     "          </boundingBox>\n"
878     "        </textGlyph>\n"
879     "        <textGlyph id=\"TextGlyph_mito2\" graphicalObject=\"Mito2_Glyph\" originOfText=\"Mito_2\">\n"
880     "          <boundingBox id=\"bb_tg_mito2\">\n"
881     "            <position x=\"210\" y=\"660\"/>\n"
882     "            <dimensions width=\"280\" height=\"72\"/>\n"
883     "          </boundingBox>\n"
884     "        </textGlyph>\n"
885     "        <textGlyph id=\"TextGlyph_mito3_2\" graphicalObject=\"Mito3_Glyph_2\" originOfText=\"Mito_3\">\n"
886     "          <boundingBox id=\"bb_tg_mito3_2\">\n"
887     "            <position x=\"1475\" y=\"35\"/>\n"
888     "            <dimensions width=\"200\" height=\"72\"/>\n"
889     "          </boundingBox>\n"
890     "        </textGlyph>\n"
891     "        <textGlyph id=\"TextGlyph_malate_cyt\" graphicalObject=\"SpeciesGlyph_malate_cyt\" originOfText=\"malate_cyt\">\n"
892     "          <boundingBox id=\"bb_tg_malatate_cyt\">\n"
893     "            <position x=\"590\" y=\"280\"/>\n"
894     "            <dimensions width=\"220\" height=\"36\"/>\n"
895     "          </boundingBox>\n"
896     "        </textGlyph>\n"
897     "        <textGlyph id=\"TextGlyph_oxaloacetate_cyt\" graphicalObject=\"SpeciesGlyph_oxaloacetate_cyt\" originOfText=\"oxaloacetate_cyt\">\n"
898     "          <boundingBox id=\"bb_tg_oxaloacetate_cyt\">\n"
899     "            <position x=\"590\" y=\"480\"/>\n"
900     "            <dimensions width=\"220\" height=\"36\"/>\n"
901     "          </boundingBox>\n"
902     "        </textGlyph>\n"
903     "        <textGlyph id=\"TextGlyph_aspartate_cyt\" graphicalObject=\"SpeciesGlyph_aspartate_cyt\" originOfText=\"aspartate_cyt\">\n"
904     "          <boundingBox id=\"bb_tg_aspartate_cyt\">\n"
905     "            <position x=\"590\" y=\"680\"/>\n"
906     "            <dimensions width=\"220\" height=\"36\"/>\n"
907     "          </boundingBox>\n"
908     "        </textGlyph>\n"
909     "        <textGlyph id=\"TextGlyph_glutamate_cyt\" graphicalObject=\"SpeciesGlyph_glutamate_cyt\" originOfText=\"glutamate_cyt\">\n"
910     "          <boundingBox id=\"bb_tg_glutamate_cyt\">\n"
911     "            <position x=\"810\" y=\"610\"/>\n"
912     "            <dimensions width=\"220\" height=\"36\"/>\n"
913     "          </boundingBox>\n"
914     "        </textGlyph>\n"
915     "        <textGlyph id=\"TextGlyph_aKetoglutarate_cyt\" graphicalObject=\"SpeciesGlyph_aKetoglutarate_cyt\" originOfText=\"aKetoglutarate_cyt\">\n"
916     "          <boundingBox id=\"bb_tg_aKetoglutarate_cyt\">\n"
917     "            <position x=\"870\" y=\"500\"/>\n"
918     "            <dimensions width=\"260\" height=\"36\"/>\n"
919     "          </boundingBox>\n"
920     "        </textGlyph>\n"
921     "        <textGlyph id=\"TextGlyph_nad_cyt\" graphicalObject=\"SpeciesGlyph_nad_cyt\" originOfText=\"nad_cyt\">\n"
922     "          <boundingBox id=\"bb_tg_nad_cyt\">\n"
923     "            <position x=\"525\" y=\"350\"/>\n"
924     "            <dimensions width=\"80\" height=\"24\"/>\n"
925     "          </boundingBox>\n"
926     "        </textGlyph>\n"
927     "        <textGlyph id=\"TextGlyph_nadh_cyt\" graphicalObject=\"SpeciesGlyph_nadh_cyt\" originOfText=\"nadh_cyt\">\n"
928     "          <boundingBox id=\"bb_tg_nadh_cyt\">\n"
929     "            <position x=\"525\" y=\"430\"/>\n"
930     "            <dimensions width=\"80\" height=\"24\"/>\n"
931     "          </boundingBox>\n"
932     "        </textGlyph>\n"
933     "        <textGlyph id=\"TextGlyph_h_cyt\" graphicalObject=\"SpeciesGlyph_h_cyt\" originOfText=\"h_cyt\">\n"
934     "          <boundingBox id=\"bb_tg_h_cyt\">\n"
935     "            <position x=\"435\" y=\"430\"/>\n"
936     "            <dimensions width=\"30\" height=\"24\"/>\n"
937     "          </boundingBox>\n"
938     "        </textGlyph>\n"
939     "        <textGlyph id=\"tg_rg_malaltedh_cyt\" graphicalObject=\"rg_malatedh_cyt\" originOfText=\"reaction_malatedh_cyt\">\n"
940     "          <boundingBox id=\"bb_tg_rg_malaltedh_cyt\">\n"
941     "            <position x=\"700\" y=\"385\"/>\n"
942     "            <dimensions width=\"210\" height=\"24\"/>\n"
943     "          </boundingBox>\n"
944     "        </textGlyph>\n"
945     "        <textGlyph id=\"tg_rg_aspartateat_cyt\" graphicalObject=\"rg_aspartateat_cyt\" originOfText=\"reaction_aspartateat_cyt\">\n"
946     "          <boundingBox id=\"bb_tg_rg_aspartateat_cyt\">\n"
947     "            <position x=\"440\" y=\"585\"/>\n"
948     "            <dimensions width=\"260\" height=\"24\"/>\n"
949     "          </boundingBox>\n"
950     "        </textGlyph>\n"
951     "        <textGlyph id=\"TextGlyph_malate_mito3\" graphicalObject=\"SpeciesGlyph_malate_mito3\" originOfText=\"malate_mito3\">\n"
952     "          <boundingBox id=\"bb_tg_malatate_mito3\">\n"
953     "            <position x=\"1860\" y=\"80\"/>\n"
954     "            <dimensions width=\"220\" height=\"36\"/>\n"
955     "          </boundingBox>\n"
956     "        </textGlyph>\n"
957     "        <textGlyph id=\"TextGlyph_oxaloacetate_mito3\" graphicalObject=\"SpeciesGlyph_oxaloacetate_mito3\" originOfText=\"oxaloacetate_mito3\">\n"
958     "          <boundingBox id=\"bb_tg_oxaloacetate_mito3\">\n"
959     "            <position x=\"1860\" y=\"280\"/>\n"
960     "            <dimensions width=\"220\" height=\"36\"/>\n"
961     "          </boundingBox>\n"
962     "        </textGlyph>\n"
963     "        <textGlyph id=\"TextGlyph_aspartate_mito3\" graphicalObject=\"SpeciesGlyph_aspartate_mito3\" originOfText=\"aspartate_mito3\">\n"
964     "          <boundingBox id=\"bb_tg_aspartate_mito3\">\n"
965     "            <position x=\"1860\" y=\"480\"/>\n"
966     "            <dimensions width=\"220\" height=\"36\"/>\n"
967     "          </boundingBox>\n"
968     "        </textGlyph>\n"
969     "        <textGlyph id=\"TextGlyph_glutamate_mito3\" graphicalObject=\"SpeciesGlyph_glutamate_mito3\" originOfText=\"glutamate_mito3\">\n"
970     "          <boundingBox id=\"bb_tg_glutamate_mito3\">\n"
971     "            <position x=\"1560\" y=\"430\"/>\n"
972     "            <dimensions width=\"220\" height=\"36\"/>\n"
973     "          </boundingBox>\n"
974     "        </textGlyph>\n"
975     "        <textGlyph id=\"TextGlyph_aKetoglutarate_mito3\" graphicalObject=\"SpeciesGlyph_aKetoglutarate_mito3\" originOfText=\"aKetoglutarate_mito3\">\n"
976     "          <boundingBox id=\"bb_tg_aKetoglutarate_mito3\">\n"
977     "            <position x=\"1540\" y=\"300\"/>\n"
978     "            <dimensions width=\"260\" height=\"36\"/>\n"
979     "          </boundingBox>\n"
980     "        </textGlyph>\n"
981     "        <textGlyph id=\"TextGlyph_nad_mito3\" graphicalObject=\"SpeciesGlyph_nad_mito3\" originOfText=\"nad_mito3\">\n"
982     "          <boundingBox id=\"bb_tg_nad_mito3\">\n"
983     "            <position x=\"2055\" y=\"150\"/>\n"
984     "            <dimensions width=\"80\" height=\"24\"/>\n"
985     "          </boundingBox>\n"
986     "        </textGlyph>\n"
987     "        <textGlyph id=\"TextGlyph_nadh_mito3\" graphicalObject=\"SpeciesGlyph_nadh_mito3\" originOfText=\"nadh_mito3\">\n"
988     "          <boundingBox id=\"bb_tg_nadh_mito3\">\n"
989     "            <position x=\"2055\" y=\"230\"/>\n"
990     "            <dimensions width=\"80\" height=\"24\"/>\n"
991     "          </boundingBox>\n"
992     "        </textGlyph>\n"
993     "        <textGlyph id=\"TextGlyph_h_mito3\" graphicalObject=\"SpeciesGlyph_h_mito3\" originOfText=\"h_mito3\">\n"
994     "          <boundingBox id=\"bb_tg_h_mito3\">\n"
995     "            <position x=\"2205\" y=\"230\"/>\n"
996     "            <dimensions width=\"30\" height=\"24\"/>\n"
997     "          </boundingBox>\n"
998     "        </textGlyph>\n"
999     "        <textGlyph id=\"tg_rg_malatedh_mito3\" graphicalObject=\"rg_malatedh_mito3\" originOfText=\"reaction_malatedh_mito3\">\n"
1000     "          <boundingBox id=\"bb_tg_rg_malatedh_mito3\">\n"
1001     "            <position x=\"1740\" y=\"185\"/>\n"
1002     "            <dimensions width=\"220\" height=\"24\"/>\n"
1003     "          </boundingBox>\n"
1004     "        </textGlyph>\n"
1005     "        <textGlyph id=\"tg_rg_aspartateat_mito3\" graphicalObject=\"rg_aspartateat_mito3\" originOfText=\"reaction_aspartateat_mito3\">\n"
1006     "          <boundingBox id=\"bb_tg_rg_aspartateat_mito3\">\n"
1007     "            <position x=\"1970\" y=\"385\"/>\n"
1008     "            <dimensions width=\"260\" height=\"24\"/>\n"
1009     "          </boundingBox>\n"
1010     "        </textGlyph>\n"
1011     "        <textGlyph id=\"tg_rg_aspartateCarrier\" graphicalObject=\"rg_aspartateCarrier\" originOfText=\"aspartateCarrier\">\n"
1012     "          <boundingBox id=\"bb_tg_rg_aspartateCarrier\">\n"
1013     "            <position x=\"1380\" y=\"500\"/>\n"
1014     "            <dimensions width=\"160\" height=\"24\"/>\n"
1015     "          </boundingBox>\n"
1016     "        </textGlyph>\n"
1017     "        <textGlyph id=\"tg_rg_malateCarrier\" graphicalObject=\"rg_malateCarrier\" originOfText=\"malateCarrier\">\n"
1018     "          <boundingBox id=\"bb_tg_rg_malateCarrier\">\n"
1019     "            <position x=\"1360\" y=\"330\"/>\n"
1020     "            <dimensions width=\"140\" height=\"24\"/>\n"
1021     "          </boundingBox>\n"
1022     "        </textGlyph>\n"
1023     "      </listOfTextGlyphs>\n"
1024     "    </layout>\n"
1025     "  </listOfLayouts>\n"
1026     "            </annotation>\n"
1027     "    <listOfCompartments>\n"
1028     "      <compartment id=\"Hepatocyte\" name=\"Hepatocyte\"/>\n"
1029     "      <compartment id=\"Mito_1\" name=\"Mito 1\" outside=\"Hepatocyte\"/>\n"
1030     "      <compartment id=\"Mito_2\" name=\"Mito 2\" outside=\"Hepatocyte\"/>\n"
1031     "      <compartment id=\"Mito_3\" name=\"Mito 3\" outside=\"Hepatocyte\"/>\n"
1032     "    </listOfCompartments>\n"
1033     "    <listOfSpecies>\n"
1034     "      <species id=\"malate_cyt\" name=\"Malate\" compartment=\"Hepatocyte\"/>\n"
1035     "      <species id=\"malate_mito1\" name=\"Malate\" compartment=\"Mito_1\"/>\n"
1036     "      <species id=\"malate_mito2\" name=\"Malate\" compartment=\"Mito_2\"/>\n"
1037     "      <species id=\"malate_mito3\" name=\"Malate\" compartment=\"Mito_3\"/>\n"
1038     "      <species id=\"oxaloacetate_cyt\" name=\"Oxaloacetate\" compartment=\"Hepatocyte\"/>\n"
1039     "      <species id=\"oxaloacetate_mito1\" name=\"Oxaloacetate\" compartment=\"Mito_1\"/>\n"
1040     "      <species id=\"oxaloacetate_mito2\" name=\"Oxaloacetate\" compartment=\"Mito_2\"/>\n"
1041     "      <species id=\"oxaloacetate_mito3\" name=\"Oxaloacetate\" compartment=\"Mito_3\"/>\n"
1042     "      <species id=\"aspartate_cyt\" name=\"Aspartate\" compartment=\"Hepatocyte\"/>\n"
1043     "      <species id=\"aspartate_mito1\" name=\"Aspartate\" compartment=\"Mito_1\"/>\n"
1044     "      <species id=\"aspartate_mito2\" name=\"Aspartate\" compartment=\"Mito_2\"/>\n"
1045     "      <species id=\"aspartate_mito3\" name=\"Aspartate\" compartment=\"Mito_3\"/>\n"
1046     "      <species id=\"glutamate_cyt\" name=\"Glutamate\" compartment=\"Hepatocyte\"/>\n"
1047     "      <species id=\"glutamate_mito1\" name=\"Glutamate\" compartment=\"Mito_1\"/>\n"
1048     "      <species id=\"glutamate_mito2\" name=\"Glutamate\" compartment=\"Mito_2\"/>\n"
1049     "      <species id=\"glutamate_mito3\" name=\"Glutamate\" compartment=\"Mito_3\"/>\n"
1050     "      <species id=\"aKetoglutarate_cyt\" name=\"alpha-Ketoglutarate\" compartment=\"Hepatocyte\"/>\n"
1051     "      <species id=\"aKetoglutarate_mito1\" name=\"alpha-Ketoglutarate\" compartment=\"Mito_1\"/>\n"
1052     "      <species id=\"aKetoglutarate_mito2\" name=\"alpha-Ketoglutarate\" compartment=\"Mito_2\"/>\n"
1053     "      <species id=\"aKetoglutarate_mito3\" name=\"alpha-Ketoglutarate\" compartment=\"Mito_3\"/>\n"
1054     "      <species id=\"h_cyt\" name=\"H+\" compartment=\"Hepatocyte\"/>\n"
1055     "      <species id=\"h_mito1\" name=\"H+\" compartment=\"Mito_1\"/>\n"
1056     "      <species id=\"h_mito2\" name=\"H+\" compartment=\"Mito_2\"/>\n"
1057     "      <species id=\"h_mito3\" name=\"H+\" compartment=\"Mito_3\"/>\n"
1058     "      <species id=\"nad_cyt\" name=\"NAD+\" compartment=\"Hepatocyte\"/>\n"
1059     "      <species id=\"nad_mito1\" name=\"NAD+\" compartment=\"Mito_1\"/>\n"
1060     "      <species id=\"nad_mito2\" name=\"NAD+\" compartment=\"Mito_2\"/>\n"
1061     "      <species id=\"nad_mito3\" name=\"NAD+\" compartment=\"Mito_3\"/>\n"
1062     "      <species id=\"nadh_cyt\" name=\"NADH\" compartment=\"Hepatocyte\"/>\n"
1063     "      <species id=\"nadh_mito1\" name=\"NADH\" compartment=\"Mito_1\"/>\n"
1064     "      <species id=\"nadh_mito2\" name=\"NADH\" compartment=\"Mito_2\"/>\n"
1065     "      <species id=\"nadh_mito3\" name=\"NADH\" compartment=\"Mito_3\"/>\n"
1066     "    </listOfSpecies>\n"
1067     "    <listOfReactions>\n"
1068     "      <reaction id=\"reaction_malatedh_cyt\" name=\"malate dehydrogenase\" reversible=\"false\">\n"
1069     "        <listOfReactants>\n"
1070     "          <speciesReference species=\"malate_cyt\">\n"
1071     "            <annotation>\n"
1072     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_malate_cyt\"/>\n"
1073     "</annotation>\n"
1074     "          </speciesReference>\n"
1075     "          <speciesReference species=\"nad_cyt\">\n"
1076     "            <annotation>\n"
1077     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_nad_cyt\"/>\n"
1078     "</annotation>\n"
1079     "          </speciesReference>\n"
1080     "        </listOfReactants>\n"
1081     "        <listOfProducts>\n"
1082     "          <speciesReference species=\"nadh_cyt\">\n"
1083     "            <annotation>\n"
1084     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_nadh_cyt\"/>\n"
1085     "</annotation>\n"
1086     "          </speciesReference>\n"
1087     "          <speciesReference species=\"h_cyt\">\n"
1088     "            <annotation>\n"
1089     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_h_cyt\"/>\n"
1090     "</annotation>\n"
1091     "          </speciesReference>\n"
1092     "          <speciesReference species=\"oxaloacetate_cyt\">\n"
1093     "            <annotation>\n"
1094     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_oxaloacetate_cyt_1\"/>\n"
1095     "</annotation>\n"
1096     "          </speciesReference>\n"
1097     "        </listOfProducts>\n"
1098     "      </reaction>\n"
1099     "      <reaction id=\"reaction_aspartateat_cyt\" name=\"aspartate aminotransferase\" reversible=\"false\">\n"
1100     "        <listOfReactants>\n"
1101     "          <speciesReference species=\"oxaloacetate_cyt\">\n"
1102     "            <annotation>\n"
1103     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_oxaloacetate_cyt_2\"/>\n"
1104     "</annotation>\n"
1105     "          </speciesReference>\n"
1106     "          <speciesReference species=\"glutamate_cyt\">\n"
1107     "            <annotation>\n"
1108     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_glutamate_cyt_1\"/>\n"
1109     "</annotation>\n"
1110     "          </speciesReference>\n"
1111     "        </listOfReactants>\n"
1112     "        <listOfProducts>\n"
1113     "          <speciesReference species=\"aspartate_cyt\">\n"
1114     "            <annotation>\n"
1115     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_aspartate_cyt_1\"/>\n"
1116     "</annotation>\n"
1117     "          </speciesReference>\n"
1118     "          <speciesReference species=\"aKetoglutarate_cyt\">\n"
1119     "            <annotation>\n"
1120     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_aKetoglutarate_cyt_1\"/>\n"
1121     "</annotation>\n"
1122     "          </speciesReference>\n"
1123     "        </listOfProducts>\n"
1124     "      </reaction>\n"
1125     "      <reaction id=\"reaction_malatedh_mito1\" name=\"malate dehydrogenase\" reversible=\"false\">\n"
1126     "        <listOfReactants>\n"
1127     "          <speciesReference species=\"malate_mito1\">\n"
1128     "            <annotation>\n"
1129     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_malate_mito1\"/>\n"
1130     "</annotation>\n"
1131     "          </speciesReference>\n"
1132     "          <speciesReference species=\"nad_mito1\">\n"
1133     "            <annotation>\n"
1134     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_nad_mito1\"/>\n"
1135     "</annotation>\n"
1136     "          </speciesReference>\n"
1137     "        </listOfReactants>\n"
1138     "        <listOfProducts>\n"
1139     "          <speciesReference species=\"nadh_mito1\">\n"
1140     "            <annotation>\n"
1141     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_nadh_mito1\"/>\n"
1142     "</annotation>\n"
1143     "          </speciesReference>\n"
1144     "          <speciesReference species=\"h_mito1\">\n"
1145     "            <annotation>\n"
1146     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_h_mito1\"/>\n"
1147     "</annotation>\n"
1148     "          </speciesReference>\n"
1149     "          <speciesReference species=\"oxaloacetate_mito1\">\n"
1150     "            <annotation>\n"
1151     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_oxaloacetate_mito1_1\"/>\n"
1152     "</annotation>\n"
1153     "          </speciesReference>\n"
1154     "        </listOfProducts>\n"
1155     "      </reaction>\n"
1156     "      <reaction id=\"reaction_aspartateat_mito1\" name=\"aspartate aminotransferase\" reversible=\"false\">\n"
1157     "        <listOfReactants>\n"
1158     "          <speciesReference species=\"oxaloacetate_mito1\">\n"
1159     "            <annotation>\n"
1160     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_oxaloacetate_mito1_2\"/>\n"
1161     "</annotation>\n"
1162     "          </speciesReference>\n"
1163     "          <speciesReference species=\"glutamate_mito1\">\n"
1164     "            <annotation>\n"
1165     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_glutamate_mito1\"/>\n"
1166     "</annotation>\n"
1167     "          </speciesReference>\n"
1168     "        </listOfReactants>\n"
1169     "        <listOfProducts>\n"
1170     "          <speciesReference species=\"aspartate_mito1\">\n"
1171     "            <annotation>\n"
1172     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_aspartate_mito1\"/>\n"
1173     "</annotation>\n"
1174     "          </speciesReference>\n"
1175     "          <speciesReference species=\"aKetoglutarate_mito1\">\n"
1176     "            <annotation>\n"
1177     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_aKetoglutarate_mito1\"/>\n"
1178     "</annotation>\n"
1179     "          </speciesReference>\n"
1180     "        </listOfProducts>\n"
1181     "      </reaction>\n"
1182     "      <reaction id=\"reaction_malatedh_mito2\" name=\"malate dehydrogenase\" reversible=\"false\">\n"
1183     "        <listOfReactants>\n"
1184     "          <speciesReference species=\"malate_mito2\">\n"
1185     "            <annotation>\n"
1186     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_malate_mito2\"/>\n"
1187     "</annotation>\n"
1188     "          </speciesReference>\n"
1189     "          <speciesReference species=\"nad_mito2\">\n"
1190     "            <annotation>\n"
1191     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_nad_mito2\"/>\n"
1192     "</annotation>\n"
1193     "          </speciesReference>\n"
1194     "        </listOfReactants>\n"
1195     "        <listOfProducts>\n"
1196     "          <speciesReference species=\"nadh_mito2\">\n"
1197     "            <annotation>\n"
1198     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_nadh_mito2\"/>\n"
1199     "</annotation>\n"
1200     "          </speciesReference>\n"
1201     "          <speciesReference species=\"h_mito2\">\n"
1202     "            <annotation>\n"
1203     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_h_mito2\"/>\n"
1204     "</annotation>\n"
1205     "          </speciesReference>\n"
1206     "          <speciesReference species=\"oxaloacetate_mito2\">\n"
1207     "            <annotation>\n"
1208     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_oxaloacetate_mito2_1\"/>\n"
1209     "</annotation>\n"
1210     "          </speciesReference>\n"
1211     "        </listOfProducts>\n"
1212     "      </reaction>\n"
1213     "      <reaction id=\"reaction_aspartateat_mito2\" name=\"aspartate aminotransferase\" reversible=\"false\">\n"
1214     "        <listOfReactants>\n"
1215     "          <speciesReference species=\"oxaloacetate_mito2\">\n"
1216     "            <annotation>\n"
1217     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_oxaloacetate_mito2_2\"/>\n"
1218     "</annotation>\n"
1219     "          </speciesReference>\n"
1220     "          <speciesReference species=\"glutamate_mito2\">\n"
1221     "            <annotation>\n"
1222     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_glutamate_mito2\"/>\n"
1223     "</annotation>\n"
1224     "          </speciesReference>\n"
1225     "        </listOfReactants>\n"
1226     "        <listOfProducts>\n"
1227     "          <speciesReference species=\"aspartate_mito2\">\n"
1228     "            <annotation>\n"
1229     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_aspartate_mito2\"/>\n"
1230     "</annotation>\n"
1231     "          </speciesReference>\n"
1232     "          <speciesReference species=\"aKetoglutarate_mito2\">\n"
1233     "            <annotation>\n"
1234     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_aKetoglutarate_mito2\"/>\n"
1235     "</annotation>\n"
1236     "          </speciesReference>\n"
1237     "        </listOfProducts>\n"
1238     "      </reaction>\n"
1239     "      <reaction id=\"reaction_malatedh_mito3\" name=\"malate dehydrogenase\" reversible=\"false\">\n"
1240     "        <listOfReactants>\n"
1241     "          <speciesReference species=\"malate_mito3\">\n"
1242     "            <annotation>\n"
1243     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_malate_mito3\"/>\n"
1244     "</annotation>\n"
1245     "          </speciesReference>\n"
1246     "          <speciesReference species=\"nad_mito3\">\n"
1247     "            <annotation>\n"
1248     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_nad_mito3\"/>\n"
1249     "</annotation>\n"
1250     "          </speciesReference>\n"
1251     "        </listOfReactants>\n"
1252     "        <listOfProducts>\n"
1253     "          <speciesReference species=\"nadh_mito3\">\n"
1254     "            <annotation>\n"
1255     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_nadh_mito3\"/>\n"
1256     "</annotation>\n"
1257     "          </speciesReference>\n"
1258     "          <speciesReference species=\"h_mito3\">\n"
1259     "            <annotation>\n"
1260     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_h_mito3\"/>\n"
1261     "</annotation>\n"
1262     "          </speciesReference>\n"
1263     "          <speciesReference species=\"oxaloacetate_mito3\">\n"
1264     "            <annotation>\n"
1265     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_oxaloacetate_mito3_1\"/>\n"
1266     "</annotation>\n"
1267     "          </speciesReference>\n"
1268     "        </listOfProducts>\n"
1269     "      </reaction>\n"
1270     "      <reaction id=\"reaction_aspartateat_mito3\" name=\"aspartate aminotransferase\" reversible=\"false\">\n"
1271     "        <listOfReactants>\n"
1272     "          <speciesReference species=\"oxaloacetate_mito3\">\n"
1273     "            <annotation>\n"
1274     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_oxaloacetate_mito3_2\"/>\n"
1275     "</annotation>\n"
1276     "          </speciesReference>\n"
1277     "          <speciesReference species=\"glutamate_mito3\">\n"
1278     "            <annotation>\n"
1279     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_glutamate_mito3_1\"/>\n"
1280     "</annotation>\n"
1281     "          </speciesReference>\n"
1282     "        </listOfReactants>\n"
1283     "        <listOfProducts>\n"
1284     "          <speciesReference species=\"aspartate_mito3\">\n"
1285     "            <annotation>\n"
1286     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_aspartate_mito3_1\"/>\n"
1287     "</annotation>\n"
1288     "          </speciesReference>\n"
1289     "          <speciesReference species=\"aKetoglutarate_mito3\">\n"
1290     "            <annotation>\n"
1291     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_aKetoglutarate_mito3_1\"/>\n"
1292     "</annotation>\n"
1293     "          </speciesReference>\n"
1294     "        </listOfProducts>\n"
1295     "      </reaction>\n"
1296     "      <reaction id=\"aspartateCarrier\" name=\"aspartate carrier\">\n"
1297     "        <listOfReactants>\n"
1298     "          <speciesReference species=\"glutamate_mito3\">\n"
1299     "            <annotation>\n"
1300     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_glutamate_mito3_2\"/>\n"
1301     "</annotation>\n"
1302     "          </speciesReference>\n"
1303     "          <speciesReference species=\"aspartate_cyt\">\n"
1304     "            <annotation>\n"
1305     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_aspartate_cyt_2\"/>\n"
1306     "</annotation>\n"
1307     "          </speciesReference>\n"
1308     "        </listOfReactants>\n"
1309     "        <listOfProducts>\n"
1310     "          <speciesReference species=\"glutamate_cyt\">\n"
1311     "            <annotation>\n"
1312     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_glutamate_cyt_2\"/>\n"
1313     "</annotation>\n"
1314     "          </speciesReference>\n"
1315     "          <speciesReference species=\"aspartate_mito3\">\n"
1316     "            <annotation>\n"
1317     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_aspartate_mito3_2\"/>\n"
1318     "</annotation>\n"
1319     "          </speciesReference>\n"
1320     "        </listOfProducts>\n"
1321     "      </reaction>\n"
1322     "      <reaction id=\"malateCarrier\" name=\"malate carrier\">\n"
1323     "        <listOfReactants>\n"
1324     "          <speciesReference species=\"aKetoglutarate_mito3\">\n"
1325     "            <annotation>\n"
1326     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_aKetoglutarate_mito3_2\"/>\n"
1327     "</annotation>\n"
1328     "          </speciesReference>\n"
1329     "          <speciesReference species=\"malate_cyt\">\n"
1330     "            <annotation>\n"
1331     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_malate_cyt_2\"/>\n"
1332     "</annotation>\n"
1333     "          </speciesReference>\n"
1334     "        </listOfReactants>\n"
1335     "        <listOfProducts>\n"
1336     "          <speciesReference species=\"aKetoglutarate_cyt\">\n"
1337     "            <annotation>\n"
1338     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_aKetoglutarate_cyt_2\"/>\n"
1339     "</annotation>\n"
1340     "          </speciesReference>\n"
1341     "          <speciesReference species=\"malate_mito3\">\n"
1342     "            <annotation>\n"
1343     "  <layoutId xmlns=\"http://projects.eml.org/bcb/sbml/level2\" id=\"sr_malate_mito3_2\"/>\n"
1344     "</annotation>\n"
1345     "          </speciesReference>\n"
1346     "        </listOfProducts>\n"
1347     "      </reaction>\n"
1348     "    </listOfReactions>\n"
1349     "  </model>\n"
1350     "</sbml> \n"
1351     ;
1352 
1353   XMLInputStream stream(s,false);
1354   XMLNode node(stream);
1355   // create the document
1356 
1357   SBMLDocument *document=new SBMLDocument(2,1);
1358 
1359   document->enablePackage(LayoutExtension::getXmlnsL2(), "layout", true);
1360   document->enablePackage(RenderExtension::getXmlnsL2(), "render", true);
1361 
1362   LayoutPkgNamespaces layoutns(2);
1363 
1364   // create the Model
1365 
1366   Model* model=document->createModel();
1367   model->setId("TestModel");
1368   document->setModel(model);
1369 
1370   // create the Compartment
1371 
1372   Compartment* compartment=model->createCompartment();
1373   compartment->setId("Hepatocyte");
1374   compartment->setName("Hepatocyte");
1375 
1376   Compartment* mito1=model->createCompartment();
1377   mito1->setId("Mito_1");
1378   mito1->setName("Mito 1");
1379   mito1->setOutside(compartment->getId());
1380 
1381   Compartment* mito2=model->createCompartment();
1382   mito2->setId("Mito_2");
1383   mito2->setName("Mito 2");
1384   mito2->setOutside(compartment->getId());
1385 
1386   Compartment* mito3=model->createCompartment();
1387   mito3->setId("Mito_3");
1388   mito3->setName("Mito 3");
1389   mito3->setOutside(compartment->getId());
1390 
1391 
1392   // create the Species
1393 
1394   // Malate
1395   Species* malate_cyt=model->createSpecies();
1396   malate_cyt->setId("malate_cyt");
1397   malate_cyt->setName("Malate");
1398   malate_cyt->setCompartment(compartment->getId());
1399 
1400   Species* malate_mito1=model->createSpecies();
1401   malate_mito1->setId("malate_mito1");
1402   malate_mito1->setCompartment(mito1->getId());
1403   malate_mito1->setName("Malate");
1404 
1405   Species* malate_mito2=model->createSpecies();
1406   malate_mito2->setId("malate_mito2");
1407   malate_mito2->setCompartment(mito2->getId());
1408   malate_mito2->setName("Malate");
1409 
1410   Species* malate_mito3=model->createSpecies();
1411   malate_mito3->setId("malate_mito3");
1412   malate_mito3->setCompartment(mito3->getId());
1413   malate_mito3->setName("Malate");
1414 
1415 
1416   // Oxaloacetate
1417   Species* oxaloacetate_cyt=model->createSpecies();
1418   oxaloacetate_cyt->setId("oxaloacetate_cyt");
1419   oxaloacetate_cyt->setName("Oxaloacetate");
1420   oxaloacetate_cyt->setCompartment(compartment->getId());
1421 
1422   Species* oxaloacetate_mito1=model->createSpecies();
1423   oxaloacetate_mito1->setId("oxaloacetate_mito1");
1424   oxaloacetate_mito1->setCompartment(mito1->getId());
1425   oxaloacetate_mito1->setName("Oxaloacetate");
1426 
1427   Species* oxaloacetate_mito2=model->createSpecies();
1428   oxaloacetate_mito2->setId("oxaloacetate_mito2");
1429   oxaloacetate_mito2->setCompartment(mito2->getId());
1430   oxaloacetate_mito2->setName("Oxaloacetate");
1431 
1432   Species* oxaloacetate_mito3=model->createSpecies();
1433   oxaloacetate_mito3->setId("oxaloacetate_mito3");
1434   oxaloacetate_mito3->setCompartment(mito3->getId());
1435   oxaloacetate_mito3->setName("Oxaloacetate");
1436 
1437 
1438   // Aspartate
1439   Species* aspartate_cyt=model->createSpecies();
1440   aspartate_cyt->setId("aspartate_cyt");
1441   aspartate_cyt->setName("Aspartate");
1442   aspartate_cyt->setCompartment(compartment->getId());
1443 
1444   Species* aspartate_mito1=model->createSpecies();
1445   aspartate_mito1->setId("aspartate_mito1");
1446   aspartate_mito1->setCompartment(mito1->getId());
1447   aspartate_mito1->setName("Aspartate");
1448 
1449   Species* aspartate_mito2=model->createSpecies();
1450   aspartate_mito2->setId("aspartate_mito2");
1451   aspartate_mito2->setCompartment(mito2->getId());
1452   aspartate_mito2->setName("Aspartate");
1453 
1454   Species* aspartate_mito3=model->createSpecies();
1455   aspartate_mito3->setId("aspartate_mito3");
1456   aspartate_mito3->setCompartment(mito3->getId());
1457   aspartate_mito3->setName("Aspartate");
1458 
1459 
1460   // Glutamate
1461   Species* glutamate_cyt=model->createSpecies();
1462   glutamate_cyt->setId("glutamate_cyt");
1463   glutamate_cyt->setName("Glutamate");
1464   glutamate_cyt->setCompartment(compartment->getId());
1465 
1466   Species* glutamate_mito1=model->createSpecies();
1467   glutamate_mito1->setId("glutamate_mito1");
1468   glutamate_mito1->setCompartment(mito1->getId());
1469   glutamate_mito1->setName("Glutamate");
1470 
1471   Species* glutamate_mito2=model->createSpecies();
1472   glutamate_mito2->setId("glutamate_mito2");
1473   glutamate_mito2->setCompartment(mito2->getId());
1474   glutamate_mito2->setName("Glutamate");
1475 
1476   Species* glutamate_mito3=model->createSpecies();
1477   glutamate_mito3->setId("glutamate_mito3");
1478   glutamate_mito3->setCompartment(mito3->getId());
1479   glutamate_mito3->setName("Glutamate");
1480 
1481 
1482   // alpha-Ketoglutarate
1483   Species* aKetoglutarate_cyt=model->createSpecies();
1484   aKetoglutarate_cyt->setId("aKetoglutarate_cyt");
1485   aKetoglutarate_cyt->setName("alpha-Ketoglutarate");
1486   aKetoglutarate_cyt->setCompartment(compartment->getId());
1487 
1488   Species* aKetoglutarate_mito1=model->createSpecies();
1489   aKetoglutarate_mito1->setId("aKetoglutarate_mito1");
1490   aKetoglutarate_mito1->setCompartment(mito1->getId());
1491   aKetoglutarate_mito1->setName("alpha-Ketoglutarate");
1492 
1493   Species* aKetoglutarate_mito2=model->createSpecies();
1494   aKetoglutarate_mito2->setId("aKetoglutarate_mito2");
1495   aKetoglutarate_mito2->setCompartment(mito2->getId());
1496   aKetoglutarate_mito2->setName("alpha-Ketoglutarate");
1497 
1498   Species* aKetoglutarate_mito3=model->createSpecies();
1499   aKetoglutarate_mito3->setId("aKetoglutarate_mito3");
1500   aKetoglutarate_mito3->setCompartment(mito3->getId());
1501   aKetoglutarate_mito3->setName("alpha-Ketoglutarate");
1502 
1503 
1504   // protons
1505   Species* h_cyt=model->createSpecies();
1506   h_cyt->setId("h_cyt");
1507   h_cyt->setName("H+");
1508   h_cyt->setCompartment(compartment->getId());
1509 
1510   Species* h_mito1=model->createSpecies();
1511   h_mito1->setId("h_mito1");
1512   h_mito1->setCompartment(mito1->getId());
1513   h_mito1->setName("H+");
1514 
1515   Species* h_mito2=model->createSpecies();
1516   h_mito2->setId("h_mito2");
1517   h_mito2->setCompartment(mito2->getId());
1518   h_mito2->setName("H+");
1519 
1520   Species* h_mito3=model->createSpecies();
1521   h_mito3->setId("h_mito3");
1522   h_mito3->setCompartment(mito3->getId());
1523   h_mito3->setName("H+");
1524 
1525 
1526   // NAD+
1527   Species* nad_cyt=model->createSpecies();
1528   nad_cyt->setId("nad_cyt");
1529   nad_cyt->setName("NAD+");
1530   nad_cyt->setCompartment(compartment->getId());
1531 
1532   Species* nad_mito1=model->createSpecies();
1533   nad_mito1->setId("nad_mito1");
1534   nad_mito1->setCompartment(mito1->getId());
1535   nad_mito1->setName("NAD+");
1536 
1537   Species* nad_mito2=model->createSpecies();
1538   nad_mito2->setId("nad_mito2");
1539   nad_mito2->setCompartment(mito2->getId());
1540   nad_mito2->setName("NAD+");
1541 
1542   Species* nad_mito3=model->createSpecies();
1543   nad_mito3->setId("nad_mito3");
1544   nad_mito3->setCompartment(mito3->getId());
1545   nad_mito3->setName("NAD+");
1546 
1547 
1548   // NADH
1549   Species* nadh_cyt=model->createSpecies();
1550   nadh_cyt->setId("nadh_cyt");
1551   nadh_cyt->setName("NADH");
1552   nadh_cyt->setCompartment(compartment->getId());
1553 
1554   Species* nadh_mito1=model->createSpecies();
1555   nadh_mito1->setId("nadh_mito1");
1556   nadh_mito1->setCompartment(mito1->getId());
1557   nadh_mito1->setName("NADH");
1558 
1559   Species* nadh_mito2=model->createSpecies();
1560   nadh_mito2->setId("nadh_mito2");
1561   nadh_mito2->setCompartment(mito2->getId());
1562   nadh_mito2->setName("NADH");
1563 
1564   Species* nadh_mito3=model->createSpecies();
1565   nadh_mito3->setId("nadh_mito3");
1566   nadh_mito3->setCompartment(mito3->getId());
1567   nadh_mito3->setName("NADH");
1568 
1569 
1570 
1571 
1572   // create the Reactions
1573 
1574   // Cytosol
1575 
1576   // Malate Dehydrogenase
1577   Reaction* malatedh_cyt=model->createReaction();
1578   malatedh_cyt->setId("reaction_malatedh_cyt");
1579   malatedh_cyt->setName("malate dehydrogenase");
1580   malatedh_cyt->setReversible(false);
1581 
1582   SpeciesReference* sr_malate_cyt=malatedh_cyt->createReactant();
1583   sr_malate_cyt->setSpecies(malate_cyt->getId());
1584   sr_malate_cyt->setId("sr_malate_cyt");
1585 
1586   SpeciesReference* sr_nad_cyt=malatedh_cyt->createReactant();
1587   sr_nad_cyt->setSpecies(nad_cyt->getId());
1588   sr_nad_cyt->setId("sr_nad_cyt");
1589 
1590   SpeciesReference* sr_nadh_cyt=malatedh_cyt->createProduct();
1591   sr_nadh_cyt->setSpecies(nadh_cyt->getId());
1592   sr_nadh_cyt->setId("sr_nadh_cyt");
1593 
1594   SpeciesReference* sr_h_cyt=malatedh_cyt->createProduct();
1595   sr_h_cyt->setSpecies(h_cyt->getId());
1596   sr_h_cyt->setId("sr_h_cyt");
1597 
1598   SpeciesReference* sr_oxaloacetate_cyt_1=malatedh_cyt->createProduct();
1599   sr_oxaloacetate_cyt_1->setSpecies(oxaloacetate_cyt->getId());
1600   sr_oxaloacetate_cyt_1->setId("sr_oxaloacetate_cyt_1");
1601 
1602   //Aspartate Aminotransferase
1603   Reaction* aspartateat_cyt=model->createReaction();
1604   aspartateat_cyt->setId("reaction_aspartateat_cyt");
1605   aspartateat_cyt->setName("aspartate aminotransferase");
1606   aspartateat_cyt->setReversible(false);
1607 
1608   SpeciesReference* sr_oxaloacetate_cyt_2=aspartateat_cyt->createReactant();
1609   sr_oxaloacetate_cyt_2->setSpecies(oxaloacetate_cyt->getId());
1610   sr_oxaloacetate_cyt_2->setId("sr_oxaloacetate_cyt_2");
1611 
1612   SpeciesReference* sr_glutamate_cyt_1=aspartateat_cyt->createReactant();
1613   sr_glutamate_cyt_1->setSpecies(glutamate_cyt->getId());
1614   sr_glutamate_cyt_1->setId("sr_glutamate_cyt_1");
1615 
1616   SpeciesReference* sr_aspartate_cyt_1=aspartateat_cyt->createProduct();
1617   sr_aspartate_cyt_1->setSpecies(aspartate_cyt->getId());
1618   sr_aspartate_cyt_1->setId("sr_aspartate_cyt_1");
1619 
1620   SpeciesReference* sr_aKetoglutarate_cyt_1=aspartateat_cyt->createProduct();
1621   sr_aKetoglutarate_cyt_1->setSpecies(aKetoglutarate_cyt->getId());
1622   sr_aKetoglutarate_cyt_1->setId("sr_aKetoglutarate_cyt_1");
1623 
1624 
1625   // Mito 1
1626 
1627   // Malate Dehydrogenase
1628   Reaction* malatedh_mito1=model->createReaction();
1629   malatedh_mito1->setId("reaction_malatedh_mito1");
1630   malatedh_mito1->setName("malate dehydrogenase");
1631   malatedh_mito1->setReversible(false);
1632 
1633   SpeciesReference* sr_malate_mito1=malatedh_mito1->createReactant();
1634   sr_malate_mito1->setSpecies(malate_mito1->getId());
1635   sr_malate_mito1->setId("sr_malate_mito1");
1636 
1637   SpeciesReference* sr_nad_mito1=malatedh_mito1->createReactant();
1638   sr_nad_mito1->setSpecies(nad_mito1->getId());
1639   sr_nad_mito1->setId("sr_nad_mito1");
1640 
1641   SpeciesReference* sr_nadh_mito1=malatedh_mito1->createProduct();
1642   sr_nadh_mito1->setSpecies(nadh_mito1->getId());
1643   sr_nadh_mito1->setId("sr_nadh_mito1");
1644 
1645   SpeciesReference* sr_h_mito1=malatedh_mito1->createProduct();
1646   sr_h_mito1->setSpecies(h_mito1->getId());
1647   sr_h_mito1->setId("sr_h_mito1");
1648 
1649   SpeciesReference* sr_oxaloacetate_mito1_1=malatedh_mito1->createProduct();
1650   sr_oxaloacetate_mito1_1->setSpecies(oxaloacetate_mito1->getId());
1651   sr_oxaloacetate_mito1_1->setId("sr_oxaloacetate_mito1_1");
1652 
1653   //Aspartate Aminotransferase
1654   Reaction* aspartateat_mito1=model->createReaction();
1655   aspartateat_mito1->setId("reaction_aspartateat_mito1");
1656   aspartateat_mito1->setName("aspartate aminotransferase");
1657   aspartateat_mito1->setReversible(false);
1658 
1659   SpeciesReference* sr_oxaloacetate_mito1_2=aspartateat_mito1->createReactant();
1660   sr_oxaloacetate_mito1_2->setSpecies(oxaloacetate_mito1->getId());
1661   sr_oxaloacetate_mito1_2->setId("sr_oxaloacetate_mito1_2");
1662 
1663   SpeciesReference* sr_glutamate_mito1=aspartateat_mito1->createReactant();
1664   sr_glutamate_mito1->setSpecies(glutamate_mito1->getId());
1665   sr_glutamate_mito1->setId("sr_glutamate_mito1");
1666 
1667   SpeciesReference* sr_aspartate_mito1=aspartateat_mito1->createProduct();
1668   sr_aspartate_mito1->setSpecies(aspartate_mito1->getId());
1669   sr_aspartate_mito1->setId("sr_aspartate_mito1");
1670 
1671   SpeciesReference* sr_aKetoglutarate_mito1=aspartateat_mito1->createProduct();
1672   sr_aKetoglutarate_mito1->setSpecies(aKetoglutarate_mito1->getId());
1673   sr_aKetoglutarate_mito1->setId("sr_aKetoglutarate_mito1");
1674 
1675 
1676   // Mito 2
1677 
1678   // Malate Dehydrogenase
1679   Reaction* malatedh_mito2=model->createReaction();
1680   malatedh_mito2->setId("reaction_malatedh_mito2");
1681   malatedh_mito2->setName("malate dehydrogenase");
1682   malatedh_mito2->setReversible(false);
1683 
1684   SpeciesReference* sr_malate_mito2=malatedh_mito2->createReactant();
1685   sr_malate_mito2->setSpecies(malate_mito2->getId());
1686   sr_malate_mito2->setId("sr_malate_mito2");
1687 
1688   SpeciesReference* sr_nad_mito2=malatedh_mito2->createReactant();
1689   sr_nad_mito2->setSpecies(nad_mito2->getId());
1690   sr_nad_mito2->setId("sr_nad_mito2");
1691 
1692   SpeciesReference* sr_nadh_mito2=malatedh_mito2->createProduct();
1693   sr_nadh_mito2->setSpecies(nadh_mito2->getId());
1694   sr_nadh_mito2->setId("sr_nadh_mito2");
1695 
1696   SpeciesReference* sr_h_mito2=malatedh_mito2->createProduct();
1697   sr_h_mito2->setSpecies(h_mito2->getId());
1698   sr_h_mito2->setId("sr_h_mito2");
1699 
1700   SpeciesReference* sr_oxaloacetate_mito2_1=malatedh_mito2->createProduct();
1701   sr_oxaloacetate_mito2_1->setSpecies(oxaloacetate_mito2->getId());
1702   sr_oxaloacetate_mito2_1->setId("sr_oxaloacetate_mito2_1");
1703 
1704   //Aspartate Aminotransferase
1705   Reaction* aspartateat_mito2=model->createReaction();
1706   aspartateat_mito2->setId("reaction_aspartateat_mito2");
1707   aspartateat_mito2->setName("aspartate aminotransferase");
1708   aspartateat_mito2->setReversible(false);
1709 
1710   SpeciesReference* sr_oxaloacetate_mito2_2=aspartateat_mito2->createReactant();
1711   sr_oxaloacetate_mito2_2->setSpecies(oxaloacetate_mito2->getId());
1712   sr_oxaloacetate_mito2_2->setId("sr_oxaloacetate_mito2_2");
1713 
1714   SpeciesReference* sr_glutamate_mito2=aspartateat_mito2->createReactant();
1715   sr_glutamate_mito2->setSpecies(glutamate_mito2->getId());
1716   sr_glutamate_mito2->setId("sr_glutamate_mito2");
1717 
1718   SpeciesReference* sr_aspartate_mito2=aspartateat_mito2->createProduct();
1719   sr_aspartate_mito2->setSpecies(aspartate_mito2->getId());
1720   sr_aspartate_mito2->setId("sr_aspartate_mito2");
1721 
1722   SpeciesReference* sr_aKetoglutarate_mito2=aspartateat_mito2->createProduct();
1723   sr_aKetoglutarate_mito2->setSpecies(aKetoglutarate_mito2->getId());
1724   sr_aKetoglutarate_mito2->setId("sr_aKetoglutarate_mito2");
1725 
1726 
1727   // Mito 3
1728 
1729   // Malate Dehydrogenase
1730   Reaction* malatedh_mito3=model->createReaction();
1731   malatedh_mito3->setId("reaction_malatedh_mito3");
1732   malatedh_mito3->setName("malate dehydrogenase");
1733   malatedh_mito3->setReversible(false);
1734 
1735   SpeciesReference* sr_malate_mito3=malatedh_mito3->createReactant();
1736   sr_malate_mito3->setSpecies(malate_mito3->getId());
1737   sr_malate_mito3->setId("sr_malate_mito3");
1738 
1739   SpeciesReference* sr_nad_mito3=malatedh_mito3->createReactant();
1740   sr_nad_mito3->setSpecies(nad_mito3->getId());
1741   sr_nad_mito3->setId("sr_nad_mito3");
1742 
1743   SpeciesReference* sr_nadh_mito3=malatedh_mito3->createProduct();
1744   sr_nadh_mito3->setSpecies(nadh_mito3->getId());
1745   sr_nadh_mito3->setId("sr_nadh_mito3");
1746 
1747   SpeciesReference* sr_h_mito3=malatedh_mito3->createProduct();
1748   sr_h_mito3->setSpecies(h_mito3->getId());
1749   sr_h_mito3->setId("sr_h_mito3");
1750 
1751   SpeciesReference* sr_oxaloacetate_mito3_1=malatedh_mito3->createProduct();
1752   sr_oxaloacetate_mito3_1->setSpecies(oxaloacetate_mito3->getId());
1753   sr_oxaloacetate_mito3_1->setId("sr_oxaloacetate_mito3_1");
1754 
1755   //Aspartate Aminotransferase
1756   Reaction* aspartateat_mito3=model->createReaction();
1757   aspartateat_mito3->setId("reaction_aspartateat_mito3");
1758   aspartateat_mito3->setName("aspartate aminotransferase");
1759   aspartateat_mito3->setReversible(false);
1760 
1761   SpeciesReference* sr_oxaloacetate_mito3_2=aspartateat_mito3->createReactant();
1762   sr_oxaloacetate_mito3_2->setSpecies(oxaloacetate_mito3->getId());
1763   sr_oxaloacetate_mito3_2->setId("sr_oxaloacetate_mito3_2");
1764 
1765 
1766   SpeciesReference* sr_glutamate_mito3_1=aspartateat_mito3->createReactant();
1767   sr_glutamate_mito3_1->setSpecies(glutamate_mito3->getId());
1768   sr_glutamate_mito3_1->setId("sr_glutamate_mito3_1");
1769 
1770 
1771   SpeciesReference* sr_aspartate_mito3_1=aspartateat_mito3->createProduct();
1772   sr_aspartate_mito3_1->setSpecies(aspartate_mito3->getId());
1773   sr_aspartate_mito3_1->setId("sr_aspartate_mito3_1");
1774 
1775 
1776   SpeciesReference* sr_aKetoglutarate_mito3_1=aspartateat_mito3->createProduct();
1777   sr_aKetoglutarate_mito3_1->setSpecies(aKetoglutarate_mito3->getId());
1778   sr_aKetoglutarate_mito3_1->setId("sr_aKetoglutarate_mito3_1");
1779 
1780 
1781   // aspartate carrier
1782 
1783   Reaction* aspartateCarrier=model->createReaction();
1784   aspartateCarrier->setId("aspartateCarrier");
1785   aspartateCarrier->setName("aspartate carrier");
1786   aspartateCarrier->setReversible(true);
1787 
1788   SpeciesReference* sr_glutamate_mito3_2=aspartateCarrier->createReactant();
1789   sr_glutamate_mito3_2->setSpecies(glutamate_mito3->getId());
1790   sr_glutamate_mito3_2->setId("sr_glutamate_mito3_2");
1791 
1792   SpeciesReference* sr_aspartate_cyt_2=aspartateCarrier->createReactant();
1793   sr_aspartate_cyt_2->setSpecies(aspartate_cyt->getId());
1794   sr_aspartate_cyt_2->setId("sr_aspartate_cyt_2");
1795 
1796   SpeciesReference* sr_glutamate_cyt_2=aspartateCarrier->createProduct();
1797   sr_glutamate_cyt_2->setSpecies(glutamate_cyt->getId());
1798   sr_glutamate_cyt_2->setId("sr_glutamate_cyt_2");
1799 
1800   SpeciesReference* sr_aspartate_mito3_2=aspartateCarrier->createProduct();
1801   sr_aspartate_mito3_2->setSpecies(aspartate_mito3->getId());
1802   sr_aspartate_mito3_2->setId("sr_aspartate_mito3_2");
1803 
1804   // malate carrier
1805 
1806   Reaction* malateCarrier=model->createReaction();
1807   malateCarrier->setId("malateCarrier");
1808   malateCarrier->setName("malate carrier");
1809   malateCarrier->setReversible(true);
1810 
1811   SpeciesReference* sr_aKetoglutarate_mito3_2=malateCarrier->createReactant();
1812   sr_aKetoglutarate_mito3_2->setSpecies(aKetoglutarate_mito3->getId());
1813   sr_aKetoglutarate_mito3_2->setId("sr_aKetoglutarate_mito3_2");
1814 
1815   SpeciesReference* sr_malate_cyt_2=malateCarrier->createReactant();
1816   sr_malate_cyt_2->setSpecies(malate_cyt->getId());
1817   sr_malate_cyt_2->setId("sr_malate_cyt_2");
1818 
1819   SpeciesReference* sr_aKetoglutarate_cyt_2=malateCarrier->createProduct();
1820   sr_aKetoglutarate_cyt_2->setSpecies(aKetoglutarate_cyt->getId());
1821   sr_aKetoglutarate_cyt_2->setId("sr_aKetoglutarate_cyt_2");
1822 
1823   SpeciesReference* sr_malate_mito3_2=malateCarrier->createProduct();
1824   sr_malate_mito3_2->setSpecies(malate_mito3->getId());
1825   sr_malate_mito3_2->setId("sr_malate_mito3_2");
1826 
1827 
1828   /////////// create the Layout
1829   LayoutModelPlugin *plugin = (LayoutModelPlugin*)model->getPlugin("layout");
1830   fail_unless(plugin != NULL);
1831   if (plugin == NULL) return;
1832 
1833   Layout* layout=plugin->createLayout();
1834 
1835   layout->setId("Layout_1");
1836   Dimensions dim(&layoutns, 2320.0,1000.0);
1837   layout->setDimensions(&dim);
1838 
1839 
1840   // create the CompartmentGlyph
1841 
1842   CompartmentGlyph* compartmentGlyph=layout->createCompartmentGlyph();
1843   compartmentGlyph->setId("CompartmentGlyph_1");
1844   compartmentGlyph->setCompartmentId(compartment->getId());
1845   BoundingBox bb=BoundingBox(&layoutns, "bb_compartment",10,10,2300,980);
1846   compartmentGlyph->setBoundingBox(&bb);
1847 
1848   TextGlyph* tg=layout->createTextGlyph();
1849   tg->setId("TextGlyph_Hepatocyte");
1850   tg->setOriginOfTextId(compartment->getId());
1851   bb=BoundingBox(&layoutns, "bb_tg_compartment",50,870,300,72);
1852   tg->setBoundingBox(&bb);
1853   tg->setGraphicalObjectId(compartmentGlyph->getId());
1854 
1855   CompartmentGlyph* mito1Glyph=layout->createCompartmentGlyph();
1856   mito1Glyph->setId("Mito1_Glyph");
1857   mito1Glyph->setCompartmentId(mito1->getId());
1858   bb=BoundingBox(&layoutns, "bb_mito1",100,100,300,100);
1859   mito1Glyph->setBoundingBox(&bb);
1860 
1861   tg=layout->createTextGlyph();
1862   tg->setId("TextGlyph_mito1");
1863   tg->setOriginOfTextId(mito1->getId());
1864   bb=BoundingBox(&layoutns, "bb_tg_mito1",110,110,280,72);
1865   tg->setBoundingBox(&bb);
1866   tg->setGraphicalObjectId(mito1Glyph->getId());
1867 
1868 
1869   CompartmentGlyph* mito2Glyph=layout->createCompartmentGlyph();
1870   mito2Glyph->setId("Mito2_Glyph");
1871   mito2Glyph->setCompartmentId(mito2->getId());
1872   bb=BoundingBox(&layoutns, "bb_mito2",200,650,300,100);
1873   mito2Glyph->setBoundingBox(&bb);
1874 
1875   tg=layout->createTextGlyph();
1876   tg->setId("TextGlyph_mito2");
1877   tg->setOriginOfTextId(mito2->getId());
1878   bb=BoundingBox(&layoutns, "bb_tg_mito2",210,660,280,72);
1879   tg->setBoundingBox(&bb);
1880   tg->setGraphicalObjectId(mito2Glyph->getId());
1881 
1882   CompartmentGlyph* mito3Glyph_2=layout->createCompartmentGlyph();
1883   mito3Glyph_2->setId("Mito3_Glyph_2");
1884   mito3Glyph_2->setCompartmentId(mito3->getId());
1885   bb=BoundingBox(&layoutns, "bb_mito3_2",1470,30,820,536);
1886   mito3Glyph_2->setBoundingBox(&bb);
1887 
1888   tg=layout->createTextGlyph();
1889   tg->setId("TextGlyph_mito3_2");
1890   tg->setOriginOfTextId(mito3->getId());
1891   bb=BoundingBox(&layoutns, "bb_tg_mito3_2",1475,35,200,72);
1892   tg->setBoundingBox(&bb);
1893   tg->setGraphicalObjectId(mito3Glyph_2->getId());
1894 
1895 
1896 
1897 
1898   // create the SpeciesGlyphs
1899 
1900   // Cytosol
1901 
1902   // Malate cyt
1903   SpeciesGlyph* speciesGlyph_malate_cyt=layout->createSpeciesGlyph();
1904   speciesGlyph_malate_cyt->setId("SpeciesGlyph_malate_cyt");
1905   speciesGlyph_malate_cyt->setSpeciesId(malate_cyt->getId());
1906   bb=BoundingBox(&layoutns, "bb_sg_malate_cyt",580,280,240,36);
1907   speciesGlyph_malate_cyt->setBoundingBox(&bb);
1908 
1909   tg=layout->createTextGlyph();
1910   tg->setId("TextGlyph_malate_cyt");
1911   bb=BoundingBox(&layoutns, "bb_tg_malatate_cyt",590,280,220,36);
1912   tg->setBoundingBox(&bb);
1913   tg->setOriginOfTextId(malate_cyt->getId());
1914   tg->setGraphicalObjectId(speciesGlyph_malate_cyt->getId());
1915 
1916   // Oxaloacetate cyt
1917   SpeciesGlyph* speciesGlyph_oxaloacetate_cyt=layout->createSpeciesGlyph();
1918   speciesGlyph_oxaloacetate_cyt->setId("SpeciesGlyph_oxaloacetate_cyt");
1919   speciesGlyph_oxaloacetate_cyt->setSpeciesId(oxaloacetate_cyt->getId());
1920   bb=BoundingBox(&layoutns, "bb_sg_oxaloacetate_cyt",580,480,240,36);
1921   speciesGlyph_oxaloacetate_cyt->setBoundingBox(&bb);
1922 
1923   tg=layout->createTextGlyph();
1924   tg->setId("TextGlyph_oxaloacetate_cyt");
1925   bb=BoundingBox(&layoutns, "bb_tg_oxaloacetate_cyt",590,480,220,36);
1926   tg->setBoundingBox(&bb);
1927   tg->setOriginOfTextId(oxaloacetate_cyt->getId());
1928   tg->setGraphicalObjectId(speciesGlyph_oxaloacetate_cyt->getId());
1929 
1930   // Aspartate cyt
1931   SpeciesGlyph* speciesGlyph_aspartate_cyt=layout->createSpeciesGlyph();
1932   speciesGlyph_aspartate_cyt->setId("SpeciesGlyph_aspartate_cyt");
1933   speciesGlyph_aspartate_cyt->setSpeciesId(aspartate_cyt->getId());
1934   bb=BoundingBox(&layoutns, "bb_sg_aspartate_cyt",580,680,240,36);
1935   speciesGlyph_aspartate_cyt->setBoundingBox(&bb);
1936 
1937   tg=layout->createTextGlyph();
1938   tg->setId("TextGlyph_aspartate_cyt");
1939   bb=BoundingBox(&layoutns, "bb_tg_aspartate_cyt",590,680,220,36);
1940   tg->setBoundingBox(&bb);
1941   tg->setOriginOfTextId(aspartate_cyt->getId());
1942   tg->setGraphicalObjectId(speciesGlyph_aspartate_cyt->getId());
1943 
1944   // Glutamate cyt
1945   SpeciesGlyph* speciesGlyph_glutamate_cyt=layout->createSpeciesGlyph();
1946   speciesGlyph_glutamate_cyt->setId("SpeciesGlyph_glutamate_cyt");
1947   speciesGlyph_glutamate_cyt->setSpeciesId(glutamate_cyt->getId());
1948   bb=BoundingBox(&layoutns, "bb_sg_glutamate_cyt",800,610,240,36);
1949   speciesGlyph_glutamate_cyt->setBoundingBox(&bb);
1950 
1951   tg=layout->createTextGlyph();
1952   tg->setId("TextGlyph_glutamate_cyt");
1953   bb=BoundingBox(&layoutns, "bb_tg_glutamate_cyt",810,610,220,36);
1954   tg->setBoundingBox(&bb);
1955   tg->setOriginOfTextId(glutamate_cyt->getId());
1956   tg->setGraphicalObjectId(speciesGlyph_glutamate_cyt->getId());
1957 
1958   // alpha-Ketoglutarate cyt
1959   SpeciesGlyph* speciesGlyph_aKetoglutarate_cyt=layout->createSpeciesGlyph();
1960   speciesGlyph_aKetoglutarate_cyt->setId("SpeciesGlyph_aKetoglutarate_cyt");
1961   speciesGlyph_aKetoglutarate_cyt->setSpeciesId(aKetoglutarate_cyt->getId());
1962   bb=BoundingBox(&layoutns, "bb_sg_aKetoglutarate_cyt",860,500,280,36);
1963   speciesGlyph_aKetoglutarate_cyt->setBoundingBox(&bb);
1964 
1965   tg=layout->createTextGlyph();
1966   tg->setId("TextGlyph_aKetoglutarate_cyt");
1967   bb=BoundingBox(&layoutns, "bb_tg_aKetoglutarate_cyt",870,500,260,36);
1968   tg->setBoundingBox(&bb);
1969   tg->setOriginOfTextId(aKetoglutarate_cyt->getId());
1970   tg->setGraphicalObjectId(speciesGlyph_aKetoglutarate_cyt->getId());
1971 
1972   // NAD+ cyt
1973   SpeciesGlyph* speciesGlyph_nad_cyt=layout->createSpeciesGlyph();
1974   speciesGlyph_nad_cyt->setId("SpeciesGlyph_nad_cyt");
1975   speciesGlyph_nad_cyt->setSpeciesId(nad_cyt->getId());
1976   bb=BoundingBox(&layoutns, "bb_sg_nad_cyt",520,350,100,24);
1977   speciesGlyph_nad_cyt->setBoundingBox(&bb);
1978 
1979   tg=layout->createTextGlyph();
1980   tg->setId("TextGlyph_nad_cyt");
1981   bb=BoundingBox(&layoutns, "bb_tg_nad_cyt",525,350,80,24);
1982   tg->setBoundingBox(&bb);
1983   tg->setOriginOfTextId(nad_cyt->getId());
1984   tg->setGraphicalObjectId(speciesGlyph_nad_cyt->getId());
1985 
1986   // NADH cyt
1987   SpeciesGlyph* speciesGlyph_nadh_cyt=layout->createSpeciesGlyph();
1988   speciesGlyph_nadh_cyt->setId("SpeciesGlyph_nadh_cyt");
1989   speciesGlyph_nadh_cyt->setSpeciesId(nadh_cyt->getId());
1990   bb=BoundingBox(&layoutns, "bb_sg_nadh_cyt",520,430,100,24);
1991   speciesGlyph_nadh_cyt->setBoundingBox(&bb);
1992 
1993   tg=layout->createTextGlyph();
1994   tg->setId("TextGlyph_nadh_cyt");
1995   bb=BoundingBox(&layoutns, "bb_tg_nadh_cyt",525,430,80,24);
1996   tg->setBoundingBox(&bb);
1997   tg->setOriginOfTextId(nadh_cyt->getId());
1998   tg->setGraphicalObjectId(speciesGlyph_nadh_cyt->getId());
1999 
2000   // H+ cyt
2001   SpeciesGlyph* speciesGlyph_h_cyt=layout->createSpeciesGlyph();
2002   speciesGlyph_h_cyt->setId("SpeciesGlyph_h_cyt");
2003   speciesGlyph_h_cyt->setSpeciesId(h_cyt->getId());
2004   bb=BoundingBox(&layoutns, "bb_sg_h_cyt",430,430,40,24);
2005   speciesGlyph_h_cyt->setBoundingBox(&bb);
2006 
2007   tg=layout->createTextGlyph();
2008   tg->setId("TextGlyph_h_cyt");
2009   bb=BoundingBox(&layoutns, "bb_tg_h_cyt",435,430,30,24);
2010   tg->setBoundingBox(&bb);
2011   tg->setOriginOfTextId(h_cyt->getId());
2012   tg->setGraphicalObjectId(speciesGlyph_h_cyt->getId());
2013 
2014 
2015   // create the ReactionGlyphs
2016 
2017   ReactionGlyph* rg_malatedh_cyt=layout->createReactionGlyph();
2018   rg_malatedh_cyt->setId("rg_malatedh_cyt");
2019   rg_malatedh_cyt->setReactionId(malatedh_cyt->getId());
2020 
2021   Curve* curve=rg_malatedh_cyt->getCurve();
2022   LineSegment* ls=curve->createLineSegment();
2023   Point p(&layoutns, 700,381);
2024   ls->setStart(&p);
2025   p=Point(&layoutns, 700,415);
2026   ls->setEnd(&p);
2027 
2028   tg=layout->createTextGlyph();
2029   tg->setId("tg_rg_malaltedh_cyt");
2030   bb=BoundingBox(&layoutns, "bb_tg_rg_malaltedh_cyt",700,385,210,24);
2031   tg->setBoundingBox(&bb);
2032   tg->setOriginOfTextId(malatedh_cyt->getId());
2033   tg->setGraphicalObjectId(rg_malatedh_cyt->getId());
2034 
2035 
2036   ReactionGlyph* rg_aspartateat_cyt=layout->createReactionGlyph();
2037   rg_aspartateat_cyt->setId("rg_aspartateat_cyt");
2038   rg_aspartateat_cyt->setReactionId(aspartateat_cyt->getId());
2039 
2040   curve=rg_aspartateat_cyt->getCurve();
2041   ls=curve->createLineSegment();
2042   p=Point(&layoutns, 700,581);
2043   ls->setStart(&p);
2044   p=Point(&layoutns, 700,615);
2045   ls->setEnd(&p);
2046 
2047   tg=layout->createTextGlyph();
2048   tg->setId("tg_rg_aspartateat_cyt");
2049   bb=BoundingBox(&layoutns, "bb_tg_rg_aspartateat_cyt",440,585,260,24);
2050   tg->setBoundingBox(&bb);
2051   tg->setOriginOfTextId(aspartateat_cyt->getId());
2052   tg->setGraphicalObjectId(rg_aspartateat_cyt->getId());
2053 
2054 
2055 
2056   // add the SpeciesReferenceGlyphs
2057 
2058   SpeciesReferenceGlyph* srg_malate_cyt_1=rg_malatedh_cyt->createSpeciesReferenceGlyph();
2059   srg_malate_cyt_1->setId("srg_malate_cyt_1");
2060   srg_malate_cyt_1->setSpeciesGlyphId(speciesGlyph_malate_cyt->getId());
2061   srg_malate_cyt_1->setSpeciesReferenceId(sr_malate_cyt->getId());
2062   srg_malate_cyt_1->setRole(SPECIES_ROLE_SUBSTRATE);
2063 
2064   ls=srg_malate_cyt_1->createLineSegment();
2065   p=Point(&layoutns, 700,381);
2066   ls->setStart(&p);
2067   p=Point(&layoutns, 700,316);
2068   ls->setEnd(&p);
2069 
2070   SpeciesReferenceGlyph* srg_nad_cyt=rg_malatedh_cyt->createSpeciesReferenceGlyph();
2071   srg_nad_cyt->setId("srg_nad_cyt");
2072   srg_nad_cyt->setSpeciesGlyphId(speciesGlyph_nad_cyt->getId());
2073   srg_nad_cyt->setSpeciesReferenceId(sr_nad_cyt->getId());
2074   srg_nad_cyt->setRole(SPECIES_ROLE_SUBSTRATE);
2075 
2076   CubicBezier* cb=srg_nad_cyt->createCubicBezier();
2077   p=Point(&layoutns, 700,381);
2078   cb->setStart(&p);
2079   p=Point(&layoutns, 700,362);
2080   cb->setBasePoint1(&p);
2081   p=Point(&layoutns, 700,362);
2082   cb->setBasePoint2(&p);
2083   p=Point(&layoutns, 620,362);
2084   cb->setEnd(&p);
2085 
2086   SpeciesReferenceGlyph* srg_oxaloacetate_cyt_1=rg_malatedh_cyt->createSpeciesReferenceGlyph();
2087   srg_oxaloacetate_cyt_1->setId("srg_oxaloacetate_cyt_1");
2088   srg_oxaloacetate_cyt_1->setSpeciesGlyphId(speciesGlyph_oxaloacetate_cyt->getId());
2089   srg_oxaloacetate_cyt_1->setSpeciesReferenceId(sr_oxaloacetate_cyt_1->getId());
2090   srg_oxaloacetate_cyt_1->setRole(SPECIES_ROLE_PRODUCT);
2091 
2092   curve=srg_oxaloacetate_cyt_1->getCurve();
2093   ls=curve->createLineSegment();
2094   p=Point(&layoutns, 700,415);
2095   ls->setStart(&p);
2096   p=Point(&layoutns, 700,480);
2097   ls->setEnd(&p);
2098 
2099   SpeciesReferenceGlyph* srg_nadh_cyt=rg_malatedh_cyt->createSpeciesReferenceGlyph();
2100   srg_nadh_cyt->setId("srg_nadh_cyt");
2101   srg_nadh_cyt->setSpeciesGlyphId(speciesGlyph_nadh_cyt->getId());
2102   srg_nadh_cyt->setSpeciesReferenceId(sr_nadh_cyt->getId());
2103   srg_nadh_cyt->setRole(SPECIES_ROLE_PRODUCT);
2104 
2105   cb=srg_nadh_cyt->createCubicBezier();
2106   p=Point(&layoutns, 700,415);
2107   cb->setStart(&p);
2108   p=Point(&layoutns, 700,442);
2109   cb->setBasePoint1(&p);
2110   p=Point(&layoutns, 700,442);
2111   cb->setBasePoint2(&p);
2112   p=Point(&layoutns, 620,442);
2113   cb->setEnd(&p);
2114 
2115   SpeciesReferenceGlyph* srg_h_cyt=rg_malatedh_cyt->createSpeciesReferenceGlyph();
2116   srg_h_cyt->setId("srg_h_cyt");
2117   srg_h_cyt->setSpeciesGlyphId(speciesGlyph_h_cyt->getId());
2118   srg_h_cyt->setSpeciesReferenceId(sr_h_cyt->getId());
2119   srg_h_cyt->setRole(SPECIES_ROLE_PRODUCT);
2120 
2121   cb=srg_h_cyt->createCubicBezier();
2122   p=Point(&layoutns, 700,415);
2123   cb->setStart(&p);
2124   p=Point(&layoutns, 570,415);
2125   cb->setBasePoint1(&p);
2126   p=Point(&layoutns, 570,415);
2127   cb->setBasePoint2(&p);
2128   p=Point(&layoutns, 470,430);
2129   cb->setEnd(&p);
2130 
2131   SpeciesReferenceGlyph* srg_oxaloacetate_cyt_2=rg_aspartateat_cyt->createSpeciesReferenceGlyph();
2132   srg_oxaloacetate_cyt_2->setId("srg_oxaloacetate_cyt_2");
2133   srg_oxaloacetate_cyt_2->setSpeciesGlyphId(speciesGlyph_oxaloacetate_cyt->getId());
2134   srg_oxaloacetate_cyt_2->setSpeciesReferenceId(sr_oxaloacetate_cyt_2->getId());
2135   srg_oxaloacetate_cyt_2->setRole(SPECIES_ROLE_SUBSTRATE);
2136 
2137   curve=srg_oxaloacetate_cyt_2->getCurve();
2138   ls=curve->createLineSegment();
2139   p=Point(&layoutns, 700,581);
2140   ls->setStart(&p);
2141   p=Point(&layoutns, 700,516);
2142   ls->setEnd(&p);
2143 
2144   SpeciesReferenceGlyph* srg_glutamate_cyt_1=rg_aspartateat_cyt->createSpeciesReferenceGlyph();
2145   srg_glutamate_cyt_1->setId("srg_glutamate_cyt_1");
2146   srg_glutamate_cyt_1->setSpeciesGlyphId(speciesGlyph_glutamate_cyt->getId());
2147   srg_glutamate_cyt_1->setSpeciesReferenceId(sr_glutamate_cyt_1->getId());
2148   srg_glutamate_cyt_1->setRole(SPECIES_ROLE_SUBSTRATE);
2149 
2150   curve=srg_glutamate_cyt_1->getCurve();
2151   cb=curve->createCubicBezier();
2152   p=Point(&layoutns, 700,581);
2153   cb->setStart(&p);
2154   p=Point(&layoutns, 750,581);
2155   cb->setBasePoint1(&p);
2156   p=Point(&layoutns, 750,628);
2157   cb->setBasePoint2(&p);
2158   p=Point(&layoutns, 800,628);
2159   cb->setEnd(&p);
2160 
2161   SpeciesReferenceGlyph* srg_aspartate_cyt_1=rg_aspartateat_cyt->createSpeciesReferenceGlyph();
2162   srg_aspartate_cyt_1->setId("srg_aspartate_cyt_1");
2163   srg_aspartate_cyt_1->setSpeciesGlyphId(speciesGlyph_aspartate_cyt->getId());
2164   srg_aspartate_cyt_1->setSpeciesReferenceId(sr_aspartate_cyt_1->getId());
2165   srg_aspartate_cyt_1->setRole(SPECIES_ROLE_PRODUCT);
2166 
2167   curve=srg_aspartate_cyt_1->getCurve();
2168   ls=curve->createLineSegment();
2169   p=Point(&layoutns, 700,615);
2170   ls->setStart(&p);
2171   p=Point(&layoutns, 700,680);
2172   ls->setEnd(&p);
2173 
2174   SpeciesReferenceGlyph* srg_aKetoglutarate_cyt_1=rg_aspartateat_cyt->createSpeciesReferenceGlyph();
2175   srg_aKetoglutarate_cyt_1->setId("srg_aKetoglutaratecyt_1");
2176   srg_aKetoglutarate_cyt_1->setSpeciesGlyphId(speciesGlyph_aKetoglutarate_cyt->getId());
2177   srg_aKetoglutarate_cyt_1->setSpeciesReferenceId(sr_aKetoglutarate_cyt_1->getId());
2178   srg_aKetoglutarate_cyt_1->setRole(SPECIES_ROLE_PRODUCT);
2179 
2180   curve=srg_aKetoglutarate_cyt_1->getCurve();
2181   cb=curve->createCubicBezier();
2182   p=Point(&layoutns, 700,615);
2183   cb->setStart(&p);
2184   p=Point(&layoutns, 790,615);
2185   cb->setBasePoint1(&p);
2186   p=Point(&layoutns, 790,515);
2187   cb->setBasePoint2(&p);
2188   p=Point(&layoutns, 860,515);
2189   cb->setEnd(&p);
2190 
2191 
2192   // Malate mito3
2193   SpeciesGlyph* speciesGlyph_malate_mito3=layout->createSpeciesGlyph();
2194   speciesGlyph_malate_mito3->setId("SpeciesGlyph_malate_mito3");
2195   speciesGlyph_malate_mito3->setSpeciesId(malate_mito3->getId());
2196   bb=BoundingBox(&layoutns, "bb_sg_malate_mito3",1850,80,240,36);
2197   speciesGlyph_malate_mito3->setBoundingBox(&bb);
2198 
2199   tg=layout->createTextGlyph();
2200   tg->setId("TextGlyph_malate_mito3");
2201   bb=BoundingBox(&layoutns, "bb_tg_malatate_mito3",1860,80,220,36);
2202   tg->setBoundingBox(&bb);
2203   tg->setOriginOfTextId(malate_mito3->getId());
2204   tg->setGraphicalObjectId(speciesGlyph_malate_mito3->getId());
2205 
2206   // Oxaloacetate mito3
2207   SpeciesGlyph* speciesGlyph_oxaloacetate_mito3=layout->createSpeciesGlyph();
2208   speciesGlyph_oxaloacetate_mito3->setId("SpeciesGlyph_oxaloacetate_mito3");
2209   speciesGlyph_oxaloacetate_mito3->setSpeciesId(oxaloacetate_mito3->getId());
2210   bb=BoundingBox(&layoutns, "bb_sg_oxaloacetate_mito3",1850,280,240,36);
2211   speciesGlyph_oxaloacetate_mito3->setBoundingBox(&bb);
2212 
2213   tg=layout->createTextGlyph();
2214   tg->setId("TextGlyph_oxaloacetate_mito3");
2215   bb=BoundingBox(&layoutns, "bb_tg_oxaloacetate_mito3",1860,280,220,36);
2216   tg->setBoundingBox(&bb);
2217   tg->setOriginOfTextId(oxaloacetate_mito3->getId());
2218   tg->setGraphicalObjectId(speciesGlyph_oxaloacetate_mito3->getId());
2219 
2220   // Aspartate mito3
2221   SpeciesGlyph* speciesGlyph_aspartate_mito3=layout->createSpeciesGlyph();
2222   speciesGlyph_aspartate_mito3->setId("SpeciesGlyph_aspartate_mito3");
2223   speciesGlyph_aspartate_mito3->setSpeciesId(aspartate_mito3->getId());
2224   bb=BoundingBox(&layoutns, "bb_sg_aspartate_mito3",1850,480,240,36);
2225   speciesGlyph_aspartate_mito3->setBoundingBox(&bb);
2226 
2227   tg=layout->createTextGlyph();
2228   tg->setId("TextGlyph_aspartate_mito3");
2229   bb=BoundingBox(&layoutns, "bb_tg_aspartate_mito3",1860,480,220,36);
2230   tg->setBoundingBox(&bb);
2231   tg->setOriginOfTextId(aspartate_mito3->getId());
2232   tg->setGraphicalObjectId(speciesGlyph_aspartate_mito3->getId());
2233 
2234   // Glutamate mito3
2235   SpeciesGlyph* speciesGlyph_glutamate_mito3=layout->createSpeciesGlyph();
2236   speciesGlyph_glutamate_mito3->setId("SpeciesGlyph_glutamate_mito3");
2237   speciesGlyph_glutamate_mito3->setSpeciesId(glutamate_mito3->getId());
2238   bb=BoundingBox(&layoutns, "bb_sg_glutamate_mito3",1550,430,240,36);
2239   speciesGlyph_glutamate_mito3->setBoundingBox(&bb);
2240 
2241   tg=layout->createTextGlyph();
2242   tg->setId("TextGlyph_glutamate_mito3");
2243   bb=BoundingBox(&layoutns, "bb_tg_glutamate_mito3",1560,430,220,36);
2244   tg->setBoundingBox(&bb);
2245   tg->setOriginOfTextId(glutamate_mito3->getId());
2246   tg->setGraphicalObjectId(speciesGlyph_glutamate_mito3->getId());
2247 
2248   // alpha-Ketoglutarate mito3
2249   SpeciesGlyph* speciesGlyph_aKetoglutarate_mito3=layout->createSpeciesGlyph();
2250   speciesGlyph_aKetoglutarate_mito3->setId("SpeciesGlyph_aKetoglutarate_mito3");
2251   speciesGlyph_aKetoglutarate_mito3->setSpeciesId(aKetoglutarate_mito3->getId());
2252   bb=BoundingBox(&layoutns, "bb_sg_aKetoglutarate_mito3",1530,300,280,36);
2253   speciesGlyph_aKetoglutarate_mito3->setBoundingBox(&bb);
2254 
2255   tg=layout->createTextGlyph();
2256   tg->setId("TextGlyph_aKetoglutarate_mito3");
2257   bb=BoundingBox(&layoutns, "bb_tg_aKetoglutarate_mito3",1540,300,260,36);
2258   tg->setBoundingBox(&bb);
2259   tg->setOriginOfTextId(aKetoglutarate_mito3->getId());
2260   tg->setGraphicalObjectId(speciesGlyph_aKetoglutarate_mito3->getId());
2261 
2262   // NAD+ mito3
2263   SpeciesGlyph* speciesGlyph_nad_mito3=layout->createSpeciesGlyph();
2264   speciesGlyph_nad_mito3->setId("SpeciesGlyph_nad_mito3");
2265   speciesGlyph_nad_mito3->setSpeciesId(nad_mito3->getId());
2266   bb=BoundingBox(&layoutns, "bb_sg_nad_mito3",2050,150,100,24);
2267   speciesGlyph_nad_mito3->setBoundingBox(&bb);
2268 
2269   tg=layout->createTextGlyph();
2270   tg->setId("TextGlyph_nad_mito3");
2271   bb=BoundingBox(&layoutns, "bb_tg_nad_mito3",2055,150,80,24);
2272   tg->setBoundingBox(&bb);
2273   tg->setOriginOfTextId(nad_mito3->getId());
2274   tg->setGraphicalObjectId(speciesGlyph_nad_mito3->getId());
2275 
2276   // NADH mito3
2277   SpeciesGlyph* speciesGlyph_nadh_mito3=layout->createSpeciesGlyph();
2278   speciesGlyph_nadh_mito3->setId("SpeciesGlyph_nadh_mito3");
2279   speciesGlyph_nadh_mito3->setSpeciesId(nadh_mito3->getId());
2280   bb=BoundingBox(&layoutns, "bb_sg_nadh_mito3",2050,230,100,24);
2281   speciesGlyph_nadh_mito3->setBoundingBox(&bb);
2282 
2283   tg=layout->createTextGlyph();
2284   tg->setId("TextGlyph_nadh_mito3");
2285   bb=BoundingBox(&layoutns, "bb_tg_nadh_mito3",2055,230,80,24);
2286   tg->setBoundingBox(&bb);
2287   tg->setOriginOfTextId(nadh_mito3->getId());
2288   tg->setGraphicalObjectId(speciesGlyph_nadh_mito3->getId());
2289 
2290   // H+ mito3
2291   SpeciesGlyph* speciesGlyph_h_mito3=layout->createSpeciesGlyph();
2292   speciesGlyph_h_mito3->setId("SpeciesGlyph_h_mito3");
2293   speciesGlyph_h_mito3->setSpeciesId(h_mito3->getId());
2294   bb=BoundingBox(&layoutns, "bb_sg_h_mito3",2200,230,40,24);
2295   speciesGlyph_h_mito3->setBoundingBox(&bb);
2296 
2297   tg=layout->createTextGlyph();
2298   tg->setId("TextGlyph_h_mito3");
2299   bb=BoundingBox(&layoutns, "bb_tg_h_mito3",2205,230,30,24);
2300   tg->setBoundingBox(&bb);
2301   tg->setOriginOfTextId(h_mito3->getId());
2302   tg->setGraphicalObjectId(speciesGlyph_h_mito3->getId());
2303 
2304 
2305   // create the ReactionGlyphs
2306 
2307   ReactionGlyph* rg_malatedh_mito3=layout->createReactionGlyph();
2308   rg_malatedh_mito3->setId("rg_malatedh_mito3");
2309   rg_malatedh_mito3->setReactionId(malatedh_mito3->getId());
2310 
2311   curve=rg_malatedh_mito3->getCurve();
2312   ls=curve->createLineSegment();
2313   p=Point(&layoutns, 1970,181);
2314   ls->setStart(&p);
2315   p=Point(&layoutns, 1970,215);
2316   ls->setEnd(&p);
2317 
2318   tg=layout->createTextGlyph();
2319   tg->setId("tg_rg_malatedh_mito3");
2320   bb=BoundingBox(&layoutns, "bb_tg_rg_malatedh_mito3",1740,185,220,24);
2321   tg->setBoundingBox(&bb);
2322   tg->setOriginOfTextId(malatedh_mito3->getId());
2323   tg->setGraphicalObjectId(rg_malatedh_mito3->getId());
2324 
2325   ReactionGlyph* rg_aspartateat_mito3=layout->createReactionGlyph();
2326   rg_aspartateat_mito3->setId("rg_aspartateat_mito3");
2327   rg_aspartateat_mito3->setReactionId(aspartateat_mito3->getId());
2328 
2329   curve=rg_aspartateat_mito3->getCurve();
2330   ls=curve->createLineSegment();
2331   p=Point(&layoutns, 1970,381);
2332   ls->setStart(&p);
2333   p=Point(&layoutns, 1970,415);
2334   ls->setEnd(&p);
2335 
2336   tg=layout->createTextGlyph();
2337   tg->setId("tg_rg_aspartateat_mito3");
2338   bb=BoundingBox(&layoutns, "bb_tg_rg_aspartateat_mito3",1970,385,260,24);
2339   tg->setBoundingBox(&bb);
2340   tg->setOriginOfTextId(aspartateat_mito3->getId());
2341   tg->setGraphicalObjectId(rg_aspartateat_mito3->getId());
2342 
2343 
2344   // add the SpeciesReferenceGlyphs
2345 
2346   SpeciesReferenceGlyph* srg_malate_mito3_1=rg_malatedh_mito3->createSpeciesReferenceGlyph();
2347   srg_malate_mito3_1->setId("srg_malate_mito3_1");
2348   srg_malate_mito3_1->setSpeciesGlyphId(speciesGlyph_malate_mito3->getId());
2349   srg_malate_mito3_1->setSpeciesReferenceId(sr_malate_mito3->getId());
2350   srg_malate_mito3_1->setRole(SPECIES_ROLE_SUBSTRATE);
2351 
2352   ls=srg_malate_mito3_1->createLineSegment();
2353   p=Point(&layoutns, 1970,181);
2354   ls->setStart(&p);
2355   p=Point(&layoutns, 1970,116);
2356   ls->setEnd(&p);
2357 
2358   SpeciesReferenceGlyph* srg_nad_mito3=rg_malatedh_mito3->createSpeciesReferenceGlyph();
2359   srg_nad_mito3->setId("srg_nad_mito3");
2360   srg_nad_mito3->setSpeciesGlyphId(speciesGlyph_nad_mito3->getId());
2361   srg_nad_mito3->setSpeciesReferenceId(sr_nad_mito3->getId());
2362   srg_nad_mito3->setRole(SPECIES_ROLE_SUBSTRATE);
2363 
2364   cb=srg_nad_mito3->createCubicBezier();
2365   p=Point(&layoutns, 1970,181);
2366   cb->setStart(&p);
2367   p=Point(&layoutns, 1970,162);
2368   cb->setBasePoint1(&p);
2369   p=Point(&layoutns, 1970,162);
2370   cb->setBasePoint2(&p);
2371   p=Point(&layoutns, 2050,162);
2372   cb->setEnd(&p);
2373 
2374   SpeciesReferenceGlyph* srg_oxaloacetate_mito3_1=rg_malatedh_mito3->createSpeciesReferenceGlyph();
2375   srg_oxaloacetate_mito3_1->setId("srg_oxaloacetate_mito3_1");
2376   srg_oxaloacetate_mito3_1->setSpeciesGlyphId(speciesGlyph_oxaloacetate_mito3->getId());
2377   srg_oxaloacetate_mito3_1->setSpeciesReferenceId(sr_oxaloacetate_mito3_1->getId());
2378   srg_oxaloacetate_mito3_1->setRole(SPECIES_ROLE_PRODUCT);
2379 
2380   curve=srg_oxaloacetate_mito3_1->getCurve();
2381   ls=curve->createLineSegment();
2382   p=Point(&layoutns, 1970,215);
2383   ls->setStart(&p);
2384   p=Point(&layoutns, 1970,280);
2385   ls->setEnd(&p);
2386 
2387   SpeciesReferenceGlyph* srg_nadh_mito3=rg_malatedh_mito3->createSpeciesReferenceGlyph();
2388   srg_nadh_mito3->setId("srg_nadh_mito3");
2389   srg_nadh_mito3->setSpeciesGlyphId(speciesGlyph_nadh_mito3->getId());
2390   srg_nadh_mito3->setSpeciesReferenceId(sr_nadh_mito3->getId());
2391   srg_nadh_mito3->setRole(SPECIES_ROLE_PRODUCT);
2392 
2393   cb=srg_nadh_mito3->createCubicBezier();
2394   p=Point(&layoutns, 1970,215);
2395   cb->setStart(&p);
2396   p=Point(&layoutns, 1970,242);
2397   cb->setBasePoint1(&p);
2398   p=Point(&layoutns, 1970,242);
2399   cb->setBasePoint2(&p);
2400   p=Point(&layoutns, 2050,242);
2401   cb->setEnd(&p);
2402 
2403   SpeciesReferenceGlyph* srg_h_mito3=rg_malatedh_mito3->createSpeciesReferenceGlyph();
2404   srg_h_mito3->setId("srg_h_mito3");
2405   srg_h_mito3->setSpeciesGlyphId(speciesGlyph_h_mito3->getId());
2406   srg_h_mito3->setSpeciesReferenceId(sr_h_mito3->getId());
2407   srg_h_mito3->setRole(SPECIES_ROLE_PRODUCT);
2408 
2409   cb=srg_h_mito3->createCubicBezier();
2410   p=Point(&layoutns, 1970,215);
2411   cb->setStart(&p);
2412   p=Point(&layoutns, 2100,215);
2413   cb->setBasePoint1(&p);
2414   p=Point(&layoutns, 2100,215);
2415   cb->setBasePoint2(&p);
2416   p=Point(&layoutns, 2200,230);
2417   cb->setEnd(&p);
2418 
2419   SpeciesReferenceGlyph* srg_oxaloacetate_mito3_2=rg_aspartateat_mito3->createSpeciesReferenceGlyph();
2420   srg_oxaloacetate_mito3_2->setId("srg_oxaloacetate_mito3_2");
2421   srg_oxaloacetate_mito3_2->setSpeciesGlyphId(speciesGlyph_oxaloacetate_mito3->getId());
2422   srg_oxaloacetate_mito3_2->setSpeciesReferenceId(sr_oxaloacetate_mito3_2->getId());
2423   srg_oxaloacetate_mito3_2->setRole(SPECIES_ROLE_SUBSTRATE);
2424 
2425   curve=srg_oxaloacetate_mito3_2->getCurve();
2426   ls=curve->createLineSegment();
2427   p=Point(&layoutns, 1970,381);
2428   ls->setStart(&p);
2429   p=Point(&layoutns, 1970,316);
2430   ls->setEnd(&p);
2431 
2432   SpeciesReferenceGlyph* srg_glutamate_mito3_1=rg_aspartateat_mito3->createSpeciesReferenceGlyph();
2433   srg_glutamate_mito3_1->setId("srg_glutamate_mito3_1");
2434   srg_glutamate_mito3_1->setSpeciesGlyphId(speciesGlyph_glutamate_mito3->getId());
2435   srg_glutamate_mito3_1->setSpeciesReferenceId(sr_glutamate_mito3_1->getId());
2436   srg_glutamate_mito3_1->setRole(SPECIES_ROLE_SUBSTRATE);
2437 
2438   curve=srg_glutamate_mito3_1->getCurve();
2439   cb=curve->createCubicBezier();
2440   p=Point(&layoutns, 1970,381);
2441   cb->setStart(&p);
2442   p=Point(&layoutns, 1880,381);
2443   cb->setBasePoint1(&p);
2444   p=Point(&layoutns, 1880,448);
2445   cb->setBasePoint2(&p);
2446   p=Point(&layoutns, 1790,448);
2447   cb->setEnd(&p);
2448 
2449   SpeciesReferenceGlyph* srg_aspartate_mito3_1=rg_aspartateat_mito3->createSpeciesReferenceGlyph();
2450   srg_aspartate_mito3_1->setId("srg_aspartate_mito3_1");
2451   srg_aspartate_mito3_1->setSpeciesGlyphId(speciesGlyph_aspartate_mito3->getId());
2452   srg_aspartate_mito3_1->setSpeciesReferenceId(sr_aspartate_mito3_1->getId());
2453   srg_aspartate_mito3_1->setRole(SPECIES_ROLE_PRODUCT);
2454 
2455   curve=srg_aspartate_mito3_1->getCurve();
2456   ls=curve->createLineSegment();
2457   p=Point(&layoutns, 1970,415);
2458   ls->setStart(&p);
2459   p=Point(&layoutns, 1970,480);
2460   ls->setEnd(&p);
2461 
2462   SpeciesReferenceGlyph* srg_aKetoglutarate_mito3_1=rg_aspartateat_mito3->createSpeciesReferenceGlyph();
2463   srg_aKetoglutarate_mito3_1->setId("srg_aKetoglutaratemito3_1");
2464   srg_aKetoglutarate_mito3_1->setSpeciesGlyphId(speciesGlyph_aKetoglutarate_mito3->getId());
2465   srg_aKetoglutarate_mito3_1->setSpeciesReferenceId(sr_aKetoglutarate_mito3_1->getId());
2466   srg_aKetoglutarate_mito3_1->setRole(SPECIES_ROLE_PRODUCT);
2467 
2468   curve=srg_aKetoglutarate_mito3_1->getCurve();
2469   cb=curve->createCubicBezier();
2470   p=Point(&layoutns, 1970,415);
2471   cb->setStart(&p);
2472   p=Point(&layoutns, 1880,415);
2473   cb->setBasePoint1(&p);
2474   p=Point(&layoutns, 1880,315);
2475   cb->setBasePoint2(&p);
2476   p=Point(&layoutns, 1810,315);
2477   cb->setEnd(&p);
2478 
2479   // add the transport reaction glyphs
2480 
2481   ReactionGlyph* rg_aspartateCarrier=layout->createReactionGlyph();
2482   rg_aspartateCarrier->setId("rg_aspartateCarrier");
2483   rg_aspartateCarrier->setReactionId(aspartateCarrier->getId());
2484 
2485   curve=rg_aspartateCarrier->getCurve();
2486   ls=curve->createLineSegment();
2487   p=Point(&layoutns, 1420,530);
2488   ls->setStart(&p);
2489   p=Point(&layoutns, 1360,550);
2490   ls->setEnd(&p);
2491 
2492   tg=layout->createTextGlyph();
2493   tg->setId("tg_rg_aspartateCarrier");
2494   bb=BoundingBox(&layoutns, "bb_tg_rg_aspartateCarrier",1380,500,160,24);
2495   tg->setBoundingBox(&bb);
2496   tg->setOriginOfTextId(aspartateCarrier->getId());
2497   tg->setGraphicalObjectId(rg_aspartateCarrier->getId());
2498 
2499 
2500   ReactionGlyph* rg_malateCarrier=layout->createReactionGlyph();
2501   rg_malateCarrier->setId("rg_malateCarrier");
2502   rg_malateCarrier->setReactionId(malateCarrier->getId());
2503 
2504   curve=rg_malateCarrier->getCurve();
2505   ls=curve->createLineSegment();
2506   p=Point(&layoutns, 1420,320);
2507   ls->setStart(&p);
2508   p=Point(&layoutns, 1360,340);
2509   ls->setEnd(&p);
2510 
2511   tg=layout->createTextGlyph();
2512   tg->setId("tg_rg_malateCarrier");
2513   bb=BoundingBox(&layoutns, "bb_tg_rg_malateCarrier",1360,330,140,24);
2514   tg->setBoundingBox(&bb);
2515   tg->setOriginOfTextId(malateCarrier->getId());
2516   tg->setGraphicalObjectId(rg_malateCarrier->getId());
2517 
2518 
2519 
2520   // add the SpeciesReferenceGlyphs for the transporters
2521 
2522   SpeciesReferenceGlyph* srg_aKetoglutarate_mito3_2=rg_malateCarrier->createSpeciesReferenceGlyph();
2523   srg_aKetoglutarate_mito3_2->setId("srg_aKetoglutarate_mito3_2");
2524   srg_aKetoglutarate_mito3_2->setSpeciesGlyphId(speciesGlyph_aKetoglutarate_mito3->getId());
2525   srg_aKetoglutarate_mito3_2->setSpeciesReferenceId(sr_aKetoglutarate_mito3_2->getId());
2526   srg_aKetoglutarate_mito3_2->setRole(SPECIES_ROLE_SUBSTRATE);
2527 
2528   curve=srg_aKetoglutarate_mito3_2->getCurve();
2529   ls=curve->createLineSegment();
2530   p=Point(&layoutns, 1420,320);
2531   ls->setStart(&p);
2532   p=Point(&layoutns, 1530,318);
2533   ls->setEnd(&p);
2534 
2535 
2536   SpeciesReferenceGlyph* srg_aKetoglutarate_cyt_2=rg_malateCarrier->createSpeciesReferenceGlyph();
2537   srg_aKetoglutarate_cyt_2->setId("srg_aKetoglutarate_cyt_2");
2538   srg_aKetoglutarate_cyt_2->setSpeciesGlyphId(speciesGlyph_aKetoglutarate_cyt->getId());
2539   srg_aKetoglutarate_cyt_2->setSpeciesReferenceId(sr_aKetoglutarate_cyt_2->getId());
2540   srg_aKetoglutarate_cyt_2->setRole(SPECIES_ROLE_PRODUCT);
2541 
2542   curve=srg_aKetoglutarate_cyt_2->getCurve();
2543   ls=curve->createLineSegment();
2544   p=Point(&layoutns, 1360,340);
2545   ls->setStart(&p);
2546   p=Point(&layoutns, 1140,518);
2547   ls->setEnd(&p);
2548 
2549 
2550   SpeciesReferenceGlyph* srg_malate_cyt_2=rg_malateCarrier->createSpeciesReferenceGlyph();
2551   srg_malate_cyt_2->setId("srg_malate_cyt_2");
2552   srg_malate_cyt_2->setSpeciesGlyphId(speciesGlyph_malate_cyt->getId());
2553   srg_malate_cyt_2->setSpeciesReferenceId(sr_malate_cyt_2->getId());
2554   srg_malate_cyt_2->setRole(SPECIES_ROLE_SUBSTRATE);
2555 
2556   curve=srg_malate_cyt_2->getCurve();
2557   cb=curve->createCubicBezier();
2558   p=Point(&layoutns, 1420,320);
2559   cb->setStart(&p);
2560   p=Point(&layoutns, 1390,250);
2561   cb->setBasePoint1(&p);
2562   p=Point(&layoutns, 1390,250);
2563   cb->setBasePoint2(&p);
2564   p=Point(&layoutns, 820,298);
2565   cb->setEnd(&p);
2566 
2567 
2568   SpeciesReferenceGlyph* srg_malate_mito3_2=rg_malateCarrier->createSpeciesReferenceGlyph();
2569   srg_malate_mito3_2->setId("srg_malate_mito3_2");
2570   srg_malate_mito3_2->setSpeciesGlyphId(speciesGlyph_malate_mito3->getId());
2571   srg_malate_mito3_2->setSpeciesReferenceId(sr_malate_mito3_2->getId());
2572   srg_malate_mito3_2->setRole(SPECIES_ROLE_PRODUCT);
2573 
2574   curve=srg_malate_mito3_2->getCurve();
2575   cb=curve->createCubicBezier();
2576   p=Point(&layoutns, 1360,340);
2577   cb->setStart(&p);
2578   p=Point(&layoutns, 1390,150);
2579   cb->setBasePoint1(&p);
2580   p=Point(&layoutns, 1390,150);
2581   cb->setBasePoint2(&p);
2582   p=Point(&layoutns, 1850,98);
2583   cb->setEnd(&p);
2584 
2585 
2586 
2587 
2588 
2589 
2590   SpeciesReferenceGlyph* srg_aspartate_mito3_2=rg_aspartateCarrier->createSpeciesReferenceGlyph();
2591   srg_aspartate_mito3_2->setId("srg_aspartate_mito3_2");
2592   srg_aspartate_mito3_2->setSpeciesGlyphId(speciesGlyph_aspartate_mito3->getId());
2593   srg_aspartate_mito3_2->setSpeciesReferenceId(sr_aspartate_mito3_2->getId());
2594   srg_aspartate_mito3_2->setRole(SPECIES_ROLE_SUBSTRATE);
2595 
2596   curve=srg_aspartate_mito3_2->getCurve();
2597   ls=curve->createLineSegment();
2598   p=Point(&layoutns, 1420,530);
2599   ls->setStart(&p);
2600   p=Point(&layoutns, 1850,498);
2601   ls->setEnd(&p);
2602 
2603 
2604   SpeciesReferenceGlyph* srg_aspartate_cyt_2=rg_aspartateCarrier->createSpeciesReferenceGlyph();
2605   srg_aspartate_cyt_2->setId("srg_aspartate_cyt_2");
2606   srg_aspartate_cyt_2->setSpeciesGlyphId(speciesGlyph_aspartate_cyt->getId());
2607   srg_aspartate_cyt_2->setSpeciesReferenceId(sr_aspartate_cyt_2->getId());
2608   srg_aspartate_cyt_2->setRole(SPECIES_ROLE_PRODUCT);
2609 
2610   curve=srg_aspartate_cyt_2->getCurve();
2611   cb=curve->createCubicBezier();
2612   p=Point(&layoutns, 1360,550);
2613   cb->setStart(&p);
2614   p=Point(&layoutns, 1390,698);
2615   cb->setBasePoint1(&p);
2616   p=Point(&layoutns, 1390,698);
2617   cb->setBasePoint2(&p);
2618   p=Point(&layoutns, 820,698);
2619   cb->setEnd(&p);
2620 
2621 
2622   SpeciesReferenceGlyph* srg_glutamate_cyt_2=rg_aspartateCarrier->createSpeciesReferenceGlyph();
2623   srg_glutamate_cyt_2->setId("srg_glutamate_cyt_2");
2624   srg_glutamate_cyt_2->setSpeciesGlyphId(speciesGlyph_glutamate_cyt->getId());
2625   srg_glutamate_cyt_2->setSpeciesReferenceId(sr_glutamate_cyt_2->getId());
2626   srg_glutamate_cyt_2->setRole(SPECIES_ROLE_SUBSTRATE);
2627 
2628   curve=srg_glutamate_cyt_2->getCurve();
2629   cb=curve->createCubicBezier();
2630   p=Point(&layoutns, 1420,530);
2631   cb->setStart(&p);
2632   p=Point(&layoutns, 1390,648);
2633   cb->setBasePoint1(&p);
2634   p=Point(&layoutns, 1390,648);
2635   cb->setBasePoint2(&p);
2636   p=Point(&layoutns, 1050,628);
2637   cb->setEnd(&p);
2638 
2639 
2640   SpeciesReferenceGlyph* srg_glutamate_mito3_2=rg_aspartateCarrier->createSpeciesReferenceGlyph();
2641   srg_glutamate_mito3_2->setId("srg_glutamate_mito3_2");
2642   srg_glutamate_mito3_2->setSpeciesGlyphId(speciesGlyph_glutamate_mito3->getId());
2643   srg_glutamate_mito3_2->setSpeciesReferenceId(sr_glutamate_mito3_2->getId());
2644   srg_glutamate_mito3_2->setRole(SPECIES_ROLE_PRODUCT);
2645 
2646   curve=srg_glutamate_mito3_2->getCurve();
2647   cb=curve->createCubicBezier();
2648   p=Point(&layoutns, 1360,550);
2649   cb->setStart(&p);
2650   p=Point(&layoutns, 1390,448);
2651   cb->setBasePoint1(&p);
2652   p=Point(&layoutns, 1390,448);
2653   cb->setBasePoint2(&p);
2654   p=Point(&layoutns, 1550,448);
2655   cb->setEnd(&p);
2656 
2657   // now we add some global render information
2658   ListOfLayouts* pListOfLayouts=plugin->getListOfLayouts();
2659   fail_unless(pListOfLayouts!=NULL);
2660 
2661   RenderListOfLayoutsPlugin* lolPlugin = (RenderListOfLayoutsPlugin*)pListOfLayouts->getPlugin("render");
2662   GlobalRenderInformation* pGlobalRender=lolPlugin->createGlobalRenderInformation();
2663   pGlobalRender->setId("wireFrame");
2664   pGlobalRender->setName("wireframe style");
2665   pGlobalRender->setProgramName("Ralph Gauges");
2666   pGlobalRender->setProgramVersion("1.0");
2667   pGlobalRender->setBackgroundColor("#FFFFFFFF");
2668   // color definitions
2669   ColorDefinition* pColorDefinition=pGlobalRender->createColorDefinition();
2670   pColorDefinition->setId("white");
2671   pColorDefinition->setColorValue("#FFFFFF");
2672   pColorDefinition=pGlobalRender->createColorDefinition();
2673   pColorDefinition->setId("black");
2674   pColorDefinition->setColorValue("#000000");
2675   // styles
2676   // style for compartment glyphs
2677   GlobalStyle* pGlobalStyle=pGlobalRender->createStyle("compartmentGlyphStyle");
2678   pGlobalStyle->addType("COMPARTMENTGLYPH");
2679   RenderGroup* pGroup=pGlobalStyle->getGroup();
2680   pGroup->setStroke("black");
2681   pGroup->setStrokeWidth(1.0);
2682   Rectangle* pRectangle=pGroup->createRectangle();
2683   pRectangle->setCoordinatesAndSize(RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0),RelAbsVector(0.0,100.0),RelAbsVector(0.0,100.0));
2684   pRectangle->setRadiusX(RelAbsVector(0.0,0.0));
2685 
2686   // style for species glyphs
2687   pGlobalStyle=pGlobalRender->createStyle("speciesGlyphStyle");
2688   pGlobalStyle->addType("SPECIESGLYPH");
2689   pGroup=pGlobalStyle->getGroup();
2690   pGroup->setStroke("black");
2691   pGroup->setStrokeWidth(1.0);
2692   pRectangle=pGroup->createRectangle();
2693   pRectangle->setCoordinatesAndSize(RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0),RelAbsVector(0.0,100.0),RelAbsVector(0.0,100.0));
2694   pRectangle->setRadiusX(RelAbsVector(0.0,0.0));
2695 
2696   // style for all other glyphs
2697   pGlobalStyle=pGlobalRender->createStyle("reactionGlyphStyle");
2698   pGlobalStyle->addType("SPECIESREFERENCEGLYPH");
2699   pGlobalStyle->addType("REACTIONGLYPH");
2700   pGlobalStyle->addType("TEXTGLYPH");
2701   pGroup=pGlobalStyle->getGroup();
2702   pGroup->setStroke("black");
2703   pGroup->setStrokeWidth(1.0);
2704   pGroup->setFontSize(RelAbsVector(12.0,0.0));
2705   pGroup->setTextAnchor(Text::ANCHOR_MIDDLE);
2706 
2707   // second render information
2708   lolPlugin = (RenderListOfLayoutsPlugin*)pListOfLayouts->getPlugin("render");
2709   pGlobalRender=lolPlugin->createGlobalRenderInformation();
2710   pGlobalRender->setId("defaultGrayStyle");
2711   pGlobalRender->setName("grayscale style");
2712   pGlobalRender->setProgramName("Ralph Gauges");
2713   pGlobalRender->setProgramVersion("1.0");
2714   pGlobalRender->setBackgroundColor("#FFFFFFFF");
2715   // color definitions
2716   pColorDefinition=pGlobalRender->createColorDefinition();
2717   pColorDefinition->setId("lightGray");
2718   pColorDefinition->setColorValue("#CECECE");
2719   pColorDefinition=pGlobalRender->createColorDefinition();
2720   pColorDefinition->setId("white");
2721   pColorDefinition->setColorValue("#FFFFFF");
2722   pColorDefinition=pGlobalRender->createColorDefinition();
2723   pColorDefinition->setId("black");
2724   pColorDefinition->setColorValue("#000000");
2725   pColorDefinition=pGlobalRender->createColorDefinition();
2726   pColorDefinition->setId("lightGray2");
2727   pColorDefinition->setColorValue("#F0F0F0");
2728   pColorDefinition=pGlobalRender->createColorDefinition();
2729   pColorDefinition->setId("gray");
2730   pColorDefinition->setColorValue("#0B0B0B");
2731   // gradient definitions
2732   RadialGradient* pRadialGradient=pGlobalRender->createRadialGradientDefinition();
2733   pRadialGradient->setId("speciesGlyphGradient");
2734   GradientStop* pStop=pRadialGradient->createGradientStop();
2735   pStop->setOffset(RelAbsVector(0.0,0.0));
2736   pStop->setStopColor("white");
2737   pStop=pRadialGradient->createGradientStop();
2738   pStop->setOffset(RelAbsVector(0.0,100.0));
2739   pStop->setStopColor("lightGray");
2740   // line endings
2741   LineEnding* pLineEnding=pGlobalRender->createLineEnding();
2742   pLineEnding->setId("simpleHead_black");
2743   p=Point(&layoutns, -8,-3);
2744   Dimensions d(&layoutns, 10,6);
2745   pLineEnding->getBoundingBox()->setPosition(&p);
2746   pLineEnding->getBoundingBox()->setDimensions(&d);
2747   pGroup=pLineEnding->getGroup();
2748   pGroup->setStroke("black");
2749   pGroup->setStrokeWidth(1.0);
2750   pGroup->setFillColor("black");
2751   Polygon* pPolygon=pGroup->createPolygon();
2752   RenderPoint* pR=pPolygon->createPoint();
2753   pR->setCoordinates(RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0));
2754   pR=pPolygon->createPoint();
2755   pR->setCoordinates(RelAbsVector(10.0,0.0),RelAbsVector(3.0,0.0));
2756   pR=pPolygon->createPoint();
2757   pR->setCoordinates(RelAbsVector(0.0,0.0),RelAbsVector(6.0,0.0));
2758 
2759   // styles
2760   // style for compartment glyphs
2761   pGlobalStyle=pGlobalRender->createStyle("compartmentGlyphStyle");
2762   pGlobalStyle->addType("COMPARTMENTGLYPH");
2763   pGroup=pGlobalStyle->getGroup();
2764   pGroup->setStroke("gray");
2765   pGroup->setStrokeWidth(1.0);
2766   pRectangle=pGroup->createRectangle();
2767   pRectangle->setCoordinatesAndSize(RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0),RelAbsVector(0.0,100.0),RelAbsVector(0.0,100.0));
2768   pRectangle->setRadiusX(RelAbsVector(0.0,5.0));
2769   pRectangle->setFillColor("lightGray2");
2770 
2771   // style for species glyphs
2772   pGlobalStyle=pGlobalRender->createStyle("speciesGlyphStyle");
2773   pGlobalStyle->addType("SPECIESGLYPH");
2774   pGroup=pGlobalStyle->getGroup();
2775   pGroup->setStroke("black");
2776   pGroup->setStrokeWidth(1.0);
2777   pRectangle=pGroup->createRectangle();
2778   pRectangle->setCoordinatesAndSize(RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0),RelAbsVector(0.0,100.0),RelAbsVector(0.0,100.0));
2779   pRectangle->setRadiusX(RelAbsVector(0.0,5.0));
2780   pRectangle->setFillColor("speciesGlyphGradient");
2781 
2782   // style for reaction and text glyphs
2783   pGlobalStyle=pGlobalRender->createStyle("reactionGlyphStyle");
2784   pGlobalStyle->addType("REACTIONGLYPH");
2785   pGlobalStyle->addType("TEXTGLYPH");
2786   pGroup=pGlobalStyle->getGroup();
2787   pGroup->setStroke("black");
2788   pGroup->setStrokeWidth(1.0);
2789   pGroup->setFontSize(RelAbsVector(12.0,0.0));
2790   pGroup->setTextAnchor(Text::ANCHOR_MIDDLE);
2791 
2792   // style for substrate and product species reference glyphs
2793   pGlobalStyle=pGlobalRender->createStyle("reactantSpeciesReferenceGlyphStyle");
2794   pGlobalStyle->addRole("substrate");
2795   pGlobalStyle->addRole("sidesubstrate");
2796   pGlobalStyle->addRole("product");
2797   pGlobalStyle->addRole("sideproduct");
2798   pGroup=pGlobalStyle->getGroup();
2799   pGroup->setStroke("#000000");
2800   pGroup->setStrokeWidth(1.0);
2801 
2802   // style for activator species reference glyphs
2803   pGlobalStyle=pGlobalRender->createStyle("activatorSpeciesReferenceGlyphStyle");
2804   pGlobalStyle->addRole("activator");
2805   pGroup=pGlobalStyle->getGroup();
2806   pGroup->setStroke("#000000");
2807   pGroup->setStrokeWidth(1.0);
2808 
2809   // style for modifier species reference glyphs
2810   pGlobalStyle=pGlobalRender->createStyle("modifierSpeciesReferenceGlyphStyle");
2811   pGlobalStyle->addRole("modifier");
2812   pGroup=pGlobalStyle->getGroup();
2813   pGroup->setStroke("#000000");
2814   pGroup->setStrokeWidth(1.0);
2815 
2816   // style for inhibitor species reference glyphs
2817   pGlobalStyle=pGlobalRender->createStyle("inhibitorSpeciesReferenceGlyphStyle");
2818   pGlobalStyle->addRole("inhibitor");
2819   pGroup=pGlobalStyle->getGroup();
2820   pGroup->setStroke("#000000");
2821   pGroup->setStrokeWidth(1.0);
2822 
2823   // short gray style which uses the default style and just redefines some colors
2824   // second render information
2825   lolPlugin = (RenderListOfLayoutsPlugin*)pListOfLayouts->getPlugin("render");
2826   pGlobalRender=lolPlugin->createGlobalRenderInformation();
2827   pGlobalRender->setId("shortGrayStyle");
2828   pGlobalRender->setName("modified default style to grayscale");
2829   pGlobalRender->setReferenceRenderInformationId("defaultStyle");
2830   pGlobalRender->setProgramName("Ralph Gauges");
2831   pGlobalRender->setProgramVersion("1.0");
2832   pGlobalRender->setBackgroundColor("#FFFFFFFF");
2833   // color definitions
2834   pColorDefinition=pGlobalRender->createColorDefinition();
2835   pColorDefinition->setId("lightBlue");
2836   pColorDefinition->setColorValue("#CECECE");
2837   pColorDefinition=pGlobalRender->createColorDefinition();
2838   pColorDefinition->setId("white");
2839   pColorDefinition->setColorValue("#FFFFFF");
2840   pColorDefinition=pGlobalRender->createColorDefinition();
2841   pColorDefinition->setId("black");
2842   pColorDefinition->setColorValue("#000000");
2843   pColorDefinition=pGlobalRender->createColorDefinition();
2844   pColorDefinition->setId("red");
2845   pColorDefinition->setColorValue("#000000");
2846   pColorDefinition=pGlobalRender->createColorDefinition();
2847   pColorDefinition->setId("green");
2848   pColorDefinition->setColorValue("#000000");
2849   pColorDefinition=pGlobalRender->createColorDefinition();
2850   pColorDefinition->setId("blue");
2851   pColorDefinition->setColorValue("#000000");
2852   pColorDefinition=pGlobalRender->createColorDefinition();
2853   pColorDefinition->setId("lightYellow");
2854   pColorDefinition->setColorValue("#F0F0F0");
2855   pColorDefinition=pGlobalRender->createColorDefinition();
2856   pColorDefinition->setId("darkGreen");
2857   pColorDefinition->setColorValue("#0B0B0B");
2858 
2859   // render information for the default color style
2860   lolPlugin = (RenderListOfLayoutsPlugin*)pListOfLayouts->getPlugin("render");
2861   pGlobalRender=lolPlugin->createGlobalRenderInformation();
2862   pGlobalRender->setId("defaultStyle");
2863   pGlobalRender->setName("default style");
2864   pGlobalRender->setProgramName("Ralph Gauges");
2865   pGlobalRender->setProgramVersion("1.0");
2866   pGlobalRender->setBackgroundColor("#FFFFFFFF");
2867   // color definitions
2868   pColorDefinition=pGlobalRender->createColorDefinition();
2869   pColorDefinition->setId("lightBlue");
2870   pColorDefinition->setColorValue("#ADD8E6");
2871   pColorDefinition=pGlobalRender->createColorDefinition();
2872   pColorDefinition->setId("white");
2873   pColorDefinition->setColorValue("#FFFFFF");
2874   pColorDefinition=pGlobalRender->createColorDefinition();
2875   pColorDefinition->setId("black");
2876   pColorDefinition->setColorValue("#000000");
2877   pColorDefinition=pGlobalRender->createColorDefinition();
2878   pColorDefinition->setId("red");
2879   pColorDefinition->setColorValue("#FF0000");
2880   pColorDefinition=pGlobalRender->createColorDefinition();
2881   pColorDefinition->setId("green");
2882   pColorDefinition->setColorValue("#00FF00");
2883   pColorDefinition=pGlobalRender->createColorDefinition();
2884   pColorDefinition->setId("blue");
2885   pColorDefinition->setColorValue("#0000FF");
2886   pColorDefinition=pGlobalRender->createColorDefinition();
2887   pColorDefinition->setId("lightYellow");
2888   pColorDefinition->setColorValue("#FFFFD1");
2889   pColorDefinition=pGlobalRender->createColorDefinition();
2890   pColorDefinition->setId("darkGreen");
2891   pColorDefinition->setColorValue("#002000");
2892   // gradient definitions
2893   pRadialGradient=pGlobalRender->createRadialGradientDefinition();
2894   pRadialGradient->setId("speciesGlyphGradient");
2895   pStop=pRadialGradient->createGradientStop();
2896   pStop->setOffset(RelAbsVector(0.0,0.0));
2897   pStop->setStopColor("white");
2898   pStop=pRadialGradient->createGradientStop();
2899   pStop->setOffset(RelAbsVector(0.0,100.0));
2900   pStop->setStopColor("lightBlue");
2901   // line endings
2902   pLineEnding=pGlobalRender->createLineEnding();
2903   pLineEnding->setId("simpleHead_black");
2904   pLineEnding->getBoundingBox()->setPosition(&p);
2905   pLineEnding->getBoundingBox()->setDimensions(&d);
2906   pGroup=pLineEnding->getGroup();
2907   pGroup->setStroke("black");
2908   pGroup->setStrokeWidth(1.0);
2909   pGroup->setFillColor("black");
2910   pPolygon=pGroup->createPolygon();
2911   pR=pPolygon->createPoint();
2912   pR->setCoordinates(RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0));
2913   pR=pPolygon->createPoint();
2914   pR->setCoordinates(RelAbsVector(10.0,0.0),RelAbsVector(3.0,0.0));
2915   pR=pPolygon->createPoint();
2916   pR->setCoordinates(RelAbsVector(0.0,0.0),RelAbsVector(6.0,0.0));
2917   pLineEnding=pGlobalRender->createLineEnding();
2918   pLineEnding->setId("simpleHead_red");
2919   pLineEnding->getBoundingBox()->setPosition(&p);
2920   pLineEnding->getBoundingBox()->setDimensions(&d);
2921   pGroup=pLineEnding->getGroup();
2922   pGroup->setStroke("red");
2923   pGroup->setStrokeWidth(1.0);
2924   pGroup->setFillColor("red");
2925   pPolygon=pGroup->createPolygon();
2926   pR=pPolygon->createPoint();
2927   pR->setCoordinates(RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0));
2928   pR=pPolygon->createPoint();
2929   pR->setCoordinates(RelAbsVector(10.0,0.0),RelAbsVector(3.0,0.0));
2930   pR=pPolygon->createPoint();
2931   pR->setCoordinates(RelAbsVector(0.0,0.0),RelAbsVector(6.0,0.0));
2932   pLineEnding=pGlobalRender->createLineEnding();
2933   pLineEnding->setId("simpleHead_green");
2934   pLineEnding->getBoundingBox()->setPosition(&p);
2935   pLineEnding->getBoundingBox()->setDimensions(&d);
2936   pGroup=pLineEnding->getGroup();
2937   pGroup->setStroke("green");
2938   pGroup->setStrokeWidth(1.0);
2939   pGroup->setFillColor("green");
2940   pPolygon=pGroup->createPolygon();
2941   pR=pPolygon->createPoint();
2942   pR->setCoordinates(RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0));
2943   pR=pPolygon->createPoint();
2944   pR->setCoordinates(RelAbsVector(10.0,0.0),RelAbsVector(3.0,0.0));
2945   pR=pPolygon->createPoint();
2946   pR->setCoordinates(RelAbsVector(0.0,0.0),RelAbsVector(6.0,0.0));
2947   pLineEnding=pGlobalRender->createLineEnding();
2948   pLineEnding->setId("simpleHead_blue");
2949   pLineEnding->getBoundingBox()->setPosition(&p);
2950   pLineEnding->getBoundingBox()->setDimensions(&d);
2951   pGroup=pLineEnding->getGroup();
2952   pGroup->setStroke("blue");
2953   pGroup->setStrokeWidth(1.0);
2954   pGroup->setFillColor("blue");
2955   pPolygon=pGroup->createPolygon();
2956   pR=pPolygon->createPoint();
2957   pR->setCoordinates(RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0));
2958   pR=pPolygon->createPoint();
2959   pR->setCoordinates(RelAbsVector(10.0,0.0),RelAbsVector(3.0,0.0));
2960   pR=pPolygon->createPoint();
2961   pR->setCoordinates(RelAbsVector(0.0,0.0),RelAbsVector(6.0,0.0));
2962 
2963   // styles
2964   // style for compartment glyphs
2965   pGlobalStyle=pGlobalRender->createStyle("compartmentGlyphStyle");
2966   pGlobalStyle->addType("COMPARTMENTGLYPH");
2967   pGroup=pGlobalStyle->getGroup();
2968   pGroup->setStroke("darkGreen");
2969   pGroup->setStrokeWidth(1.0);
2970   pRectangle=pGroup->createRectangle();
2971   pRectangle->setCoordinatesAndSize(RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0),RelAbsVector(0.0,100.0),RelAbsVector(0.0,100.0));
2972   pRectangle->setRadiusX(RelAbsVector(0.0,10.0));
2973   pRectangle->setRadiusY(RelAbsVector(0.0,10.0));
2974   pRectangle->setFillColor("lightYellow");
2975 
2976   // style for species glyphs
2977   pGlobalStyle=pGlobalRender->createStyle("speciesGlyphStyle");
2978   pGlobalStyle->addType("SPECIESGLYPH");
2979   pGroup=pGlobalStyle->getGroup();
2980   pGroup->setStroke("black");
2981   pGroup->setStrokeWidth(1.0);
2982   pRectangle=pGroup->createRectangle();
2983   pRectangle->setCoordinatesAndSize(RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0),RelAbsVector(0.0,100.0),RelAbsVector(0.0,100.0));
2984   pRectangle->setRadiusX(RelAbsVector(5.0,0.0));
2985   pRectangle->setRadiusY(RelAbsVector(0.0,50.0));
2986   pRectangle->setFillColor("speciesGlyphGradient");
2987 
2988   // style for reaction and text glyphs
2989   pGlobalStyle=pGlobalRender->createStyle("reactionGlyphStyle");
2990   pGlobalStyle->addType("REACTIONGLYPH");
2991   pGlobalStyle->addType("TEXTGLYPH");
2992   pGroup=pGlobalStyle->getGroup();
2993   pGroup->setStroke("black");
2994   pGroup->setStrokeWidth(1.0);
2995   pGroup->setFontSize(RelAbsVector(12.0,0.0));
2996   pGroup->setTextAnchor(Text::ANCHOR_MIDDLE);
2997 
2998   // style for substrate and product species reference glyphs
2999   pGlobalStyle=pGlobalRender->createStyle("reactantSpeciesReferenceGlyphStyle");
3000   pGlobalStyle->addRole("substrate");
3001   pGlobalStyle->addRole("sidesubstrate");
3002   pGlobalStyle->addRole("product");
3003   pGlobalStyle->addRole("sideproduct");
3004   pGroup=pGlobalStyle->getGroup();
3005   pGroup->setStroke("#000000");
3006   pGroup->setStrokeWidth(1.0);
3007   pGroup->setEndHead("simpleHead_black");
3008 
3009   // style for activator species reference glyphs
3010   pGlobalStyle=pGlobalRender->createStyle("activatorSpeciesReferenceGlyphStyle");
3011   pGlobalStyle->addRole("activator");
3012   pGroup=pGlobalStyle->getGroup();
3013   pGroup->setStroke("green");
3014   pGroup->setStrokeWidth(1.0);
3015   pGroup->setEndHead("simpleHead_green");
3016 
3017   // style for modifier species reference glyphs
3018   pGlobalStyle=pGlobalRender->createStyle("modifierSpeciesReferenceGlyphStyle");
3019   pGlobalStyle->addRole("modifier");
3020   pGroup=pGlobalStyle->getGroup();
3021   pGroup->setStroke("blue");
3022   pGroup->setStrokeWidth(1.0);
3023   pGroup->setEndHead("simpleHead_blue");
3024 
3025   // style for inhibitor species reference glyphs
3026   pGlobalStyle=pGlobalRender->createStyle("inhibitorSpeciesReferenceGlyphStyle");
3027   pGlobalStyle->addRole("inhibitor");
3028   pGroup=pGlobalStyle->getGroup();
3029   pGroup->setStroke("red");
3030   pGroup->setStrokeWidth(1.0);
3031   pGroup->setEndHead("simpleHead_red");
3032 
3033 
3034   // local style that references a global style and redefines some things
3035   RenderLayoutPlugin* lPlugin = (RenderLayoutPlugin*)layout->getPlugin("render");
3036   lPlugin->getListOfLocalRenderInformation()->setVersion(2, 1);
3037   LocalRenderInformation* pLocalRender=lPlugin->createLocalRenderInformation();
3038   pLocalRender->setId("highlightGlucose");
3039   pLocalRender->setReferenceRenderInformationId("defaultStyle");
3040   pLocalRender->setProgramName("Ralph Gauges");
3041   pLocalRender->setProgramVersion("1.0");
3042   pLocalRender->setBackgroundColor("#FFFFFFFF");
3043   // color definitions
3044   pColorDefinition=pLocalRender->createColorDefinition();
3045   pColorDefinition->setId("lightRed");
3046   pColorDefinition->setColorValue("#E6ADD8");
3047   pColorDefinition=pLocalRender->createColorDefinition();
3048   pColorDefinition->setId("white");
3049   pColorDefinition->setColorValue("#FFFFFF");
3050   // gradient definitions
3051   pRadialGradient=pLocalRender->createRadialGradientDefinition();
3052   pRadialGradient->setId("highlightedSpeciesGlyphGradient");
3053   pStop=pRadialGradient->createGradientStop();
3054   pStop->setOffset(RelAbsVector(0.0,0.0));
3055   pStop->setStopColor("white");
3056   pStop=pRadialGradient->createGradientStop();
3057   pStop->setOffset(RelAbsVector(0.0,100.0));
3058   pStop->setStopColor("lightRed");
3059 
3060   // style for highligted species glyph
3061   LocalStyle* pLocalStyle=pLocalRender->createStyle("highlightedGlucose");
3062   pLocalStyle->addId("SpeciesGlyph_Glucose");
3063   pGroup=pLocalStyle->getGroup();
3064   pGroup->setStroke("black");
3065   pGroup->setStrokeWidth(1.0);
3066   pRectangle=pGroup->createRectangle();
3067   pRectangle->setCoordinatesAndSize(RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0),RelAbsVector(0.0,100.0),RelAbsVector(0.0,100.0));
3068   pRectangle->setRadiusX(RelAbsVector(5.0,0.0));
3069   pRectangle->setRadiusY(RelAbsVector(0.0,50.0));
3070   pRectangle->setFillColor("highlightedSpeciesGlyphGradient");
3071 
3072   SBMLWriter writer;
3073 
3074   //bool result=writeSBML(document,"example6.xml");
3075   char* writtenContent=writer.writeToString(document);
3076 
3077   XMLInputStream stream2(writtenContent,false);
3078   XMLNode node2(stream2);
3079 
3080   const XMLNode* listOfLayouts1,*listOfLayouts2;
3081   listOfLayouts1=&node;
3082   fail_unless(listOfLayouts1->getName()=="sbml");
3083   unsigned int i,iMax=listOfLayouts1->getNumChildren();
3084   for(i=0;i<iMax;++i)
3085   {
3086     if(listOfLayouts1->getChild(i).getName()=="model")
3087     {
3088         listOfLayouts1=&listOfLayouts1->getChild(i);
3089         break;
3090     }
3091   }
3092   fail_unless(listOfLayouts1->getName()=="model");
3093   iMax=listOfLayouts1->getNumChildren();
3094   for(i=0;i<iMax;++i)
3095   {
3096     if(listOfLayouts1->getChild(i).getName()=="annotation")
3097     {
3098         listOfLayouts1=&listOfLayouts1->getChild(i);
3099         break;
3100     }
3101   }
3102   fail_unless(listOfLayouts1->getName()=="annotation");
3103   iMax=listOfLayouts1->getNumChildren();
3104   for(i=0;i<iMax;++i)
3105   {
3106     if(listOfLayouts1->getChild(i).getName()=="listOfLayouts")
3107     {
3108         listOfLayouts1=&listOfLayouts1->getChild(i);
3109         break;
3110     }
3111   }
3112   fail_unless(listOfLayouts1->getName()=="listOfLayouts");
3113 
3114   listOfLayouts2=&node2;
3115   fail_unless(listOfLayouts2->getName()=="sbml");
3116   iMax=listOfLayouts2->getNumChildren();
3117   for(i=0;i<iMax;++i)
3118   {
3119     if(listOfLayouts2->getChild(i).getName()=="model")
3120     {
3121         listOfLayouts2=&listOfLayouts2->getChild(i);
3122         break;
3123     }
3124   }
3125   fail_unless(listOfLayouts2->getName()=="model");
3126   iMax=listOfLayouts2->getNumChildren();
3127   for(i=0;i<iMax;++i)
3128   {
3129     if(listOfLayouts2->getChild(i).getName()=="annotation")
3130     {
3131         listOfLayouts2=&listOfLayouts2->getChild(i);
3132         break;
3133     }
3134   }
3135   fail_unless(listOfLayouts2->getName()=="annotation");
3136   iMax=listOfLayouts2->getNumChildren();
3137   for(i=0;i<iMax;++i)
3138   {
3139     if(listOfLayouts2->getChild(i).getName()=="listOfLayouts")
3140     {
3141         listOfLayouts2=&listOfLayouts2->getChild(i);
3142         break;
3143     }
3144   }
3145   fail_unless(listOfLayouts2->getName()=="listOfLayouts");
3146 
3147   std::string l1 = listOfLayouts1->toXMLString();
3148   std::string l2 = listOfLayouts2->toXMLString();
3149   //fail_unless(l1 == l2);
3150 
3151   // until the sbml element gets a namespace, we only compare the listOfLayouts element and all its children.
3152   fail_unless(listOfLayouts1->equals(*listOfLayouts2));
3153 
3154   free(writtenContent);
3155   delete document;
3156 }
3157 END_TEST
3158 
START_TEST(test_RenderWriting_write_L3_model_1)3159 START_TEST (test_RenderWriting_write_L3_model_1)
3160 {
3161   const char* s = \
3162     "<?xml version=\"1.0\" encoding=\"UTF-8\"?>"
3163 "<sbml xmlns=\"http://www.sbml.org/sbml/level3/version1/core\" xmlns:layout=\"http://www.sbml.org/sbml/level3/version1/layout/version1\" xmlns:render=\"http://www.sbml.org/sbml/level3/version1/render/version1\" level=\"3\" version=\"1\" layout:required=\"false\" render:required=\"false\">"
3164 "  <model id=\"TestModel\">"
3165 "    <listOfCompartments>"
3166 "      <compartment id=\"Hepatocyte\" name=\"Hepatocyte\"/>"
3167 "      <compartment id=\"Mito_1\" name=\"Mito 1\"/>"
3168 "      <compartment id=\"Mito_2\" name=\"Mito 2\"/>"
3169 "      <compartment id=\"Mito_3\" name=\"Mito 3\"/>"
3170 "    </listOfCompartments>"
3171 "    <listOfSpecies>"
3172 "      <species id=\"malate_cyt\" name=\"Malate\" compartment=\"Hepatocyte\"/>"
3173 "      <species id=\"malate_mito1\" name=\"Malate\" compartment=\"Mito_1\"/>"
3174 "      <species id=\"malate_mito2\" name=\"Malate\" compartment=\"Mito_2\"/>"
3175 "      <species id=\"malate_mito3\" name=\"Malate\" compartment=\"Mito_3\"/>"
3176 "      <species id=\"oxaloacetate_cyt\" name=\"Oxaloacetate\" compartment=\"Hepatocyte\"/>"
3177 "      <species id=\"oxaloacetate_mito1\" name=\"Oxaloacetate\" compartment=\"Mito_1\"/>"
3178 "      <species id=\"oxaloacetate_mito2\" name=\"Oxaloacetate\" compartment=\"Mito_2\"/>"
3179 "      <species id=\"oxaloacetate_mito3\" name=\"Oxaloacetate\" compartment=\"Mito_3\"/>"
3180 "      <species id=\"aspartate_cyt\" name=\"Aspartate\" compartment=\"Hepatocyte\"/>"
3181 "      <species id=\"aspartate_mito1\" name=\"Aspartate\" compartment=\"Mito_1\"/>"
3182 "      <species id=\"aspartate_mito2\" name=\"Aspartate\" compartment=\"Mito_2\"/>"
3183 "      <species id=\"aspartate_mito3\" name=\"Aspartate\" compartment=\"Mito_3\"/>"
3184 "      <species id=\"glutamate_cyt\" name=\"Glutamate\" compartment=\"Hepatocyte\"/>"
3185 "      <species id=\"glutamate_mito1\" name=\"Glutamate\" compartment=\"Mito_1\"/>"
3186 "      <species id=\"glutamate_mito2\" name=\"Glutamate\" compartment=\"Mito_2\"/>"
3187 "      <species id=\"glutamate_mito3\" name=\"Glutamate\" compartment=\"Mito_3\"/>"
3188 "      <species id=\"aKetoglutarate_cyt\" name=\"alpha-Ketoglutarate\" compartment=\"Hepatocyte\"/>"
3189 "      <species id=\"aKetoglutarate_mito1\" name=\"alpha-Ketoglutarate\" compartment=\"Mito_1\"/>"
3190 "      <species id=\"aKetoglutarate_mito2\" name=\"alpha-Ketoglutarate\" compartment=\"Mito_2\"/>"
3191 "      <species id=\"aKetoglutarate_mito3\" name=\"alpha-Ketoglutarate\" compartment=\"Mito_3\"/>"
3192 "      <species id=\"h_cyt\" name=\"H+\" compartment=\"Hepatocyte\"/>"
3193 "      <species id=\"h_mito1\" name=\"H+\" compartment=\"Mito_1\"/>"
3194 "      <species id=\"h_mito2\" name=\"H+\" compartment=\"Mito_2\"/>"
3195 "      <species id=\"h_mito3\" name=\"H+\" compartment=\"Mito_3\"/>"
3196 "      <species id=\"nad_cyt\" name=\"NAD+\" compartment=\"Hepatocyte\"/>"
3197 "      <species id=\"nad_mito1\" name=\"NAD+\" compartment=\"Mito_1\"/>"
3198 "      <species id=\"nad_mito2\" name=\"NAD+\" compartment=\"Mito_2\"/>"
3199 "      <species id=\"nad_mito3\" name=\"NAD+\" compartment=\"Mito_3\"/>"
3200 "      <species id=\"nadh_cyt\" name=\"NADH\" compartment=\"Hepatocyte\"/>"
3201 "      <species id=\"nadh_mito1\" name=\"NADH\" compartment=\"Mito_1\"/>"
3202 "      <species id=\"nadh_mito2\" name=\"NADH\" compartment=\"Mito_2\"/>"
3203 "      <species id=\"nadh_mito3\" name=\"NADH\" compartment=\"Mito_3\"/>"
3204 "    </listOfSpecies>"
3205 "    <listOfReactions>"
3206 "      <reaction id=\"reaction_malatedh_cyt\" name=\"malate dehydrogenase\" reversible=\"false\">"
3207 "        <listOfReactants>"
3208 "          <speciesReference id=\"sr_malate_cyt\" species=\"malate_cyt\"/>"
3209 "          <speciesReference id=\"sr_nad_cyt\" species=\"nad_cyt\"/>"
3210 "        </listOfReactants>"
3211 "        <listOfProducts>"
3212 "          <speciesReference id=\"sr_nadh_cyt\" species=\"nadh_cyt\"/>"
3213 "          <speciesReference id=\"sr_h_cyt\" species=\"h_cyt\"/>"
3214 "          <speciesReference id=\"sr_oxaloacetate_cyt_1\" species=\"oxaloacetate_cyt\"/>"
3215 "        </listOfProducts>"
3216 "      </reaction>"
3217 "      <reaction id=\"reaction_aspartateat_cyt\" name=\"aspartate aminotransferase\" reversible=\"false\">"
3218 "        <listOfReactants>"
3219 "          <speciesReference id=\"sr_oxaloacetate_cyt_2\" species=\"oxaloacetate_cyt\"/>"
3220 "          <speciesReference id=\"sr_glutamate_cyt_1\" species=\"glutamate_cyt\"/>"
3221 "        </listOfReactants>"
3222 "        <listOfProducts>"
3223 "          <speciesReference id=\"sr_aspartate_cyt_1\" species=\"aspartate_cyt\"/>"
3224 "          <speciesReference id=\"sr_aKetoglutarate_cyt_1\" species=\"aKetoglutarate_cyt\"/>"
3225 "        </listOfProducts>"
3226 "      </reaction>"
3227 "      <reaction id=\"reaction_malatedh_mito1\" name=\"malate dehydrogenase\" reversible=\"false\">"
3228 "        <listOfReactants>"
3229 "          <speciesReference id=\"sr_malate_mito1\" species=\"malate_mito1\"/>"
3230 "          <speciesReference id=\"sr_nad_mito1\" species=\"nad_mito1\"/>"
3231 "        </listOfReactants>"
3232 "        <listOfProducts>"
3233 "          <speciesReference id=\"sr_nadh_mito1\" species=\"nadh_mito1\"/>"
3234 "          <speciesReference id=\"sr_h_mito1\" species=\"h_mito1\"/>"
3235 "          <speciesReference id=\"sr_oxaloacetate_mito1_1\" species=\"oxaloacetate_mito1\"/>"
3236 "        </listOfProducts>"
3237 "      </reaction>"
3238 "      <reaction id=\"reaction_aspartateat_mito1\" name=\"aspartate aminotransferase\" reversible=\"false\">"
3239 "        <listOfReactants>"
3240 "          <speciesReference id=\"sr_oxaloacetate_mito1_2\" species=\"oxaloacetate_mito1\"/>"
3241 "          <speciesReference id=\"sr_glutamate_mito1\" species=\"glutamate_mito1\"/>"
3242 "        </listOfReactants>"
3243 "        <listOfProducts>"
3244 "          <speciesReference id=\"sr_aspartate_mito1\" species=\"aspartate_mito1\"/>"
3245 "          <speciesReference id=\"sr_aKetoglutarate_mito1\" species=\"aKetoglutarate_mito1\"/>"
3246 "        </listOfProducts>"
3247 "      </reaction>"
3248 "      <reaction id=\"reaction_malatedh_mito2\" name=\"malate dehydrogenase\" reversible=\"false\">"
3249 "        <listOfReactants>"
3250 "          <speciesReference id=\"sr_malate_mito2\" species=\"malate_mito2\"/>"
3251 "          <speciesReference id=\"sr_nad_mito2\" species=\"nad_mito2\"/>"
3252 "        </listOfReactants>"
3253 "        <listOfProducts>"
3254 "          <speciesReference id=\"sr_nadh_mito2\" species=\"nadh_mito2\"/>"
3255 "          <speciesReference id=\"sr_h_mito2\" species=\"h_mito2\"/>"
3256 "          <speciesReference id=\"sr_oxaloacetate_mito2_1\" species=\"oxaloacetate_mito2\"/>"
3257 "        </listOfProducts>"
3258 "      </reaction>"
3259 "      <reaction id=\"reaction_aspartateat_mito2\" name=\"aspartate aminotransferase\" reversible=\"false\">"
3260 "        <listOfReactants>"
3261 "          <speciesReference id=\"sr_oxaloacetate_mito2_2\" species=\"oxaloacetate_mito2\"/>"
3262 "          <speciesReference id=\"sr_glutamate_mito2\" species=\"glutamate_mito2\"/>"
3263 "        </listOfReactants>"
3264 "        <listOfProducts>"
3265 "          <speciesReference id=\"sr_aspartate_mito2\" species=\"aspartate_mito2\"/>"
3266 "          <speciesReference id=\"sr_aKetoglutarate_mito2\" species=\"aKetoglutarate_mito2\"/>"
3267 "        </listOfProducts>"
3268 "      </reaction>"
3269 "      <reaction id=\"reaction_malatedh_mito3\" name=\"malate dehydrogenase\" reversible=\"false\">"
3270 "        <listOfReactants>"
3271 "          <speciesReference id=\"sr_malate_mito3\" species=\"malate_mito3\"/>"
3272 "          <speciesReference id=\"sr_nad_mito3\" species=\"nad_mito3\"/>"
3273 "        </listOfReactants>"
3274 "        <listOfProducts>"
3275 "          <speciesReference id=\"sr_nadh_mito3\" species=\"nadh_mito3\"/>"
3276 "          <speciesReference id=\"sr_h_mito3\" species=\"h_mito3\"/>"
3277 "          <speciesReference id=\"sr_oxaloacetate_mito3_1\" species=\"oxaloacetate_mito3\"/>"
3278 "        </listOfProducts>"
3279 "      </reaction>"
3280 "      <reaction id=\"reaction_aspartateat_mito3\" name=\"aspartate aminotransferase\" reversible=\"false\">"
3281 "        <listOfReactants>"
3282 "          <speciesReference id=\"sr_oxaloacetate_mito3_2\" species=\"oxaloacetate_mito3\"/>"
3283 "          <speciesReference id=\"sr_glutamate_mito3_1\" species=\"glutamate_mito3\"/>"
3284 "        </listOfReactants>"
3285 "        <listOfProducts>"
3286 "          <speciesReference id=\"sr_aspartate_mito3_1\" species=\"aspartate_mito3\"/>"
3287 "          <speciesReference id=\"sr_aKetoglutarate_mito3_1\" species=\"aKetoglutarate_mito3\"/>"
3288 "        </listOfProducts>"
3289 "      </reaction>"
3290 "      <reaction id=\"aspartateCarrier\" name=\"aspartate carrier\" reversible=\"true\">"
3291 "        <listOfReactants>"
3292 "          <speciesReference id=\"sr_glutamate_mito3_2\" species=\"glutamate_mito3\"/>"
3293 "          <speciesReference id=\"sr_aspartate_cyt_2\" species=\"aspartate_cyt\"/>"
3294 "        </listOfReactants>"
3295 "        <listOfProducts>"
3296 "          <speciesReference id=\"sr_glutamate_cyt_2\" species=\"glutamate_cyt\"/>"
3297 "          <speciesReference id=\"sr_aspartate_mito3_2\" species=\"aspartate_mito3\"/>"
3298 "        </listOfProducts>"
3299 "      </reaction>"
3300 "      <reaction id=\"malateCarrier\" name=\"malate carrier\" reversible=\"true\">"
3301 "        <listOfReactants>"
3302 "          <speciesReference id=\"sr_aKetoglutarate_mito3_2\" species=\"aKetoglutarate_mito3\"/>"
3303 "          <speciesReference id=\"sr_malate_cyt_2\" species=\"malate_cyt\"/>"
3304 "        </listOfReactants>"
3305 "        <listOfProducts>"
3306 "          <speciesReference id=\"sr_aKetoglutarate_cyt_2\" species=\"aKetoglutarate_cyt\"/>"
3307 "          <speciesReference id=\"sr_malate_mito3_2\" species=\"malate_mito3\"/>"
3308 "        </listOfProducts>"
3309 "      </reaction>"
3310 "    </listOfReactions>"
3311 "    <layout:listOfLayouts xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">"
3312 "      <layout:layout layout:id=\"Layout_1\">"
3313 "        <layout:dimensions layout:width=\"2320\" layout:height=\"1000\"/>"
3314 "        <layout:listOfCompartmentGlyphs>"
3315 "          <layout:compartmentGlyph layout:id=\"CompartmentGlyph_1\" layout:compartment=\"Hepatocyte\">"
3316 "            <layout:boundingBox layout:id=\"bb_compartment\">"
3317 "              <layout:position layout:x=\"10\" layout:y=\"10\"/>"
3318 "              <layout:dimensions layout:width=\"2300\" layout:height=\"980\"/>"
3319 "            </layout:boundingBox>"
3320 "          </layout:compartmentGlyph>"
3321 "          <layout:compartmentGlyph layout:id=\"Mito1_Glyph\" layout:compartment=\"Mito_1\">"
3322 "            <layout:boundingBox layout:id=\"bb_mito1\">"
3323 "              <layout:position layout:x=\"100\" layout:y=\"100\"/>"
3324 "              <layout:dimensions layout:width=\"300\" layout:height=\"100\"/>"
3325 "            </layout:boundingBox>"
3326 "          </layout:compartmentGlyph>"
3327 "          <layout:compartmentGlyph layout:id=\"Mito2_Glyph\" layout:compartment=\"Mito_2\">"
3328 "            <layout:boundingBox layout:id=\"bb_mito2\">"
3329 "              <layout:position layout:x=\"200\" layout:y=\"650\"/>"
3330 "              <layout:dimensions layout:width=\"300\" layout:height=\"100\"/>"
3331 "            </layout:boundingBox>"
3332 "          </layout:compartmentGlyph>"
3333 "          <layout:compartmentGlyph layout:id=\"Mito3_Glyph_2\" layout:compartment=\"Mito_3\">"
3334 "            <layout:boundingBox layout:id=\"bb_mito3_2\">"
3335 "              <layout:position layout:x=\"1470\" layout:y=\"30\"/>"
3336 "              <layout:dimensions layout:width=\"820\" layout:height=\"536\"/>"
3337 "            </layout:boundingBox>"
3338 "          </layout:compartmentGlyph>"
3339 "        </layout:listOfCompartmentGlyphs>"
3340 "        <layout:listOfSpeciesGlyphs>"
3341 "          <layout:speciesGlyph layout:id=\"SpeciesGlyph_malate_cyt\" layout:species=\"malate_cyt\">"
3342 "            <layout:boundingBox layout:id=\"bb_sg_malate_cyt\">"
3343 "              <layout:position layout:x=\"580\" layout:y=\"280\"/>"
3344 "              <layout:dimensions layout:width=\"240\" layout:height=\"36\"/>"
3345 "            </layout:boundingBox>"
3346 "          </layout:speciesGlyph>"
3347 "          <layout:speciesGlyph layout:id=\"SpeciesGlyph_oxaloacetate_cyt\" layout:species=\"oxaloacetate_cyt\">"
3348 "            <layout:boundingBox layout:id=\"bb_sg_oxaloacetate_cyt\">"
3349 "              <layout:position layout:x=\"580\" layout:y=\"480\"/>"
3350 "              <layout:dimensions layout:width=\"240\" layout:height=\"36\"/>"
3351 "            </layout:boundingBox>"
3352 "          </layout:speciesGlyph>"
3353 "          <layout:speciesGlyph layout:id=\"SpeciesGlyph_aspartate_cyt\" layout:species=\"aspartate_cyt\">"
3354 "            <layout:boundingBox layout:id=\"bb_sg_aspartate_cyt\">"
3355 "              <layout:position layout:x=\"580\" layout:y=\"680\"/>"
3356 "              <layout:dimensions layout:width=\"240\" layout:height=\"36\"/>"
3357 "            </layout:boundingBox>"
3358 "          </layout:speciesGlyph>"
3359 "          <layout:speciesGlyph layout:id=\"SpeciesGlyph_glutamate_cyt\" layout:species=\"glutamate_cyt\">"
3360 "            <layout:boundingBox layout:id=\"bb_sg_glutamate_cyt\">"
3361 "              <layout:position layout:x=\"800\" layout:y=\"610\"/>"
3362 "              <layout:dimensions layout:width=\"240\" layout:height=\"36\"/>"
3363 "            </layout:boundingBox>"
3364 "          </layout:speciesGlyph>"
3365 "          <layout:speciesGlyph layout:id=\"SpeciesGlyph_aKetoglutarate_cyt\" layout:species=\"aKetoglutarate_cyt\">"
3366 "            <layout:boundingBox layout:id=\"bb_sg_aKetoglutarate_cyt\">"
3367 "              <layout:position layout:x=\"860\" layout:y=\"500\"/>"
3368 "              <layout:dimensions layout:width=\"280\" layout:height=\"36\"/>"
3369 "            </layout:boundingBox>"
3370 "          </layout:speciesGlyph>"
3371 "          <layout:speciesGlyph layout:id=\"SpeciesGlyph_nad_cyt\" layout:species=\"nad_cyt\">"
3372 "            <layout:boundingBox layout:id=\"bb_sg_nad_cyt\">"
3373 "              <layout:position layout:x=\"520\" layout:y=\"350\"/>"
3374 "              <layout:dimensions layout:width=\"100\" layout:height=\"24\"/>"
3375 "            </layout:boundingBox>"
3376 "          </layout:speciesGlyph>"
3377 "          <layout:speciesGlyph layout:id=\"SpeciesGlyph_nadh_cyt\" layout:species=\"nadh_cyt\">"
3378 "            <layout:boundingBox layout:id=\"bb_sg_nadh_cyt\">"
3379 "              <layout:position layout:x=\"520\" layout:y=\"430\"/>"
3380 "              <layout:dimensions layout:width=\"100\" layout:height=\"24\"/>"
3381 "            </layout:boundingBox>"
3382 "          </layout:speciesGlyph>"
3383 "          <layout:speciesGlyph layout:id=\"SpeciesGlyph_h_cyt\" layout:species=\"h_cyt\">"
3384 "            <layout:boundingBox layout:id=\"bb_sg_h_cyt\">"
3385 "              <layout:position layout:x=\"430\" layout:y=\"430\"/>"
3386 "              <layout:dimensions layout:width=\"40\" layout:height=\"24\"/>"
3387 "            </layout:boundingBox>"
3388 "          </layout:speciesGlyph>"
3389 "          <layout:speciesGlyph layout:id=\"SpeciesGlyph_malate_mito3\" layout:species=\"malate_mito3\">"
3390 "            <layout:boundingBox layout:id=\"bb_sg_malate_mito3\">"
3391 "              <layout:position layout:x=\"1850\" layout:y=\"80\"/>"
3392 "              <layout:dimensions layout:width=\"240\" layout:height=\"36\"/>"
3393 "            </layout:boundingBox>"
3394 "          </layout:speciesGlyph>"
3395 "          <layout:speciesGlyph layout:id=\"SpeciesGlyph_oxaloacetate_mito3\" layout:species=\"oxaloacetate_mito3\">"
3396 "            <layout:boundingBox layout:id=\"bb_sg_oxaloacetate_mito3\">"
3397 "              <layout:position layout:x=\"1850\" layout:y=\"280\"/>"
3398 "              <layout:dimensions layout:width=\"240\" layout:height=\"36\"/>"
3399 "            </layout:boundingBox>"
3400 "          </layout:speciesGlyph>"
3401 "          <layout:speciesGlyph layout:id=\"SpeciesGlyph_aspartate_mito3\" layout:species=\"aspartate_mito3\">"
3402 "            <layout:boundingBox layout:id=\"bb_sg_aspartate_mito3\">"
3403 "              <layout:position layout:x=\"1850\" layout:y=\"480\"/>"
3404 "              <layout:dimensions layout:width=\"240\" layout:height=\"36\"/>"
3405 "            </layout:boundingBox>"
3406 "          </layout:speciesGlyph>"
3407 "          <layout:speciesGlyph layout:id=\"SpeciesGlyph_glutamate_mito3\" layout:species=\"glutamate_mito3\">"
3408 "            <layout:boundingBox layout:id=\"bb_sg_glutamate_mito3\">"
3409 "              <layout:position layout:x=\"1550\" layout:y=\"430\"/>"
3410 "              <layout:dimensions layout:width=\"240\" layout:height=\"36\"/>"
3411 "            </layout:boundingBox>"
3412 "          </layout:speciesGlyph>"
3413 "          <layout:speciesGlyph layout:id=\"SpeciesGlyph_aKetoglutarate_mito3\" layout:species=\"aKetoglutarate_mito3\">"
3414 "            <layout:boundingBox layout:id=\"bb_sg_aKetoglutarate_mito3\">"
3415 "              <layout:position layout:x=\"1530\" layout:y=\"300\"/>"
3416 "              <layout:dimensions layout:width=\"280\" layout:height=\"36\"/>"
3417 "            </layout:boundingBox>"
3418 "          </layout:speciesGlyph>"
3419 "          <layout:speciesGlyph layout:id=\"SpeciesGlyph_nad_mito3\" layout:species=\"nad_mito3\">"
3420 "            <layout:boundingBox layout:id=\"bb_sg_nad_mito3\">"
3421 "              <layout:position layout:x=\"2050\" layout:y=\"150\"/>"
3422 "              <layout:dimensions layout:width=\"100\" layout:height=\"24\"/>"
3423 "            </layout:boundingBox>"
3424 "          </layout:speciesGlyph>"
3425 "          <layout:speciesGlyph layout:id=\"SpeciesGlyph_nadh_mito3\" layout:species=\"nadh_mito3\">"
3426 "            <layout:boundingBox layout:id=\"bb_sg_nadh_mito3\">"
3427 "              <layout:position layout:x=\"2050\" layout:y=\"230\"/>"
3428 "              <layout:dimensions layout:width=\"100\" layout:height=\"24\"/>"
3429 "            </layout:boundingBox>"
3430 "          </layout:speciesGlyph>"
3431 "          <layout:speciesGlyph layout:id=\"SpeciesGlyph_h_mito3\" layout:species=\"h_mito3\">"
3432 "            <layout:boundingBox layout:id=\"bb_sg_h_mito3\">"
3433 "              <layout:position layout:x=\"2200\" layout:y=\"230\"/>"
3434 "              <layout:dimensions layout:width=\"40\" layout:height=\"24\"/>"
3435 "            </layout:boundingBox>"
3436 "          </layout:speciesGlyph>"
3437 "        </layout:listOfSpeciesGlyphs>"
3438 "        <layout:listOfReactionGlyphs>"
3439 "          <layout:reactionGlyph layout:id=\"rg_malatedh_cyt\" layout:reaction=\"reaction_malatedh_cyt\">"
3440 "            <layout:curve>"
3441 "              <layout:listOfCurveSegments>"
3442 "                <layout:curveSegment xsi:type=\"LineSegment\">"
3443 "                  <layout:start layout:x=\"700\" layout:y=\"381\"/>"
3444 "                  <layout:end layout:x=\"700\" layout:y=\"415\"/>"
3445 "                </layout:curveSegment>"
3446 "              </layout:listOfCurveSegments>"
3447 "            </layout:curve>"
3448 "            <layout:listOfSpeciesReferenceGlyphs>"
3449 "              <layout:speciesReferenceGlyph layout:id=\"srg_malate_cyt_1\" layout:speciesReference=\"sr_malate_cyt\" layout:speciesGlyph=\"SpeciesGlyph_malate_cyt\" layout:role=\"substrate\">"
3450 "                <layout:curve>"
3451 "                  <layout:listOfCurveSegments>"
3452 "                    <layout:curveSegment xsi:type=\"LineSegment\">"
3453 "                      <layout:start layout:x=\"700\" layout:y=\"381\"/>"
3454 "                      <layout:end layout:x=\"700\" layout:y=\"316\"/>"
3455 "                    </layout:curveSegment>"
3456 "                  </layout:listOfCurveSegments>"
3457 "                </layout:curve>"
3458 "              </layout:speciesReferenceGlyph>"
3459 "              <layout:speciesReferenceGlyph layout:id=\"srg_nad_cyt\" layout:speciesReference=\"sr_nad_cyt\" layout:speciesGlyph=\"SpeciesGlyph_nad_cyt\" layout:role=\"substrate\">"
3460 "                <layout:curve>"
3461 "                  <layout:listOfCurveSegments>"
3462 "                    <layout:curveSegment xsi:type=\"CubicBezier\">"
3463 "                      <layout:start layout:x=\"700\" layout:y=\"381\"/>"
3464 "                      <layout:end layout:x=\"620\" layout:y=\"362\"/>"
3465 "                      <layout:basePoint1 layout:x=\"700\" layout:y=\"362\"/>"
3466 "                      <layout:basePoint2 layout:x=\"700\" layout:y=\"362\"/>"
3467 "                    </layout:curveSegment>"
3468 "                  </layout:listOfCurveSegments>"
3469 "                </layout:curve>"
3470 "              </layout:speciesReferenceGlyph>"
3471 "              <layout:speciesReferenceGlyph layout:id=\"srg_oxaloacetate_cyt_1\" layout:speciesReference=\"sr_oxaloacetate_cyt_1\" layout:speciesGlyph=\"SpeciesGlyph_oxaloacetate_cyt\" layout:role=\"product\">"
3472 "                <layout:curve>"
3473 "                  <layout:listOfCurveSegments>"
3474 "                    <layout:curveSegment xsi:type=\"LineSegment\">"
3475 "                      <layout:start layout:x=\"700\" layout:y=\"415\"/>"
3476 "                      <layout:end layout:x=\"700\" layout:y=\"480\"/>"
3477 "                    </layout:curveSegment>"
3478 "                  </layout:listOfCurveSegments>"
3479 "                </layout:curve>"
3480 "              </layout:speciesReferenceGlyph>"
3481 "              <layout:speciesReferenceGlyph layout:id=\"srg_nadh_cyt\" layout:speciesReference=\"sr_nadh_cyt\" layout:speciesGlyph=\"SpeciesGlyph_nadh_cyt\" layout:role=\"product\">"
3482 "                <layout:curve>"
3483 "                  <layout:listOfCurveSegments>"
3484 "                    <layout:curveSegment xsi:type=\"CubicBezier\">"
3485 "                      <layout:start layout:x=\"700\" layout:y=\"415\"/>"
3486 "                      <layout:end layout:x=\"620\" layout:y=\"442\"/>"
3487 "                      <layout:basePoint1 layout:x=\"700\" layout:y=\"442\"/>"
3488 "                      <layout:basePoint2 layout:x=\"700\" layout:y=\"442\"/>"
3489 "                    </layout:curveSegment>"
3490 "                  </layout:listOfCurveSegments>"
3491 "                </layout:curve>"
3492 "              </layout:speciesReferenceGlyph>"
3493 "              <layout:speciesReferenceGlyph layout:id=\"srg_h_cyt\" layout:speciesReference=\"sr_h_cyt\" layout:speciesGlyph=\"SpeciesGlyph_h_cyt\" layout:role=\"product\">"
3494 "                <layout:curve>"
3495 "                  <layout:listOfCurveSegments>"
3496 "                    <layout:curveSegment xsi:type=\"CubicBezier\">"
3497 "                      <layout:start layout:x=\"700\" layout:y=\"415\"/>"
3498 "                      <layout:end layout:x=\"470\" layout:y=\"430\"/>"
3499 "                      <layout:basePoint1 layout:x=\"570\" layout:y=\"415\"/>"
3500 "                      <layout:basePoint2 layout:x=\"570\" layout:y=\"415\"/>"
3501 "                    </layout:curveSegment>"
3502 "                  </layout:listOfCurveSegments>"
3503 "                </layout:curve>"
3504 "              </layout:speciesReferenceGlyph>"
3505 "            </layout:listOfSpeciesReferenceGlyphs>"
3506 "          </layout:reactionGlyph>"
3507 "          <layout:reactionGlyph layout:id=\"rg_aspartateat_cyt\" layout:reaction=\"reaction_aspartateat_cyt\">"
3508 "            <layout:curve>"
3509 "              <layout:listOfCurveSegments>"
3510 "                <layout:curveSegment xsi:type=\"LineSegment\">"
3511 "                  <layout:start layout:x=\"700\" layout:y=\"581\"/>"
3512 "                  <layout:end layout:x=\"700\" layout:y=\"615\"/>"
3513 "                </layout:curveSegment>"
3514 "              </layout:listOfCurveSegments>"
3515 "            </layout:curve>"
3516 "            <layout:listOfSpeciesReferenceGlyphs>"
3517 "              <layout:speciesReferenceGlyph layout:id=\"srg_oxaloacetate_cyt_2\" layout:speciesReference=\"sr_oxaloacetate_cyt_2\" layout:speciesGlyph=\"SpeciesGlyph_oxaloacetate_cyt\" layout:role=\"substrate\">"
3518 "                <layout:curve>"
3519 "                  <layout:listOfCurveSegments>"
3520 "                    <layout:curveSegment xsi:type=\"LineSegment\">"
3521 "                      <layout:start layout:x=\"700\" layout:y=\"581\"/>"
3522 "                      <layout:end layout:x=\"700\" layout:y=\"516\"/>"
3523 "                    </layout:curveSegment>"
3524 "                  </layout:listOfCurveSegments>"
3525 "                </layout:curve>"
3526 "              </layout:speciesReferenceGlyph>"
3527 "              <layout:speciesReferenceGlyph layout:id=\"srg_glutamate_cyt_1\" layout:speciesReference=\"sr_glutamate_cyt_1\" layout:speciesGlyph=\"SpeciesGlyph_glutamate_cyt\" layout:role=\"substrate\">"
3528 "                <layout:curve>"
3529 "                  <layout:listOfCurveSegments>"
3530 "                    <layout:curveSegment xsi:type=\"CubicBezier\">"
3531 "                      <layout:start layout:x=\"700\" layout:y=\"581\"/>"
3532 "                      <layout:end layout:x=\"800\" layout:y=\"628\"/>"
3533 "                      <layout:basePoint1 layout:x=\"750\" layout:y=\"581\"/>"
3534 "                      <layout:basePoint2 layout:x=\"750\" layout:y=\"628\"/>"
3535 "                    </layout:curveSegment>"
3536 "                  </layout:listOfCurveSegments>"
3537 "                </layout:curve>"
3538 "              </layout:speciesReferenceGlyph>"
3539 "              <layout:speciesReferenceGlyph layout:id=\"srg_aspartate_cyt_1\" layout:speciesReference=\"sr_aspartate_cyt_1\" layout:speciesGlyph=\"SpeciesGlyph_aspartate_cyt\" layout:role=\"product\">"
3540 "                <layout:curve>"
3541 "                  <layout:listOfCurveSegments>"
3542 "                    <layout:curveSegment xsi:type=\"LineSegment\">"
3543 "                      <layout:start layout:x=\"700\" layout:y=\"615\"/>"
3544 "                      <layout:end layout:x=\"700\" layout:y=\"680\"/>"
3545 "                    </layout:curveSegment>"
3546 "                  </layout:listOfCurveSegments>"
3547 "                </layout:curve>"
3548 "              </layout:speciesReferenceGlyph>"
3549 "              <layout:speciesReferenceGlyph layout:id=\"srg_aKetoglutaratecyt_1\" layout:speciesReference=\"sr_aKetoglutarate_cyt_1\" layout:speciesGlyph=\"SpeciesGlyph_aKetoglutarate_cyt\" layout:role=\"product\">"
3550 "                <layout:curve>"
3551 "                  <layout:listOfCurveSegments>"
3552 "                    <layout:curveSegment xsi:type=\"CubicBezier\">"
3553 "                      <layout:start layout:x=\"700\" layout:y=\"615\"/>"
3554 "                      <layout:end layout:x=\"860\" layout:y=\"515\"/>"
3555 "                      <layout:basePoint1 layout:x=\"790\" layout:y=\"615\"/>"
3556 "                      <layout:basePoint2 layout:x=\"790\" layout:y=\"515\"/>"
3557 "                    </layout:curveSegment>"
3558 "                  </layout:listOfCurveSegments>"
3559 "                </layout:curve>"
3560 "              </layout:speciesReferenceGlyph>"
3561 "            </layout:listOfSpeciesReferenceGlyphs>"
3562 "          </layout:reactionGlyph>"
3563 "          <layout:reactionGlyph layout:id=\"rg_malatedh_mito3\" layout:reaction=\"reaction_malatedh_mito3\">"
3564 "            <layout:curve>"
3565 "              <layout:listOfCurveSegments>"
3566 "                <layout:curveSegment xsi:type=\"LineSegment\">"
3567 "                  <layout:start layout:x=\"1970\" layout:y=\"181\"/>"
3568 "                  <layout:end layout:x=\"1970\" layout:y=\"215\"/>"
3569 "                </layout:curveSegment>"
3570 "              </layout:listOfCurveSegments>"
3571 "            </layout:curve>"
3572 "            <layout:listOfSpeciesReferenceGlyphs>"
3573 "              <layout:speciesReferenceGlyph layout:id=\"srg_malate_mito3_1\" layout:speciesReference=\"sr_malate_mito3\" layout:speciesGlyph=\"SpeciesGlyph_malate_mito3\" layout:role=\"substrate\">"
3574 "                <layout:curve>"
3575 "                  <layout:listOfCurveSegments>"
3576 "                    <layout:curveSegment xsi:type=\"LineSegment\">"
3577 "                      <layout:start layout:x=\"1970\" layout:y=\"181\"/>"
3578 "                      <layout:end layout:x=\"1970\" layout:y=\"116\"/>"
3579 "                    </layout:curveSegment>"
3580 "                  </layout:listOfCurveSegments>"
3581 "                </layout:curve>"
3582 "              </layout:speciesReferenceGlyph>"
3583 "              <layout:speciesReferenceGlyph layout:id=\"srg_nad_mito3\" layout:speciesReference=\"sr_nad_mito3\" layout:speciesGlyph=\"SpeciesGlyph_nad_mito3\" layout:role=\"substrate\">"
3584 "                <layout:curve>"
3585 "                  <layout:listOfCurveSegments>"
3586 "                    <layout:curveSegment xsi:type=\"CubicBezier\">"
3587 "                      <layout:start layout:x=\"1970\" layout:y=\"181\"/>"
3588 "                      <layout:end layout:x=\"2050\" layout:y=\"162\"/>"
3589 "                      <layout:basePoint1 layout:x=\"1970\" layout:y=\"162\"/>"
3590 "                      <layout:basePoint2 layout:x=\"1970\" layout:y=\"162\"/>"
3591 "                    </layout:curveSegment>"
3592 "                  </layout:listOfCurveSegments>"
3593 "                </layout:curve>"
3594 "              </layout:speciesReferenceGlyph>"
3595 "              <layout:speciesReferenceGlyph layout:id=\"srg_oxaloacetate_mito3_1\" layout:speciesReference=\"sr_oxaloacetate_mito3_1\" layout:speciesGlyph=\"SpeciesGlyph_oxaloacetate_mito3\" layout:role=\"product\">"
3596 "                <layout:curve>"
3597 "                  <layout:listOfCurveSegments>"
3598 "                    <layout:curveSegment xsi:type=\"LineSegment\">"
3599 "                      <layout:start layout:x=\"1970\" layout:y=\"215\"/>"
3600 "                      <layout:end layout:x=\"1970\" layout:y=\"280\"/>"
3601 "                    </layout:curveSegment>"
3602 "                  </layout:listOfCurveSegments>"
3603 "                </layout:curve>"
3604 "              </layout:speciesReferenceGlyph>"
3605 "              <layout:speciesReferenceGlyph layout:id=\"srg_nadh_mito3\" layout:speciesReference=\"sr_nadh_mito3\" layout:speciesGlyph=\"SpeciesGlyph_nadh_mito3\" layout:role=\"product\">"
3606 "                <layout:curve>"
3607 "                  <layout:listOfCurveSegments>"
3608 "                    <layout:curveSegment xsi:type=\"CubicBezier\">"
3609 "                      <layout:start layout:x=\"1970\" layout:y=\"215\"/>"
3610 "                      <layout:end layout:x=\"2050\" layout:y=\"242\"/>"
3611 "                      <layout:basePoint1 layout:x=\"1970\" layout:y=\"242\"/>"
3612 "                      <layout:basePoint2 layout:x=\"1970\" layout:y=\"242\"/>"
3613 "                    </layout:curveSegment>"
3614 "                  </layout:listOfCurveSegments>"
3615 "                </layout:curve>"
3616 "              </layout:speciesReferenceGlyph>"
3617 "              <layout:speciesReferenceGlyph layout:id=\"srg_h_mito3\" layout:speciesReference=\"sr_h_mito3\" layout:speciesGlyph=\"SpeciesGlyph_h_mito3\" layout:role=\"product\">"
3618 "                <layout:curve>"
3619 "                  <layout:listOfCurveSegments>"
3620 "                    <layout:curveSegment xsi:type=\"CubicBezier\">"
3621 "                      <layout:start layout:x=\"1970\" layout:y=\"215\"/>"
3622 "                      <layout:end layout:x=\"2200\" layout:y=\"230\"/>"
3623 "                      <layout:basePoint1 layout:x=\"2100\" layout:y=\"215\"/>"
3624 "                      <layout:basePoint2 layout:x=\"2100\" layout:y=\"215\"/>"
3625 "                    </layout:curveSegment>"
3626 "                  </layout:listOfCurveSegments>"
3627 "                </layout:curve>"
3628 "              </layout:speciesReferenceGlyph>"
3629 "            </layout:listOfSpeciesReferenceGlyphs>"
3630 "          </layout:reactionGlyph>"
3631 "          <layout:reactionGlyph layout:id=\"rg_aspartateat_mito3\" layout:reaction=\"reaction_aspartateat_mito3\">"
3632 "            <layout:curve>"
3633 "              <layout:listOfCurveSegments>"
3634 "                <layout:curveSegment xsi:type=\"LineSegment\">"
3635 "                  <layout:start layout:x=\"1970\" layout:y=\"381\"/>"
3636 "                  <layout:end layout:x=\"1970\" layout:y=\"415\"/>"
3637 "                </layout:curveSegment>"
3638 "              </layout:listOfCurveSegments>"
3639 "            </layout:curve>"
3640 "            <layout:listOfSpeciesReferenceGlyphs>"
3641 "              <layout:speciesReferenceGlyph layout:id=\"srg_oxaloacetate_mito3_2\" layout:speciesReference=\"sr_oxaloacetate_mito3_2\" layout:speciesGlyph=\"SpeciesGlyph_oxaloacetate_mito3\" layout:role=\"substrate\">"
3642 "                <layout:curve>"
3643 "                  <layout:listOfCurveSegments>"
3644 "                    <layout:curveSegment xsi:type=\"LineSegment\">"
3645 "                      <layout:start layout:x=\"1970\" layout:y=\"381\"/>"
3646 "                      <layout:end layout:x=\"1970\" layout:y=\"316\"/>"
3647 "                    </layout:curveSegment>"
3648 "                  </layout:listOfCurveSegments>"
3649 "                </layout:curve>"
3650 "              </layout:speciesReferenceGlyph>"
3651 "              <layout:speciesReferenceGlyph layout:id=\"srg_glutamate_mito3_1\" layout:speciesReference=\"sr_glutamate_mito3_1\" layout:speciesGlyph=\"SpeciesGlyph_glutamate_mito3\" layout:role=\"substrate\">"
3652 "                <layout:curve>"
3653 "                  <layout:listOfCurveSegments>"
3654 "                    <layout:curveSegment xsi:type=\"CubicBezier\">"
3655 "                      <layout:start layout:x=\"1970\" layout:y=\"381\"/>"
3656 "                      <layout:end layout:x=\"1790\" layout:y=\"448\"/>"
3657 "                      <layout:basePoint1 layout:x=\"1880\" layout:y=\"381\"/>"
3658 "                      <layout:basePoint2 layout:x=\"1880\" layout:y=\"448\"/>"
3659 "                    </layout:curveSegment>"
3660 "                  </layout:listOfCurveSegments>"
3661 "                </layout:curve>"
3662 "              </layout:speciesReferenceGlyph>"
3663 "              <layout:speciesReferenceGlyph layout:id=\"srg_aspartate_mito3_1\" layout:speciesReference=\"sr_aspartate_mito3_1\" layout:speciesGlyph=\"SpeciesGlyph_aspartate_mito3\" layout:role=\"product\">"
3664 "                <layout:curve>"
3665 "                  <layout:listOfCurveSegments>"
3666 "                    <layout:curveSegment xsi:type=\"LineSegment\">"
3667 "                      <layout:start layout:x=\"1970\" layout:y=\"415\"/>"
3668 "                      <layout:end layout:x=\"1970\" layout:y=\"480\"/>"
3669 "                    </layout:curveSegment>"
3670 "                  </layout:listOfCurveSegments>"
3671 "                </layout:curve>"
3672 "              </layout:speciesReferenceGlyph>"
3673 "              <layout:speciesReferenceGlyph layout:id=\"srg_aKetoglutaratemito3_1\" layout:speciesReference=\"sr_aKetoglutarate_mito3_1\" layout:speciesGlyph=\"SpeciesGlyph_aKetoglutarate_mito3\" layout:role=\"product\">"
3674 "                <layout:curve>"
3675 "                  <layout:listOfCurveSegments>"
3676 "                    <layout:curveSegment xsi:type=\"CubicBezier\">"
3677 "                      <layout:start layout:x=\"1970\" layout:y=\"415\"/>"
3678 "                      <layout:end layout:x=\"1810\" layout:y=\"315\"/>"
3679 "                      <layout:basePoint1 layout:x=\"1880\" layout:y=\"415\"/>"
3680 "                      <layout:basePoint2 layout:x=\"1880\" layout:y=\"315\"/>"
3681 "                    </layout:curveSegment>"
3682 "                  </layout:listOfCurveSegments>"
3683 "                </layout:curve>"
3684 "              </layout:speciesReferenceGlyph>"
3685 "            </layout:listOfSpeciesReferenceGlyphs>"
3686 "          </layout:reactionGlyph>"
3687 "          <layout:reactionGlyph layout:id=\"rg_aspartateCarrier\" layout:reaction=\"aspartateCarrier\">"
3688 "            <layout:curve>"
3689 "              <layout:listOfCurveSegments>"
3690 "                <layout:curveSegment xsi:type=\"LineSegment\">"
3691 "                  <layout:start layout:x=\"1420\" layout:y=\"530\"/>"
3692 "                  <layout:end layout:x=\"1360\" layout:y=\"550\"/>"
3693 "                </layout:curveSegment>"
3694 "              </layout:listOfCurveSegments>"
3695 "            </layout:curve>"
3696 "            <layout:listOfSpeciesReferenceGlyphs>"
3697 "              <layout:speciesReferenceGlyph layout:id=\"srg_aspartate_mito3_2\" layout:speciesReference=\"sr_aspartate_mito3_2\" layout:speciesGlyph=\"SpeciesGlyph_aspartate_mito3\" layout:role=\"substrate\">"
3698 "                <layout:curve>"
3699 "                  <layout:listOfCurveSegments>"
3700 "                    <layout:curveSegment xsi:type=\"LineSegment\">"
3701 "                      <layout:start layout:x=\"1420\" layout:y=\"530\"/>"
3702 "                      <layout:end layout:x=\"1850\" layout:y=\"498\"/>"
3703 "                    </layout:curveSegment>"
3704 "                  </layout:listOfCurveSegments>"
3705 "                </layout:curve>"
3706 "              </layout:speciesReferenceGlyph>"
3707 "              <layout:speciesReferenceGlyph layout:id=\"srg_aspartate_cyt_2\" layout:speciesReference=\"sr_aspartate_cyt_2\" layout:speciesGlyph=\"SpeciesGlyph_aspartate_cyt\" layout:role=\"product\">"
3708 "                <layout:curve>"
3709 "                  <layout:listOfCurveSegments>"
3710 "                    <layout:curveSegment xsi:type=\"CubicBezier\">"
3711 "                      <layout:start layout:x=\"1360\" layout:y=\"550\"/>"
3712 "                      <layout:end layout:x=\"820\" layout:y=\"698\"/>"
3713 "                      <layout:basePoint1 layout:x=\"1390\" layout:y=\"698\"/>"
3714 "                      <layout:basePoint2 layout:x=\"1390\" layout:y=\"698\"/>"
3715 "                    </layout:curveSegment>"
3716 "                  </layout:listOfCurveSegments>"
3717 "                </layout:curve>"
3718 "              </layout:speciesReferenceGlyph>"
3719 "              <layout:speciesReferenceGlyph layout:id=\"srg_glutamate_cyt_2\" layout:speciesReference=\"sr_glutamate_cyt_2\" layout:speciesGlyph=\"SpeciesGlyph_glutamate_cyt\" layout:role=\"substrate\">"
3720 "                <layout:curve>"
3721 "                  <layout:listOfCurveSegments>"
3722 "                    <layout:curveSegment xsi:type=\"CubicBezier\">"
3723 "                      <layout:start layout:x=\"1420\" layout:y=\"530\"/>"
3724 "                      <layout:end layout:x=\"1050\" layout:y=\"628\"/>"
3725 "                      <layout:basePoint1 layout:x=\"1390\" layout:y=\"648\"/>"
3726 "                      <layout:basePoint2 layout:x=\"1390\" layout:y=\"648\"/>"
3727 "                    </layout:curveSegment>"
3728 "                  </layout:listOfCurveSegments>"
3729 "                </layout:curve>"
3730 "              </layout:speciesReferenceGlyph>"
3731 "              <layout:speciesReferenceGlyph layout:id=\"srg_glutamate_mito3_2\" layout:speciesReference=\"sr_glutamate_mito3_2\" layout:speciesGlyph=\"SpeciesGlyph_glutamate_mito3\" layout:role=\"product\">"
3732 "                <layout:curve>"
3733 "                  <layout:listOfCurveSegments>"
3734 "                    <layout:curveSegment xsi:type=\"CubicBezier\">"
3735 "                      <layout:start layout:x=\"1360\" layout:y=\"550\"/>"
3736 "                      <layout:end layout:x=\"1550\" layout:y=\"448\"/>"
3737 "                      <layout:basePoint1 layout:x=\"1390\" layout:y=\"448\"/>"
3738 "                      <layout:basePoint2 layout:x=\"1390\" layout:y=\"448\"/>"
3739 "                    </layout:curveSegment>"
3740 "                  </layout:listOfCurveSegments>"
3741 "                </layout:curve>"
3742 "              </layout:speciesReferenceGlyph>"
3743 "            </layout:listOfSpeciesReferenceGlyphs>"
3744 "          </layout:reactionGlyph>"
3745 "          <layout:reactionGlyph layout:id=\"rg_malateCarrier\" layout:reaction=\"malateCarrier\">"
3746 "            <layout:curve>"
3747 "              <layout:listOfCurveSegments>"
3748 "                <layout:curveSegment xsi:type=\"LineSegment\">"
3749 "                  <layout:start layout:x=\"1420\" layout:y=\"320\"/>"
3750 "                  <layout:end layout:x=\"1360\" layout:y=\"340\"/>"
3751 "                </layout:curveSegment>"
3752 "              </layout:listOfCurveSegments>"
3753 "            </layout:curve>"
3754 "            <layout:listOfSpeciesReferenceGlyphs>"
3755 "              <layout:speciesReferenceGlyph layout:id=\"srg_aKetoglutarate_mito3_2\" layout:speciesReference=\"sr_aKetoglutarate_mito3_2\" layout:speciesGlyph=\"SpeciesGlyph_aKetoglutarate_mito3\" layout:role=\"substrate\">"
3756 "                <layout:curve>"
3757 "                  <layout:listOfCurveSegments>"
3758 "                    <layout:curveSegment xsi:type=\"LineSegment\">"
3759 "                      <layout:start layout:x=\"1420\" layout:y=\"320\"/>"
3760 "                      <layout:end layout:x=\"1530\" layout:y=\"318\"/>"
3761 "                    </layout:curveSegment>"
3762 "                  </layout:listOfCurveSegments>"
3763 "                </layout:curve>"
3764 "              </layout:speciesReferenceGlyph>"
3765 "              <layout:speciesReferenceGlyph layout:id=\"srg_aKetoglutarate_cyt_2\" layout:speciesReference=\"sr_aKetoglutarate_cyt_2\" layout:speciesGlyph=\"SpeciesGlyph_aKetoglutarate_cyt\" layout:role=\"product\">"
3766 "                <layout:curve>"
3767 "                  <layout:listOfCurveSegments>"
3768 "                    <layout:curveSegment xsi:type=\"LineSegment\">"
3769 "                      <layout:start layout:x=\"1360\" layout:y=\"340\"/>"
3770 "                      <layout:end layout:x=\"1140\" layout:y=\"518\"/>"
3771 "                    </layout:curveSegment>"
3772 "                  </layout:listOfCurveSegments>"
3773 "                </layout:curve>"
3774 "              </layout:speciesReferenceGlyph>"
3775 "              <layout:speciesReferenceGlyph layout:id=\"srg_malate_cyt_2\" layout:speciesReference=\"sr_malate_cyt_2\" layout:speciesGlyph=\"SpeciesGlyph_malate_cyt\" layout:role=\"substrate\">"
3776 "                <layout:curve>"
3777 "                  <layout:listOfCurveSegments>"
3778 "                    <layout:curveSegment xsi:type=\"CubicBezier\">"
3779 "                      <layout:start layout:x=\"1420\" layout:y=\"320\"/>"
3780 "                      <layout:end layout:x=\"820\" layout:y=\"298\"/>"
3781 "                      <layout:basePoint1 layout:x=\"1390\" layout:y=\"250\"/>"
3782 "                      <layout:basePoint2 layout:x=\"1390\" layout:y=\"250\"/>"
3783 "                    </layout:curveSegment>"
3784 "                  </layout:listOfCurveSegments>"
3785 "                </layout:curve>"
3786 "              </layout:speciesReferenceGlyph>"
3787 "              <layout:speciesReferenceGlyph layout:id=\"srg_malate_mito3_2\" layout:speciesReference=\"sr_malate_mito3_2\" layout:speciesGlyph=\"SpeciesGlyph_malate_mito3\" layout:role=\"product\">"
3788 "                <layout:curve>"
3789 "                  <layout:listOfCurveSegments>"
3790 "                    <layout:curveSegment xsi:type=\"CubicBezier\">"
3791 "                      <layout:start layout:x=\"1360\" layout:y=\"340\"/>"
3792 "                      <layout:end layout:x=\"1850\" layout:y=\"98\"/>"
3793 "                      <layout:basePoint1 layout:x=\"1390\" layout:y=\"150\"/>"
3794 "                      <layout:basePoint2 layout:x=\"1390\" layout:y=\"150\"/>"
3795 "                    </layout:curveSegment>"
3796 "                  </layout:listOfCurveSegments>"
3797 "                </layout:curve>"
3798 "              </layout:speciesReferenceGlyph>"
3799 "            </layout:listOfSpeciesReferenceGlyphs>"
3800 "          </layout:reactionGlyph>"
3801 "        </layout:listOfReactionGlyphs>"
3802 "        <layout:listOfTextGlyphs>"
3803 "          <layout:textGlyph layout:id=\"TextGlyph_Hepatocyte\" layout:originOfText=\"Hepatocyte\" layout:graphicalObject=\"CompartmentGlyph_1\">"
3804 "            <layout:boundingBox layout:id=\"bb_tg_compartment\">"
3805 "              <layout:position layout:x=\"50\" layout:y=\"870\"/>"
3806 "              <layout:dimensions layout:width=\"300\" layout:height=\"72\"/>"
3807 "            </layout:boundingBox>"
3808 "          </layout:textGlyph>"
3809 "          <layout:textGlyph layout:id=\"TextGlyph_mito1\" layout:originOfText=\"Mito_1\" layout:graphicalObject=\"Mito1_Glyph\">"
3810 "            <layout:boundingBox layout:id=\"bb_tg_mito1\">"
3811 "              <layout:position layout:x=\"110\" layout:y=\"110\"/>"
3812 "              <layout:dimensions layout:width=\"280\" layout:height=\"72\"/>"
3813 "            </layout:boundingBox>"
3814 "          </layout:textGlyph>"
3815 "          <layout:textGlyph layout:id=\"TextGlyph_mito2\" layout:originOfText=\"Mito_2\" layout:graphicalObject=\"Mito2_Glyph\">"
3816 "            <layout:boundingBox layout:id=\"bb_tg_mito2\">"
3817 "              <layout:position layout:x=\"210\" layout:y=\"660\"/>"
3818 "              <layout:dimensions layout:width=\"280\" layout:height=\"72\"/>"
3819 "            </layout:boundingBox>"
3820 "          </layout:textGlyph>"
3821 "          <layout:textGlyph layout:id=\"TextGlyph_mito3_2\" layout:originOfText=\"Mito_3\" layout:graphicalObject=\"Mito3_Glyph_2\">"
3822 "            <layout:boundingBox layout:id=\"bb_tg_mito3_2\">"
3823 "              <layout:position layout:x=\"1475\" layout:y=\"35\"/>"
3824 "              <layout:dimensions layout:width=\"200\" layout:height=\"72\"/>"
3825 "            </layout:boundingBox>"
3826 "          </layout:textGlyph>"
3827 "          <layout:textGlyph layout:id=\"TextGlyph_malate_cyt\" layout:originOfText=\"malate_cyt\" layout:graphicalObject=\"SpeciesGlyph_malate_cyt\">"
3828 "            <layout:boundingBox layout:id=\"bb_tg_malatate_cyt\">"
3829 "              <layout:position layout:x=\"590\" layout:y=\"280\"/>"
3830 "              <layout:dimensions layout:width=\"220\" layout:height=\"36\"/>"
3831 "            </layout:boundingBox>"
3832 "          </layout:textGlyph>"
3833 "          <layout:textGlyph layout:id=\"TextGlyph_oxaloacetate_cyt\" layout:originOfText=\"oxaloacetate_cyt\" layout:graphicalObject=\"SpeciesGlyph_oxaloacetate_cyt\">"
3834 "            <layout:boundingBox layout:id=\"bb_tg_oxaloacetate_cyt\">"
3835 "              <layout:position layout:x=\"590\" layout:y=\"480\"/>"
3836 "              <layout:dimensions layout:width=\"220\" layout:height=\"36\"/>"
3837 "            </layout:boundingBox>"
3838 "          </layout:textGlyph>"
3839 "          <layout:textGlyph layout:id=\"TextGlyph_aspartate_cyt\" layout:originOfText=\"aspartate_cyt\" layout:graphicalObject=\"SpeciesGlyph_aspartate_cyt\">"
3840 "            <layout:boundingBox layout:id=\"bb_tg_aspartate_cyt\">"
3841 "              <layout:position layout:x=\"590\" layout:y=\"680\"/>"
3842 "              <layout:dimensions layout:width=\"220\" layout:height=\"36\"/>"
3843 "            </layout:boundingBox>"
3844 "          </layout:textGlyph>"
3845 "          <layout:textGlyph layout:id=\"TextGlyph_glutamate_cyt\" layout:originOfText=\"glutamate_cyt\" layout:graphicalObject=\"SpeciesGlyph_glutamate_cyt\">"
3846 "            <layout:boundingBox layout:id=\"bb_tg_glutamate_cyt\">"
3847 "              <layout:position layout:x=\"810\" layout:y=\"610\"/>"
3848 "              <layout:dimensions layout:width=\"220\" layout:height=\"36\"/>"
3849 "            </layout:boundingBox>"
3850 "          </layout:textGlyph>"
3851 "          <layout:textGlyph layout:id=\"TextGlyph_aKetoglutarate_cyt\" layout:originOfText=\"aKetoglutarate_cyt\" layout:graphicalObject=\"SpeciesGlyph_aKetoglutarate_cyt\">"
3852 "            <layout:boundingBox layout:id=\"bb_tg_aKetoglutarate_cyt\">"
3853 "              <layout:position layout:x=\"870\" layout:y=\"500\"/>"
3854 "              <layout:dimensions layout:width=\"260\" layout:height=\"36\"/>"
3855 "            </layout:boundingBox>"
3856 "          </layout:textGlyph>"
3857 "          <layout:textGlyph layout:id=\"TextGlyph_nad_cyt\" layout:originOfText=\"nad_cyt\" layout:graphicalObject=\"SpeciesGlyph_nad_cyt\">"
3858 "            <layout:boundingBox layout:id=\"bb_tg_nad_cyt\">"
3859 "              <layout:position layout:x=\"525\" layout:y=\"350\"/>"
3860 "              <layout:dimensions layout:width=\"80\" layout:height=\"24\"/>"
3861 "            </layout:boundingBox>"
3862 "          </layout:textGlyph>"
3863 "          <layout:textGlyph layout:id=\"TextGlyph_nadh_cyt\" layout:originOfText=\"nadh_cyt\" layout:graphicalObject=\"SpeciesGlyph_nadh_cyt\">"
3864 "            <layout:boundingBox layout:id=\"bb_tg_nadh_cyt\">"
3865 "              <layout:position layout:x=\"525\" layout:y=\"430\"/>"
3866 "              <layout:dimensions layout:width=\"80\" layout:height=\"24\"/>"
3867 "            </layout:boundingBox>"
3868 "          </layout:textGlyph>"
3869 "          <layout:textGlyph layout:id=\"TextGlyph_h_cyt\" layout:originOfText=\"h_cyt\" layout:graphicalObject=\"SpeciesGlyph_h_cyt\">"
3870 "            <layout:boundingBox layout:id=\"bb_tg_h_cyt\">"
3871 "              <layout:position layout:x=\"435\" layout:y=\"430\"/>"
3872 "              <layout:dimensions layout:width=\"30\" layout:height=\"24\"/>"
3873 "            </layout:boundingBox>"
3874 "          </layout:textGlyph>"
3875 "          <layout:textGlyph layout:id=\"tg_rg_malaltedh_cyt\" layout:originOfText=\"reaction_malatedh_cyt\" layout:graphicalObject=\"rg_malatedh_cyt\">"
3876 "            <layout:boundingBox layout:id=\"bb_tg_rg_malaltedh_cyt\">"
3877 "              <layout:position layout:x=\"700\" layout:y=\"385\"/>"
3878 "              <layout:dimensions layout:width=\"210\" layout:height=\"24\"/>"
3879 "            </layout:boundingBox>"
3880 "          </layout:textGlyph>"
3881 "          <layout:textGlyph layout:id=\"tg_rg_aspartateat_cyt\" layout:originOfText=\"reaction_aspartateat_cyt\" layout:graphicalObject=\"rg_aspartateat_cyt\">"
3882 "            <layout:boundingBox layout:id=\"bb_tg_rg_aspartateat_cyt\">"
3883 "              <layout:position layout:x=\"440\" layout:y=\"585\"/>"
3884 "              <layout:dimensions layout:width=\"260\" layout:height=\"24\"/>"
3885 "            </layout:boundingBox>"
3886 "          </layout:textGlyph>"
3887 "          <layout:textGlyph layout:id=\"TextGlyph_malate_mito3\" layout:originOfText=\"malate_mito3\" layout:graphicalObject=\"SpeciesGlyph_malate_mito3\">"
3888 "            <layout:boundingBox layout:id=\"bb_tg_malatate_mito3\">"
3889 "              <layout:position layout:x=\"1860\" layout:y=\"80\"/>"
3890 "              <layout:dimensions layout:width=\"220\" layout:height=\"36\"/>"
3891 "            </layout:boundingBox>"
3892 "          </layout:textGlyph>"
3893 "          <layout:textGlyph layout:id=\"TextGlyph_oxaloacetate_mito3\" layout:originOfText=\"oxaloacetate_mito3\" layout:graphicalObject=\"SpeciesGlyph_oxaloacetate_mito3\">"
3894 "            <layout:boundingBox layout:id=\"bb_tg_oxaloacetate_mito3\">"
3895 "              <layout:position layout:x=\"1860\" layout:y=\"280\"/>"
3896 "              <layout:dimensions layout:width=\"220\" layout:height=\"36\"/>"
3897 "            </layout:boundingBox>"
3898 "          </layout:textGlyph>"
3899 "          <layout:textGlyph layout:id=\"TextGlyph_aspartate_mito3\" layout:originOfText=\"aspartate_mito3\" layout:graphicalObject=\"SpeciesGlyph_aspartate_mito3\">"
3900 "            <layout:boundingBox layout:id=\"bb_tg_aspartate_mito3\">"
3901 "              <layout:position layout:x=\"1860\" layout:y=\"480\"/>"
3902 "              <layout:dimensions layout:width=\"220\" layout:height=\"36\"/>"
3903 "            </layout:boundingBox>"
3904 "          </layout:textGlyph>"
3905 "          <layout:textGlyph layout:id=\"TextGlyph_glutamate_mito3\" layout:originOfText=\"glutamate_mito3\" layout:graphicalObject=\"SpeciesGlyph_glutamate_mito3\">"
3906 "            <layout:boundingBox layout:id=\"bb_tg_glutamate_mito3\">"
3907 "              <layout:position layout:x=\"1560\" layout:y=\"430\"/>"
3908 "              <layout:dimensions layout:width=\"220\" layout:height=\"36\"/>"
3909 "            </layout:boundingBox>"
3910 "          </layout:textGlyph>"
3911 "          <layout:textGlyph layout:id=\"TextGlyph_aKetoglutarate_mito3\" layout:originOfText=\"aKetoglutarate_mito3\" layout:graphicalObject=\"SpeciesGlyph_aKetoglutarate_mito3\">"
3912 "            <layout:boundingBox layout:id=\"bb_tg_aKetoglutarate_mito3\">"
3913 "              <layout:position layout:x=\"1540\" layout:y=\"300\"/>"
3914 "              <layout:dimensions layout:width=\"260\" layout:height=\"36\"/>"
3915 "            </layout:boundingBox>"
3916 "          </layout:textGlyph>"
3917 "          <layout:textGlyph layout:id=\"TextGlyph_nad_mito3\" layout:originOfText=\"nad_mito3\" layout:graphicalObject=\"SpeciesGlyph_nad_mito3\">"
3918 "            <layout:boundingBox layout:id=\"bb_tg_nad_mito3\">"
3919 "              <layout:position layout:x=\"2055\" layout:y=\"150\"/>"
3920 "              <layout:dimensions layout:width=\"80\" layout:height=\"24\"/>"
3921 "            </layout:boundingBox>"
3922 "          </layout:textGlyph>"
3923 "          <layout:textGlyph layout:id=\"TextGlyph_nadh_mito3\" layout:originOfText=\"nadh_mito3\" layout:graphicalObject=\"SpeciesGlyph_nadh_mito3\">"
3924 "            <layout:boundingBox layout:id=\"bb_tg_nadh_mito3\">"
3925 "              <layout:position layout:x=\"2055\" layout:y=\"230\"/>"
3926 "              <layout:dimensions layout:width=\"80\" layout:height=\"24\"/>"
3927 "            </layout:boundingBox>"
3928 "          </layout:textGlyph>"
3929 "          <layout:textGlyph layout:id=\"TextGlyph_h_mito3\" layout:originOfText=\"h_mito3\" layout:graphicalObject=\"SpeciesGlyph_h_mito3\">"
3930 "            <layout:boundingBox layout:id=\"bb_tg_h_mito3\">"
3931 "              <layout:position layout:x=\"2205\" layout:y=\"230\"/>"
3932 "              <layout:dimensions layout:width=\"30\" layout:height=\"24\"/>"
3933 "            </layout:boundingBox>"
3934 "          </layout:textGlyph>"
3935 "          <layout:textGlyph layout:id=\"tg_rg_malatedh_mito3\" layout:originOfText=\"reaction_malatedh_mito3\" layout:graphicalObject=\"rg_malatedh_mito3\">"
3936 "            <layout:boundingBox layout:id=\"bb_tg_rg_malatedh_mito3\">"
3937 "              <layout:position layout:x=\"1740\" layout:y=\"185\"/>"
3938 "              <layout:dimensions layout:width=\"220\" layout:height=\"24\"/>"
3939 "            </layout:boundingBox>"
3940 "          </layout:textGlyph>"
3941 "          <layout:textGlyph layout:id=\"tg_rg_aspartateat_mito3\" layout:originOfText=\"reaction_aspartateat_mito3\" layout:graphicalObject=\"rg_aspartateat_mito3\">"
3942 "            <layout:boundingBox layout:id=\"bb_tg_rg_aspartateat_mito3\">"
3943 "              <layout:position layout:x=\"1970\" layout:y=\"385\"/>"
3944 "              <layout:dimensions layout:width=\"260\" layout:height=\"24\"/>"
3945 "            </layout:boundingBox>"
3946 "          </layout:textGlyph>"
3947 "          <layout:textGlyph layout:id=\"tg_rg_aspartateCarrier\" layout:originOfText=\"aspartateCarrier\" layout:graphicalObject=\"rg_aspartateCarrier\">"
3948 "            <layout:boundingBox layout:id=\"bb_tg_rg_aspartateCarrier\">"
3949 "              <layout:position layout:x=\"1380\" layout:y=\"500\"/>"
3950 "              <layout:dimensions layout:width=\"160\" layout:height=\"24\"/>"
3951 "            </layout:boundingBox>"
3952 "          </layout:textGlyph>"
3953 "          <layout:textGlyph layout:id=\"tg_rg_malateCarrier\" layout:originOfText=\"malateCarrier\" layout:graphicalObject=\"rg_malateCarrier\">"
3954 "            <layout:boundingBox layout:id=\"bb_tg_rg_malateCarrier\">"
3955 "              <layout:position layout:x=\"1360\" layout:y=\"330\"/>"
3956 "              <layout:dimensions layout:width=\"140\" layout:height=\"24\"/>"
3957 "            </layout:boundingBox>"
3958 "          </layout:textGlyph>"
3959 "        </layout:listOfTextGlyphs>"
3960 "        <render:listOfRenderInformation>"
3961 "          <render:renderInformation render:id=\"highlightGlucose\" render:referenceRenderInformation=\"defaultStyle\" render:programName=\"Ralph Gauges\" render:programVersion=\"1.0\" render:backgroundColor='#FFFFFFFF'>"
3962 "            <render:listOfColorDefinitions>"
3963 "              <render:colorDefinition render:id=\"lightRed\" render:value=\"#e6add8\"/>"
3964 "              <render:colorDefinition render:id=\"white\" render:value=\"#ffffff\"/>"
3965 "            </render:listOfColorDefinitions>"
3966 "            <render:listOfGradientDefinitions>"
3967 "              <render:radialGradient render:id=\"highlightedSpeciesGlyphGradient\">"
3968 "                <render:stop render:offset=\"0\" render:stop-color=\"white\"/>"
3969 "                <render:stop render:offset=\"100%\" render:stop-color=\"lightRed\"/>"
3970 "              </render:radialGradient>"
3971 "            </render:listOfGradientDefinitions>"
3972 "            <render:listOfStyles>"
3973 "              <render:style render:id=\"highlightedGlucose\" render:idList=\"SpeciesGlyph_Glucose\">"
3974 "                <render:g render:stroke=\"black\" render:stroke-width=\"1\">"
3975 "                  <render:rectangle render:fill=\"highlightedSpeciesGlyphGradient\" render:x=\"0\" render:y=\"0\" render:width=\"100%\" render:height=\"100%\" render:rx=\"5\" render:ry=\"50%\"/>"
3976 "                </render:g>"
3977 "              </render:style>"
3978 "            </render:listOfStyles>"
3979 "          </render:renderInformation>"
3980 "        </render:listOfRenderInformation>"
3981 "      </layout:layout>"
3982 "      <render:listOfGlobalRenderInformation>"
3983 "        <render:renderInformation render:id=\"wireFrame\" render:name=\"wireframe style\" render:programName=\"Ralph Gauges\" render:programVersion=\"1.0\" render:backgroundColor='#FFFFFFFF'>"
3984 "          <render:listOfColorDefinitions>"
3985 "            <render:colorDefinition render:id=\"white\" render:value=\"#ffffff\"/>"
3986 "            <render:colorDefinition render:id=\"black\" render:value=\"#000000\"/>"
3987 "          </render:listOfColorDefinitions>"
3988 "          <render:listOfStyles>"
3989 "            <render:style render:id=\"compartmentGlyphStyle\" render:typeList=\"COMPARTMENTGLYPH\">"
3990 "              <render:g render:stroke=\"black\" render:stroke-width=\"1\">"
3991 "                <render:rectangle render:x=\"0\" render:y=\"0\" render:width=\"100%\" render:height=\"100%\"/>"
3992 "              </render:g>"
3993 "            </render:style>"
3994 "            <render:style render:id=\"speciesGlyphStyle\" render:typeList=\"SPECIESGLYPH\">"
3995 "              <render:g render:stroke=\"black\" render:stroke-width=\"1\">"
3996 "                <render:rectangle render:x=\"0\" render:y=\"0\" render:width=\"100%\" render:height=\"100%\"/>"
3997 "              </render:g>"
3998 "            </render:style>"
3999 "            <render:style render:id=\"reactionGlyphStyle\" render:typeList=\"REACTIONGLYPH SPECIESREFERENCEGLYPH TEXTGLYPH\">"
4000 "              <render:g render:stroke=\"black\" render:stroke-width=\"1\" render:font-size=\"12\" render:text-anchor=\"middle\"/>"
4001 "            </render:style>"
4002 "          </render:listOfStyles>"
4003 "        </render:renderInformation>"
4004 "        <render:renderInformation render:id=\"defaultGrayStyle\" render:name=\"grayscale style\" render:programName=\"Ralph Gauges\" render:programVersion=\"1.0\" render:backgroundColor='#FFFFFFFF'>"
4005 "          <render:listOfColorDefinitions>"
4006 "            <render:colorDefinition render:id=\"lightGray\" render:value=\"#cecece\"/>"
4007 "            <render:colorDefinition render:id=\"white\" render:value=\"#ffffff\"/>"
4008 "            <render:colorDefinition render:id=\"black\" render:value=\"#000000\"/>"
4009 "            <render:colorDefinition render:id=\"lightGray2\" render:value=\"#f0f0f0\"/>"
4010 "            <render:colorDefinition render:id=\"gray\" render:value=\"#0b0b0b\"/>"
4011 "          </render:listOfColorDefinitions>"
4012 "          <render:listOfGradientDefinitions>"
4013 "            <render:radialGradient render:id=\"speciesGlyphGradient\">"
4014 "              <render:stop render:offset=\"0\" render:stop-color=\"white\"/>"
4015 "              <render:stop render:offset=\"100%\" render:stop-color=\"lightGray\"/>"
4016 "            </render:radialGradient>"
4017 "          </render:listOfGradientDefinitions>"
4018 "          <render:listOfLineEndings>"
4019 "            <render:lineEnding render:id=\"simpleHead_black\">"
4020 "              <layout:boundingBox>"
4021 "                <layout:position layout:x=\"-8\" layout:y=\"-3\"/>"
4022 "                <layout:dimensions layout:width=\"10\" layout:height=\"6\"/>"
4023 "              </layout:boundingBox>"
4024 "              <render:g render:stroke=\"black\" render:stroke-width=\"1\" render:fill=\"black\">"
4025 "                <render:polygon>"
4026 "                  <render:listOfElements>"
4027 "                    <render:element xsi:type=\"RenderPoint\" render:x=\"0\" render:y=\"0\"/>"
4028 "                    <render:element xsi:type=\"RenderPoint\" render:x=\"10\" render:y=\"3\"/>"
4029 "                    <render:element xsi:type=\"RenderPoint\" render:x=\"0\" render:y=\"6\"/>"
4030 "                  </render:listOfElements>"
4031 "                </render:polygon>"
4032 "              </render:g>"
4033 "            </render:lineEnding>"
4034 "          </render:listOfLineEndings>"
4035 "          <render:listOfStyles>"
4036 "            <render:style render:id=\"compartmentGlyphStyle\" render:typeList=\"COMPARTMENTGLYPH\">"
4037 "              <render:g render:stroke=\"gray\" render:stroke-width=\"1\">"
4038 "                <render:rectangle render:fill=\"lightGray2\" render:x=\"0\" render:y=\"0\" render:width=\"100%\" render:height=\"100%\" render:rx=\"5%\"/>"
4039 "              </render:g>"
4040 "            </render:style>"
4041 "            <render:style render:id=\"speciesGlyphStyle\" render:typeList=\"SPECIESGLYPH\">"
4042 "              <render:g render:stroke=\"black\" render:stroke-width=\"1\">"
4043 "                <render:rectangle render:fill=\"speciesGlyphGradient\" render:x=\"0\" render:y=\"0\" render:width=\"100%\" render:height=\"100%\" render:rx=\"5%\"/>"
4044 "              </render:g>"
4045 "            </render:style>"
4046 "            <render:style render:id=\"reactionGlyphStyle\" render:typeList=\"REACTIONGLYPH TEXTGLYPH\">"
4047 "              <render:g render:stroke=\"black\" render:stroke-width=\"1\" render:font-size=\"12\" render:text-anchor=\"middle\"/>"
4048 "            </render:style>"
4049 "            <render:style render:id=\"reactantSpeciesReferenceGlyphStyle\" render:roleList=\"product sideproduct sidesubstrate substrate\">"
4050 "              <render:g render:stroke=\"#000000\" render:stroke-width=\"1\"/>"
4051 "            </render:style>"
4052 "            <render:style render:id=\"activatorSpeciesReferenceGlyphStyle\" render:roleList=\"activator\">"
4053 "              <render:g render:stroke=\"#000000\" render:stroke-width=\"1\"/>"
4054 "            </render:style>"
4055 "            <render:style render:id=\"modifierSpeciesReferenceGlyphStyle\" render:roleList=\"modifier\">"
4056 "              <render:g render:stroke=\"#000000\" render:stroke-width=\"1\"/>"
4057 "            </render:style>"
4058 "            <render:style render:id=\"inhibitorSpeciesReferenceGlyphStyle\" render:roleList=\"inhibitor\">"
4059 "              <render:g render:stroke=\"#000000\" render:stroke-width=\"1\"/>"
4060 "            </render:style>"
4061 "          </render:listOfStyles>"
4062 "        </render:renderInformation>"
4063 "        <render:renderInformation render:id=\"shortGrayStyle\" render:name=\"modified default style to grayscale\" render:referenceRenderInformation=\"defaultStyle\" render:programName=\"Ralph Gauges\" render:programVersion=\"1.0\" render:backgroundColor='#FFFFFFFF'>"
4064 "          <render:listOfColorDefinitions>"
4065 "            <render:colorDefinition render:id=\"lightBlue\" render:value=\"#cecece\"/>"
4066 "            <render:colorDefinition render:id=\"white\" render:value=\"#ffffff\"/>"
4067 "            <render:colorDefinition render:id=\"black\" render:value=\"#000000\"/>"
4068 "            <render:colorDefinition render:id=\"red\" render:value=\"#000000\"/>"
4069 "            <render:colorDefinition render:id=\"green\" render:value=\"#000000\"/>"
4070 "            <render:colorDefinition render:id=\"blue\" render:value=\"#000000\"/>"
4071 "            <render:colorDefinition render:id=\"lightYellow\" render:value=\"#f0f0f0\"/>"
4072 "            <render:colorDefinition render:id=\"darkGreen\" render:value=\"#0b0b0b\"/>"
4073 "          </render:listOfColorDefinitions>"
4074 "        </render:renderInformation>"
4075 "        <render:renderInformation render:id=\"defaultStyle\" render:name=\"default style\" render:programName=\"Ralph Gauges\" render:programVersion=\"1.0\" render:backgroundColor='#FFFFFFFF'>"
4076 "          <render:listOfColorDefinitions>"
4077 "            <render:colorDefinition render:id=\"lightBlue\" render:value=\"#add8e6\"/>"
4078 "            <render:colorDefinition render:id=\"white\" render:value=\"#ffffff\"/>"
4079 "            <render:colorDefinition render:id=\"black\" render:value=\"#000000\"/>"
4080 "            <render:colorDefinition render:id=\"red\" render:value=\"#ff0000\"/>"
4081 "            <render:colorDefinition render:id=\"green\" render:value=\"#00ff00\"/>"
4082 "            <render:colorDefinition render:id=\"blue\" render:value=\"#0000ff\"/>"
4083 "            <render:colorDefinition render:id=\"lightYellow\" render:value=\"#ffffd1\"/>"
4084 "            <render:colorDefinition render:id=\"darkGreen\" render:value=\"#002000\"/>"
4085 "          </render:listOfColorDefinitions>"
4086 "          <render:listOfGradientDefinitions>"
4087 "            <render:radialGradient render:id=\"speciesGlyphGradient\">"
4088 "              <render:stop render:offset=\"0\" render:stop-color=\"white\"/>"
4089 "              <render:stop render:offset=\"100%\" render:stop-color=\"lightBlue\"/>"
4090 "            </render:radialGradient>"
4091 "          </render:listOfGradientDefinitions>"
4092 "          <render:listOfLineEndings>"
4093 "            <render:lineEnding render:id=\"simpleHead_black\">"
4094 "              <layout:boundingBox>"
4095 "                <layout:position layout:x=\"-8\" layout:y=\"-3\"/>"
4096 "                <layout:dimensions layout:width=\"10\" layout:height=\"6\"/>"
4097 "              </layout:boundingBox>"
4098 "              <render:g render:stroke=\"black\" render:stroke-width=\"1\" render:fill=\"black\">"
4099 "                <render:polygon>"
4100 "                  <render:listOfElements>"
4101 "                    <render:element xsi:type=\"RenderPoint\" render:x=\"0\" render:y=\"0\"/>"
4102 "                    <render:element xsi:type=\"RenderPoint\" render:x=\"10\" render:y=\"3\"/>"
4103 "                    <render:element xsi:type=\"RenderPoint\" render:x=\"0\" render:y=\"6\"/>"
4104 "                  </render:listOfElements>"
4105 "                </render:polygon>"
4106 "              </render:g>"
4107 "            </render:lineEnding>"
4108 "            <render:lineEnding render:id=\"simpleHead_red\">"
4109 "              <layout:boundingBox>"
4110 "                <layout:position layout:x=\"-8\" layout:y=\"-3\"/>"
4111 "                <layout:dimensions layout:width=\"10\" layout:height=\"6\"/>"
4112 "              </layout:boundingBox>"
4113 "              <render:g render:stroke=\"red\" render:stroke-width=\"1\" render:fill=\"red\">"
4114 "                <render:polygon>"
4115 "                  <render:listOfElements>"
4116 "                    <render:element xsi:type=\"RenderPoint\" render:x=\"0\" render:y=\"0\"/>"
4117 "                    <render:element xsi:type=\"RenderPoint\" render:x=\"10\" render:y=\"3\"/>"
4118 "                    <render:element xsi:type=\"RenderPoint\" render:x=\"0\" render:y=\"6\"/>"
4119 "                  </render:listOfElements>"
4120 "                </render:polygon>"
4121 "              </render:g>"
4122 "            </render:lineEnding>"
4123 "            <render:lineEnding render:id=\"simpleHead_green\">"
4124 "              <layout:boundingBox>"
4125 "                <layout:position layout:x=\"-8\" layout:y=\"-3\"/>"
4126 "                <layout:dimensions layout:width=\"10\" layout:height=\"6\"/>"
4127 "              </layout:boundingBox>"
4128 "              <render:g render:stroke=\"green\" render:stroke-width=\"1\" render:fill=\"green\">"
4129 "                <render:polygon>"
4130 "                  <render:listOfElements>"
4131 "                    <render:element xsi:type=\"RenderPoint\" render:x=\"0\" render:y=\"0\"/>"
4132 "                    <render:element xsi:type=\"RenderPoint\" render:x=\"10\" render:y=\"3\"/>"
4133 "                    <render:element xsi:type=\"RenderPoint\" render:x=\"0\" render:y=\"6\"/>"
4134 "                  </render:listOfElements>"
4135 "                </render:polygon>"
4136 "              </render:g>"
4137 "            </render:lineEnding>"
4138 "            <render:lineEnding render:id=\"simpleHead_blue\">"
4139 "              <layout:boundingBox>"
4140 "                <layout:position layout:x=\"-8\" layout:y=\"-3\"/>"
4141 "                <layout:dimensions layout:width=\"10\" layout:height=\"6\"/>"
4142 "              </layout:boundingBox>"
4143 "              <render:g render:stroke=\"blue\" render:stroke-width=\"1\" render:fill=\"blue\">"
4144 "                <render:polygon>"
4145 "                  <render:listOfElements>"
4146 "                    <render:element xsi:type=\"RenderPoint\" render:x=\"0\" render:y=\"0\"/>"
4147 "                    <render:element xsi:type=\"RenderPoint\" render:x=\"10\" render:y=\"3\"/>"
4148 "                    <render:element xsi:type=\"RenderPoint\" render:x=\"0\" render:y=\"6\"/>"
4149 "                  </render:listOfElements>"
4150 "                </render:polygon>"
4151 "              </render:g>"
4152 "            </render:lineEnding>"
4153 "          </render:listOfLineEndings>"
4154 "          <render:listOfStyles>"
4155 "            <render:style render:id=\"compartmentGlyphStyle\" render:typeList=\"COMPARTMENTGLYPH\">"
4156 "              <render:g render:stroke=\"darkGreen\" render:stroke-width=\"1\">"
4157 "                <render:rectangle render:fill=\"lightYellow\" render:x=\"0\" render:y=\"0\" render:width=\"100%\" render:height=\"100%\" render:rx=\"10%\" render:ry=\"10%\"/>"
4158 "              </render:g>"
4159 "            </render:style>"
4160 "            <render:style render:id=\"speciesGlyphStyle\" render:typeList=\"SPECIESGLYPH\">"
4161 "              <render:g render:stroke=\"black\" render:stroke-width=\"1\">"
4162 "                <render:rectangle render:fill=\"speciesGlyphGradient\" render:x=\"0\" render:y=\"0\" render:width=\"100%\" render:height=\"100%\" render:rx=\"5\" render:ry=\"50%\"/>"
4163 "              </render:g>"
4164 "            </render:style>"
4165 "            <render:style render:id=\"reactionGlyphStyle\" render:typeList=\"REACTIONGLYPH TEXTGLYPH\">"
4166 "              <render:g render:stroke=\"black\" render:stroke-width=\"1\" render:font-size=\"12\" render:text-anchor=\"middle\"/>"
4167 "            </render:style>"
4168 "            <render:style render:id=\"reactantSpeciesReferenceGlyphStyle\" render:roleList=\"product sideproduct sidesubstrate substrate\">"
4169 "              <render:g render:stroke=\"#000000\" render:stroke-width=\"1\" render:endHead=\"simpleHead_black\"/>"
4170 "            </render:style>"
4171 "            <render:style render:id=\"activatorSpeciesReferenceGlyphStyle\" render:roleList=\"activator\">"
4172 "              <render:g render:stroke=\"green\" render:stroke-width=\"1\" render:endHead=\"simpleHead_green\"/>"
4173 "            </render:style>"
4174 "            <render:style render:id=\"modifierSpeciesReferenceGlyphStyle\" render:roleList=\"modifier\">"
4175 "              <render:g render:stroke=\"blue\" render:stroke-width=\"1\" render:endHead=\"simpleHead_blue\"/>"
4176 "            </render:style>"
4177 "            <render:style render:id=\"inhibitorSpeciesReferenceGlyphStyle\" render:roleList=\"inhibitor\">"
4178 "              <render:g render:stroke=\"red\" render:stroke-width=\"1\" render:endHead=\"simpleHead_red\"/>"
4179 "            </render:style>"
4180 "          </render:listOfStyles>"
4181 "        </render:renderInformation>"
4182 "      </render:listOfGlobalRenderInformation>"
4183 "    </layout:listOfLayouts>"
4184 "  </model>"
4185 "</sbml>";
4186 
4187 
4188   XMLInputStream stream(s,false);
4189   XMLNode node(stream);
4190   // create the document
4191 
4192   SBMLDocument *document=new SBMLDocument(3,1);
4193 
4194   document->enablePackage(LayoutExtension::getXmlnsL3V1V1(), "layout", true);
4195   document->enablePackage(RenderExtension::getXmlnsL3V1V1(), "render", true);
4196 
4197   LayoutPkgNamespaces layoutns;
4198 
4199   document->setPackageRequired("layout", false);
4200   document->setPackageRequired("render", false);
4201 
4202   // create the Model
4203 
4204   Model* model=document->createModel();
4205   model->setId("TestModel");
4206   document->setModel(model);
4207 
4208   // create the Compartment
4209 
4210   Compartment* compartment=model->createCompartment();
4211   compartment->setId("Hepatocyte");
4212   compartment->setName("Hepatocyte");
4213 
4214   Compartment* mito1=model->createCompartment();
4215   mito1->setId("Mito_1");
4216   mito1->setName("Mito 1");
4217   mito1->setOutside(compartment->getId());
4218 
4219   Compartment* mito2=model->createCompartment();
4220   mito2->setId("Mito_2");
4221   mito2->setName("Mito 2");
4222   mito2->setOutside(compartment->getId());
4223 
4224   Compartment* mito3=model->createCompartment();
4225   mito3->setId("Mito_3");
4226   mito3->setName("Mito 3");
4227   mito3->setOutside(compartment->getId());
4228 
4229 
4230   // create the Species
4231 
4232   // Malate
4233   Species* malate_cyt=model->createSpecies();
4234   malate_cyt->setId("malate_cyt");
4235   malate_cyt->setName("Malate");
4236   malate_cyt->setCompartment(compartment->getId());
4237 
4238   Species* malate_mito1=model->createSpecies();
4239   malate_mito1->setId("malate_mito1");
4240   malate_mito1->setCompartment(mito1->getId());
4241   malate_mito1->setName("Malate");
4242 
4243   Species* malate_mito2=model->createSpecies();
4244   malate_mito2->setId("malate_mito2");
4245   malate_mito2->setCompartment(mito2->getId());
4246   malate_mito2->setName("Malate");
4247 
4248   Species* malate_mito3=model->createSpecies();
4249   malate_mito3->setId("malate_mito3");
4250   malate_mito3->setCompartment(mito3->getId());
4251   malate_mito3->setName("Malate");
4252 
4253 
4254   // Oxaloacetate
4255   Species* oxaloacetate_cyt=model->createSpecies();
4256   oxaloacetate_cyt->setId("oxaloacetate_cyt");
4257   oxaloacetate_cyt->setName("Oxaloacetate");
4258   oxaloacetate_cyt->setCompartment(compartment->getId());
4259 
4260   Species* oxaloacetate_mito1=model->createSpecies();
4261   oxaloacetate_mito1->setId("oxaloacetate_mito1");
4262   oxaloacetate_mito1->setCompartment(mito1->getId());
4263   oxaloacetate_mito1->setName("Oxaloacetate");
4264 
4265   Species* oxaloacetate_mito2=model->createSpecies();
4266   oxaloacetate_mito2->setId("oxaloacetate_mito2");
4267   oxaloacetate_mito2->setCompartment(mito2->getId());
4268   oxaloacetate_mito2->setName("Oxaloacetate");
4269 
4270   Species* oxaloacetate_mito3=model->createSpecies();
4271   oxaloacetate_mito3->setId("oxaloacetate_mito3");
4272   oxaloacetate_mito3->setCompartment(mito3->getId());
4273   oxaloacetate_mito3->setName("Oxaloacetate");
4274 
4275 
4276   // Aspartate
4277   Species* aspartate_cyt=model->createSpecies();
4278   aspartate_cyt->setId("aspartate_cyt");
4279   aspartate_cyt->setName("Aspartate");
4280   aspartate_cyt->setCompartment(compartment->getId());
4281 
4282   Species* aspartate_mito1=model->createSpecies();
4283   aspartate_mito1->setId("aspartate_mito1");
4284   aspartate_mito1->setCompartment(mito1->getId());
4285   aspartate_mito1->setName("Aspartate");
4286 
4287   Species* aspartate_mito2=model->createSpecies();
4288   aspartate_mito2->setId("aspartate_mito2");
4289   aspartate_mito2->setCompartment(mito2->getId());
4290   aspartate_mito2->setName("Aspartate");
4291 
4292   Species* aspartate_mito3=model->createSpecies();
4293   aspartate_mito3->setId("aspartate_mito3");
4294   aspartate_mito3->setCompartment(mito3->getId());
4295   aspartate_mito3->setName("Aspartate");
4296 
4297 
4298   // Glutamate
4299   Species* glutamate_cyt=model->createSpecies();
4300   glutamate_cyt->setId("glutamate_cyt");
4301   glutamate_cyt->setName("Glutamate");
4302   glutamate_cyt->setCompartment(compartment->getId());
4303 
4304   Species* glutamate_mito1=model->createSpecies();
4305   glutamate_mito1->setId("glutamate_mito1");
4306   glutamate_mito1->setCompartment(mito1->getId());
4307   glutamate_mito1->setName("Glutamate");
4308 
4309   Species* glutamate_mito2=model->createSpecies();
4310   glutamate_mito2->setId("glutamate_mito2");
4311   glutamate_mito2->setCompartment(mito2->getId());
4312   glutamate_mito2->setName("Glutamate");
4313 
4314   Species* glutamate_mito3=model->createSpecies();
4315   glutamate_mito3->setId("glutamate_mito3");
4316   glutamate_mito3->setCompartment(mito3->getId());
4317   glutamate_mito3->setName("Glutamate");
4318 
4319 
4320   // alpha-Ketoglutarate
4321   Species* aKetoglutarate_cyt=model->createSpecies();
4322   aKetoglutarate_cyt->setId("aKetoglutarate_cyt");
4323   aKetoglutarate_cyt->setName("alpha-Ketoglutarate");
4324   aKetoglutarate_cyt->setCompartment(compartment->getId());
4325 
4326   Species* aKetoglutarate_mito1=model->createSpecies();
4327   aKetoglutarate_mito1->setId("aKetoglutarate_mito1");
4328   aKetoglutarate_mito1->setCompartment(mito1->getId());
4329   aKetoglutarate_mito1->setName("alpha-Ketoglutarate");
4330 
4331   Species* aKetoglutarate_mito2=model->createSpecies();
4332   aKetoglutarate_mito2->setId("aKetoglutarate_mito2");
4333   aKetoglutarate_mito2->setCompartment(mito2->getId());
4334   aKetoglutarate_mito2->setName("alpha-Ketoglutarate");
4335 
4336   Species* aKetoglutarate_mito3=model->createSpecies();
4337   aKetoglutarate_mito3->setId("aKetoglutarate_mito3");
4338   aKetoglutarate_mito3->setCompartment(mito3->getId());
4339   aKetoglutarate_mito3->setName("alpha-Ketoglutarate");
4340 
4341 
4342   // protons
4343   Species* h_cyt=model->createSpecies();
4344   h_cyt->setId("h_cyt");
4345   h_cyt->setName("H+");
4346   h_cyt->setCompartment(compartment->getId());
4347 
4348   Species* h_mito1=model->createSpecies();
4349   h_mito1->setId("h_mito1");
4350   h_mito1->setCompartment(mito1->getId());
4351   h_mito1->setName("H+");
4352 
4353   Species* h_mito2=model->createSpecies();
4354   h_mito2->setId("h_mito2");
4355   h_mito2->setCompartment(mito2->getId());
4356   h_mito2->setName("H+");
4357 
4358   Species* h_mito3=model->createSpecies();
4359   h_mito3->setId("h_mito3");
4360   h_mito3->setCompartment(mito3->getId());
4361   h_mito3->setName("H+");
4362 
4363 
4364   // NAD+
4365   Species* nad_cyt=model->createSpecies();
4366   nad_cyt->setId("nad_cyt");
4367   nad_cyt->setName("NAD+");
4368   nad_cyt->setCompartment(compartment->getId());
4369 
4370   Species* nad_mito1=model->createSpecies();
4371   nad_mito1->setId("nad_mito1");
4372   nad_mito1->setCompartment(mito1->getId());
4373   nad_mito1->setName("NAD+");
4374 
4375   Species* nad_mito2=model->createSpecies();
4376   nad_mito2->setId("nad_mito2");
4377   nad_mito2->setCompartment(mito2->getId());
4378   nad_mito2->setName("NAD+");
4379 
4380   Species* nad_mito3=model->createSpecies();
4381   nad_mito3->setId("nad_mito3");
4382   nad_mito3->setCompartment(mito3->getId());
4383   nad_mito3->setName("NAD+");
4384 
4385 
4386   // NADH
4387   Species* nadh_cyt=model->createSpecies();
4388   nadh_cyt->setId("nadh_cyt");
4389   nadh_cyt->setName("NADH");
4390   nadh_cyt->setCompartment(compartment->getId());
4391 
4392   Species* nadh_mito1=model->createSpecies();
4393   nadh_mito1->setId("nadh_mito1");
4394   nadh_mito1->setCompartment(mito1->getId());
4395   nadh_mito1->setName("NADH");
4396 
4397   Species* nadh_mito2=model->createSpecies();
4398   nadh_mito2->setId("nadh_mito2");
4399   nadh_mito2->setCompartment(mito2->getId());
4400   nadh_mito2->setName("NADH");
4401 
4402   Species* nadh_mito3=model->createSpecies();
4403   nadh_mito3->setId("nadh_mito3");
4404   nadh_mito3->setCompartment(mito3->getId());
4405   nadh_mito3->setName("NADH");
4406 
4407 
4408 
4409 
4410   // create the Reactions
4411 
4412   // Cytosol
4413 
4414   // Malate Dehydrogenase
4415   Reaction* malatedh_cyt=model->createReaction();
4416   malatedh_cyt->setId("reaction_malatedh_cyt");
4417   malatedh_cyt->setName("malate dehydrogenase");
4418   malatedh_cyt->setReversible(false);
4419 
4420   SpeciesReference* sr_malate_cyt=malatedh_cyt->createReactant();
4421   sr_malate_cyt->setSpecies(malate_cyt->getId());
4422   sr_malate_cyt->setId("sr_malate_cyt");
4423 
4424   SpeciesReference* sr_nad_cyt=malatedh_cyt->createReactant();
4425   sr_nad_cyt->setSpecies(nad_cyt->getId());
4426   sr_nad_cyt->setId("sr_nad_cyt");
4427 
4428   SpeciesReference* sr_nadh_cyt=malatedh_cyt->createProduct();
4429   sr_nadh_cyt->setSpecies(nadh_cyt->getId());
4430   sr_nadh_cyt->setId("sr_nadh_cyt");
4431 
4432   SpeciesReference* sr_h_cyt=malatedh_cyt->createProduct();
4433   sr_h_cyt->setSpecies(h_cyt->getId());
4434   sr_h_cyt->setId("sr_h_cyt");
4435 
4436   SpeciesReference* sr_oxaloacetate_cyt_1=malatedh_cyt->createProduct();
4437   sr_oxaloacetate_cyt_1->setSpecies(oxaloacetate_cyt->getId());
4438   sr_oxaloacetate_cyt_1->setId("sr_oxaloacetate_cyt_1");
4439 
4440   //Aspartate Aminotransferase
4441   Reaction* aspartateat_cyt=model->createReaction();
4442   aspartateat_cyt->setId("reaction_aspartateat_cyt");
4443   aspartateat_cyt->setName("aspartate aminotransferase");
4444   aspartateat_cyt->setReversible(false);
4445 
4446   SpeciesReference* sr_oxaloacetate_cyt_2=aspartateat_cyt->createReactant();
4447   sr_oxaloacetate_cyt_2->setSpecies(oxaloacetate_cyt->getId());
4448   sr_oxaloacetate_cyt_2->setId("sr_oxaloacetate_cyt_2");
4449 
4450   SpeciesReference* sr_glutamate_cyt_1=aspartateat_cyt->createReactant();
4451   sr_glutamate_cyt_1->setSpecies(glutamate_cyt->getId());
4452   sr_glutamate_cyt_1->setId("sr_glutamate_cyt_1");
4453 
4454   SpeciesReference* sr_aspartate_cyt_1=aspartateat_cyt->createProduct();
4455   sr_aspartate_cyt_1->setSpecies(aspartate_cyt->getId());
4456   sr_aspartate_cyt_1->setId("sr_aspartate_cyt_1");
4457 
4458   SpeciesReference* sr_aKetoglutarate_cyt_1=aspartateat_cyt->createProduct();
4459   sr_aKetoglutarate_cyt_1->setSpecies(aKetoglutarate_cyt->getId());
4460   sr_aKetoglutarate_cyt_1->setId("sr_aKetoglutarate_cyt_1");
4461 
4462 
4463   // Mito 1
4464 
4465   // Malate Dehydrogenase
4466   Reaction* malatedh_mito1=model->createReaction();
4467   malatedh_mito1->setId("reaction_malatedh_mito1");
4468   malatedh_mito1->setName("malate dehydrogenase");
4469   malatedh_mito1->setReversible(false);
4470 
4471   SpeciesReference* sr_malate_mito1=malatedh_mito1->createReactant();
4472   sr_malate_mito1->setSpecies(malate_mito1->getId());
4473   sr_malate_mito1->setId("sr_malate_mito1");
4474 
4475   SpeciesReference* sr_nad_mito1=malatedh_mito1->createReactant();
4476   sr_nad_mito1->setSpecies(nad_mito1->getId());
4477   sr_nad_mito1->setId("sr_nad_mito1");
4478 
4479   SpeciesReference* sr_nadh_mito1=malatedh_mito1->createProduct();
4480   sr_nadh_mito1->setSpecies(nadh_mito1->getId());
4481   sr_nadh_mito1->setId("sr_nadh_mito1");
4482 
4483   SpeciesReference* sr_h_mito1=malatedh_mito1->createProduct();
4484   sr_h_mito1->setSpecies(h_mito1->getId());
4485   sr_h_mito1->setId("sr_h_mito1");
4486 
4487   SpeciesReference* sr_oxaloacetate_mito1_1=malatedh_mito1->createProduct();
4488   sr_oxaloacetate_mito1_1->setSpecies(oxaloacetate_mito1->getId());
4489   sr_oxaloacetate_mito1_1->setId("sr_oxaloacetate_mito1_1");
4490 
4491   //Aspartate Aminotransferase
4492   Reaction* aspartateat_mito1=model->createReaction();
4493   aspartateat_mito1->setId("reaction_aspartateat_mito1");
4494   aspartateat_mito1->setName("aspartate aminotransferase");
4495   aspartateat_mito1->setReversible(false);
4496 
4497   SpeciesReference* sr_oxaloacetate_mito1_2=aspartateat_mito1->createReactant();
4498   sr_oxaloacetate_mito1_2->setSpecies(oxaloacetate_mito1->getId());
4499   sr_oxaloacetate_mito1_2->setId("sr_oxaloacetate_mito1_2");
4500 
4501   SpeciesReference* sr_glutamate_mito1=aspartateat_mito1->createReactant();
4502   sr_glutamate_mito1->setSpecies(glutamate_mito1->getId());
4503   sr_glutamate_mito1->setId("sr_glutamate_mito1");
4504 
4505   SpeciesReference* sr_aspartate_mito1=aspartateat_mito1->createProduct();
4506   sr_aspartate_mito1->setSpecies(aspartate_mito1->getId());
4507   sr_aspartate_mito1->setId("sr_aspartate_mito1");
4508 
4509   SpeciesReference* sr_aKetoglutarate_mito1=aspartateat_mito1->createProduct();
4510   sr_aKetoglutarate_mito1->setSpecies(aKetoglutarate_mito1->getId());
4511   sr_aKetoglutarate_mito1->setId("sr_aKetoglutarate_mito1");
4512 
4513 
4514   // Mito 2
4515 
4516   // Malate Dehydrogenase
4517   Reaction* malatedh_mito2=model->createReaction();
4518   malatedh_mito2->setId("reaction_malatedh_mito2");
4519   malatedh_mito2->setName("malate dehydrogenase");
4520   malatedh_mito2->setReversible(false);
4521 
4522   SpeciesReference* sr_malate_mito2=malatedh_mito2->createReactant();
4523   sr_malate_mito2->setSpecies(malate_mito2->getId());
4524   sr_malate_mito2->setId("sr_malate_mito2");
4525 
4526   SpeciesReference* sr_nad_mito2=malatedh_mito2->createReactant();
4527   sr_nad_mito2->setSpecies(nad_mito2->getId());
4528   sr_nad_mito2->setId("sr_nad_mito2");
4529 
4530   SpeciesReference* sr_nadh_mito2=malatedh_mito2->createProduct();
4531   sr_nadh_mito2->setSpecies(nadh_mito2->getId());
4532   sr_nadh_mito2->setId("sr_nadh_mito2");
4533 
4534   SpeciesReference* sr_h_mito2=malatedh_mito2->createProduct();
4535   sr_h_mito2->setSpecies(h_mito2->getId());
4536   sr_h_mito2->setId("sr_h_mito2");
4537 
4538   SpeciesReference* sr_oxaloacetate_mito2_1=malatedh_mito2->createProduct();
4539   sr_oxaloacetate_mito2_1->setSpecies(oxaloacetate_mito2->getId());
4540   sr_oxaloacetate_mito2_1->setId("sr_oxaloacetate_mito2_1");
4541 
4542   //Aspartate Aminotransferase
4543   Reaction* aspartateat_mito2=model->createReaction();
4544   aspartateat_mito2->setId("reaction_aspartateat_mito2");
4545   aspartateat_mito2->setName("aspartate aminotransferase");
4546   aspartateat_mito2->setReversible(false);
4547 
4548   SpeciesReference* sr_oxaloacetate_mito2_2=aspartateat_mito2->createReactant();
4549   sr_oxaloacetate_mito2_2->setSpecies(oxaloacetate_mito2->getId());
4550   sr_oxaloacetate_mito2_2->setId("sr_oxaloacetate_mito2_2");
4551 
4552   SpeciesReference* sr_glutamate_mito2=aspartateat_mito2->createReactant();
4553   sr_glutamate_mito2->setSpecies(glutamate_mito2->getId());
4554   sr_glutamate_mito2->setId("sr_glutamate_mito2");
4555 
4556   SpeciesReference* sr_aspartate_mito2=aspartateat_mito2->createProduct();
4557   sr_aspartate_mito2->setSpecies(aspartate_mito2->getId());
4558   sr_aspartate_mito2->setId("sr_aspartate_mito2");
4559 
4560   SpeciesReference* sr_aKetoglutarate_mito2=aspartateat_mito2->createProduct();
4561   sr_aKetoglutarate_mito2->setSpecies(aKetoglutarate_mito2->getId());
4562   sr_aKetoglutarate_mito2->setId("sr_aKetoglutarate_mito2");
4563 
4564 
4565   // Mito 3
4566 
4567   // Malate Dehydrogenase
4568   Reaction* malatedh_mito3=model->createReaction();
4569   malatedh_mito3->setId("reaction_malatedh_mito3");
4570   malatedh_mito3->setName("malate dehydrogenase");
4571   malatedh_mito3->setReversible(false);
4572 
4573   SpeciesReference* sr_malate_mito3=malatedh_mito3->createReactant();
4574   sr_malate_mito3->setSpecies(malate_mito3->getId());
4575   sr_malate_mito3->setId("sr_malate_mito3");
4576 
4577   SpeciesReference* sr_nad_mito3=malatedh_mito3->createReactant();
4578   sr_nad_mito3->setSpecies(nad_mito3->getId());
4579   sr_nad_mito3->setId("sr_nad_mito3");
4580 
4581   SpeciesReference* sr_nadh_mito3=malatedh_mito3->createProduct();
4582   sr_nadh_mito3->setSpecies(nadh_mito3->getId());
4583   sr_nadh_mito3->setId("sr_nadh_mito3");
4584 
4585   SpeciesReference* sr_h_mito3=malatedh_mito3->createProduct();
4586   sr_h_mito3->setSpecies(h_mito3->getId());
4587   sr_h_mito3->setId("sr_h_mito3");
4588 
4589   SpeciesReference* sr_oxaloacetate_mito3_1=malatedh_mito3->createProduct();
4590   sr_oxaloacetate_mito3_1->setSpecies(oxaloacetate_mito3->getId());
4591   sr_oxaloacetate_mito3_1->setId("sr_oxaloacetate_mito3_1");
4592 
4593   //Aspartate Aminotransferase
4594   Reaction* aspartateat_mito3=model->createReaction();
4595   aspartateat_mito3->setId("reaction_aspartateat_mito3");
4596   aspartateat_mito3->setName("aspartate aminotransferase");
4597   aspartateat_mito3->setReversible(false);
4598 
4599   SpeciesReference* sr_oxaloacetate_mito3_2=aspartateat_mito3->createReactant();
4600   sr_oxaloacetate_mito3_2->setSpecies(oxaloacetate_mito3->getId());
4601   sr_oxaloacetate_mito3_2->setId("sr_oxaloacetate_mito3_2");
4602 
4603 
4604   SpeciesReference* sr_glutamate_mito3_1=aspartateat_mito3->createReactant();
4605   sr_glutamate_mito3_1->setSpecies(glutamate_mito3->getId());
4606   sr_glutamate_mito3_1->setId("sr_glutamate_mito3_1");
4607 
4608 
4609   SpeciesReference* sr_aspartate_mito3_1=aspartateat_mito3->createProduct();
4610   sr_aspartate_mito3_1->setSpecies(aspartate_mito3->getId());
4611   sr_aspartate_mito3_1->setId("sr_aspartate_mito3_1");
4612 
4613 
4614   SpeciesReference* sr_aKetoglutarate_mito3_1=aspartateat_mito3->createProduct();
4615   sr_aKetoglutarate_mito3_1->setSpecies(aKetoglutarate_mito3->getId());
4616   sr_aKetoglutarate_mito3_1->setId("sr_aKetoglutarate_mito3_1");
4617 
4618 
4619   // aspartate carrier
4620 
4621   Reaction* aspartateCarrier=model->createReaction();
4622   aspartateCarrier->setId("aspartateCarrier");
4623   aspartateCarrier->setName("aspartate carrier");
4624   aspartateCarrier->setReversible(true);
4625 
4626   SpeciesReference* sr_glutamate_mito3_2=aspartateCarrier->createReactant();
4627   sr_glutamate_mito3_2->setSpecies(glutamate_mito3->getId());
4628   sr_glutamate_mito3_2->setId("sr_glutamate_mito3_2");
4629 
4630   SpeciesReference* sr_aspartate_cyt_2=aspartateCarrier->createReactant();
4631   sr_aspartate_cyt_2->setSpecies(aspartate_cyt->getId());
4632   sr_aspartate_cyt_2->setId("sr_aspartate_cyt_2");
4633 
4634   SpeciesReference* sr_glutamate_cyt_2=aspartateCarrier->createProduct();
4635   sr_glutamate_cyt_2->setSpecies(glutamate_cyt->getId());
4636   sr_glutamate_cyt_2->setId("sr_glutamate_cyt_2");
4637 
4638   SpeciesReference* sr_aspartate_mito3_2=aspartateCarrier->createProduct();
4639   sr_aspartate_mito3_2->setSpecies(aspartate_mito3->getId());
4640   sr_aspartate_mito3_2->setId("sr_aspartate_mito3_2");
4641 
4642   // malate carrier
4643 
4644   Reaction* malateCarrier=model->createReaction();
4645   malateCarrier->setId("malateCarrier");
4646   malateCarrier->setName("malate carrier");
4647   malateCarrier->setReversible(true);
4648 
4649   SpeciesReference* sr_aKetoglutarate_mito3_2=malateCarrier->createReactant();
4650   sr_aKetoglutarate_mito3_2->setSpecies(aKetoglutarate_mito3->getId());
4651   sr_aKetoglutarate_mito3_2->setId("sr_aKetoglutarate_mito3_2");
4652 
4653   SpeciesReference* sr_malate_cyt_2=malateCarrier->createReactant();
4654   sr_malate_cyt_2->setSpecies(malate_cyt->getId());
4655   sr_malate_cyt_2->setId("sr_malate_cyt_2");
4656 
4657   SpeciesReference* sr_aKetoglutarate_cyt_2=malateCarrier->createProduct();
4658   sr_aKetoglutarate_cyt_2->setSpecies(aKetoglutarate_cyt->getId());
4659   sr_aKetoglutarate_cyt_2->setId("sr_aKetoglutarate_cyt_2");
4660 
4661   SpeciesReference* sr_malate_mito3_2=malateCarrier->createProduct();
4662   sr_malate_mito3_2->setSpecies(malate_mito3->getId());
4663   sr_malate_mito3_2->setId("sr_malate_mito3_2");
4664 
4665 
4666   /////////// create the Layout
4667   LayoutModelPlugin *plugin = (LayoutModelPlugin*)model->getPlugin("layout");
4668   fail_unless(plugin != NULL);
4669   if (plugin == NULL) return;
4670 
4671   Layout* layout=plugin ->createLayout();
4672 
4673   layout->setId("Layout_1");
4674   Dimensions dim(&layoutns,2320.0,1000.0);
4675   layout->setDimensions(&dim);
4676 
4677 
4678   // create the CompartmentGlyph
4679 
4680   CompartmentGlyph* compartmentGlyph=layout->createCompartmentGlyph();
4681   compartmentGlyph->setId("CompartmentGlyph_1");
4682   compartmentGlyph->setCompartmentId(compartment->getId());
4683   BoundingBox bb=BoundingBox(&layoutns, "bb_compartment",10,10,2300,980);
4684   compartmentGlyph->setBoundingBox(&bb);
4685 
4686   TextGlyph* tg=layout->createTextGlyph();
4687   tg->setId("TextGlyph_Hepatocyte");
4688   tg->setOriginOfTextId(compartment->getId());
4689   bb=BoundingBox(&layoutns, "bb_tg_compartment",50,870,300,72);
4690   tg->setBoundingBox(&bb);
4691   tg->setGraphicalObjectId(compartmentGlyph->getId());
4692 
4693   CompartmentGlyph* mito1Glyph=layout->createCompartmentGlyph();
4694   mito1Glyph->setId("Mito1_Glyph");
4695   mito1Glyph->setCompartmentId(mito1->getId());
4696   bb=BoundingBox(&layoutns, "bb_mito1",100,100,300,100);
4697   mito1Glyph->setBoundingBox(&bb);
4698 
4699   tg=layout->createTextGlyph();
4700   tg->setId("TextGlyph_mito1");
4701   tg->setOriginOfTextId(mito1->getId());
4702   bb=BoundingBox(&layoutns, "bb_tg_mito1",110,110,280,72);
4703   tg->setBoundingBox(&bb);
4704   tg->setGraphicalObjectId(mito1Glyph->getId());
4705 
4706 
4707   CompartmentGlyph* mito2Glyph=layout->createCompartmentGlyph();
4708   mito2Glyph->setId("Mito2_Glyph");
4709   mito2Glyph->setCompartmentId(mito2->getId());
4710   bb=BoundingBox(&layoutns, "bb_mito2",200,650,300,100);
4711   mito2Glyph->setBoundingBox(&bb);
4712 
4713   tg=layout->createTextGlyph();
4714   tg->setId("TextGlyph_mito2");
4715   tg->setOriginOfTextId(mito2->getId());
4716   bb=BoundingBox(&layoutns, "bb_tg_mito2",210,660,280,72);
4717   tg->setBoundingBox(&bb);
4718   tg->setGraphicalObjectId(mito2Glyph->getId());
4719 
4720   CompartmentGlyph* mito3Glyph_2=layout->createCompartmentGlyph();
4721   mito3Glyph_2->setId("Mito3_Glyph_2");
4722   mito3Glyph_2->setCompartmentId(mito3->getId());
4723   bb=BoundingBox(&layoutns, "bb_mito3_2",1470,30,820,536);
4724   mito3Glyph_2->setBoundingBox(&bb);
4725 
4726   tg=layout->createTextGlyph();
4727   tg->setId("TextGlyph_mito3_2");
4728   tg->setOriginOfTextId(mito3->getId());
4729   bb=BoundingBox(&layoutns, "bb_tg_mito3_2",1475,35,200,72);
4730   tg->setBoundingBox(&bb);
4731   tg->setGraphicalObjectId(mito3Glyph_2->getId());
4732 
4733 
4734 
4735 
4736   // create the SpeciesGlyphs
4737 
4738   // Cytosol
4739 
4740   // Malate cyt
4741   SpeciesGlyph* speciesGlyph_malate_cyt=layout->createSpeciesGlyph();
4742   speciesGlyph_malate_cyt->setId("SpeciesGlyph_malate_cyt");
4743   speciesGlyph_malate_cyt->setSpeciesId(malate_cyt->getId());
4744   bb=BoundingBox(&layoutns, "bb_sg_malate_cyt",580,280,240,36);
4745   speciesGlyph_malate_cyt->setBoundingBox(&bb);
4746 
4747   tg=layout->createTextGlyph();
4748   tg->setId("TextGlyph_malate_cyt");
4749   bb=BoundingBox(&layoutns, "bb_tg_malatate_cyt",590,280,220,36);
4750   tg->setBoundingBox(&bb);
4751   tg->setOriginOfTextId(malate_cyt->getId());
4752   tg->setGraphicalObjectId(speciesGlyph_malate_cyt->getId());
4753 
4754   // Oxaloacetate cyt
4755   SpeciesGlyph* speciesGlyph_oxaloacetate_cyt=layout->createSpeciesGlyph();
4756   speciesGlyph_oxaloacetate_cyt->setId("SpeciesGlyph_oxaloacetate_cyt");
4757   speciesGlyph_oxaloacetate_cyt->setSpeciesId(oxaloacetate_cyt->getId());
4758   bb=BoundingBox(&layoutns, "bb_sg_oxaloacetate_cyt",580,480,240,36);
4759   speciesGlyph_oxaloacetate_cyt->setBoundingBox(&bb);
4760 
4761   tg=layout->createTextGlyph();
4762   tg->setId("TextGlyph_oxaloacetate_cyt");
4763   bb=BoundingBox(&layoutns, "bb_tg_oxaloacetate_cyt",590,480,220,36);
4764   tg->setBoundingBox(&bb);
4765   tg->setOriginOfTextId(oxaloacetate_cyt->getId());
4766   tg->setGraphicalObjectId(speciesGlyph_oxaloacetate_cyt->getId());
4767 
4768   // Aspartate cyt
4769   SpeciesGlyph* speciesGlyph_aspartate_cyt=layout->createSpeciesGlyph();
4770   speciesGlyph_aspartate_cyt->setId("SpeciesGlyph_aspartate_cyt");
4771   speciesGlyph_aspartate_cyt->setSpeciesId(aspartate_cyt->getId());
4772   bb=BoundingBox(&layoutns, "bb_sg_aspartate_cyt",580,680,240,36);
4773   speciesGlyph_aspartate_cyt->setBoundingBox(&bb);
4774 
4775   tg=layout->createTextGlyph();
4776   tg->setId("TextGlyph_aspartate_cyt");
4777   bb=BoundingBox(&layoutns, "bb_tg_aspartate_cyt",590,680,220,36);
4778   tg->setBoundingBox(&bb);
4779   tg->setOriginOfTextId(aspartate_cyt->getId());
4780   tg->setGraphicalObjectId(speciesGlyph_aspartate_cyt->getId());
4781 
4782   // Glutamate cyt
4783   SpeciesGlyph* speciesGlyph_glutamate_cyt=layout->createSpeciesGlyph();
4784   speciesGlyph_glutamate_cyt->setId("SpeciesGlyph_glutamate_cyt");
4785   speciesGlyph_glutamate_cyt->setSpeciesId(glutamate_cyt->getId());
4786   bb=BoundingBox(&layoutns, "bb_sg_glutamate_cyt",800,610,240,36);
4787   speciesGlyph_glutamate_cyt->setBoundingBox(&bb);
4788 
4789   tg=layout->createTextGlyph();
4790   tg->setId("TextGlyph_glutamate_cyt");
4791   bb=BoundingBox(&layoutns, "bb_tg_glutamate_cyt",810,610,220,36);
4792   tg->setBoundingBox(&bb);
4793   tg->setOriginOfTextId(glutamate_cyt->getId());
4794   tg->setGraphicalObjectId(speciesGlyph_glutamate_cyt->getId());
4795 
4796   // alpha-Ketoglutarate cyt
4797   SpeciesGlyph* speciesGlyph_aKetoglutarate_cyt=layout->createSpeciesGlyph();
4798   speciesGlyph_aKetoglutarate_cyt->setId("SpeciesGlyph_aKetoglutarate_cyt");
4799   speciesGlyph_aKetoglutarate_cyt->setSpeciesId(aKetoglutarate_cyt->getId());
4800   bb=BoundingBox(&layoutns, "bb_sg_aKetoglutarate_cyt",860,500,280,36);
4801   speciesGlyph_aKetoglutarate_cyt->setBoundingBox(&bb);
4802 
4803   tg=layout->createTextGlyph();
4804   tg->setId("TextGlyph_aKetoglutarate_cyt");
4805   bb=BoundingBox(&layoutns, "bb_tg_aKetoglutarate_cyt",870,500,260,36);
4806   tg->setBoundingBox(&bb);
4807   tg->setOriginOfTextId(aKetoglutarate_cyt->getId());
4808   tg->setGraphicalObjectId(speciesGlyph_aKetoglutarate_cyt->getId());
4809 
4810   // NAD+ cyt
4811   SpeciesGlyph* speciesGlyph_nad_cyt=layout->createSpeciesGlyph();
4812   speciesGlyph_nad_cyt->setId("SpeciesGlyph_nad_cyt");
4813   speciesGlyph_nad_cyt->setSpeciesId(nad_cyt->getId());
4814   bb=BoundingBox(&layoutns, "bb_sg_nad_cyt",520,350,100,24);
4815   speciesGlyph_nad_cyt->setBoundingBox(&bb);
4816 
4817   tg=layout->createTextGlyph();
4818   tg->setId("TextGlyph_nad_cyt");
4819   bb=BoundingBox(&layoutns, "bb_tg_nad_cyt",525,350,80,24);
4820   tg->setBoundingBox(&bb);
4821   tg->setOriginOfTextId(nad_cyt->getId());
4822   tg->setGraphicalObjectId(speciesGlyph_nad_cyt->getId());
4823 
4824   // NADH cyt
4825   SpeciesGlyph* speciesGlyph_nadh_cyt=layout->createSpeciesGlyph();
4826   speciesGlyph_nadh_cyt->setId("SpeciesGlyph_nadh_cyt");
4827   speciesGlyph_nadh_cyt->setSpeciesId(nadh_cyt->getId());
4828   bb=BoundingBox(&layoutns, "bb_sg_nadh_cyt",520,430,100,24);
4829   speciesGlyph_nadh_cyt->setBoundingBox(&bb);
4830 
4831   tg=layout->createTextGlyph();
4832   tg->setId("TextGlyph_nadh_cyt");
4833   bb=BoundingBox(&layoutns, "bb_tg_nadh_cyt",525,430,80,24);
4834   tg->setBoundingBox(&bb);
4835   tg->setOriginOfTextId(nadh_cyt->getId());
4836   tg->setGraphicalObjectId(speciesGlyph_nadh_cyt->getId());
4837 
4838   // H+ cyt
4839   SpeciesGlyph* speciesGlyph_h_cyt=layout->createSpeciesGlyph();
4840   speciesGlyph_h_cyt->setId("SpeciesGlyph_h_cyt");
4841   speciesGlyph_h_cyt->setSpeciesId(h_cyt->getId());
4842   bb=BoundingBox(&layoutns, "bb_sg_h_cyt",430,430,40,24);
4843   speciesGlyph_h_cyt->setBoundingBox(&bb);
4844 
4845   tg=layout->createTextGlyph();
4846   tg->setId("TextGlyph_h_cyt");
4847   bb=BoundingBox(&layoutns, "bb_tg_h_cyt",435,430,30,24);
4848   tg->setBoundingBox(&bb);
4849   tg->setOriginOfTextId(h_cyt->getId());
4850   tg->setGraphicalObjectId(speciesGlyph_h_cyt->getId());
4851 
4852 
4853   // create the ReactionGlyphs
4854 
4855   ReactionGlyph* rg_malatedh_cyt=layout->createReactionGlyph();
4856   rg_malatedh_cyt->setId("rg_malatedh_cyt");
4857   rg_malatedh_cyt->setReactionId(malatedh_cyt->getId());
4858 
4859   Curve* curve=rg_malatedh_cyt->getCurve();
4860   LineSegment* ls=curve->createLineSegment();
4861   Point p(&layoutns, 700,381);
4862   ls->setStart(&p);
4863   p=Point(&layoutns, 700,415);
4864   ls->setEnd(&p);
4865 
4866   tg=layout->createTextGlyph();
4867   tg->setId("tg_rg_malaltedh_cyt");
4868   bb=BoundingBox(&layoutns, "bb_tg_rg_malaltedh_cyt",700,385,210,24);
4869   tg->setBoundingBox(&bb);
4870   tg->setOriginOfTextId(malatedh_cyt->getId());
4871   tg->setGraphicalObjectId(rg_malatedh_cyt->getId());
4872 
4873 
4874   ReactionGlyph* rg_aspartateat_cyt=layout->createReactionGlyph();
4875   rg_aspartateat_cyt->setId("rg_aspartateat_cyt");
4876   rg_aspartateat_cyt->setReactionId(aspartateat_cyt->getId());
4877 
4878   curve=rg_aspartateat_cyt->getCurve();
4879   ls=curve->createLineSegment();
4880   p=Point(&layoutns, 700,581);
4881   ls->setStart(&p);
4882   p=Point(&layoutns, 700,615);
4883   ls->setEnd(&p);
4884 
4885   tg=layout->createTextGlyph();
4886   tg->setId("tg_rg_aspartateat_cyt");
4887   bb=BoundingBox(&layoutns, "bb_tg_rg_aspartateat_cyt",440,585,260,24);
4888   tg->setBoundingBox(&bb);
4889   tg->setOriginOfTextId(aspartateat_cyt->getId());
4890   tg->setGraphicalObjectId(rg_aspartateat_cyt->getId());
4891 
4892 
4893 
4894   // add the SpeciesReferenceGlyphs
4895 
4896   SpeciesReferenceGlyph* srg_malate_cyt_1=rg_malatedh_cyt->createSpeciesReferenceGlyph();
4897   srg_malate_cyt_1->setId("srg_malate_cyt_1");
4898   srg_malate_cyt_1->setSpeciesGlyphId(speciesGlyph_malate_cyt->getId());
4899   srg_malate_cyt_1->setSpeciesReferenceId(sr_malate_cyt->getId());
4900   srg_malate_cyt_1->setRole(SPECIES_ROLE_SUBSTRATE);
4901 
4902   ls=srg_malate_cyt_1->createLineSegment();
4903   p=Point(&layoutns, 700,381);
4904   ls->setStart(&p);
4905   p=Point(&layoutns, 700,316);
4906   ls->setEnd(&p);
4907 
4908   SpeciesReferenceGlyph* srg_nad_cyt=rg_malatedh_cyt->createSpeciesReferenceGlyph();
4909   srg_nad_cyt->setId("srg_nad_cyt");
4910   srg_nad_cyt->setSpeciesGlyphId(speciesGlyph_nad_cyt->getId());
4911   srg_nad_cyt->setSpeciesReferenceId(sr_nad_cyt->getId());
4912   srg_nad_cyt->setRole(SPECIES_ROLE_SUBSTRATE);
4913 
4914   CubicBezier* cb=srg_nad_cyt->createCubicBezier();
4915   p=Point(&layoutns, 700,381);
4916   cb->setStart(&p);
4917   p=Point(&layoutns, 700,362);
4918   cb->setBasePoint1(&p);
4919   p=Point(&layoutns, 700,362);
4920   cb->setBasePoint2(&p);
4921   p=Point(&layoutns, 620,362);
4922   cb->setEnd(&p);
4923 
4924   SpeciesReferenceGlyph* srg_oxaloacetate_cyt_1=rg_malatedh_cyt->createSpeciesReferenceGlyph();
4925   srg_oxaloacetate_cyt_1->setId("srg_oxaloacetate_cyt_1");
4926   srg_oxaloacetate_cyt_1->setSpeciesGlyphId(speciesGlyph_oxaloacetate_cyt->getId());
4927   srg_oxaloacetate_cyt_1->setSpeciesReferenceId(sr_oxaloacetate_cyt_1->getId());
4928   srg_oxaloacetate_cyt_1->setRole(SPECIES_ROLE_PRODUCT);
4929 
4930   curve=srg_oxaloacetate_cyt_1->getCurve();
4931   ls=curve->createLineSegment();
4932   p=Point(&layoutns, 700,415);
4933   ls->setStart(&p);
4934   p=Point(&layoutns, 700,480);
4935   ls->setEnd(&p);
4936 
4937   SpeciesReferenceGlyph* srg_nadh_cyt=rg_malatedh_cyt->createSpeciesReferenceGlyph();
4938   srg_nadh_cyt->setId("srg_nadh_cyt");
4939   srg_nadh_cyt->setSpeciesGlyphId(speciesGlyph_nadh_cyt->getId());
4940   srg_nadh_cyt->setSpeciesReferenceId(sr_nadh_cyt->getId());
4941   srg_nadh_cyt->setRole(SPECIES_ROLE_PRODUCT);
4942 
4943   cb=srg_nadh_cyt->createCubicBezier();
4944   p=Point(&layoutns, 700,415);
4945   cb->setStart(&p);
4946   p=Point(&layoutns, 700,442);
4947   cb->setBasePoint1(&p);
4948   p=Point(&layoutns, 700,442);
4949   cb->setBasePoint2(&p);
4950   p=Point(&layoutns, 620,442);
4951   cb->setEnd(&p);
4952 
4953   SpeciesReferenceGlyph* srg_h_cyt=rg_malatedh_cyt->createSpeciesReferenceGlyph();
4954   srg_h_cyt->setId("srg_h_cyt");
4955   srg_h_cyt->setSpeciesGlyphId(speciesGlyph_h_cyt->getId());
4956   srg_h_cyt->setSpeciesReferenceId(sr_h_cyt->getId());
4957   srg_h_cyt->setRole(SPECIES_ROLE_PRODUCT);
4958 
4959   cb=srg_h_cyt->createCubicBezier();
4960   p=Point(&layoutns, 700,415);
4961   cb->setStart(&p);
4962   p=Point(&layoutns, 570,415);
4963   cb->setBasePoint1(&p);
4964   p=Point(&layoutns, 570,415);
4965   cb->setBasePoint2(&p);
4966   p=Point(&layoutns, 470,430);
4967   cb->setEnd(&p);
4968 
4969   SpeciesReferenceGlyph* srg_oxaloacetate_cyt_2=rg_aspartateat_cyt->createSpeciesReferenceGlyph();
4970   srg_oxaloacetate_cyt_2->setId("srg_oxaloacetate_cyt_2");
4971   srg_oxaloacetate_cyt_2->setSpeciesGlyphId(speciesGlyph_oxaloacetate_cyt->getId());
4972   srg_oxaloacetate_cyt_2->setSpeciesReferenceId(sr_oxaloacetate_cyt_2->getId());
4973   srg_oxaloacetate_cyt_2->setRole(SPECIES_ROLE_SUBSTRATE);
4974 
4975   curve=srg_oxaloacetate_cyt_2->getCurve();
4976   ls=curve->createLineSegment();
4977   p=Point(&layoutns, 700,581);
4978   ls->setStart(&p);
4979   p=Point(&layoutns, 700,516);
4980   ls->setEnd(&p);
4981 
4982   SpeciesReferenceGlyph* srg_glutamate_cyt_1=rg_aspartateat_cyt->createSpeciesReferenceGlyph();
4983   srg_glutamate_cyt_1->setId("srg_glutamate_cyt_1");
4984   srg_glutamate_cyt_1->setSpeciesGlyphId(speciesGlyph_glutamate_cyt->getId());
4985   srg_glutamate_cyt_1->setSpeciesReferenceId(sr_glutamate_cyt_1->getId());
4986   srg_glutamate_cyt_1->setRole(SPECIES_ROLE_SUBSTRATE);
4987 
4988   curve=srg_glutamate_cyt_1->getCurve();
4989   cb=curve->createCubicBezier();
4990   p=Point(&layoutns, 700,581);
4991   cb->setStart(&p);
4992   p=Point(&layoutns, 750,581);
4993   cb->setBasePoint1(&p);
4994   p=Point(&layoutns, 750,628);
4995   cb->setBasePoint2(&p);
4996   p=Point(&layoutns, 800,628);
4997   cb->setEnd(&p);
4998 
4999   SpeciesReferenceGlyph* srg_aspartate_cyt_1=rg_aspartateat_cyt->createSpeciesReferenceGlyph();
5000   srg_aspartate_cyt_1->setId("srg_aspartate_cyt_1");
5001   srg_aspartate_cyt_1->setSpeciesGlyphId(speciesGlyph_aspartate_cyt->getId());
5002   srg_aspartate_cyt_1->setSpeciesReferenceId(sr_aspartate_cyt_1->getId());
5003   srg_aspartate_cyt_1->setRole(SPECIES_ROLE_PRODUCT);
5004 
5005   curve=srg_aspartate_cyt_1->getCurve();
5006   ls=curve->createLineSegment();
5007   p=Point(&layoutns, 700,615);
5008   ls->setStart(&p);
5009   p=Point(&layoutns, 700,680);
5010   ls->setEnd(&p);
5011 
5012   SpeciesReferenceGlyph* srg_aKetoglutarate_cyt_1=rg_aspartateat_cyt->createSpeciesReferenceGlyph();
5013   srg_aKetoglutarate_cyt_1->setId("srg_aKetoglutaratecyt_1");
5014   srg_aKetoglutarate_cyt_1->setSpeciesGlyphId(speciesGlyph_aKetoglutarate_cyt->getId());
5015   srg_aKetoglutarate_cyt_1->setSpeciesReferenceId(sr_aKetoglutarate_cyt_1->getId());
5016   srg_aKetoglutarate_cyt_1->setRole(SPECIES_ROLE_PRODUCT);
5017 
5018   curve=srg_aKetoglutarate_cyt_1->getCurve();
5019   cb=curve->createCubicBezier();
5020   p=Point(&layoutns, 700,615);
5021   cb->setStart(&p);
5022   p=Point(&layoutns, 790,615);
5023   cb->setBasePoint1(&p);
5024   p=Point(&layoutns, 790,515);
5025   cb->setBasePoint2(&p);
5026   p=Point(&layoutns, 860,515);
5027   cb->setEnd(&p);
5028 
5029 
5030   // Malate mito3
5031   SpeciesGlyph* speciesGlyph_malate_mito3=layout->createSpeciesGlyph();
5032   speciesGlyph_malate_mito3->setId("SpeciesGlyph_malate_mito3");
5033   speciesGlyph_malate_mito3->setSpeciesId(malate_mito3->getId());
5034   bb=BoundingBox(&layoutns, "bb_sg_malate_mito3",1850,80,240,36);
5035   speciesGlyph_malate_mito3->setBoundingBox(&bb);
5036 
5037   tg=layout->createTextGlyph();
5038   tg->setId("TextGlyph_malate_mito3");
5039   bb=BoundingBox(&layoutns, "bb_tg_malatate_mito3",1860,80,220,36);
5040   tg->setBoundingBox(&bb);
5041   tg->setOriginOfTextId(malate_mito3->getId());
5042   tg->setGraphicalObjectId(speciesGlyph_malate_mito3->getId());
5043 
5044   // Oxaloacetate mito3
5045   SpeciesGlyph* speciesGlyph_oxaloacetate_mito3=layout->createSpeciesGlyph();
5046   speciesGlyph_oxaloacetate_mito3->setId("SpeciesGlyph_oxaloacetate_mito3");
5047   speciesGlyph_oxaloacetate_mito3->setSpeciesId(oxaloacetate_mito3->getId());
5048   bb=BoundingBox(&layoutns, "bb_sg_oxaloacetate_mito3",1850,280,240,36);
5049   speciesGlyph_oxaloacetate_mito3->setBoundingBox(&bb);
5050 
5051   tg=layout->createTextGlyph();
5052   tg->setId("TextGlyph_oxaloacetate_mito3");
5053   bb=BoundingBox(&layoutns, "bb_tg_oxaloacetate_mito3",1860,280,220,36);
5054   tg->setBoundingBox(&bb);
5055   tg->setOriginOfTextId(oxaloacetate_mito3->getId());
5056   tg->setGraphicalObjectId(speciesGlyph_oxaloacetate_mito3->getId());
5057 
5058   // Aspartate mito3
5059   SpeciesGlyph* speciesGlyph_aspartate_mito3=layout->createSpeciesGlyph();
5060   speciesGlyph_aspartate_mito3->setId("SpeciesGlyph_aspartate_mito3");
5061   speciesGlyph_aspartate_mito3->setSpeciesId(aspartate_mito3->getId());
5062   bb=BoundingBox(&layoutns, "bb_sg_aspartate_mito3",1850,480,240,36);
5063   speciesGlyph_aspartate_mito3->setBoundingBox(&bb);
5064 
5065   tg=layout->createTextGlyph();
5066   tg->setId("TextGlyph_aspartate_mito3");
5067   bb=BoundingBox(&layoutns, "bb_tg_aspartate_mito3",1860,480,220,36);
5068   tg->setBoundingBox(&bb);
5069   tg->setOriginOfTextId(aspartate_mito3->getId());
5070   tg->setGraphicalObjectId(speciesGlyph_aspartate_mito3->getId());
5071 
5072   // Glutamate mito3
5073   SpeciesGlyph* speciesGlyph_glutamate_mito3=layout->createSpeciesGlyph();
5074   speciesGlyph_glutamate_mito3->setId("SpeciesGlyph_glutamate_mito3");
5075   speciesGlyph_glutamate_mito3->setSpeciesId(glutamate_mito3->getId());
5076   bb=BoundingBox(&layoutns, "bb_sg_glutamate_mito3",1550,430,240,36);
5077   speciesGlyph_glutamate_mito3->setBoundingBox(&bb);
5078 
5079   tg=layout->createTextGlyph();
5080   tg->setId("TextGlyph_glutamate_mito3");
5081   bb=BoundingBox(&layoutns, "bb_tg_glutamate_mito3",1560,430,220,36);
5082   tg->setBoundingBox(&bb);
5083   tg->setOriginOfTextId(glutamate_mito3->getId());
5084   tg->setGraphicalObjectId(speciesGlyph_glutamate_mito3->getId());
5085 
5086   // alpha-Ketoglutarate mito3
5087   SpeciesGlyph* speciesGlyph_aKetoglutarate_mito3=layout->createSpeciesGlyph();
5088   speciesGlyph_aKetoglutarate_mito3->setId("SpeciesGlyph_aKetoglutarate_mito3");
5089   speciesGlyph_aKetoglutarate_mito3->setSpeciesId(aKetoglutarate_mito3->getId());
5090   bb=BoundingBox(&layoutns, "bb_sg_aKetoglutarate_mito3",1530,300,280,36);
5091   speciesGlyph_aKetoglutarate_mito3->setBoundingBox(&bb);
5092 
5093   tg=layout->createTextGlyph();
5094   tg->setId("TextGlyph_aKetoglutarate_mito3");
5095   bb=BoundingBox(&layoutns, "bb_tg_aKetoglutarate_mito3",1540,300,260,36);
5096   tg->setBoundingBox(&bb);
5097   tg->setOriginOfTextId(aKetoglutarate_mito3->getId());
5098   tg->setGraphicalObjectId(speciesGlyph_aKetoglutarate_mito3->getId());
5099 
5100   // NAD+ mito3
5101   SpeciesGlyph* speciesGlyph_nad_mito3=layout->createSpeciesGlyph();
5102   speciesGlyph_nad_mito3->setId("SpeciesGlyph_nad_mito3");
5103   speciesGlyph_nad_mito3->setSpeciesId(nad_mito3->getId());
5104   bb=BoundingBox(&layoutns, "bb_sg_nad_mito3",2050,150,100,24);
5105   speciesGlyph_nad_mito3->setBoundingBox(&bb);
5106 
5107   tg=layout->createTextGlyph();
5108   tg->setId("TextGlyph_nad_mito3");
5109   bb=BoundingBox(&layoutns, "bb_tg_nad_mito3",2055,150,80,24);
5110   tg->setBoundingBox(&bb);
5111   tg->setOriginOfTextId(nad_mito3->getId());
5112   tg->setGraphicalObjectId(speciesGlyph_nad_mito3->getId());
5113 
5114   // NADH mito3
5115   SpeciesGlyph* speciesGlyph_nadh_mito3=layout->createSpeciesGlyph();
5116   speciesGlyph_nadh_mito3->setId("SpeciesGlyph_nadh_mito3");
5117   speciesGlyph_nadh_mito3->setSpeciesId(nadh_mito3->getId());
5118   bb=BoundingBox(&layoutns, "bb_sg_nadh_mito3",2050,230,100,24);
5119   speciesGlyph_nadh_mito3->setBoundingBox(&bb);
5120 
5121   tg=layout->createTextGlyph();
5122   tg->setId("TextGlyph_nadh_mito3");
5123   bb=BoundingBox(&layoutns, "bb_tg_nadh_mito3",2055,230,80,24);
5124   tg->setBoundingBox(&bb);
5125   tg->setOriginOfTextId(nadh_mito3->getId());
5126   tg->setGraphicalObjectId(speciesGlyph_nadh_mito3->getId());
5127 
5128   // H+ mito3
5129   SpeciesGlyph* speciesGlyph_h_mito3=layout->createSpeciesGlyph();
5130   speciesGlyph_h_mito3->setId("SpeciesGlyph_h_mito3");
5131   speciesGlyph_h_mito3->setSpeciesId(h_mito3->getId());
5132   bb=BoundingBox(&layoutns, "bb_sg_h_mito3",2200,230,40,24);
5133   speciesGlyph_h_mito3->setBoundingBox(&bb);
5134 
5135   tg=layout->createTextGlyph();
5136   tg->setId("TextGlyph_h_mito3");
5137   bb=BoundingBox(&layoutns, "bb_tg_h_mito3",2205,230,30,24);
5138   tg->setBoundingBox(&bb);
5139   tg->setOriginOfTextId(h_mito3->getId());
5140   tg->setGraphicalObjectId(speciesGlyph_h_mito3->getId());
5141 
5142 
5143   // create the ReactionGlyphs
5144 
5145   ReactionGlyph* rg_malatedh_mito3=layout->createReactionGlyph();
5146   rg_malatedh_mito3->setId("rg_malatedh_mito3");
5147   rg_malatedh_mito3->setReactionId(malatedh_mito3->getId());
5148 
5149   curve=rg_malatedh_mito3->getCurve();
5150   ls=curve->createLineSegment();
5151   p=Point(&layoutns, 1970,181);
5152   ls->setStart(&p);
5153   p=Point(&layoutns, 1970,215);
5154   ls->setEnd(&p);
5155 
5156   tg=layout->createTextGlyph();
5157   tg->setId("tg_rg_malatedh_mito3");
5158   bb=BoundingBox(&layoutns, "bb_tg_rg_malatedh_mito3",1740,185,220,24);
5159   tg->setBoundingBox(&bb);
5160   tg->setOriginOfTextId(malatedh_mito3->getId());
5161   tg->setGraphicalObjectId(rg_malatedh_mito3->getId());
5162 
5163   ReactionGlyph* rg_aspartateat_mito3=layout->createReactionGlyph();
5164   rg_aspartateat_mito3->setId("rg_aspartateat_mito3");
5165   rg_aspartateat_mito3->setReactionId(aspartateat_mito3->getId());
5166 
5167   curve=rg_aspartateat_mito3->getCurve();
5168   ls=curve->createLineSegment();
5169   p=Point(&layoutns, 1970,381);
5170   ls->setStart(&p);
5171   p=Point(&layoutns, 1970,415);
5172   ls->setEnd(&p);
5173 
5174   tg=layout->createTextGlyph();
5175   tg->setId("tg_rg_aspartateat_mito3");
5176   bb=BoundingBox(&layoutns, "bb_tg_rg_aspartateat_mito3",1970,385,260,24);
5177   tg->setBoundingBox(&bb);
5178   tg->setOriginOfTextId(aspartateat_mito3->getId());
5179   tg->setGraphicalObjectId(rg_aspartateat_mito3->getId());
5180 
5181 
5182   // add the SpeciesReferenceGlyphs
5183 
5184   SpeciesReferenceGlyph* srg_malate_mito3_1=rg_malatedh_mito3->createSpeciesReferenceGlyph();
5185   srg_malate_mito3_1->setId("srg_malate_mito3_1");
5186   srg_malate_mito3_1->setSpeciesGlyphId(speciesGlyph_malate_mito3->getId());
5187   srg_malate_mito3_1->setSpeciesReferenceId(sr_malate_mito3->getId());
5188   srg_malate_mito3_1->setRole(SPECIES_ROLE_SUBSTRATE);
5189 
5190   ls=srg_malate_mito3_1->createLineSegment();
5191   p=Point(&layoutns, 1970,181);
5192   ls->setStart(&p);
5193   p=Point(&layoutns, 1970,116);
5194   ls->setEnd(&p);
5195 
5196   SpeciesReferenceGlyph* srg_nad_mito3=rg_malatedh_mito3->createSpeciesReferenceGlyph();
5197   srg_nad_mito3->setId("srg_nad_mito3");
5198   srg_nad_mito3->setSpeciesGlyphId(speciesGlyph_nad_mito3->getId());
5199   srg_nad_mito3->setSpeciesReferenceId(sr_nad_mito3->getId());
5200   srg_nad_mito3->setRole(SPECIES_ROLE_SUBSTRATE);
5201 
5202   cb=srg_nad_mito3->createCubicBezier();
5203   p=Point(&layoutns, 1970,181);
5204   cb->setStart(&p);
5205   p=Point(&layoutns, 1970,162);
5206   cb->setBasePoint1(&p);
5207   p=Point(&layoutns, 1970,162);
5208   cb->setBasePoint2(&p);
5209   p=Point(&layoutns, 2050,162);
5210   cb->setEnd(&p);
5211 
5212   SpeciesReferenceGlyph* srg_oxaloacetate_mito3_1=rg_malatedh_mito3->createSpeciesReferenceGlyph();
5213   srg_oxaloacetate_mito3_1->setId("srg_oxaloacetate_mito3_1");
5214   srg_oxaloacetate_mito3_1->setSpeciesGlyphId(speciesGlyph_oxaloacetate_mito3->getId());
5215   srg_oxaloacetate_mito3_1->setSpeciesReferenceId(sr_oxaloacetate_mito3_1->getId());
5216   srg_oxaloacetate_mito3_1->setRole(SPECIES_ROLE_PRODUCT);
5217 
5218   curve=srg_oxaloacetate_mito3_1->getCurve();
5219   ls=curve->createLineSegment();
5220   p=Point(&layoutns, 1970,215);
5221   ls->setStart(&p);
5222   p=Point(&layoutns, 1970,280);
5223   ls->setEnd(&p);
5224 
5225   SpeciesReferenceGlyph* srg_nadh_mito3=rg_malatedh_mito3->createSpeciesReferenceGlyph();
5226   srg_nadh_mito3->setId("srg_nadh_mito3");
5227   srg_nadh_mito3->setSpeciesGlyphId(speciesGlyph_nadh_mito3->getId());
5228   srg_nadh_mito3->setSpeciesReferenceId(sr_nadh_mito3->getId());
5229   srg_nadh_mito3->setRole(SPECIES_ROLE_PRODUCT);
5230 
5231   cb=srg_nadh_mito3->createCubicBezier();
5232   p=Point(&layoutns, 1970,215);
5233   cb->setStart(&p);
5234   p=Point(&layoutns, 1970,242);
5235   cb->setBasePoint1(&p);
5236   p=Point(&layoutns, 1970,242);
5237   cb->setBasePoint2(&p);
5238   p=Point(&layoutns, 2050,242);
5239   cb->setEnd(&p);
5240 
5241   SpeciesReferenceGlyph* srg_h_mito3=rg_malatedh_mito3->createSpeciesReferenceGlyph();
5242   srg_h_mito3->setId("srg_h_mito3");
5243   srg_h_mito3->setSpeciesGlyphId(speciesGlyph_h_mito3->getId());
5244   srg_h_mito3->setSpeciesReferenceId(sr_h_mito3->getId());
5245   srg_h_mito3->setRole(SPECIES_ROLE_PRODUCT);
5246 
5247   cb=srg_h_mito3->createCubicBezier();
5248   p=Point(&layoutns, 1970,215);
5249   cb->setStart(&p);
5250   p=Point(&layoutns, 2100,215);
5251   cb->setBasePoint1(&p);
5252   p=Point(&layoutns, 2100,215);
5253   cb->setBasePoint2(&p);
5254   p=Point(&layoutns, 2200,230);
5255   cb->setEnd(&p);
5256 
5257   SpeciesReferenceGlyph* srg_oxaloacetate_mito3_2=rg_aspartateat_mito3->createSpeciesReferenceGlyph();
5258   srg_oxaloacetate_mito3_2->setId("srg_oxaloacetate_mito3_2");
5259   srg_oxaloacetate_mito3_2->setSpeciesGlyphId(speciesGlyph_oxaloacetate_mito3->getId());
5260   srg_oxaloacetate_mito3_2->setSpeciesReferenceId(sr_oxaloacetate_mito3_2->getId());
5261   srg_oxaloacetate_mito3_2->setRole(SPECIES_ROLE_SUBSTRATE);
5262 
5263   curve=srg_oxaloacetate_mito3_2->getCurve();
5264   ls=curve->createLineSegment();
5265   p=Point(&layoutns, 1970,381);
5266   ls->setStart(&p);
5267   p=Point(&layoutns, 1970,316);
5268   ls->setEnd(&p);
5269 
5270   SpeciesReferenceGlyph* srg_glutamate_mito3_1=rg_aspartateat_mito3->createSpeciesReferenceGlyph();
5271   srg_glutamate_mito3_1->setId("srg_glutamate_mito3_1");
5272   srg_glutamate_mito3_1->setSpeciesGlyphId(speciesGlyph_glutamate_mito3->getId());
5273   srg_glutamate_mito3_1->setSpeciesReferenceId(sr_glutamate_mito3_1->getId());
5274   srg_glutamate_mito3_1->setRole(SPECIES_ROLE_SUBSTRATE);
5275 
5276   curve=srg_glutamate_mito3_1->getCurve();
5277   cb=curve->createCubicBezier();
5278   p=Point(&layoutns, 1970,381);
5279   cb->setStart(&p);
5280   p=Point(&layoutns, 1880,381);
5281   cb->setBasePoint1(&p);
5282   p=Point(&layoutns, 1880,448);
5283   cb->setBasePoint2(&p);
5284   p=Point(&layoutns, 1790,448);
5285   cb->setEnd(&p);
5286 
5287   SpeciesReferenceGlyph* srg_aspartate_mito3_1=rg_aspartateat_mito3->createSpeciesReferenceGlyph();
5288   srg_aspartate_mito3_1->setId("srg_aspartate_mito3_1");
5289   srg_aspartate_mito3_1->setSpeciesGlyphId(speciesGlyph_aspartate_mito3->getId());
5290   srg_aspartate_mito3_1->setSpeciesReferenceId(sr_aspartate_mito3_1->getId());
5291   srg_aspartate_mito3_1->setRole(SPECIES_ROLE_PRODUCT);
5292 
5293   curve=srg_aspartate_mito3_1->getCurve();
5294   ls=curve->createLineSegment();
5295   p=Point(&layoutns, 1970,415);
5296   ls->setStart(&p);
5297   p=Point(&layoutns, 1970,480);
5298   ls->setEnd(&p);
5299 
5300   SpeciesReferenceGlyph* srg_aKetoglutarate_mito3_1=rg_aspartateat_mito3->createSpeciesReferenceGlyph();
5301   srg_aKetoglutarate_mito3_1->setId("srg_aKetoglutaratemito3_1");
5302   srg_aKetoglutarate_mito3_1->setSpeciesGlyphId(speciesGlyph_aKetoglutarate_mito3->getId());
5303   srg_aKetoglutarate_mito3_1->setSpeciesReferenceId(sr_aKetoglutarate_mito3_1->getId());
5304   srg_aKetoglutarate_mito3_1->setRole(SPECIES_ROLE_PRODUCT);
5305 
5306   curve=srg_aKetoglutarate_mito3_1->getCurve();
5307   cb=curve->createCubicBezier();
5308   p=Point(&layoutns, 1970,415);
5309   cb->setStart(&p);
5310   p=Point(&layoutns, 1880,415);
5311   cb->setBasePoint1(&p);
5312   p=Point(&layoutns, 1880,315);
5313   cb->setBasePoint2(&p);
5314   p=Point(&layoutns, 1810,315);
5315   cb->setEnd(&p);
5316 
5317   // add the transport reaction glyphs
5318 
5319   ReactionGlyph* rg_aspartateCarrier=layout->createReactionGlyph();
5320   rg_aspartateCarrier->setId("rg_aspartateCarrier");
5321   rg_aspartateCarrier->setReactionId(aspartateCarrier->getId());
5322 
5323   curve=rg_aspartateCarrier->getCurve();
5324   ls=curve->createLineSegment();
5325   p=Point(&layoutns, 1420,530);
5326   ls->setStart(&p);
5327   p=Point(&layoutns, 1360,550);
5328   ls->setEnd(&p);
5329 
5330   tg=layout->createTextGlyph();
5331   tg->setId("tg_rg_aspartateCarrier");
5332   bb=BoundingBox(&layoutns, "bb_tg_rg_aspartateCarrier",1380,500,160,24);
5333   tg->setBoundingBox(&bb);
5334   tg->setOriginOfTextId(aspartateCarrier->getId());
5335   tg->setGraphicalObjectId(rg_aspartateCarrier->getId());
5336 
5337 
5338   ReactionGlyph* rg_malateCarrier=layout->createReactionGlyph();
5339   rg_malateCarrier->setId("rg_malateCarrier");
5340   rg_malateCarrier->setReactionId(malateCarrier->getId());
5341 
5342   curve=rg_malateCarrier->getCurve();
5343   ls=curve->createLineSegment();
5344   p=Point(&layoutns, 1420,320);
5345   ls->setStart(&p);
5346   p=Point(&layoutns, 1360,340);
5347   ls->setEnd(&p);
5348 
5349   tg=layout->createTextGlyph();
5350   tg->setId("tg_rg_malateCarrier");
5351   bb=BoundingBox( &layoutns, "bb_tg_rg_malateCarrier",1360,330,140,24);
5352   tg->setBoundingBox(&bb);
5353   tg->setOriginOfTextId(malateCarrier->getId());
5354   tg->setGraphicalObjectId(rg_malateCarrier->getId());
5355 
5356 
5357 
5358   // add the SpeciesReferenceGlyphs for the transporters
5359 
5360   SpeciesReferenceGlyph* srg_aKetoglutarate_mito3_2=rg_malateCarrier->createSpeciesReferenceGlyph();
5361   srg_aKetoglutarate_mito3_2->setId("srg_aKetoglutarate_mito3_2");
5362   srg_aKetoglutarate_mito3_2->setSpeciesGlyphId(speciesGlyph_aKetoglutarate_mito3->getId());
5363   srg_aKetoglutarate_mito3_2->setSpeciesReferenceId(sr_aKetoglutarate_mito3_2->getId());
5364   srg_aKetoglutarate_mito3_2->setRole(SPECIES_ROLE_SUBSTRATE);
5365 
5366   curve=srg_aKetoglutarate_mito3_2->getCurve();
5367   ls=curve->createLineSegment();
5368   p=Point(&layoutns, 1420,320);
5369   ls->setStart(&p);
5370   p=Point(&layoutns, 1530,318);
5371   ls->setEnd(&p);
5372 
5373 
5374   SpeciesReferenceGlyph* srg_aKetoglutarate_cyt_2=rg_malateCarrier->createSpeciesReferenceGlyph();
5375   srg_aKetoglutarate_cyt_2->setId("srg_aKetoglutarate_cyt_2");
5376   srg_aKetoglutarate_cyt_2->setSpeciesGlyphId(speciesGlyph_aKetoglutarate_cyt->getId());
5377   srg_aKetoglutarate_cyt_2->setSpeciesReferenceId(sr_aKetoglutarate_cyt_2->getId());
5378   srg_aKetoglutarate_cyt_2->setRole(SPECIES_ROLE_PRODUCT);
5379 
5380   curve=srg_aKetoglutarate_cyt_2->getCurve();
5381   ls=curve->createLineSegment();
5382   p=Point(&layoutns, 1360,340);
5383   ls->setStart(&p);
5384   p=Point(&layoutns, 1140,518);
5385   ls->setEnd(&p);
5386 
5387 
5388   SpeciesReferenceGlyph* srg_malate_cyt_2=rg_malateCarrier->createSpeciesReferenceGlyph();
5389   srg_malate_cyt_2->setId("srg_malate_cyt_2");
5390   srg_malate_cyt_2->setSpeciesGlyphId(speciesGlyph_malate_cyt->getId());
5391   srg_malate_cyt_2->setSpeciesReferenceId(sr_malate_cyt_2->getId());
5392   srg_malate_cyt_2->setRole(SPECIES_ROLE_SUBSTRATE);
5393 
5394   curve=srg_malate_cyt_2->getCurve();
5395   cb=curve->createCubicBezier();
5396   p=Point(&layoutns, 1420,320);
5397   cb->setStart(&p);
5398   p=Point(&layoutns, 1390,250);
5399   cb->setBasePoint1(&p);
5400   p=Point(&layoutns, 1390,250);
5401   cb->setBasePoint2(&p);
5402   p=Point(&layoutns, 820,298);
5403   cb->setEnd(&p);
5404 
5405 
5406   SpeciesReferenceGlyph* srg_malate_mito3_2=rg_malateCarrier->createSpeciesReferenceGlyph();
5407   srg_malate_mito3_2->setId("srg_malate_mito3_2");
5408   srg_malate_mito3_2->setSpeciesGlyphId(speciesGlyph_malate_mito3->getId());
5409   srg_malate_mito3_2->setSpeciesReferenceId(sr_malate_mito3_2->getId());
5410   srg_malate_mito3_2->setRole(SPECIES_ROLE_PRODUCT);
5411 
5412   curve=srg_malate_mito3_2->getCurve();
5413   cb=curve->createCubicBezier();
5414   p=Point(&layoutns, 1360,340);
5415   cb->setStart(&p);
5416   p=Point(&layoutns, 1390,150);
5417   cb->setBasePoint1(&p);
5418   p=Point(&layoutns, 1390,150);
5419   cb->setBasePoint2(&p);
5420   p=Point(&layoutns, 1850,98);
5421   cb->setEnd(&p);
5422 
5423 
5424 
5425 
5426 
5427 
5428   SpeciesReferenceGlyph* srg_aspartate_mito3_2=rg_aspartateCarrier->createSpeciesReferenceGlyph();
5429   srg_aspartate_mito3_2->setId("srg_aspartate_mito3_2");
5430   srg_aspartate_mito3_2->setSpeciesGlyphId(speciesGlyph_aspartate_mito3->getId());
5431   srg_aspartate_mito3_2->setSpeciesReferenceId(sr_aspartate_mito3_2->getId());
5432   srg_aspartate_mito3_2->setRole(SPECIES_ROLE_SUBSTRATE);
5433 
5434   curve=srg_aspartate_mito3_2->getCurve();
5435   ls=curve->createLineSegment();
5436   p=Point(&layoutns, 1420,530);
5437   ls->setStart(&p);
5438   p=Point(&layoutns, 1850,498);
5439   ls->setEnd(&p);
5440 
5441 
5442   SpeciesReferenceGlyph* srg_aspartate_cyt_2=rg_aspartateCarrier->createSpeciesReferenceGlyph();
5443   srg_aspartate_cyt_2->setId("srg_aspartate_cyt_2");
5444   srg_aspartate_cyt_2->setSpeciesGlyphId(speciesGlyph_aspartate_cyt->getId());
5445   srg_aspartate_cyt_2->setSpeciesReferenceId(sr_aspartate_cyt_2->getId());
5446   srg_aspartate_cyt_2->setRole(SPECIES_ROLE_PRODUCT);
5447 
5448   curve=srg_aspartate_cyt_2->getCurve();
5449   cb=curve->createCubicBezier();
5450   p=Point(&layoutns, 1360,550);
5451   cb->setStart(&p);
5452   p=Point(&layoutns, 1390,698);
5453   cb->setBasePoint1(&p);
5454   p=Point(&layoutns, 1390,698);
5455   cb->setBasePoint2(&p);
5456   p=Point(&layoutns, 820,698);
5457   cb->setEnd(&p);
5458 
5459 
5460   SpeciesReferenceGlyph* srg_glutamate_cyt_2=rg_aspartateCarrier->createSpeciesReferenceGlyph();
5461   srg_glutamate_cyt_2->setId("srg_glutamate_cyt_2");
5462   srg_glutamate_cyt_2->setSpeciesGlyphId(speciesGlyph_glutamate_cyt->getId());
5463   srg_glutamate_cyt_2->setSpeciesReferenceId(sr_glutamate_cyt_2->getId());
5464   srg_glutamate_cyt_2->setRole(SPECIES_ROLE_SUBSTRATE);
5465 
5466   curve=srg_glutamate_cyt_2->getCurve();
5467   cb=curve->createCubicBezier();
5468   p=Point(&layoutns, 1420,530);
5469   cb->setStart(&p);
5470   p=Point(&layoutns, 1390,648);
5471   cb->setBasePoint1(&p);
5472   p=Point(&layoutns, 1390,648);
5473   cb->setBasePoint2(&p);
5474   p=Point(&layoutns, 1050,628);
5475   cb->setEnd(&p);
5476 
5477 
5478   SpeciesReferenceGlyph* srg_glutamate_mito3_2=rg_aspartateCarrier->createSpeciesReferenceGlyph();
5479   srg_glutamate_mito3_2->setId("srg_glutamate_mito3_2");
5480   srg_glutamate_mito3_2->setSpeciesGlyphId(speciesGlyph_glutamate_mito3->getId());
5481   srg_glutamate_mito3_2->setSpeciesReferenceId(sr_glutamate_mito3_2->getId());
5482   srg_glutamate_mito3_2->setRole(SPECIES_ROLE_PRODUCT);
5483 
5484   curve=srg_glutamate_mito3_2->getCurve();
5485   cb=curve->createCubicBezier();
5486   p=Point(&layoutns, 1360,550);
5487   cb->setStart(&p);
5488   p=Point(&layoutns, 1390,448);
5489   cb->setBasePoint1(&p);
5490   p=Point(&layoutns, 1390,448);
5491   cb->setBasePoint2(&p);
5492   p=Point(&layoutns, 1550,448);
5493   cb->setEnd(&p);
5494 
5495   // now we add some global render information
5496   ListOfLayouts* pListOfLayouts=plugin->getListOfLayouts();
5497   fail_unless(pListOfLayouts!=NULL);
5498 
5499   RenderListOfLayoutsPlugin* lolPlugin = (RenderListOfLayoutsPlugin* ) pListOfLayouts->getPlugin("render");
5500   GlobalRenderInformation* pGlobalRender=lolPlugin->createGlobalRenderInformation();
5501   pGlobalRender->setId("wireFrame");
5502   pGlobalRender->setName("wireframe style");
5503   pGlobalRender->setProgramName("Ralph Gauges");
5504   pGlobalRender->setProgramVersion("1.0");
5505   pGlobalRender->setBackgroundColor("#FFFFFFFF");
5506   // color definitions
5507   ColorDefinition* pColorDefinition=pGlobalRender->createColorDefinition();
5508   pColorDefinition->setId("white");
5509   pColorDefinition->setColorValue("#FFFFFF");
5510   pColorDefinition=pGlobalRender->createColorDefinition();
5511   pColorDefinition->setId("black");
5512   pColorDefinition->setColorValue("#000000");
5513   // styles
5514   // style for compartment glyphs
5515   GlobalStyle* pGlobalStyle=pGlobalRender->createStyle("compartmentGlyphStyle");
5516   pGlobalStyle->addType("COMPARTMENTGLYPH");
5517   RenderGroup* pGroup=pGlobalStyle->getGroup();
5518   pGroup->setStroke("black");
5519   pGroup->setStrokeWidth(1.0);
5520   Rectangle* pRectangle=pGroup->createRectangle();
5521   pRectangle->setCoordinatesAndSize(RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0),RelAbsVector(0.0,100.0),RelAbsVector(0.0,100.0));
5522   pRectangle->setRadiusX(RelAbsVector(0.0,0.0));
5523 
5524   // style for species glyphs
5525   pGlobalStyle=pGlobalRender->createStyle("speciesGlyphStyle");
5526   pGlobalStyle->addType("SPECIESGLYPH");
5527   pGroup=pGlobalStyle->getGroup();
5528   pGroup->setStroke("black");
5529   pGroup->setStrokeWidth(1.0);
5530   pRectangle=pGroup->createRectangle();
5531   pRectangle->setCoordinatesAndSize(RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0),RelAbsVector(0.0,100.0),RelAbsVector(0.0,100.0));
5532   pRectangle->setRadiusX(RelAbsVector(0.0,0.0));
5533 
5534   // style for all other glyphs
5535   pGlobalStyle=pGlobalRender->createStyle("reactionGlyphStyle");
5536   pGlobalStyle->addType("SPECIESREFERENCEGLYPH");
5537   pGlobalStyle->addType("REACTIONGLYPH");
5538   pGlobalStyle->addType("TEXTGLYPH");
5539   pGroup=pGlobalStyle->getGroup();
5540   pGroup->setStroke("black");
5541   pGroup->setStrokeWidth(1.0);
5542   pGroup->setFontSize(RelAbsVector(12.0,0.0));
5543   pGroup->setTextAnchor(Text::ANCHOR_MIDDLE);
5544 
5545   // second render information
5546   pGlobalRender=lolPlugin->createGlobalRenderInformation();
5547   pGlobalRender->setId("defaultGrayStyle");
5548   pGlobalRender->setName("grayscale style");
5549   pGlobalRender->setProgramName("Ralph Gauges");
5550   pGlobalRender->setProgramVersion("1.0");
5551   pGlobalRender->setBackgroundColor("#FFFFFFFF");
5552   // color definitions
5553   pColorDefinition=pGlobalRender->createColorDefinition();
5554   pColorDefinition->setId("lightGray");
5555   pColorDefinition->setColorValue("#CECECE");
5556   pColorDefinition=pGlobalRender->createColorDefinition();
5557   pColorDefinition->setId("white");
5558   pColorDefinition->setColorValue("#FFFFFF");
5559   pColorDefinition=pGlobalRender->createColorDefinition();
5560   pColorDefinition->setId("black");
5561   pColorDefinition->setColorValue("#000000");
5562   pColorDefinition=pGlobalRender->createColorDefinition();
5563   pColorDefinition->setId("lightGray2");
5564   pColorDefinition->setColorValue("#F0F0F0");
5565   pColorDefinition=pGlobalRender->createColorDefinition();
5566   pColorDefinition->setId("gray");
5567   pColorDefinition->setColorValue("#0B0B0B");
5568   // gradient definitions
5569   RadialGradient* pRadialGradient=pGlobalRender->createRadialGradientDefinition();
5570   pRadialGradient->setId("speciesGlyphGradient");
5571   GradientStop* pStop=pRadialGradient->createGradientStop();
5572   pStop->setOffset(RelAbsVector(0.0,0.0));
5573   pStop->setStopColor("white");
5574   pStop=pRadialGradient->createGradientStop();
5575   pStop->setOffset(RelAbsVector(0.0,100.0));
5576   pStop->setStopColor("lightGray");
5577   // line endings
5578   LineEnding* pLineEnding=pGlobalRender->createLineEnding();
5579   pLineEnding->setId("simpleHead_black");
5580   p=Point(&layoutns, -8,-3);
5581   Dimensions d(&layoutns, 10,6);
5582   pLineEnding->getBoundingBox()->setPosition(&p);
5583   pLineEnding->getBoundingBox()->setDimensions(&d);
5584   pGroup=pLineEnding->getGroup();
5585   pGroup->setStroke("black");
5586   pGroup->setStrokeWidth(1.0);
5587   pGroup->setFillColor("black");
5588   Polygon* pPolygon=pGroup->createPolygon();
5589   RenderPoint* pR=pPolygon->createPoint();
5590   pR->setCoordinates(RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0));
5591   pR=pPolygon->createPoint();
5592   pR->setCoordinates(RelAbsVector(10.0,0.0),RelAbsVector(3.0,0.0));
5593   pR=pPolygon->createPoint();
5594   pR->setCoordinates(RelAbsVector(0.0,0.0),RelAbsVector(6.0,0.0));
5595 
5596   // styles
5597   // style for compartment glyphs
5598   pGlobalStyle=pGlobalRender->createStyle("compartmentGlyphStyle");
5599   pGlobalStyle->addType("COMPARTMENTGLYPH");
5600   pGroup=pGlobalStyle->getGroup();
5601   pGroup->setStroke("gray");
5602   pGroup->setStrokeWidth(1.0);
5603   pRectangle=pGroup->createRectangle();
5604   pRectangle->setCoordinatesAndSize(RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0),RelAbsVector(0.0,100.0),RelAbsVector(0.0,100.0));
5605   pRectangle->setRadiusX(RelAbsVector(0.0,5.0));
5606   pRectangle->setFillColor("lightGray2");
5607 
5608   // style for species glyphs
5609   pGlobalStyle=pGlobalRender->createStyle("speciesGlyphStyle");
5610   pGlobalStyle->addType("SPECIESGLYPH");
5611   pGroup=pGlobalStyle->getGroup();
5612   pGroup->setStroke("black");
5613   pGroup->setStrokeWidth(1.0);
5614   pRectangle=pGroup->createRectangle();
5615   pRectangle->setCoordinatesAndSize(RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0),RelAbsVector(0.0,100.0),RelAbsVector(0.0,100.0));
5616   pRectangle->setRadiusX(RelAbsVector(0.0,5.0));
5617   pRectangle->setFillColor("speciesGlyphGradient");
5618 
5619   // style for reaction and text glyphs
5620   pGlobalStyle=pGlobalRender->createStyle("reactionGlyphStyle");
5621   pGlobalStyle->addType("REACTIONGLYPH");
5622   pGlobalStyle->addType("TEXTGLYPH");
5623   pGroup=pGlobalStyle->getGroup();
5624   pGroup->setStroke("black");
5625   pGroup->setStrokeWidth(1.0);
5626   pGroup->setFontSize(RelAbsVector(12.0,0.0));
5627   pGroup->setTextAnchor(Text::ANCHOR_MIDDLE);
5628 
5629   // style for substrate and product species reference glyphs
5630   pGlobalStyle=pGlobalRender->createStyle("reactantSpeciesReferenceGlyphStyle");
5631   pGlobalStyle->addRole("substrate");
5632   pGlobalStyle->addRole("sidesubstrate");
5633   pGlobalStyle->addRole("product");
5634   pGlobalStyle->addRole("sideproduct");
5635   pGroup=pGlobalStyle->getGroup();
5636   pGroup->setStroke("#000000");
5637   pGroup->setStrokeWidth(1.0);
5638 
5639   // style for activator species reference glyphs
5640   pGlobalStyle=pGlobalRender->createStyle("activatorSpeciesReferenceGlyphStyle");
5641   pGlobalStyle->addRole("activator");
5642   pGroup=pGlobalStyle->getGroup();
5643   pGroup->setStroke("#000000");
5644   pGroup->setStrokeWidth(1.0);
5645 
5646   // style for modifier species reference glyphs
5647   pGlobalStyle=pGlobalRender->createStyle("modifierSpeciesReferenceGlyphStyle");
5648   pGlobalStyle->addRole("modifier");
5649   pGroup=pGlobalStyle->getGroup();
5650   pGroup->setStroke("#000000");
5651   pGroup->setStrokeWidth(1.0);
5652 
5653   // style for inhibitor species reference glyphs
5654   pGlobalStyle=pGlobalRender->createStyle("inhibitorSpeciesReferenceGlyphStyle");
5655   pGlobalStyle->addRole("inhibitor");
5656   pGroup=pGlobalStyle->getGroup();
5657   pGroup->setStroke("#000000");
5658   pGroup->setStrokeWidth(1.0);
5659 
5660   // short gray style which uses the default style and just redefines some colors
5661   // second render information
5662   pGlobalRender=lolPlugin->createGlobalRenderInformation();
5663   pGlobalRender->setId("shortGrayStyle");
5664   pGlobalRender->setName("modified default style to grayscale");
5665   pGlobalRender->setReferenceRenderInformationId("defaultStyle");
5666   pGlobalRender->setProgramName("Ralph Gauges");
5667   pGlobalRender->setProgramVersion("1.0");
5668   pGlobalRender->setBackgroundColor("#FFFFFFFF");
5669   // color definitions
5670   pColorDefinition=pGlobalRender->createColorDefinition();
5671   pColorDefinition->setId("lightBlue");
5672   pColorDefinition->setColorValue("#CECECE");
5673   pColorDefinition=pGlobalRender->createColorDefinition();
5674   pColorDefinition->setId("white");
5675   pColorDefinition->setColorValue("#FFFFFF");
5676   pColorDefinition=pGlobalRender->createColorDefinition();
5677   pColorDefinition->setId("black");
5678   pColorDefinition->setColorValue("#000000");
5679   pColorDefinition=pGlobalRender->createColorDefinition();
5680   pColorDefinition->setId("red");
5681   pColorDefinition->setColorValue("#000000");
5682   pColorDefinition=pGlobalRender->createColorDefinition();
5683   pColorDefinition->setId("green");
5684   pColorDefinition->setColorValue("#000000");
5685   pColorDefinition=pGlobalRender->createColorDefinition();
5686   pColorDefinition->setId("blue");
5687   pColorDefinition->setColorValue("#000000");
5688   pColorDefinition=pGlobalRender->createColorDefinition();
5689   pColorDefinition->setId("lightYellow");
5690   pColorDefinition->setColorValue("#F0F0F0");
5691   pColorDefinition=pGlobalRender->createColorDefinition();
5692   pColorDefinition->setId("darkGreen");
5693   pColorDefinition->setColorValue("#0B0B0B");
5694 
5695   // render information for the default color style
5696   lolPlugin = (RenderListOfLayoutsPlugin*)pListOfLayouts->getPlugin("render");
5697   pGlobalRender=lolPlugin->createGlobalRenderInformation();
5698   pGlobalRender->setId("defaultStyle");
5699   pGlobalRender->setName("default style");
5700   pGlobalRender->setProgramName("Ralph Gauges");
5701   pGlobalRender->setProgramVersion("1.0");
5702   pGlobalRender->setBackgroundColor("#FFFFFFFF");
5703   // color definitions
5704   pColorDefinition=pGlobalRender->createColorDefinition();
5705   pColorDefinition->setId("lightBlue");
5706   pColorDefinition->setColorValue("#ADD8E6");
5707   pColorDefinition=pGlobalRender->createColorDefinition();
5708   pColorDefinition->setId("white");
5709   pColorDefinition->setColorValue("#FFFFFF");
5710   pColorDefinition=pGlobalRender->createColorDefinition();
5711   pColorDefinition->setId("black");
5712   pColorDefinition->setColorValue("#000000");
5713   pColorDefinition=pGlobalRender->createColorDefinition();
5714   pColorDefinition->setId("red");
5715   pColorDefinition->setColorValue("#FF0000");
5716   pColorDefinition=pGlobalRender->createColorDefinition();
5717   pColorDefinition->setId("green");
5718   pColorDefinition->setColorValue("#00FF00");
5719   pColorDefinition=pGlobalRender->createColorDefinition();
5720   pColorDefinition->setId("blue");
5721   pColorDefinition->setColorValue("#0000FF");
5722   pColorDefinition=pGlobalRender->createColorDefinition();
5723   pColorDefinition->setId("lightYellow");
5724   pColorDefinition->setColorValue("#FFFFD1");
5725   pColorDefinition=pGlobalRender->createColorDefinition();
5726   pColorDefinition->setId("darkGreen");
5727   pColorDefinition->setColorValue("#002000");
5728   // gradient definitions
5729   pRadialGradient=pGlobalRender->createRadialGradientDefinition();
5730   pRadialGradient->setId("speciesGlyphGradient");
5731   pStop=pRadialGradient->createGradientStop();
5732   pStop->setOffset(RelAbsVector(0.0,0.0));
5733   pStop->setStopColor("white");
5734   pStop=pRadialGradient->createGradientStop();
5735   pStop->setOffset(RelAbsVector(0.0,100.0));
5736   pStop->setStopColor("lightBlue");
5737   // line endings
5738   pLineEnding=pGlobalRender->createLineEnding();
5739   pLineEnding->setId("simpleHead_black");
5740   pLineEnding->getBoundingBox()->setPosition(&p);
5741   pLineEnding->getBoundingBox()->setDimensions(&d);
5742   pGroup=pLineEnding->getGroup();
5743   pGroup->setStroke("black");
5744   pGroup->setStrokeWidth(1.0);
5745   pGroup->setFillColor("black");
5746   pPolygon=pGroup->createPolygon();
5747   pR=pPolygon->createPoint();
5748   pR->setCoordinates(RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0));
5749   pR=pPolygon->createPoint();
5750   pR->setCoordinates(RelAbsVector(10.0,0.0),RelAbsVector(3.0,0.0));
5751   pR=pPolygon->createPoint();
5752   pR->setCoordinates(RelAbsVector(0.0,0.0),RelAbsVector(6.0,0.0));
5753   pLineEnding=pGlobalRender->createLineEnding();
5754   pLineEnding->setId("simpleHead_red");
5755   pLineEnding->getBoundingBox()->setPosition(&p);
5756   pLineEnding->getBoundingBox()->setDimensions(&d);
5757   pGroup=pLineEnding->getGroup();
5758   pGroup->setStroke("red");
5759   pGroup->setStrokeWidth(1.0);
5760   pGroup->setFillColor("red");
5761   pPolygon=pGroup->createPolygon();
5762   pR=pPolygon->createPoint();
5763   pR->setCoordinates(RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0));
5764   pR=pPolygon->createPoint();
5765   pR->setCoordinates(RelAbsVector(10.0,0.0),RelAbsVector(3.0,0.0));
5766   pR=pPolygon->createPoint();
5767   pR->setCoordinates(RelAbsVector(0.0,0.0),RelAbsVector(6.0,0.0));
5768   pLineEnding=pGlobalRender->createLineEnding();
5769   pLineEnding->setId("simpleHead_green");
5770   pLineEnding->getBoundingBox()->setPosition(&p);
5771   pLineEnding->getBoundingBox()->setDimensions(&d);
5772   pGroup=pLineEnding->getGroup();
5773   pGroup->setStroke("green");
5774   pGroup->setStrokeWidth(1.0);
5775   pGroup->setFillColor("green");
5776   pPolygon=pGroup->createPolygon();
5777   pR=pPolygon->createPoint();
5778   pR->setCoordinates(RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0));
5779   pR=pPolygon->createPoint();
5780   pR->setCoordinates(RelAbsVector(10.0,0.0),RelAbsVector(3.0,0.0));
5781   pR=pPolygon->createPoint();
5782   pR->setCoordinates(RelAbsVector(0.0,0.0),RelAbsVector(6.0,0.0));
5783   pLineEnding=pGlobalRender->createLineEnding();
5784   pLineEnding->setId("simpleHead_blue");
5785   pLineEnding->getBoundingBox()->setPosition(&p);
5786   pLineEnding->getBoundingBox()->setDimensions(&d);
5787   pGroup=pLineEnding->getGroup();
5788   pGroup->setStroke("blue");
5789   pGroup->setStrokeWidth(1.0);
5790   pGroup->setFillColor("blue");
5791   pPolygon=pGroup->createPolygon();
5792   pR=pPolygon->createPoint();
5793   pR->setCoordinates(RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0));
5794   pR=pPolygon->createPoint();
5795   pR->setCoordinates(RelAbsVector(10.0,0.0),RelAbsVector(3.0,0.0));
5796   pR=pPolygon->createPoint();
5797   pR->setCoordinates(RelAbsVector(0.0,0.0),RelAbsVector(6.0,0.0));
5798 
5799   // styles
5800   // style for compartment glyphs
5801   pGlobalStyle=pGlobalRender->createStyle("compartmentGlyphStyle");
5802   pGlobalStyle->addType("COMPARTMENTGLYPH");
5803   pGroup=pGlobalStyle->getGroup();
5804   pGroup->setStroke("darkGreen");
5805   pGroup->setStrokeWidth(1.0);
5806   pRectangle=pGroup->createRectangle();
5807   pRectangle->setCoordinatesAndSize(RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0),RelAbsVector(0.0,100.0),RelAbsVector(0.0,100.0));
5808   pRectangle->setRadiusX(RelAbsVector(0.0,10.0));
5809   pRectangle->setRadiusY(RelAbsVector(0.0,10.0));
5810   pRectangle->setFillColor("lightYellow");
5811 
5812   // style for species glyphs
5813   pGlobalStyle=pGlobalRender->createStyle("speciesGlyphStyle");
5814   pGlobalStyle->addType("SPECIESGLYPH");
5815   pGroup=pGlobalStyle->getGroup();
5816   pGroup->setStroke("black");
5817   pGroup->setStrokeWidth(1.0);
5818   pRectangle=pGroup->createRectangle();
5819   pRectangle->setCoordinatesAndSize(RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0),RelAbsVector(0.0,100.0),RelAbsVector(0.0,100.0));
5820   pRectangle->setRadiusX(RelAbsVector(5.0,0.0));
5821   pRectangle->setRadiusY(RelAbsVector(0.0,50.0));
5822   pRectangle->setFillColor("speciesGlyphGradient");
5823 
5824   // style for reaction and text glyphs
5825   pGlobalStyle=pGlobalRender->createStyle("reactionGlyphStyle");
5826   pGlobalStyle->addType("REACTIONGLYPH");
5827   pGlobalStyle->addType("TEXTGLYPH");
5828   pGroup=pGlobalStyle->getGroup();
5829   pGroup->setStroke("black");
5830   pGroup->setStrokeWidth(1.0);
5831   pGroup->setFontSize(RelAbsVector(12.0,0.0));
5832   pGroup->setTextAnchor(Text::ANCHOR_MIDDLE);
5833 
5834   // style for substrate and product species reference glyphs
5835   pGlobalStyle=pGlobalRender->createStyle("reactantSpeciesReferenceGlyphStyle");
5836   pGlobalStyle->addRole("substrate");
5837   pGlobalStyle->addRole("sidesubstrate");
5838   pGlobalStyle->addRole("product");
5839   pGlobalStyle->addRole("sideproduct");
5840   pGroup=pGlobalStyle->getGroup();
5841   pGroup->setStroke("#000000");
5842   pGroup->setStrokeWidth(1.0);
5843   pGroup->setEndHead("simpleHead_black");
5844 
5845   // style for activator species reference glyphs
5846   pGlobalStyle=pGlobalRender->createStyle("activatorSpeciesReferenceGlyphStyle");
5847   pGlobalStyle->addRole("activator");
5848   pGroup=pGlobalStyle->getGroup();
5849   pGroup->setStroke("green");
5850   pGroup->setStrokeWidth(1.0);
5851   pGroup->setEndHead("simpleHead_green");
5852 
5853   // style for modifier species reference glyphs
5854   pGlobalStyle=pGlobalRender->createStyle("modifierSpeciesReferenceGlyphStyle");
5855   pGlobalStyle->addRole("modifier");
5856   pGroup=pGlobalStyle->getGroup();
5857   pGroup->setStroke("blue");
5858   pGroup->setStrokeWidth(1.0);
5859   pGroup->setEndHead("simpleHead_blue");
5860 
5861   // style for inhibitor species reference glyphs
5862   pGlobalStyle=pGlobalRender->createStyle("inhibitorSpeciesReferenceGlyphStyle");
5863   pGlobalStyle->addRole("inhibitor");
5864   pGroup=pGlobalStyle->getGroup();
5865   pGroup->setStroke("red");
5866   pGroup->setStrokeWidth(1.0);
5867   pGroup->setEndHead("simpleHead_red");
5868 
5869 
5870   // local style that references a global style and redefines some things
5871   RenderLayoutPlugin* rPlugin=(RenderLayoutPlugin*)layout->getPlugin("render");
5872   LocalRenderInformation* pLocalRender=rPlugin->createLocalRenderInformation();
5873   pLocalRender->setId("highlightGlucose");
5874   pLocalRender->setReferenceRenderInformationId("defaultStyle");
5875   pLocalRender->setProgramName("Ralph Gauges");
5876   pLocalRender->setProgramVersion("1.0");
5877   pLocalRender->setBackgroundColor("#FFFFFFFF");
5878   // color definitions
5879   pColorDefinition=pLocalRender->createColorDefinition();
5880   pColorDefinition->setId("lightRed");
5881   pColorDefinition->setColorValue("#E6ADD8");
5882   pColorDefinition=pLocalRender->createColorDefinition();
5883   pColorDefinition->setId("white");
5884   pColorDefinition->setColorValue("#FFFFFF");
5885   // gradient definitions
5886   pRadialGradient=pLocalRender->createRadialGradientDefinition();
5887   pRadialGradient->setId("highlightedSpeciesGlyphGradient");
5888   pStop=pRadialGradient->createGradientStop();
5889   pStop->setOffset(RelAbsVector(0.0,0.0));
5890   pStop->setStopColor("white");
5891   pStop=pRadialGradient->createGradientStop();
5892   pStop->setOffset(RelAbsVector(0.0,100.0));
5893   pStop->setStopColor("lightRed");
5894 
5895   // style for highligted species glyph
5896   LocalStyle* pLocalStyle=pLocalRender->createStyle("highlightedGlucose");
5897   pLocalStyle->addId("SpeciesGlyph_Glucose");
5898   pGroup=pLocalStyle->getGroup();
5899   pGroup->setStroke("black");
5900   pGroup->setStrokeWidth(1.0);
5901   pRectangle=pGroup->createRectangle();
5902   pRectangle->setCoordinatesAndSize(RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0),RelAbsVector(0.0,100.0),RelAbsVector(0.0,100.0));
5903   pRectangle->setRadiusX(RelAbsVector(5.0,0.0));
5904   pRectangle->setRadiusY(RelAbsVector(0.0,50.0));
5905   pRectangle->setFillColor("highlightedSpeciesGlyphGradient");
5906 
5907   SBMLWriter writer;
5908 
5909   //bool result=writeSBML(document,"example6.xml");
5910   char* writtenContent=writer.writeToString(document);
5911 
5912   XMLInputStream stream2(writtenContent,false);
5913   XMLNode node2(stream2);
5914   free(writtenContent);
5915   // we need to check the namespaces on node2
5916   // it must contain a namespace for the layout and one for the
5917   // render extension
5918   // It must also contain a required attribute for each of the two packages
5919   const XMLNamespaces* pXMLNamespaces=&node.getNamespaces();
5920   int index=pXMLNamespaces->getIndex("http://www.sbml.org/sbml/level3/version1/layout/version1");
5921   fail_unless(index != -1);
5922   std::string prefix=pXMLNamespaces->getPrefix(index);
5923   fail_unless(!prefix.empty());
5924   const XMLAttributes* pXMLAttributes=&node2.getAttributes();
5925   fail_unless(pXMLAttributes->getLength() > 0);
5926   int i;
5927   for(i=0;i<pXMLAttributes->getLength();++i)
5928   {
5929       if(pXMLAttributes->getName(i) == "required" && pXMLAttributes->getPrefix(i) == prefix)
5930       {
5931         break;
5932       }
5933   }
5934   fail_unless(i < pXMLAttributes->getLength());
5935   // same check for the render extension
5936   index=pXMLNamespaces->getIndex("http://www.sbml.org/sbml/level3/version1/render/version1");
5937   fail_unless(index != -1);
5938   prefix=pXMLNamespaces->getPrefix(index);
5939   fail_unless(!prefix.empty());
5940   pXMLAttributes=&node2.getAttributes();
5941   fail_unless(pXMLAttributes->getLength() > 0);
5942   for(i=0;i<pXMLAttributes->getLength();++i)
5943   {
5944       if(pXMLAttributes->getName(i) == "required" && pXMLAttributes->getPrefix(i) == prefix)
5945       {
5946         break;
5947       }
5948   }
5949   fail_unless(i < pXMLAttributes->getLength());
5950 
5951   const XMLNode* listOfLayouts1,*listOfLayouts2;
5952   listOfLayouts1=&node;
5953   fail_unless(listOfLayouts1->getName()=="sbml");
5954   int iMax=listOfLayouts1->getNumChildren();
5955   for(i=0;i<iMax;++i)
5956   {
5957     if(listOfLayouts1->getChild(i).getName()=="model")
5958     {
5959         listOfLayouts1=&listOfLayouts1->getChild(i);
5960         break;
5961     }
5962   }
5963   fail_unless(listOfLayouts1->getName()=="model");
5964   iMax=listOfLayouts1->getNumChildren();
5965   for(i=0;i<iMax;++i)
5966   {
5967     if(listOfLayouts1->getChild(i).getName()=="listOfLayouts")
5968     {
5969         listOfLayouts1=&listOfLayouts1->getChild(i);
5970         break;
5971     }
5972   }
5973   fail_unless(listOfLayouts1->getName()=="listOfLayouts");
5974 
5975   listOfLayouts2=&node2;
5976   fail_unless(listOfLayouts2->getName()=="sbml");
5977   iMax=listOfLayouts2->getNumChildren();
5978   for(i=0;i<iMax;++i)
5979   {
5980     if(listOfLayouts2->getChild(i).getName()=="model")
5981     {
5982         listOfLayouts2=&listOfLayouts2->getChild(i);
5983         break;
5984     }
5985   }
5986   fail_unless(listOfLayouts2->getName()=="model");
5987   iMax=listOfLayouts2->getNumChildren();
5988   for(i=0;i<iMax;++i)
5989   {
5990     // make sure no annotation (with layout) has been written
5991     fail_unless(listOfLayouts2->getChild(i).getName() != "annotation");
5992     if(listOfLayouts2->getChild(i).getName()=="listOfLayouts")
5993     {
5994         listOfLayouts2=&listOfLayouts2->getChild(i);
5995         break;
5996     }
5997   }
5998   fail_unless(listOfLayouts2->getName()=="listOfLayouts");
5999 
6000 
6001   //std::string l1 = listOfLayouts1->toXMLString();
6002   //std::string l2 = listOfLayouts2->toXMLString();
6003   //std::string docString = writeSBMLToString(document);
6004 
6005   // until the sbml element gets a namespace, we only compare the listOfLayouts element and all its children.
6006   fail_unless(listOfLayouts1->equals(*listOfLayouts2));
6007 
6008   delete document;
6009 }
6010 END_TEST
6011 
START_TEST(test_RenderWriting_write_L3_model_2)6012 START_TEST (test_RenderWriting_write_L3_model_2)
6013 {
6014   const char* s = \
6015     "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"
6016     "<sbml xmlns=\"http://www.sbml.org/sbml/level3/version1/core\" level=\"3\" version=\"1\"\n"
6017     "      xmlns:layout=\"http://www.sbml.org/sbml/level3/version1/layout/version1\"\n"
6018     "      xmlns:render=\"http://www.sbml.org/sbml/level3/version1/render/version1\"\n"
6019     "      layout:required=\"false\"\n"
6020     "      render:required=\"false\">\n"
6021     "  <model id=\"TestModel\">\n"
6022     "    <layout:listOfLayouts xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\">\n"
6023     "      <layout:layout id=\"TextTest\">\n"
6024     "        <layout:dimensions width=\"510\" height=\"106\"/>\n"
6025     "        <layout:listOfAdditionalGraphicalObjects>\n"
6026     "          <layout:graphicalObject id=\"graphical_object_1\">\n"
6027     "            <layout:boundingBox>\n"
6028     "              <layout:position x=\"5\" y=\"5\"/>\n"
6029     "              <layout:dimensions width=\"500\" height=\"40\"/>\n"
6030     "            </layout:boundingBox>\n"
6031     "          </layout:graphicalObject>\n"
6032     "          <layout:graphicalObject id=\"graphical_object_2\">\n"
6033     "            <layout:boundingBox>\n"
6034     "              <layout:position x=\"5\" y=\"53\"/>\n"
6035     "              <layout:dimensions width=\"500\" height=\"40\"/>\n"
6036     "            </layout:boundingBox>\n"
6037     "          </layout:graphicalObject>\n"
6038     "        </layout:listOfAdditionalGraphicalObjects>\n"
6039     "        <listOfRenderInformation>\n"
6040     "          <renderInformation id=\"TextRenderInfo\">\n"
6041     "            <listOfStyles>\n"
6042     "              <style id=\"style_for_graphical_object_1\" idList=\"graphical_object_1\">\n"
6043     "                <g stroke=\"#000000\" stroke-width=\"1\" font-size=\"20\" font-family=\"sans\" text-anchor=\"start\">\n"
6044     "                  <rectangle fill=\"#aaaaff\" x=\"0\" y=\"0\" width=\"100%\" height=\"100%\"/>\n"
6045     "                  <text x=\"0\" y=\"0\">ABCDEFGHIJKLMNOPQRSTUVWXYZ</text>\n"
6046     "                </g>\n"
6047     "              </style>\n"
6048     "              <style id=\"style_for_graphical_object_2\" idList=\"graphical_object_2\">\n"
6049     "                <g stroke=\"#000000\" stroke-width=\"1\" font-size=\"20\" font-family=\"sans\" text-anchor=\"start\">\n"
6050     "                  <rectangle fill=\"#aaaaff\" x=\"0\" y=\"0\" width=\"100%\" height=\"100%\"/>\n"
6051     "                  <text x=\"0\" y=\"0\">abcdefghijklmnopqrstuvwxyz</text>\n"
6052     "                </g>\n"
6053     "              </style>\n"
6054     "            </listOfStyles>\n"
6055     "          </renderInformation>\n"
6056     "        </listOfRenderInformation>\n"
6057     "      </layout:layout>\n"
6058     "    </layout:listOfLayouts>\n"
6059     "  </model>\n"
6060     "</sbml>";
6061 
6062   XMLInputStream stream(s,false);
6063   XMLNode node(stream);
6064   // create the document
6065 
6066   SBMLDocument *document=new SBMLDocument(3,1);
6067 
6068   // enable layout and render
6069   document->enablePackage(LayoutExtension::getXmlnsL3V1V1(), "layout", true);
6070   document->enablePackage(RenderExtension::getXmlnsL3V1V1(), "render", true);
6071 
6072   // create the Model
6073 
6074   Model* pModel=document->createModel();
6075   pModel->setId("TestModel");
6076   document->setModel(pModel);
6077 
6078   // now we create a new layout
6079   LayoutModelPlugin* mPlugin=(LayoutModelPlugin*)pModel->getPlugin("layout");
6080   Layout* pLayout=mPlugin->createLayout();
6081   pLayout->setId("TextTest");
6082   double y=5.0,x=5.0;
6083   // draw each text in a 500x40 box
6084   const double WIDTH=500.0;
6085   double HEIGHT=40.0;
6086   std::ostringstream os;
6087   unsigned int object_index=1;
6088   const std::string TEXT="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
6089   const std::string text="abcdefghijklmnopqrstuvwxyz";
6090   // the dimensions of the whole layout will be
6091   Dimensions dim(layoutns,WIDTH+10,2*HEIGHT*1.2+10);
6092   pLayout->setDimensions(&dim);
6093   // create the render information
6094   RenderLayoutPlugin* rPlugin=(RenderLayoutPlugin*)pLayout->getPlugin("render");
6095   LocalRenderInformation* pRenderInfo=rPlugin->createLocalRenderInformation();
6096   pRenderInfo->setId("TextRenderInfo");
6097   Dimensions d(layoutns,WIDTH,HEIGHT);
6098   // create a graphical object with the correct bounding box
6099   // left alligned capital letters
6100   os.str("");
6101   os << "graphical_object_" << object_index++;
6102   GraphicalObject* pObject=pLayout->createAdditionalGraphicalObject();
6103   pObject->setId(os.str());
6104   // we set the bound
6105   BoundingBox bb;
6106   Point p(layoutns,x,y);
6107   bb.setPosition(&p);
6108   bb.setDimensions(&d);
6109   pObject->setBoundingBox(&bb);
6110   // we create a style for the object
6111   LocalStyle* pStyle=pRenderInfo->createStyle("style_for_"+os.str());
6112   pStyle->addId(pObject->getId());
6113   RenderGroup* pGroup=pStyle->getGroup();
6114   pGroup->setStroke("#000000");
6115   pGroup->setStrokeWidth(1.0);
6116   pGroup->setFontFamily("sans");
6117   pGroup->setFontSize(20.0);
6118   pGroup->setTextAnchor(Text::ANCHOR_START);
6119   // add a rectangle to the group
6120   Rectangle* pRectangle=pGroup->createRectangle();
6121   pRectangle->setCoordinates(RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0));
6122   pRectangle->setSize(RelAbsVector(0.0,100.0),RelAbsVector(0.0,100.0));
6123   pRectangle->setFillColor("#aaaaff");
6124   // add a text element to the group
6125   Text* pText=pGroup->createText();
6126   pText->setText(TEXT);
6127   y+=HEIGHT*1.2;
6128   // create a graphical object with the correct bounding box
6129   // left alligned lowercase letters
6130   os.str("");
6131   os << "graphical_object_" << object_index++;
6132   pObject=pLayout->createAdditionalGraphicalObject();
6133   pObject->setId(os.str());
6134   // we set the bound
6135   p=Point(layoutns,x,y);
6136   bb.setPosition(&p);
6137   bb.setDimensions(&d);
6138   pObject->setBoundingBox(&bb);
6139   // we create a style for the object
6140   pStyle=pRenderInfo->createStyle("style_for_"+os.str());
6141   pStyle->addId(pObject->getId());
6142   pGroup=pStyle->getGroup();
6143   pGroup->setStroke("#000000");
6144   pGroup->setStrokeWidth(1.0);
6145   pGroup->setFontFamily("sans");
6146   pGroup->setFontSize(20.0);
6147   pGroup->setTextAnchor(Text::ANCHOR_START);
6148   // add a rectangle to the group
6149   pRectangle=pGroup->createRectangle();
6150   pRectangle->setCoordinates(RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0),RelAbsVector(0.0,0.0));
6151   pRectangle->setSize(RelAbsVector(0.0,100.0),RelAbsVector(0.0,100.0));
6152   pRectangle->setFillColor("#aaaaff");
6153   // add a text element to the group
6154   pText=pGroup->createText();
6155   pText->setText(text);
6156 
6157   // write the document
6158   std::string writtenContent=writeSBMLToStdString(document);
6159   fail_unless(!writtenContent.empty());
6160   // now we read the written content
6161   SBMLReader reader;
6162   SBMLDocument* pDocument2=reader.readSBMLFromString(writtenContent);
6163   fail_unless(pDocument2 != NULL);
6164   const Model *pModel2=pDocument2->getModel();
6165   LayoutModelPlugin* plugin = (LayoutModelPlugin*)pModel2->getPlugin("layout");
6166   fail_unless(pModel2 != NULL);
6167   fail_unless(plugin->getListOfLayouts()->size() == 1);
6168   const Layout* pLayout2=plugin->getLayout(0);
6169   fail_unless(pLayout2 != NULL);
6170   fail_unless(pLayout->getListOfAdditionalGraphicalObjects()->size() == 2);
6171   // there should be one piece of render information
6172   RenderLayoutPlugin* rPlugin1 = (RenderLayoutPlugin*) pLayout->getPlugin("render");
6173   RenderLayoutPlugin* rPlugin2 = (RenderLayoutPlugin*) pLayout2->getPlugin("render");
6174   fail_unless(rPlugin1->getListOfLocalRenderInformation()->size() == 1);
6175   fail_unless(rPlugin2 != NULL);
6176   if (rPlugin2 == NULL) return;
6177 
6178   const LocalRenderInformation* pLocalRenderInfo2=rPlugin2->getRenderInformation(0);
6179   fail_unless(pLocalRenderInfo2 != NULL);
6180   if (pLocalRenderInfo2 == NULL) return;
6181 
6182   fail_unless(pLocalRenderInfo2->getId() == "TextRenderInfo");
6183   fail_unless(pLocalRenderInfo2->getNumColorDefinitions() == 0);
6184   fail_unless(pLocalRenderInfo2->getNumGradientDefinitions() == 0);
6185   fail_unless(pLocalRenderInfo2->getNumLineEndings() == 0);
6186   fail_unless(pLocalRenderInfo2->getNumStyles() == 2);
6187   const LocalStyle* pStyle2_1=pLocalRenderInfo2->getStyle(0),*pStyle2_2=NULL;
6188   fail_unless(pStyle2_1 != NULL);
6189   if(pStyle2_1->getId() == "style_for_graphical_object_2")
6190   {
6191       pStyle2_1=pLocalRenderInfo2->getStyle(1);
6192   }
6193   else
6194   {
6195     pStyle2_2=pLocalRenderInfo2->getStyle(1);
6196     fail_unless(pStyle2_2->getId() == "style_for_graphical_object_2");
6197   }
6198   fail_unless(pStyle2_2 != NULL);
6199   fail_unless(pStyle2_2->getId() == "style_for_graphical_object_2");
6200   fail_unless(pStyle2_1->getId() == "style_for_graphical_object_1");
6201   // check both id lists
6202   fail_unless(pStyle2_1->getIdList().size() == 1);
6203   fail_unless(pStyle2_1->isInIdList("graphical_object_1"));
6204   fail_unless(pStyle2_2->getIdList().size() == 1);
6205   fail_unless(pStyle2_2->isInIdList("graphical_object_2"));
6206   //
6207   // check both groups and their attributes
6208   const RenderGroup* pGroup2_1 = pStyle2_1->getGroup();
6209   fail_unless(pGroup2_1 != NULL);
6210   fail_unless(pGroup2_1->isSetStroke());
6211   fail_unless(pGroup2_1->getStroke() == "#000000");
6212   fail_unless(pGroup2_1->isSetStrokeWidth());
6213   fail_unless(fabs(pGroup2_1->getStrokeWidth() - 1.0) < 1e-12);
6214   fail_unless(pGroup2_1->isSetFontSize());
6215   fail_unless(pGroup2_1->getFontSize() == RelAbsVector(20.0,0.0));
6216   fail_unless(pGroup2_1->isSetFontFamily());
6217   fail_unless(pGroup2_1->getFontFamily() == "sans");
6218   fail_unless(pGroup2_1->isSetTextAnchor());
6219   fail_unless(pGroup2_1->getTextAnchor() == Text::ANCHOR_START);
6220   const RenderGroup* pGroup2_2 = pStyle2_2->getGroup();
6221   fail_unless(pGroup2_2 != NULL);
6222   fail_unless(pGroup2_2->isSetStroke());
6223   fail_unless(pGroup2_2->getStroke() == "#000000");
6224   fail_unless(pGroup2_2->isSetStrokeWidth());
6225   fail_unless(fabs(pGroup2_2->getStrokeWidth() -1.0) < 1e-12);
6226   fail_unless(pGroup2_2->isSetFontSize());
6227   fail_unless(pGroup2_2->getFontSize() == RelAbsVector(20.0,0.0));
6228   fail_unless(pGroup2_2->isSetFontFamily());
6229   fail_unless(pGroup2_2->getFontFamily() == "sans");
6230   fail_unless(pGroup2_2->isSetTextAnchor());
6231   fail_unless(pGroup2_2->getTextAnchor() == Text::ANCHOR_START);
6232   //
6233   // check the elements of both groups and their attributes
6234   fail_unless(pGroup2_1->getNumElements() == 2);
6235   const Rectangle* pRectangle2_1 = dynamic_cast<const Rectangle*>(pGroup->getElement(0));
6236   fail_unless(pRectangle2_1 != NULL);
6237   fail_unless(pRectangle2_1->isSetFillColor());
6238   fail_unless(pRectangle2_1->getFillColor() == "#aaaaff");
6239   fail_unless(pRectangle2_1->getX() == RelAbsVector(0.0,0.0));
6240   fail_unless(pRectangle2_1->getY() == RelAbsVector(0.0,0.0));
6241   fail_unless(pRectangle2_1->getWidth() == RelAbsVector(0.0,100.0));
6242   fail_unless(pRectangle2_1->getHeight() == RelAbsVector(0.0,100.0));
6243   const Text* pText2_1=dynamic_cast<const Text*>(pGroup2_1->getElement(1));
6244   fail_unless(pText2_1 != NULL);
6245   fail_unless(pText2_1->getX() == RelAbsVector(0.0,0.0));
6246   fail_unless(pText2_1->getY() == RelAbsVector(0.0,0.0));
6247   fail_unless(pText2_1->getText() == TEXT);
6248   fail_unless(pGroup2_2->getNumElements() == 2);
6249   const Rectangle* pRectangle2_2 = dynamic_cast<const Rectangle*>(pGroup->getElement(0));
6250   fail_unless(pRectangle2_2 != NULL);
6251   fail_unless(pRectangle2_2->isSetFillColor());
6252   fail_unless(pRectangle2_2->getFillColor() == "#aaaaff");
6253   fail_unless(pRectangle2_2->getX() == RelAbsVector(0.0,0.0));
6254   fail_unless(pRectangle2_2->getY() == RelAbsVector(0.0,0.0));
6255   fail_unless(pRectangle2_2->getWidth() == RelAbsVector(0.0,100.0));
6256   fail_unless(pRectangle2_2->getHeight() == RelAbsVector(0.0,100.0));
6257   const Text* pText2_2=dynamic_cast<const Text*>(pGroup2_2->getElement(1));
6258   fail_unless(pText2_2 != NULL);
6259   fail_unless(pText2_2->getX() == RelAbsVector(0.0,0.0));
6260   fail_unless(pText2_2->getY() == RelAbsVector(0.0,0.0));
6261   fail_unless(pText2_2->getText() == text);
6262   delete document;
6263   delete pDocument2;
6264 }
6265 END_TEST
6266 
6267 
6268 Suite *
create_suite_RenderWriting(void)6269 create_suite_RenderWriting (void)
6270 {
6271   Suite *suite = suite_create("RenderWriting");
6272   TCase *tcase = tcase_create("RenderWriting");
6273 
6274 
6275   tcase_add_checked_fixture( tcase,
6276                              RenderWriting_setup,
6277                              RenderWriting_teardown );
6278 
6279   tcase_add_test( tcase, test_RenderWriting_write_l2_ojectrole                );
6280   tcase_add_test( tcase, test_RenderWriting_write_model_1                );
6281   tcase_add_test( tcase, test_RenderWriting_write_L3_model_1             );
6282   tcase_add_test( tcase, test_RenderWriting_write_L3_model_2             );
6283 
6284   suite_add_tcase(suite, tcase);
6285 
6286   return suite;
6287 }
6288 
6289 
6290 
6291 END_C_DECLS
6292