<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-6303290977465724707</id><updated>2012-01-18T23:16:29.461-08:00</updated><category term='sysbioapps'/><category term='Export'/><category term='libSedML'/><category term='roadRunner'/><category term='libSBML'/><category term='sed-ml'/><category term='annotations'/><category term='SBML'/><category term='sbmllayout'/><category term='libstructural'/><category term='mono'/><category term='compuell'/><category term='standardization'/><category term='fbc'/><category term='JarnacLite'/><category term='Jarnac'/><category term='SBW'/><category term='JDesigner'/><title type='text'>Frank Bergmann</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>56</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-2649780921013981874</id><published>2012-01-18T23:16:00.001-08:00</published><updated>2012-01-18T23:16:29.544-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='libSedML'/><category scheme='http://www.blogger.com/atom/ns#' term='sed-ml'/><category scheme='http://www.blogger.com/atom/ns#' term='SBML'/><category scheme='http://www.blogger.com/atom/ns#' term='standardization'/><category scheme='http://www.blogger.com/atom/ns#' term='sysbioapps'/><title type='text'>SED-ML Nested Simulation Proposal v2</title><content type='html'>&lt;p align="justify"&gt;With the start of the new year it is time to get the Nested Simulation Proposal for SED-ML ready for wide-spread adoption. I believe nested simulations are vital for SED-ML so that we can cover a much larger variety of simulation experiments. I think it is especially important NOT to create a new simulation class for every single different simulation we perform on a model. By just defining two simulation classes: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;strong&gt;One Step&lt;/strong&gt;: which brings the model to the next desired output step. &lt;/li&gt;    &lt;li&gt;&lt;strong&gt;Nested Simulation&lt;/strong&gt;: which allows running over another simulation task, while changing multiple models parameters with computed values from ranges. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;it is possible to construct a large number of simulations that are currently carried out.&amp;#160; I’ve taken these past weeks to fully flesh out all the details and the document is now available from Nature Proceedings: &lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://precedings.nature.com/documents/4257/version/2"&gt;http://precedings.nature.com/documents/4257/version/2&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;The new version describes in detail all attributes and elements and features a number of examples (see below)&lt;/p&gt;  &lt;p align="justify"&gt;All features have been implemented in &lt;a href="http://libsedml.sourceforge.net" target="_blank"&gt;libSedML&lt;/a&gt;. The major change is that internally libSedMLRunner no longer produces a simple 2d array of data, but a &lt;a href="http://code.google.com/p/numl/" target="_blank"&gt;NuML&lt;/a&gt; result set. &lt;/p&gt;  &lt;p align="justify"&gt;&lt;em&gt;NOTE: This proposal only covers the &lt;strong&gt;generation&lt;/strong&gt; of the data, not the &lt;strong&gt;visualization. &lt;/strong&gt;In other words this proposal allows to generate n-dimensional data sets, while currently our DataGenerators can not access the values. I believe the two issues should be handled in different proposals. &lt;/em&gt;&lt;/p&gt;  &lt;h2&gt;Examples&lt;/h2&gt;  &lt;p&gt;Just a brief overview of the examples: &lt;/p&gt; &lt;center&gt;   &lt;table border="0" cellspacing="0" cellpadding="2" width="400"&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td valign="top" width="200"&gt;Steady state scan&lt;/td&gt;          &lt;td valign="top" width="200"&gt;&lt;a href="http://lh5.ggpht.com/-JkbK8pvUlPA/TxfDQ-A23GI/AAAAAAAAAMo/8ciGsMPWR7U/s1600-h/image%25255B2%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/-Ou9liPrLJyo/TxfDRDch_pI/AAAAAAAAAMs/L4Kg-lEMQ1Q/image_thumb.png?imgmax=800" width="244" height="175" /&gt;&lt;/a&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="200"&gt;Pulsing a parameter during a simulation&lt;/td&gt;          &lt;td valign="top" width="200"&gt;&lt;a href="http://lh4.ggpht.com/-bGdWN2FvII0/TxfDRCF0BCI/AAAAAAAAAM0/wK0zHyb-jJY/s1600-h/image%25255B5%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-ANVEMEOs3Zc/TxfDRg5C6NI/AAAAAAAAAM8/XOO-jONvCBk/image_thumb%25255B1%25255D.png?imgmax=800" width="244" height="173" /&gt;&lt;/a&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="200"&gt;Multiple Stochastic Traces&lt;/td&gt;          &lt;td valign="top" width="200"&gt;&lt;a href="http://lh5.ggpht.com/-5rFYljwaBo4/TxfDR26amYI/AAAAAAAAANI/bP3pf4n1O50/s1600-h/image%25255B8%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/-8MXvDRI-vxg/TxfDSIYVpuI/AAAAAAAAANQ/DqCB_VN3uvI/image_thumb%25255B2%25255D.png?imgmax=800" width="244" height="175" /&gt;&lt;/a&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="200"&gt;Timecourse scan&lt;/td&gt;          &lt;td valign="top" width="200"&gt;&lt;a href="http://lh6.ggpht.com/-nd_qcW8TAWM/TxfDSuuwgpI/AAAAAAAAANY/bTPjynPKV3Q/s1600-h/image%25255B11%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-3sRJhU72oc4/TxfDSln2fcI/AAAAAAAAANg/VrO4U6yJoJI/image_thumb%25255B3%25255D.png?imgmax=800" width="244" height="175" /&gt;&lt;/a&gt;&lt;/td&gt;       &lt;/tr&gt;        &lt;tr&gt;         &lt;td valign="top" width="200"&gt;2D Steady State scan&lt;/td&gt;          &lt;td valign="top" width="200"&gt;&lt;a href="http://lh6.ggpht.com/-Eus0MR4XHZM/TxfDS3v3_eI/AAAAAAAAANo/fj67SpTPCjE/s1600-h/image%25255B14%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-N9QNQ90pyoY/TxfDTOZsovI/AAAAAAAAANw/0gwHATfOB9M/image_thumb%25255B4%25255D.png?imgmax=800" width="244" height="174" /&gt;&lt;/a&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/center&gt;  &lt;h2&gt;&amp;#160;&lt;/h2&gt;  &lt;h2&gt;Availability&lt;/h2&gt;  &lt;p&gt;As indicated above, the proposal is implemented in &lt;a href="http://libsedml.sourceforge.net/libSedML/Welcome.html" target="_blank"&gt;libSedML&lt;/a&gt;, a also released a new version of the &lt;a href="http://sysbioapps.dyndns.org/SED-ML_Web_Tools/" target="_blank"&gt;SED-ML Web Tools&lt;/a&gt;, that can simulate all of the above examples. &lt;/p&gt;  &lt;p&gt;Just for completeness sake: here the link to the old version: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;Doc:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;a href="http://precedings.nature.com/documents/4257/version/1"&gt;http://precedings.nature.com/documents/4257/version/1&lt;/a&gt;       &lt;br /&gt;Examples:&amp;#160;&amp;#160; &lt;a title="http://frank-fbergmann.blogspot.com/2010/03/nested-simulation-experiments.html" href="http://frank-fbergmann.blogspot.com/2010/03/nested-simulation-experiments.html"&gt;http://frank-fbergmann.blogspot.com/2010/03/nested-simulation-experiments.html&lt;/a&gt;&lt;/p&gt;&lt;/blockquote&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-2649780921013981874?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/2649780921013981874/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=2649780921013981874' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/2649780921013981874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/2649780921013981874'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2012/01/sed-ml-nested-simulation-proposal-v2.html' title='SED-ML Nested Simulation Proposal v2'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/-Ou9liPrLJyo/TxfDRDch_pI/AAAAAAAAAMs/L4Kg-lEMQ1Q/s72-c/image_thumb.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-1359913684917996888</id><published>2012-01-18T10:27:00.001-08:00</published><updated>2012-01-18T10:27:08.187-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fbc'/><category scheme='http://www.blogger.com/atom/ns#' term='SBML'/><category scheme='http://www.blogger.com/atom/ns#' term='standardization'/><category scheme='http://www.blogger.com/atom/ns#' term='libSBML'/><title type='text'>FBC Package &amp; SBMLToolbox 4.1.0 Getting Started</title><content type='html'>&lt;p&gt;Today the SBML Team released version 4.1.0 of the SBML Toolbox. The news? It can be used with the &lt;a href="http://sbml.org/Community/Wiki/SBML_Level_3_Proposals/Flux_Constraints" target="_blank"&gt;SBML Level 3 Flux package&lt;/a&gt;. So what do you need to get it set up? &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Grab the beta FBC package for your system from:      &lt;ul&gt;       &lt;li&gt;&lt;strong&gt;Windows / OSX&lt;/strong&gt; we have binaries for you: &lt;a href="http://sourceforge.net/projects/sbml/files/libsbml/5.3.0/experimental/binaries/"&gt;http://sourceforge.net/projects/sbml/files/libsbml/5.3.0/experimental/binaries/&lt;/a&gt;           &lt;br /&gt;&lt;/li&gt;        &lt;li&gt;&lt;strong&gt;Linux: &lt;/strong&gt;unfortunately we don’t have binaries as the matlab versions on linux are highly subjective to your libc / libstdc++. Instead please grab the source package: &lt;a href="http://sourceforge.net/projects/sbml/files/libsbml/5.3.0/experimental/src/"&gt;http://sourceforge.net/projects/sbml/files/libsbml/5.3.0/experimental/src/&lt;/a&gt; , and configure using CMake (the key points to watch out is to pass along the parameters: ENABLE_FBC=ON, WITH_MATLAB=ON, after that simply make the dependencies happy, I believe you need to pass along the MATLAB_ROOT_PATH). After the installation the only thing I had to do on my machine is to set the environment variable LD_PRELOAD=&amp;lt;location of your systems libstdc++&amp;gt; and then it works all right.           &lt;br /&gt;&lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt;    &lt;li&gt;Grab SBML Toolbox 4.1.0: &lt;a href="http://sourceforge.net/projects/sbml/files/SBMLToolbox/4.1.0/"&gt;http://sourceforge.net/projects/sbml/files/SBMLToolbox/4.1.0/&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;unzip / start Matlab / change into the toolbox directory, run the ‘install’ command. &lt;/li&gt;    &lt;li&gt;run the tests to be sure all is working fine for you:      &lt;pre&gt;cd Test&lt;br /&gt;RunTest&lt;/pre&gt;&lt;br /&gt;  &lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Please let us know how things are going for you!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-1359913684917996888?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/1359913684917996888/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=1359913684917996888' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/1359913684917996888'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/1359913684917996888'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2012/01/fbc-package-sbmltoolbox-410-getting.html' title='FBC Package &amp;amp; SBMLToolbox 4.1.0 Getting Started'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-5906104476481573138</id><published>2011-12-23T19:49:00.001-08:00</published><updated>2011-12-23T19:49:34.309-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sbmllayout'/><category scheme='http://www.blogger.com/atom/ns#' term='SBML'/><category scheme='http://www.blogger.com/atom/ns#' term='libSBML'/><title type='text'>LibSBML 5.3.0 Released &amp; SBML Render Package</title><content type='html'>&lt;p&gt;Just in time for Christmas we have just released LibSBML 5.3.0. The essentials are: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://sbml.org/Forums/index.php?t=tree&amp;amp;goto=7248&amp;amp;rid=0" target="_blank"&gt;the release announcement&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://sourceforge.net/projects/sbml/files/libsbml/5.3.0/" target="_blank"&gt;downloads from SourceForge&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;like for the 5.2.0 release we again provided an alternative &lt;a href="http://sourceforge.net/projects/sbml/files/libsbml/5.3.0/experimental/src/" target="_blank"&gt;source archive&lt;/a&gt; that contains updated snapshots of all currently available SBML Level 3 Packages:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://sbml.org/Community/Wiki/SBML_Level_3_Proposals/Layout" target="_blank"&gt;Layout&lt;/a&gt; (updated) &lt;/li&gt;    &lt;li&gt;&lt;a href="http://sbml.org/Community/Wiki/SBML_Level_3_Proposals/Flux_Constraints" target="_blank"&gt;Flux Balance Constraints&lt;/a&gt; (updated) &lt;/li&gt;    &lt;li&gt;&lt;a href="http://sbml.org/Community/Wiki/SBML_Level_3_Proposals/Rendering" target="_blank"&gt;Rendering&lt;/a&gt; (new) &lt;/li&gt;    &lt;li&gt;&lt;a href="http://sbml.org/Community/Wiki/SBML_Level_3_Proposals/Hierarchical_Model_Composition" target="_blank"&gt;Hierarchical Model Composition&lt;/a&gt; (updated) &lt;/li&gt;    &lt;li&gt;&lt;a href="http://sbml.org/Community/Wiki/SBML_Level_3_Proposals/Spatial_Geometries_and_Spatial_Processes" target="_blank"&gt;Spatial Processes&lt;/a&gt; (updated) &lt;/li&gt;    &lt;li&gt;&lt;a href="http://sbml.org/Community/Wiki/SBML_Level_3_Proposals/Groups" target="_blank"&gt;Groups&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://sbml.org/Community/Wiki/SBML_Level_3_Proposals/Required_Elements" target="_blank"&gt;Required Elements&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt;  &lt;h2&gt;&lt;/h2&gt;  &lt;h3&gt;SBML Rendering Package&lt;/h3&gt;  &lt;p&gt;The newest addition is a port of &lt;a href="http://otto.bioquant.uni-heidelberg.de/sbml/#software" target="_blank"&gt;Ralph Gauges libSBML 4 implementation patch&lt;/a&gt; to the libSBML 5 package API. It supports both serialization as SBML Level 3 package and Level 2 annotation. However, there were some minor changes along the way: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Most changes involve the plugin API, instead of directly accessing the render information from the Layout objects, you use the plugin API:      &lt;br /&gt;      &lt;br /&gt;      &lt;pre class="brush: cpp;"&gt;  Model* model = doc-&amp;gt;getModel();&lt;br /&gt;  &lt;br /&gt;  LayoutModelPlugin *plugin = (LayoutModelPlugin*) model-&amp;gt;getPlugin (&amp;quot;layout&amp;quot;);&lt;br /&gt;  &lt;br /&gt;  if (plugin == NULL || plugin-&amp;gt;getNumLayouts() == 0)&lt;br /&gt;  {&lt;br /&gt;    cerr &amp;lt;&amp;lt; &amp;quot;The loaded model contains no layout information, please add these first.&amp;quot; &amp;lt;&amp;lt; endl;&lt;br /&gt;    return 3;&lt;br /&gt;  }&lt;br /&gt;  &lt;br /&gt;  RenderListOfLayoutsPlugin *lolPlugin = (RenderListOfLayoutsPlugin*) plugin-&amp;gt;getListOfLayouts()-&amp;gt;getPlugin(&amp;quot;render&amp;quot;);&lt;br /&gt;  if (lolPlugin != NULL &amp;amp;&amp;amp; lolPlugin-&amp;gt;getNumGlobalRenderInformationObjects() &amp;gt; 0)&lt;br /&gt;  {&lt;br /&gt;    cout &amp;lt;&amp;lt; &amp;quot;The loaded model contains global Render information. &amp;quot; &amp;lt;&amp;lt; endl;    &lt;br /&gt;  } &lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;    &lt;br /&gt;the the plugin classes then have all the elements you would need. The Render Extension extends three classes: &lt;/li&gt;&lt;br /&gt;&lt;br /&gt;  &lt;ul&gt;&lt;br /&gt;    &lt;li&gt;ListOfLayouts: Entry point for the ListOfGlobalRenderInformation&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;    &lt;li&gt;Layout: Entry point for the ListOfRenderInformation&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;    &lt;li&gt;GraphicalObject: allows to set the role of a graphical object in order to pin a specific render style to it.&lt;br /&gt;      &lt;br /&gt;&lt;/li&gt;&lt;br /&gt;  &lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;  &lt;li&gt;There also is a minor change with the way that the XML is written out. Each attribute defined in the Render specification, is written out as belonging to the “render” namespace. With one exception, while reading through the Render specification I could not find one different between the BoundingBox defined in the Layout extension and the one used by the Render LineEndings. So rather than re-implementing another BoundingBox in a different namespace, I made the LineEndings reuse the layout bounding box. &lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Let me know how the extension is working for you. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-5906104476481573138?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/5906104476481573138/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=5906104476481573138' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/5906104476481573138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/5906104476481573138'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2011/12/libsbml-530-released-sbml-render.html' title='LibSBML 5.3.0 Released &amp;amp; SBML Render Package'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-4024101321859841931</id><published>2011-12-11T15:13:00.001-08:00</published><updated>2011-12-11T15:13:03.696-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='roadRunner'/><category scheme='http://www.blogger.com/atom/ns#' term='SBW'/><category scheme='http://www.blogger.com/atom/ns#' term='SBML'/><category scheme='http://www.blogger.com/atom/ns#' term='libstructural'/><category scheme='http://www.blogger.com/atom/ns#' term='libSBML'/><title type='text'>SBW goes Portable</title><content type='html'>&lt;p&gt;Portable Applications, are applications that you can easily take with you on your USB stick. This allows to use your applications on all Windows machines by simply plugging in the stick. I’m pleased to announce a first prototype that will make the Systems Biology Workbench available for the &lt;a href="http://portableapps.com" target="_blank"&gt;portableapps.com&lt;/a&gt; framework. Here the download: &lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://sourceforge.net/projects/sbw/files/sbw/portable/"&gt;http://sourceforge.net/projects/sbw/files/sbw/portable/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;To install, simply launch portable apps, and then click on “Install a new App”:&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://lh4.ggpht.com/-i6TXOUdzt4g/TuU4-hJEbwI/AAAAAAAAAMI/nNZNvYe4S-I/s1600-h/image%25255B5%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-DYj7ZEhCnqk/TuU4_JQxWGI/AAAAAAAAAMQ/2ZPsZSNdcDU/image_thumb%25255B1%25255D.png?imgmax=800" width="193" height="116" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;It will install the following applications: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-YrmTUs1xzuw/TuU4_R0O0bI/AAAAAAAAAMY/inmtvAGiReg/s1600-h/image%25255B2%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-9Dd1cJGIDSs/TuU4_kIr38I/AAAAAAAAAMg/NnPZLVdsv34/image_thumb.png?imgmax=800" width="174" height="244" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;While the launcher only exposes: JDesigner,Jarnac, JarnacLite, the Simulation Tool,&amp;#160; SBML Translator, SBML Layout Viewer, AutoLayout and the C# Inspector, the full SBW installation is available. &lt;/p&gt;  &lt;p&gt;If you need custom launchers for more applications, let me know (Possible candidates: BioModels Importer, Jacobian Viewer, Convert SBML, Shutdown SBW).&lt;/p&gt;  &lt;p&gt;Please let me know whether this is working for you.&lt;/p&gt;  &lt;h3&gt;&lt;/h3&gt;  &lt;h4&gt;BAD NEWS: &lt;/h4&gt;  &lt;p&gt;Unfortunately we won’t be able to have SBW be part of the Portable Apps dictionary since some SBW components use .NET and portable apps do not consider .NET widely enough spread. (Even though it appears that it was on 90% of&amp;#160; Windows machines in &lt;a href="http://www.hanselman.com/blog/HowManyPCsInTheWorldHaveTheNETFrameworkInstalled.aspx" target="_blank"&gt;2010&lt;/a&gt;, and is now part of windows update, and thus *everyone* updating their machine is likely to have it installed.) But there goes me rambling …&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-4024101321859841931?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/4024101321859841931/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=4024101321859841931' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/4024101321859841931'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/4024101321859841931'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2011/12/sbw-goes-portable.html' title='SBW goes Portable'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/-DYj7ZEhCnqk/TuU4_JQxWGI/AAAAAAAAAMQ/2ZPsZSNdcDU/s72-c/image_thumb%25255B1%25255D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-93138349172497783</id><published>2011-11-13T21:52:00.001-08:00</published><updated>2011-11-13T21:52:38.585-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SBML'/><category scheme='http://www.blogger.com/atom/ns#' term='sysbioapps'/><title type='text'>New SBML Translator Application online!</title><content type='html'>&lt;p&gt;As second application I’m glad to announce the new SBML Translator application: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://sysbioapps.dyndns.org/Translator"&gt;http://sysbioapps.dyndns.org/Translator&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The application is a major redesign from the &lt;a href="http://128.208.17.26/SBMLTranslator/" target="_blank"&gt;basic version&lt;/a&gt;.&amp;#160; Its features: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;multiple file upload (with drag &amp;amp; drop for chrome and firefox) &lt;/li&gt;    &lt;li&gt;translation of files via URL &lt;/li&gt;    &lt;li&gt;pasting of SBML &lt;/li&gt;    &lt;li&gt;Syntax Highlighting of the result &lt;/li&gt;    &lt;li&gt;downloading of translation with proper mime-type / extension &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;The translators have been updated to ensure that assignment rules&amp;#160; are sorted correctly in the translation (an issue that seems to have caused problems in the past). As soon as the SBFC project comes along I plan to include their translators as well. As always a screencast says more than words: &lt;/p&gt; &lt;!-- copy and paste. Modify height and width if desired. --&gt;&lt;object id="scPlayer"  width="400" height="286" type="application/x-shockwave-flash" data="http://content.screencast.com/users/fbergman/folders/Jing/media/baeab474-e715-4b7d-b498-049d2ef78f50/jingswfplayer.swf" &gt; &lt;param name="movie" value="http://content.screencast.com/users/fbergman/folders/Jing/media/baeab474-e715-4b7d-b498-049d2ef78f50/jingswfplayer.swf" /&gt; &lt;param name="quality" value="high" /&gt; &lt;param name="bgcolor" value="#FFFFFF" /&gt; &lt;param name="flashVars" value="thumb=http://content.screencast.com/users/fbergman/folders/Jing/media/baeab474-e715-4b7d-b498-049d2ef78f50/FirstFrame.jpg&amp;amp;containerwidth=400&amp;amp;containerheight=286&amp;amp;content=http://content.screencast.com/users/fbergman/folders/Jing/media/baeab474-e715-4b7d-b498-049d2ef78f50/00000029.swf&amp;amp;blurover=false" /&gt; &lt;param name="allowFullScreen" value="true" /&gt; &lt;param name="scale" value="showall" /&gt; &lt;param name="allowScriptAccess" value="always" /&gt; &lt;param name="base" value="http://content.screencast.com/users/fbergman/folders/Jing/media/baeab474-e715-4b7d-b498-049d2ef78f50/" /&gt; Unable to display content. Adobe Flash is required.&lt;/object&gt;  &lt;p&gt;As always I’d love to hear any feedback that you have!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-93138349172497783?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/93138349172497783/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=93138349172497783' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/93138349172497783'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/93138349172497783'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2011/11/new-sbml-translator-application-online.html' title='New SBML Translator Application online!'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-4387213588567822220</id><published>2011-11-12T10:45:00.001-08:00</published><updated>2011-11-12T11:05:30.929-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fbc'/><category scheme='http://www.blogger.com/atom/ns#' term='libSBML'/><title type='text'>libSBML 5.2.0 released</title><content type='html'>This morning Sarah sent the &lt;a href="http://sbml.org/Forums/index.php?t=tree&amp;amp;goto=7190&amp;amp;rid=0" target="_blank"&gt;announcement&lt;/a&gt; that a new version of libSBML is available for download from: &lt;br /&gt;&lt;a href="http://sf.net/projects/sbml/files/libsbml/5.2.0/"&gt;http://sf.net/projects/sbml/files/libsbml/5.2.0/&lt;/a&gt;&amp;nbsp; &lt;br /&gt;New this time around is that we also provide binaries for all the SBML Level 3 Extension packages. So if you are interested in providing software support for: &lt;br /&gt;&lt;ul&gt;&lt;li&gt;FBC &lt;/li&gt;&lt;li&gt;COMP &lt;/li&gt;&lt;li&gt;LAYOUT &lt;/li&gt;&lt;li&gt;GROUPS &lt;/li&gt;&lt;li&gt;REQ &lt;/li&gt;&lt;li&gt;SPATIAL &lt;/li&gt;&lt;/ul&gt;you can simply download your favorite binaries (including language bindings) from the &lt;a href="http://sourceforge.net/projects/sbml/files/libsbml/5.2.0/experimental/binaries/" target="_blank"&gt;experimental directory&lt;/a&gt;. &lt;br /&gt;&lt;h2&gt;New Features&lt;/h2&gt;&lt;div align="justify"&gt;There are two new features I want to bring to your attention, that is the facility for custom validators and converters. By inheriting form SBMLConverter or SBMLValidator it is now possible for your application to quickly check for specific aspects of documents that is important to you. &lt;/div&gt;&lt;div align="justify"&gt;Here just one example on how you could check that your SBML model does not contain Algebraic Rules or Fast reactions if your application does not support them. &lt;/div&gt;&lt;div id="codeSnippetWrapper" style="background-color: #f4f4f4; border-bottom: silver 1px solid; border-left: silver 1px solid; border-right: silver 1px solid; border-top: silver 1px solid; cursor: text; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin: 20px 0px 10px; max-height: 200px; overflow: auto; padding-bottom: 4px; padding-left: 4px; padding-right: 4px; padding-top: 4px; text-align: left; width: 97.5%;"&gt;&lt;div id="codeSnippet" style="background-color: #f4f4f4; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; overflow-x: visible; overflow-y: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;pre style="background-color: white; border-bottom-style: none; border-left-style: none; border-right-style: none; border-top-style: none; color: black; direction: ltr; font-family: 'Courier New', courier, monospace; font-size: 8pt; line-height: 12pt; margin-bottom: 0em; margin-left: 0em; margin-right: 0em; margin-top: 0em; overflow-x: visible; overflow-y: visible; padding-bottom: 0px; padding-left: 0px; padding-right: 0px; padding-top: 0px; text-align: left; width: 100%;"&gt;&lt;span id="lnum1" style="color: #606060;"&gt;   1:&lt;/span&gt; &lt;span style="color: green;"&gt;/** &lt;/span&gt;&lt;/pre&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum2" style="color: #606060; white-space: pre;"&gt;   2:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span style="color: green; white-space: pre;"&gt; * Declares a custom validator to be called. This allows you to validate &lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum3" style="background-color: white; color: #606060; white-space: pre;"&gt;   3:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; &lt;/span&gt;&lt;span style="background-color: white; color: green; white-space: pre;"&gt; * any aspect of an SBML Model that you want to be notified about. You could &lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum4" style="color: #606060; white-space: pre;"&gt;   4:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span style="color: green; white-space: pre;"&gt; * use this to notify your application that a model contains an unsupported &lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum5" style="background-color: white; color: #606060; white-space: pre;"&gt;   5:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; &lt;/span&gt;&lt;span style="background-color: white; color: green; white-space: pre;"&gt; * feature of SBML (either as warning). &lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum6" style="color: #606060; white-space: pre;"&gt;   6:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span style="color: green; white-space: pre;"&gt; * &lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum7" style="background-color: white; color: #606060; white-space: pre;"&gt;   7:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; &lt;/span&gt;&lt;span style="background-color: white; color: green; white-space: pre;"&gt; * In this example the validator will go through the model and test for the &lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum8" style="color: #606060; white-space: pre;"&gt;   8:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span style="color: green; white-space: pre;"&gt; * presence of 'fast' reactions and algebraic rules. If either is used a &lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum9" style="background-color: white; color: #606060; white-space: pre;"&gt;   9:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; &lt;/span&gt;&lt;span style="background-color: white; color: green; white-space: pre;"&gt; * warning will be added to the error log. &lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum10" style="color: #606060; white-space: pre;"&gt;  10:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span style="color: green; white-space: pre;"&gt; */&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum11" style="background-color: white; color: #606060; white-space: pre;"&gt;  11:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; &lt;/span&gt;&lt;span style="background-color: white; color: blue; white-space: pre;"&gt;class&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; MyCustomValidator : &lt;/span&gt;&lt;span style="background-color: white; color: blue; white-space: pre;"&gt;public&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; SBMLValidator&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum12" style="color: #606060; white-space: pre;"&gt;  12:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt; {&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum13" style="background-color: white; color: #606060; white-space: pre;"&gt;  13:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; &lt;/span&gt;&lt;span style="background-color: white; color: blue; white-space: pre;"&gt;public&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;:&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum14" style="color: #606060; white-space: pre;"&gt;  14:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;   MyCustomValidator() : SBMLValidator() {}&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum15" style="background-color: white; color: #606060; white-space: pre;"&gt;  15:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;   MyCustomValidator(&lt;/span&gt;&lt;span style="background-color: white; color: blue; white-space: pre;"&gt;const&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; MyCustomValidator&amp;amp; orig) : SBMLValidator(orig) {&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum16" style="color: #606060; white-space: pre;"&gt;  16:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum17" style="background-color: white; color: #606060; white-space: pre;"&gt;  17:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;   }&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum18" style="color: #606060; white-space: pre;"&gt;  18:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;   &lt;/span&gt;&lt;span style="color: blue; white-space: pre;"&gt;virtual&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt; ~MyCustomValidator() {}&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum19" style="background-color: white; color: #606060; white-space: pre;"&gt;  19:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum20" style="color: #606060; white-space: pre;"&gt;  20:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;   &lt;/span&gt;&lt;span style="color: blue; white-space: pre;"&gt;virtual&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt; SBMLValidator* clone() &lt;/span&gt;&lt;span style="color: blue; white-space: pre;"&gt;const&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt; { &lt;/span&gt;&lt;span style="color: blue; white-space: pre;"&gt;return&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span style="color: blue; white-space: pre;"&gt;new&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt; MyCustomValidator(*&lt;/span&gt;&lt;span style="color: blue; white-space: pre;"&gt;this&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;); }&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum21" style="background-color: white; color: #606060; white-space: pre;"&gt;  21:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum22" style="color: #606060; white-space: pre;"&gt;  22:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;   &lt;/span&gt;&lt;span style="color: blue; white-space: pre;"&gt;virtual&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span style="color: blue; white-space: pre;"&gt;unsigned&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span style="color: blue; white-space: pre;"&gt;int&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt; validate() {&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum23" style="background-color: white; color: #606060; white-space: pre;"&gt;  23:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;     &lt;/span&gt;&lt;span style="background-color: white; color: green; white-space: pre;"&gt;// if we don't have a model we don't apply this validator.&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum24" style="color: #606060; white-space: pre;"&gt;  24:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;     &lt;/span&gt;&lt;span style="color: blue; white-space: pre;"&gt;if&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt; (getDocument() == NULL || getModel() == NULL)&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum25" style="background-color: white; color: #606060; white-space: pre;"&gt;  25:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;       &lt;/span&gt;&lt;span style="background-color: white; color: blue; white-space: pre;"&gt;return&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; 0;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum26" style="color: #606060; white-space: pre;"&gt;  26:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum27" style="background-color: white; color: #606060; white-space: pre;"&gt;  27:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;     &lt;/span&gt;&lt;span style="background-color: white; color: green; white-space: pre;"&gt;// if we have no rules and reactions we don't apply this validator either&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum28" style="color: #606060; white-space: pre;"&gt;  28:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;     &lt;/span&gt;&lt;span style="color: blue; white-space: pre;"&gt;if&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt; (getModel()-&amp;gt;getNumReactions() == 0 &amp;amp;&amp;amp; getModel()-&amp;gt;getNumRules() == 0)&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum29" style="background-color: white; color: #606060; white-space: pre;"&gt;  29:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;       &lt;/span&gt;&lt;span style="background-color: white; color: blue; white-space: pre;"&gt;return&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; 0;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum30" style="color: #606060; white-space: pre;"&gt;  30:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum31" style="background-color: white; color: #606060; white-space: pre;"&gt;  31:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;     &lt;/span&gt;&lt;span style="background-color: white; color: blue; white-space: pre;"&gt;unsigned&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; &lt;/span&gt;&lt;span style="background-color: white; color: blue; white-space: pre;"&gt;int&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; numErrors = 0;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum32" style="color: #606060; white-space: pre;"&gt;  32:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;     &lt;/span&gt;&lt;span style="color: green; white-space: pre;"&gt;// test for algebraic rules&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum33" style="background-color: white; color: #606060; white-space: pre;"&gt;  33:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;     &lt;/span&gt;&lt;span style="background-color: white; color: blue; white-space: pre;"&gt;for&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; (&lt;/span&gt;&lt;span style="background-color: white; color: blue; white-space: pre;"&gt;unsigned&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; &lt;/span&gt;&lt;span style="background-color: white; color: blue; white-space: pre;"&gt;int&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; i = 0; i &amp;lt; getModel()-&amp;gt;getNumRules(); i++)&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum34" style="color: #606060; white-space: pre;"&gt;  34:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;     {&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum35" style="background-color: white; color: #606060; white-space: pre;"&gt;  35:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;       &lt;/span&gt;&lt;span style="background-color: white; color: blue; white-space: pre;"&gt;if&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; (getModel()-&amp;gt;getRule(i)-&amp;gt;getTypeCode() == SBML_ALGEBRAIC_RULE) {&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum36" style="color: #606060; white-space: pre;"&gt;  36:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;         &lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum37" style="background-color: white; color: #606060; white-space: pre;"&gt;  37:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;         getErrorLog()-&amp;gt;add(SBMLError(99999, 3, 1, &lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum38" style="color: #606060; white-space: pre;"&gt;  38:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;           &lt;/span&gt;&lt;span style="color: #006080; white-space: pre;"&gt;"This model uses algebraic rules, however this application does not support them."&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum39" style="background-color: white; color: #606060; white-space: pre;"&gt;  39:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;           0, 0, &lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum40" style="color: #606060; white-space: pre;"&gt;  40:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;           LIBSBML_SEV_WARNING, &lt;/span&gt;&lt;span style="color: green; white-space: pre;"&gt;// or LIBSBML_SEV_ERROR if you want to stop&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum41" style="background-color: white; color: #606060; white-space: pre;"&gt;  41:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;           LIBSBML_CAT_SBML &lt;/span&gt;&lt;span style="background-color: white; color: green; white-space: pre;"&gt;// or whatever category you prefer&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum42" style="color: #606060; white-space: pre;"&gt;  42:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;           ));&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum43" style="background-color: white; color: #606060; white-space: pre;"&gt;  43:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;         &lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum44" style="color: #606060; white-space: pre;"&gt;  44:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;         numErrors++;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum45" style="background-color: white; color: #606060; white-space: pre;"&gt;  45:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;       }&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum46" style="color: #606060; white-space: pre;"&gt;  46:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;     }&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum47" style="background-color: white; color: #606060; white-space: pre;"&gt;  47:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum48" style="color: #606060; white-space: pre;"&gt;  48:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;     &lt;/span&gt;&lt;span style="color: green; white-space: pre;"&gt;// test for fast reactions&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum49" style="background-color: white; color: #606060; white-space: pre;"&gt;  49:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;     &lt;/span&gt;&lt;span style="background-color: white; color: blue; white-space: pre;"&gt;for&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; (&lt;/span&gt;&lt;span style="background-color: white; color: blue; white-space: pre;"&gt;unsigned&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; &lt;/span&gt;&lt;span style="background-color: white; color: blue; white-space: pre;"&gt;int&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; i = 0; i &amp;lt; getModel()-&amp;gt;getNumReactions(); i++)&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum50" style="color: #606060; white-space: pre;"&gt;  50:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;     {&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum51" style="background-color: white; color: #606060; white-space: pre;"&gt;  51:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;       &lt;/span&gt;&lt;span style="background-color: white; color: green; white-space: pre;"&gt;// test whether value is set, and true&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum52" style="color: #606060; white-space: pre;"&gt;  52:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;       &lt;/span&gt;&lt;span style="color: blue; white-space: pre;"&gt;if&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt; (getModel()-&amp;gt;getReaction(i)-&amp;gt;isSetFast() &amp;amp;&amp;amp; &lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum53" style="background-color: white; color: #606060; white-space: pre;"&gt;  53:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;           getModel()-&amp;gt;getReaction(i)-&amp;gt;getFast()) {&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum54" style="color: #606060; white-space: pre;"&gt;  54:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum55" style="background-color: white; color: #606060; white-space: pre;"&gt;  55:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;         getErrorLog()-&amp;gt;add(SBMLError(99999, 3, 1, &lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum56" style="color: #606060; white-space: pre;"&gt;  56:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;           &lt;/span&gt;&lt;span style="color: #006080; white-space: pre;"&gt;"This model uses fast reactions, however this application does not support them."&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;,&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum57" style="background-color: white; color: #606060; white-space: pre;"&gt;  57:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;           0, 0, &lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum58" style="color: #606060; white-space: pre;"&gt;  58:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;           LIBSBML_SEV_WARNING, &lt;/span&gt;&lt;span style="color: green; white-space: pre;"&gt;// or LIBSBML_SEV_ERROR if you want to stop&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum59" style="background-color: white; color: #606060; white-space: pre;"&gt;  59:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;           LIBSBML_CAT_SBML &lt;/span&gt;&lt;span style="background-color: white; color: green; white-space: pre;"&gt;// or whatever category you prefer&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum60" style="color: #606060; white-space: pre;"&gt;  60:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;           ));&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum61" style="background-color: white; color: #606060; white-space: pre;"&gt;  61:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum62" style="color: #606060; white-space: pre;"&gt;  62:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;         numErrors++;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum63" style="background-color: white; color: #606060; white-space: pre;"&gt;  63:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum64" style="color: #606060; white-space: pre;"&gt;  64:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;       }&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum65" style="background-color: white; color: #606060; white-space: pre;"&gt;  65:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;     }&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum66" style="color: #606060; white-space: pre;"&gt;  66:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum67" style="background-color: white; color: #606060; white-space: pre;"&gt;  67:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;     &lt;/span&gt;&lt;span style="background-color: white; color: blue; white-space: pre;"&gt;return&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; numErrors;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum68" style="color: #606060; white-space: pre;"&gt;  68:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;   }&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum69" style="background-color: white; color: #606060; white-space: pre;"&gt;  69:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum70" style="color: #606060; white-space: pre;"&gt;  70:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;   &lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum71" style="background-color: white; color: #606060; white-space: pre;"&gt;  71:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; };&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum72" style="color: #606060; white-space: pre;"&gt;  72:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum73" style="background-color: white; color: #606060; white-space: pre;"&gt;  73:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum74" style="color: #606060; white-space: pre;"&gt;  74:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;span style="color: blue; white-space: pre;"&gt;int&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum75" style="background-color: white; color: #606060; white-space: pre;"&gt;  75:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; main (&lt;/span&gt;&lt;span style="background-color: white; color: blue; white-space: pre;"&gt;int&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; argc, &lt;/span&gt;&lt;span style="background-color: white; color: blue; white-space: pre;"&gt;char&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; *argv[])&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum76" style="color: #606060; white-space: pre;"&gt;  76:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt; {&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum77" style="background-color: white; color: #606060; white-space: pre;"&gt;  77:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;   &lt;/span&gt;&lt;span style="background-color: white; color: blue; white-space: pre;"&gt;if&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; (argc != 2)&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum78" style="color: #606060; white-space: pre;"&gt;  78:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;   {&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum79" style="background-color: white; color: #606060; white-space: pre;"&gt;  79:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;     cout &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; &lt;/span&gt;&lt;span style="background-color: white; color: #006080; white-space: pre;"&gt;"Usage: addCustomValidator filename"&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; endl;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum80" style="color: #606060; white-space: pre;"&gt;  80:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;     &lt;/span&gt;&lt;span style="color: blue; white-space: pre;"&gt;return&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt; 1;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum81" style="background-color: white; color: #606060; white-space: pre;"&gt;  81:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;   }&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum82" style="color: #606060; white-space: pre;"&gt;  82:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;   &lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum83" style="background-color: white; color: #606060; white-space: pre;"&gt;  83:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;   &lt;/span&gt;&lt;span style="background-color: white; color: blue; white-space: pre;"&gt;const&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; &lt;/span&gt;&lt;span style="background-color: white; color: blue; white-space: pre;"&gt;char&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;* filename   = argv[1];&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum84" style="color: #606060; white-space: pre;"&gt;  84:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum85" style="background-color: white; color: #606060; white-space: pre;"&gt;  85:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;   &lt;/span&gt;&lt;span style="background-color: white; color: green; white-space: pre;"&gt;// read the file name&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum86" style="color: #606060; white-space: pre;"&gt;  86:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;   SBMLDocument* document = readSBML(filename);&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum87" style="background-color: white; color: #606060; white-space: pre;"&gt;  87:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum88" style="color: #606060; white-space: pre;"&gt;  88:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;   &lt;/span&gt;&lt;span style="color: green; white-space: pre;"&gt;// add a custom validator&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum89" style="background-color: white; color: #606060; white-space: pre;"&gt;  89:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;   document-&amp;gt;addValidator(&lt;/span&gt;&lt;span style="background-color: white; color: blue; white-space: pre;"&gt;new&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt; MyCustomValidator());&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum90" style="color: #606060; white-space: pre;"&gt;  90:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum91" style="background-color: white; color: #606060; white-space: pre;"&gt;  91:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;   &lt;/span&gt;&lt;span style="background-color: white; color: green; white-space: pre;"&gt;// check consistency like before&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum92" style="color: #606060; white-space: pre;"&gt;  92:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;   &lt;/span&gt;&lt;span style="color: blue; white-space: pre;"&gt;int&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt; numErrors = document-&amp;gt;checkConsistency();&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum93" style="background-color: white; color: #606060; white-space: pre;"&gt;  93:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum94" style="color: #606060; white-space: pre;"&gt;  94:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;   &lt;/span&gt;&lt;span style="color: green; white-space: pre;"&gt;// print errors and warnings&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum95" style="background-color: white; color: #606060; white-space: pre;"&gt;  95:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;   document-&amp;gt;printErrors();&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum96" style="color: #606060; white-space: pre;"&gt;  96:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum97" style="background-color: white; color: #606060; white-space: pre;"&gt;  97:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;   &lt;/span&gt;&lt;span style="background-color: white; color: green; white-space: pre;"&gt;// return number of errors&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum98" style="color: #606060; white-space: pre;"&gt;  98:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;   &lt;/span&gt;&lt;span style="color: blue; white-space: pre;"&gt;return&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt;  numErrors;&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum99" style="background-color: white; color: #606060; white-space: pre;"&gt;  99:&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: white; white-space: pre;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;span id="lnum100" style="color: #606060; white-space: pre;"&gt; 100:&lt;/span&gt;&lt;span class="Apple-style-span" style="white-space: pre;"&gt; }&lt;/span&gt;&lt;/div&gt;&lt;div style="color: black;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: 24px; font-weight: bold;"&gt;Linux Packages&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="justify"&gt;For this release we provide again DEB and RPM files with binaries compiled on CentOS 4.6 and Ubuntu 8. This means they use a libc version that is reasonably old and will not cause problems on newer distributions. &lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;Listening to feedback from our users the default install prefix has been changed to /usr. And we also include language bindings in them. &lt;/div&gt;&lt;br /&gt;&lt;div align="justify"&gt;The plan was to use the &lt;a href="http://openbuildservice.org/" target="_blank"&gt;OpenBuildService (OBS)&lt;/a&gt;,&amp;nbsp; but unfortunately I was not yet able to create binaries with language bindings for all different distributions. I hope we can sort this out for the next release. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-4387213588567822220?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/4387213588567822220/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=4387213588567822220' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/4387213588567822220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/4387213588567822220'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2011/11/libsbml-520-released.html' title='libSBML 5.2.0 released'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-2682518936557014933</id><published>2011-11-05T19:48:00.001-07:00</published><updated>2011-11-05T19:48:04.033-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sbmllayout'/><category scheme='http://www.blogger.com/atom/ns#' term='SBW'/><category scheme='http://www.blogger.com/atom/ns#' term='SBML'/><category scheme='http://www.blogger.com/atom/ns#' term='sysbioapps'/><title type='text'>Introducing sysbioapps/Layout</title><content type='html'>&lt;p align="justify"&gt;Ever since the SBW applications have been pulled from sys-bio.org and are only available via IP I am working on a new version for each of these applications. Today I’ve made the new version of my Layout web application available: &lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://sysbioapps.dyndns.org/Layout"&gt;http://sysbioapps.dyndns.org/Layout&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;See it live: &lt;/p&gt; &lt;!-- copy and paste. Modify height and width if desired. --&gt;&lt;object id="scPlayer"  width="400" height="300" type="application/x-shockwave-flash" data="http://content.screencast.com/users/fbergman/folders/Jing/media/4dc60c79-695c-4d6a-8588-5e64a967c7a3/jingswfplayer.swf" &gt; &lt;param name="movie" value="http://content.screencast.com/users/fbergman/folders/Jing/media/4dc60c79-695c-4d6a-8588-5e64a967c7a3/jingswfplayer.swf" /&gt; &lt;param name="quality" value="high" /&gt; &lt;param name="bgcolor" value="#FFFFFF" /&gt; &lt;param name="flashVars" value="thumb=http://content.screencast.com/users/fbergman/folders/Jing/media/4dc60c79-695c-4d6a-8588-5e64a967c7a3/FirstFrame.jpg&amp;amp;containerwidth=400&amp;amp;containerheight=300&amp;amp;content=http://content.screencast.com/users/fbergman/folders/Jing/media/4dc60c79-695c-4d6a-8588-5e64a967c7a3/Introducing%20sysbioapps.dyndns.org_Layout.swf&amp;amp;blurover=false" /&gt; &lt;param name="allowFullScreen" value="true" /&gt; &lt;param name="scale" value="showall" /&gt; &lt;param name="allowScriptAccess" value="always" /&gt; &lt;param name="base" value="http://content.screencast.com/users/fbergman/folders/Jing/media/4dc60c79-695c-4d6a-8588-5e64a967c7a3/" /&gt; Unable to display content. Adobe Flash is required.&lt;/object&gt;  &lt;h2&gt;Features&lt;/h2&gt;  &lt;p&gt;The new application has the same basic features as the &lt;a href="http://128.208.17.26/Layout" target="_blank"&gt;old one&lt;/a&gt;: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;upload of an SBML file &lt;/li&gt;    &lt;li&gt;displaying SBML Layout / SBML Render Format &lt;/li&gt;    &lt;li&gt;displaying JDesigner / JDesigner 2 / CellDesigner annotation &lt;/li&gt;    &lt;li&gt;generating a layout &lt;/li&gt;    &lt;li&gt;exporting images / SVG / PDF &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;New in this version: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;multiple file support &lt;/li&gt;    &lt;li&gt;Chrome / Firefox: upload multiple files &lt;/li&gt;    &lt;li&gt;Chrome / Firefox: drag and drop files onto the web site to upload &lt;/li&gt;    &lt;li&gt;support for SBGN-ML&lt;/li&gt; &lt;/ul&gt;  &lt;h2&gt;Implementation&lt;/h2&gt;  &lt;p align="justify"&gt;The new version has been implemented using ASP.NET MVC3&amp;#160; and JQuery / JQueryUI. The actual heavy lifting is performed by the &lt;a href="http://sbmllayout.sf.net" target="_blank"&gt;SBML Layout&lt;/a&gt; Library. The PDF export is made possible through &lt;a href="http://sbml2tikz.org" target="_blank"&gt;sbml2tikz&lt;/a&gt;, followed by a compilation by pdflatex.&lt;/p&gt;  &lt;p&gt;As always any feedback is welcome. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-2682518936557014933?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/2682518936557014933/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=2682518936557014933' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/2682518936557014933'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/2682518936557014933'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2011/11/introducing-sysbioappslayout.html' title='Introducing sysbioapps/Layout'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-5130273314302670304</id><published>2011-10-08T20:40:00.001-07:00</published><updated>2011-10-08T20:40:49.873-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sed-ml'/><category scheme='http://www.blogger.com/atom/ns#' term='standardization'/><category scheme='http://www.blogger.com/atom/ns#' term='sysbioapps'/><title type='text'>SED-ML Web Tools &amp; KISAO</title><content type='html'>&lt;p align="justify"&gt;SED-ML uses KISAO to annotate simulation algorithms with information of what kind of simulation should be performed. Until today the &lt;a href="http://sysbioapps.dyndns.org/SED-ML%20Web%20Tools/" target="_blank"&gt;SED-ML Web Tools&lt;/a&gt; only displayed the term identifier. This has changed, now the terms will be resolved and displayed: &lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://lh6.ggpht.com/-QySZKvSA13g/TpEXwMpcFPI/AAAAAAAAALk/MwIgz8MGh5Y/s1600-h/SED-ML-Web%25255B2%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px; padding-top: 0px" title="SED-ML-Web" border="0" alt="SED-ML-Web" src="http://lh3.ggpht.com/-S0WVJhluO_s/TpEXwdI4QaI/AAAAAAAAALo/VLfnVm3jNDE/SED-ML-Web_thumb.png?imgmax=800" width="244" height="136" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;To make this work I’ve modified &lt;a href="http://libsedml.sf.net" target="_blank"&gt;LibSedML&lt;/a&gt; to resolve all KISAO terms found. This is now part of the Algorithm object, and can be accessed through the Term property. &lt;/p&gt;  &lt;p align="justify"&gt;Unfortunately KISAO is now only available in OWL format. This means people have to ‘reason’ over the document in order to find out even the most basic things. While the EBI provides a ‘&lt;a href="http://biomodels.net/kisao/libkisao.html" target="_blank"&gt;libKISAO&lt;/a&gt;’, this library is only available for Java.&amp;#160; &lt;/p&gt;  &lt;p&gt;In the end I’ve decided to convert the OWL file periodically in a more readable format:&lt;/p&gt;  &lt;pre&gt; &amp;lt;term id='KISAO:0000377' &lt;br /&gt;        name='one-step method'&amp;gt;&lt;br /&gt;   &amp;lt;definition&amp;gt; &amp;lt;![CDATA[A numerical method &lt;br /&gt;     for differential equations which uses one &lt;br /&gt;     starting value at each step.]]&amp;gt;&lt;br /&gt;   &amp;lt;/definition&amp;gt;&lt;br /&gt;&lt;br /&gt;   &amp;lt;similarTo&amp;gt;KISAO:0000020&amp;lt;/similarTo&amp;gt;&lt;br /&gt;   ...&lt;br /&gt;   &amp;lt;similarTo&amp;gt;KISAO:0000031&amp;lt;/similarTo&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;   &amp;lt;ancestor&amp;gt;KISAO:0000000&amp;lt;/ancestor&amp;gt;&lt;br /&gt;&lt;br /&gt;   &amp;lt;descendent&amp;gt;KISAO:0000261&amp;lt;/descendent&amp;gt;&lt;br /&gt;   &amp;lt;descendent&amp;gt;KISAO:0000380&amp;lt;/descendent&amp;gt;&lt;br /&gt;   &amp;lt;descendent&amp;gt;KISAO:0000064&amp;lt;/descendent&amp;gt;&lt;br /&gt;   &amp;lt;descendent&amp;gt;KISAO:0000286&amp;lt;/descendent&amp;gt;&lt;br /&gt; &amp;lt;/term&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="justify"&gt;I will update that file periodically and have it compiled into libSedML, if you would like to have a look at it, you can access it here: &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="center"&gt;&lt;a href="http://libsedml.svn.sourceforge.net/viewvc/libsedml/trunk/libSedML/kisao.xml?revision=95&amp;amp;view=markup" target="_blank"&gt;kisao.xml&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-5130273314302670304?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/5130273314302670304/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=5130273314302670304' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/5130273314302670304'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/5130273314302670304'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2011/10/sed-ml-web-tools-kisao.html' title='SED-ML Web Tools &amp;amp; KISAO'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/-S0WVJhluO_s/TpEXwdI4QaI/AAAAAAAAALo/VLfnVm3jNDE/s72-c/SED-ML-Web_thumb.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-6663777698356855289</id><published>2011-10-07T18:52:00.001-07:00</published><updated>2011-10-07T18:52:58.918-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SBW'/><category scheme='http://www.blogger.com/atom/ns#' term='sysbioapps'/><title type='text'>sys-bio.org web applications down</title><content type='html'>&lt;p align="justify"&gt;The web site of the &lt;a href="http://sysbio.analogmachine.org/" target="_blank"&gt;Saurolab&lt;/a&gt; was moved to a different machine the domain sys-bio.org has been transferred to that machine. As a result, all applications that previously ran on sys-bio.org are no longer available via their old URLs. The old server is still available via its IP: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p align="center"&gt;&lt;a href="http://128.208.17.26/"&gt;http://128.208.17.26/&lt;/a&gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p align="justify"&gt;That web site also still hosts the web applications: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="left"&gt;Layout: &lt;a href="http://128.208.17.26/Layout/"&gt;http://128.208.17.26/Layout/&lt;/a&gt;&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="left"&gt;Simulation: &lt;a href="http://128.208.17.26/Simulation2005/"&gt;http://128.208.17.26/Simulation2005/&lt;/a&gt;&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="left"&gt;Translation: &lt;a href="http://128.208.17.26/SBMLTranslator/"&gt;http://128.208.17.26/SBMLTranslator/&lt;/a&gt;&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="left"&gt;Web Services: &lt;a href="http://128.208.17.26/SbwWebServiceCreatorInterface/"&gt;http://128.208.17.26/SbwWebServiceCreatorInterface/&lt;/a&gt;&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="left"&gt;In the coming weeks I will update these applications and move them over to &lt;a href="http://sysbioapps.dyndns.org"&gt;http://sysbioapps.dyndns.org&lt;/a&gt;. &lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://lh5.ggpht.com/-fFFZ2YSxAdU/To-s-DIVZAI/AAAAAAAAALc/bJ8BpmuANis/s1600-h/SBW%252520Logo%252520%252528short%252529-transparent%25255B3%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="SBW Logo (short)-transparent" border="0" alt="SBW Logo (short)-transparent" src="http://lh6.ggpht.com/-2jhQ-yD8Pxg/To-s-vjg0CI/AAAAAAAAALg/1lrZZ3JNmRs/SBW%252520Logo%252520%252528short%252529-transparent_thumb%25255B1%25255D.png?imgmax=800" width="240" height="141" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-6663777698356855289?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/6663777698356855289/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=6663777698356855289' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/6663777698356855289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/6663777698356855289'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2011/10/sys-bioorg-web-applications-down.html' title='sys-bio.org web applications down'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/-2jhQ-yD8Pxg/To-s-vjg0CI/AAAAAAAAALg/1lrZZ3JNmRs/s72-c/SBW%252520Logo%252520%252528short%252529-transparent_thumb%25255B1%25255D.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-3724198343966228463</id><published>2011-09-05T08:39:00.001-07:00</published><updated>2011-09-05T08:39:17.653-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fbc'/><category scheme='http://www.blogger.com/atom/ns#' term='SBML'/><category scheme='http://www.blogger.com/atom/ns#' term='standardization'/><category scheme='http://www.blogger.com/atom/ns#' term='libSBML'/><title type='text'>LibSBML 5.1.0 (beta) Language Bindings with Packages</title><content type='html'>&lt;p align="justify"&gt;COMBIN2011 is in full swing, a great meeting! I have heard from several people that they would like to play with the language bindings in different programming languages. With CMAKE it really is easy to create those bindings, so the archive below includes the Windows 32 bit bindings for: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Java&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;C#&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Python (2.7)&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;Of the following beta packages: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;comp&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;fbc&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;groups&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;layout&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;req&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;spatial&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;For more information of these packages please see the &lt;a href="http://sbml.org/Community/Wiki" target="_blank"&gt;SBML Community wiki&lt;/a&gt;.&lt;/p&gt;  &lt;p align="justify"&gt;The bindings are build with libxml2 and compression libraries statically linked in, and the static MSVC bindings, so they won’t need any further dependencies. So without further ado, here the link: &lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://cl.ly/1K3i07323y2e14103d3J"&gt;http://cl.ly/1K3i07323y2e14103d3J&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;Please let me know about any problems with these bindings. &lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://lh6.ggpht.com/-CH4fu1tggBM/TmTtIz5icKI/AAAAAAAAALQ/XVeADx5AB94/s1600-h/SBML%252520logo%25255B3%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="SBML logo" border="0" alt="SBML logo" src="http://lh6.ggpht.com/-39xdUSy6qt8/TmTtJPp19mI/AAAAAAAAALU/D-n0EjIfDQU/SBML%252520logo_thumb%25255B1%25255D.png?imgmax=800" width="240" height="103" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-3724198343966228463?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/3724198343966228463/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=3724198343966228463' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/3724198343966228463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/3724198343966228463'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2011/09/libsbml-510-beta-language-bindings-with.html' title='LibSBML 5.1.0 (beta) Language Bindings with Packages'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/-39xdUSy6qt8/TmTtJPp19mI/AAAAAAAAALU/D-n0EjIfDQU/s72-c/SBML%252520logo_thumb%25255B1%25255D.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-7339606230087992399</id><published>2011-08-25T15:12:00.001-07:00</published><updated>2011-08-25T15:12:56.552-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sbmllayout'/><category scheme='http://www.blogger.com/atom/ns#' term='standardization'/><category scheme='http://www.blogger.com/atom/ns#' term='sysbioapps'/><title type='text'>SBGN-ML Render Comparison</title><content type='html'>&lt;p align="justify"&gt;SBGN-ML, the markup language developed as part of the &lt;a href="http://libsbgn.sf.net" target="_blank"&gt;libSBGN&lt;/a&gt; project, is nearing it’s Milestone 2 release. The &lt;a href="http://sbmllayout.sf.net" target="_blank"&gt;SBML Layout&lt;/a&gt; library currently fully implements the Process Diagram notation of SBGN-ML. (Work on implementing Activity Flow / Entity Relationship diagrams has started but is not anywhere close to ready.)&lt;/p&gt;  &lt;p align="justify"&gt;This is to announce a new online application: &lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://sysbioapps.dyndns.org/RenderComparison/"&gt;http://sysbioapps.dyndns.org/RenderComparison/&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;This is how the page looks: &lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://lh6.ggpht.com/-WB8hbyFSOz8/TlbI4p7V33I/AAAAAAAAAK4/K0A4s_dwfPE/s1600-h/RenderComparison%25255B2%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="RenderComparison" border="0" alt="RenderComparison" src="http://lh5.ggpht.com/-3svyPA8cEZ0/TlbI46rvCUI/AAAAAAAAAK8/aE8dx5gQsQA/RenderComparison_thumb.png?imgmax=800" width="244" height="182" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;The site displays all current SBGN files from ProcessDiagram, ActivityFlow and EntityRelationship. Only the SBMLLayout column will be rendered every time. Information from PathVisio and SBGN-ED are cached and updated periodically.&lt;/p&gt;  &lt;p align="justify"&gt;You can change the directory, that is being displayed by selecting the Customize button on the top of the page, these options are available: &lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://lh5.ggpht.com/-257X2B8IiVo/TlbI5OYuhzI/AAAAAAAAALA/tdakNYnPHjU/s1600-h/image%25255B2%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-rfDGdXQf5mM/TlbI5bzKSCI/AAAAAAAAALE/SKj-eqFGi0Q/image_thumb.png?imgmax=800" width="244" height="104" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Where a different URL can be chosen (you could for example display the examples from Milestone 1 or the &lt;a href="http://libsbgn.svn.sourceforge.net/viewvc/libsbgn/trunk/example-files/" target="_blank"&gt;general examples&lt;/a&gt;). You also can display or hide individual columns.&lt;/p&gt;  &lt;p&gt;As last option you can directly &lt;a href="http://sysbioapps.dyndns.org/RenderComparison/Home/Upload" target="_blank"&gt;upload&lt;/a&gt; or point to any URL of an SBGN file that should be rendered. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-NR-W5mOI1Qw/TlbI5p8R39I/AAAAAAAAALI/CMeEVsDeFpk/s1600-h/image%25255B5%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-oUhR3oEaKbo/TlbI57Cg25I/AAAAAAAAALM/lKlb2XO7hmg/image_thumb%25255B1%25255D.png?imgmax=800" width="244" height="129" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;More at COMBINE … &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-7339606230087992399?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/7339606230087992399/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=7339606230087992399' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/7339606230087992399'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/7339606230087992399'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2011/08/sbgn-ml-render-comparison.html' title='SBGN-ML Render Comparison'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/-3svyPA8cEZ0/TlbI46rvCUI/AAAAAAAAAK8/aE8dx5gQsQA/s72-c/RenderComparison_thumb.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-3935846758005936943</id><published>2011-08-25T11:24:00.001-07:00</published><updated>2011-08-25T11:24:48.743-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SBML'/><category scheme='http://www.blogger.com/atom/ns#' term='standardization'/><category scheme='http://www.blogger.com/atom/ns#' term='libSBML'/><title type='text'>Release of libSBML 5.1.0 (b0)</title><content type='html'>&lt;p align="justify"&gt;And another release done in time for &lt;a href="http://www.icsb-2011.net/icsb-2011/" target="_blank"&gt;ICSB&lt;/a&gt; and &lt;a href="http://co.mbine.org/events/COMBINE_2011" target="_blank"&gt;COMBINE&lt;/a&gt;. This latest release of libSBML not only contains a number of bug fixes and general improvements, such as: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;the ability to obtain elements via getElementBySId() and getElementByMetaId()&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;a better way to build Matlab bindings&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;&lt;a href="http://sbml.org/Forums/index.php?t=tree&amp;amp;goto=7150&amp;amp;rid=0" target="_blank"&gt;Release Announcement&lt;/a&gt;&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;&lt;a href="http://sourceforge.net/projects/sbml/files/libsbml/5.1.0-b0/" target="_blank"&gt;Downloads&lt;/a&gt;&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;But also a new Conversion API. &lt;/p&gt;  &lt;h2 align="justify"&gt;Conversion API&lt;/h2&gt;  &lt;p align="justify"&gt;So what is so special about it, and how would you use it? Previously we had a number of additional functions such as: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;setLevelAndVersion&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;expandFunctionDefinitions&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;expandInitialAssignments&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;on the SBMLDocument. This meant that the document had to know how to do all these operations. Now we went ahead and introduced just one more level of abstraction: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;SBMLDocument::convert(ConversionOptions options)&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;When called this function will look through a registry and find the best converter that matches the options (uhm … or none, if that might be the case, in which case the conversion would fail). Then that converter runs on the document to change it. And reports the status. &lt;/p&gt;  &lt;p align="justify"&gt;We have created converters for the tasks mentioned above: setLevelAndVersion, expandFunctionsDefinitions, expandInitialAssignments and also stripPackage (which removes a specific SBML L3 package from the current document). &lt;/p&gt;  &lt;h2 align="justify"&gt;Registry&lt;/h2&gt;  &lt;p align="justify"&gt;The biggest advantage of course is that all these converters are available from a registry, that means: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;it is possible to replace existing converters&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;and to add new ones!&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;I have started with a first flattening converter (not complete yet) for the COMP package. So this might be something that package writers might want to consider, perhaps they would like their package to serialize to a Level 2 annotation or some such thing!&lt;/p&gt;  &lt;p align="justify"&gt;More on this at &lt;a href="http://co.mbine.org/events/COMBINE_2011" target="_blank"&gt;COMBINE&lt;/a&gt;, I hope to see you there. &lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://lh3.ggpht.com/-Jmq5WEkPtOE/TlaTbSL3bkI/AAAAAAAAAKw/D50OVg3lX4I/s1600-h/SBML%252520logo%25255B3%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="SBML logo" border="0" alt="SBML logo" src="http://lh3.ggpht.com/-iu0jbp_RgJw/TlaTbza9VHI/AAAAAAAAAK0/Sr-BQh77XSY/SBML%252520logo_thumb%25255B1%25255D.png?imgmax=800" width="240" height="103" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-3935846758005936943?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/3935846758005936943/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=3935846758005936943' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/3935846758005936943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/3935846758005936943'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2011/08/release-of-libsbml-510-b0.html' title='Release of libSBML 5.1.0 (b0)'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/-iu0jbp_RgJw/TlaTbza9VHI/AAAAAAAAAK0/Sr-BQh77XSY/s72-c/SBML%252520logo_thumb%25255B1%25255D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-1338502793346256165</id><published>2011-08-23T23:37:00.001-07:00</published><updated>2011-08-23T23:37:24.986-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sed-ml'/><category scheme='http://www.blogger.com/atom/ns#' term='SBW'/><category scheme='http://www.blogger.com/atom/ns#' term='standardization'/><title type='text'>SBW 2.8.3 Released</title><content type='html'>&lt;p align="justify"&gt;Just before the ICSB, here a new release of the Systems Biology Workbench. Exciting for me, lots of updates on the standard support: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;improved support for SBGN-ML &lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;improved support for SED-ML&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;(some fixes for SBRML)&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;There also is a brand new JDesigner and Jarnac available, with lots of goodies. So please grab the new version from SourceForge before it gets cold: &lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="https://sourceforge.net/projects/jdesigner/files/Systems%20Biology%20Workbench/2.8.3/?" target="_blank"&gt;SBW 2.8.3&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;Some of you might wonder what happened to the Linux and OSX release. I’m afraid it did not get done in time. Even though all modules and code has been updated to compile fine on 32 bit and 64bit Linux. So where is the holdup? As it turns out the latest distro’s don’t come with Mono 2.10, so I figured I wait a bit longer to make that release. &lt;/p&gt;  &lt;p align="justify"&gt;If someone needs those binaries sooner let me know and I upload them.&lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://lh3.ggpht.com/--3ltjLf6OZ4/TlScImiMmDI/AAAAAAAAAKo/4KMLB_lMswI/s1600-h/SBW%252520Logo%252520%252528short%252529-transparent%25255B4%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="SBW Logo (short)-transparent" border="0" alt="SBW Logo (short)-transparent" src="http://lh5.ggpht.com/-ZQ0mlJ9zcwk/TlScJFZED1I/AAAAAAAAAKs/jZ_0IibuM90/SBW%252520Logo%252520%252528short%252529-transparent_thumb%25255B2%25255D.png?imgmax=800" width="240" height="141" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-1338502793346256165?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/1338502793346256165/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=1338502793346256165' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/1338502793346256165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/1338502793346256165'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2011/08/sbw-283-released.html' title='SBW 2.8.3 Released'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/-ZQ0mlJ9zcwk/TlScJFZED1I/AAAAAAAAAKs/jZ_0IibuM90/s72-c/SBW%252520Logo%252520%252528short%252529-transparent_thumb%25255B2%25255D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-9146403518484466463</id><published>2011-08-10T18:02:00.001-07:00</published><updated>2011-08-10T18:02:57.625-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SBML'/><category scheme='http://www.blogger.com/atom/ns#' term='standardization'/><category scheme='http://www.blogger.com/atom/ns#' term='libSBML'/><title type='text'>Release of the new SBML Online Validator</title><content type='html'>&lt;p&gt;I’m pleased to announce that the new SBML online validator is now available for use: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://sbml.org/Facilities/Validator/"&gt;http://sbml.org/Facilities/Validator/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The new validator has a number of new features, the most prominent: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;it allows to queue longer running validations &lt;/li&gt;    &lt;li&gt;it allows SBML models to be directly pasted &lt;/li&gt;    &lt;li&gt;it also looks better thanks to JQuery / JQueryUI &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-pSQNbGotWeM/TkMmlruDiII/AAAAAAAAAKU/_HICMbmw1TE/s1600-h/image%25255B2%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-AqAGJuAiD04/TkMml8S7ZOI/AAAAAAAAAKY/B4aybbiZcFM/image_thumb.png?imgmax=800" width="230" height="244" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Of course it is still possible to use the validator remotely. For this we provide a REST API as before: &lt;/p&gt;  &lt;p&gt;&lt;a title="http://sbml.org/Facilities/Documentation/Validator_Web_API" href="http://sbml.org/Facilities/Documentation/Validator_Web_API"&gt;http://sbml.org/Facilities/Documentation/Validator_Web_API&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;and additionally it is also possible to use the service via a W3C web service. Here the link to the WSDL: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://sbml-validator.caltech.edu:8888/validator_ws/services/LibSBML?wsdl"&gt;http://sbml-validator.caltech.edu:8888/validator_ws/services/LibSBML?wsdl&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-9146403518484466463?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/9146403518484466463/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=9146403518484466463' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/9146403518484466463'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/9146403518484466463'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2011/08/release-of-new-sbml-online-validator.html' title='Release of the new SBML Online Validator'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/-AqAGJuAiD04/TkMml8S7ZOI/AAAAAAAAAKY/B4aybbiZcFM/s72-c/image_thumb.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-2591990757459226091</id><published>2011-07-31T15:22:00.001-07:00</published><updated>2011-07-31T15:22:43.276-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SBML'/><category scheme='http://www.blogger.com/atom/ns#' term='standardization'/><category scheme='http://www.blogger.com/atom/ns#' term='sysbioapps'/><title type='text'>SBML Software Index on  http://sysbioapps.dyndns.org</title><content type='html'>&lt;p align="justify"&gt;I’ve spend the weekend to update the &lt;a href="http://sysbioapps.dyndns.org/" target="_blank"&gt;sysbioapps website&lt;/a&gt;. It does provide a bit more information now and I’ve also fixed a minor issue with testing the SED-ML web services. Most notably however, I have placed the SBML Software Index online: &lt;/p&gt;  &lt;p&gt;&lt;a title="http://sysbioapps.dyndns.org/SoftwareMatrix" href="http://sysbioapps.dyndns.org/SoftwareMatrix"&gt;http://sysbioapps.dyndns.org/SoftwareMatrix&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-ryNW_4qsa4I/TjXVpbEz-NI/AAAAAAAAAJs/YqovUcjPmnY/s1600-h/image%25255B2%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-8Z2LLDicF8A/TjXVp4IvT6I/AAAAAAAAAJw/dcTUO3kE5-o/image_thumb.png?imgmax=800" width="244" height="173" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;The Software Index provides the information from the &lt;a href="http://sbml.org/SBML_Software_Guide/SBML_Software_Details_Entry_Questionnaire" target="_blank"&gt;SBML Software Survey&lt;/a&gt; (that collects information about available software that supports SBML) using the &lt;a href="http://www.microsoft.com/silverlight/pivotviewer/" target="_blank"&gt;PivotViewer&lt;/a&gt;. This makes it possible to ask specific questions about the software and find the information much faster than it would be possible with the &lt;a href="http://sbml.org/SBML_Software_Guide/SBML_Software_Matrix" target="_blank"&gt;static matrix&lt;/a&gt; / &lt;a href="http://sbml.org/SBML_Software_Guide/SBML_Software_Summary" target="_blank"&gt;summary&lt;/a&gt; information that was available until now. &lt;/p&gt;  &lt;p align="justify"&gt;I am well aware of the fact that many in the Systems Biology community do not consider Silverlight to be a viable platform: I have been told to rewrite the solution in Flash or JavaScript to make it possible to run it on more devices. However, I lack the time to do so at this moment, and so provide this information in the hopes that it will be of use to some. &lt;/p&gt;  &lt;h2 align="justify"&gt;How to use the Index&lt;/h2&gt;  &lt;p align="justify"&gt;On the left hand side you will find a panel with the available categories: &lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://lh4.ggpht.com/-Ie0myTKYA74/TjXVqOvGviI/AAAAAAAAAJ0/d5bfbBofgys/s1600-h/image%25255B8%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; margin: 0px; padding-left: 0px; padding-right: 0px; display: inline; border-top: 0px; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/-NIipwvP81Eg/TjXVqiJpnpI/AAAAAAAAAJ4/mij2UPp3ZlE/image_thumb%25255B2%25255D.png?imgmax=800" width="139" height="244" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;Where you can simply search for specific information, or select options from the categories (in the screenshot above: Category, Dependencies, … SBML Import/Export) you are interested in. Each category contains several options (above we see Import and Export listed for the SBML Import / Export category). According to the pivot guidelines options within a category are supposed to be orthogonal. Unfortunately that is not the case for SBML software (as there are packages that support Import and Export for example). I still chose to place them together into one category (otherwise the number of categories would have become unwieldy). The consequence of this is that when you select both checkboxes, queries will be of the form: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p align="justify"&gt;SELECT TOOLS WITH EITHER SBML IMPORT&amp;#160; _ O R _ SBML EXPORT&lt;/p&gt; &lt;/blockquote&gt;  &lt;p align="justify"&gt;rather than&lt;/p&gt;  &lt;blockquote&gt;   &lt;p align="justify"&gt;SELECT TOOLS WITH EITHER SBML IMPORT _ A N D _ SBML EXPORT.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p align="justify"&gt;With this in mind I believe it is still possible to query the data easily (although I’m aware of at least 2 people that would disagree with this statement). I will revisit this as soon as Silverlight 5 is released this promises a modification of that behavior. &lt;/p&gt;  &lt;p align="justify"&gt;I also would like to attract your attention to the controls on the top of the control: &lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://lh6.ggpht.com/-tBrHcrq6nVo/TjXVq2FpJXI/AAAAAAAAAJ8/RSBWVCga8qM/s1600-h/image%25255B11%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/-r87Fr-6s9nA/TjXVrILJNrI/AAAAAAAAAKA/tUfdRJfln8A/image_thumb%25255B3%25255D.png?imgmax=800" width="244" height="37" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;this allows to configure how the information is displayed. You can choose to display the information either tiled to see all selected tools at a glance: &lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://lh3.ggpht.com/-oX5hwyVk10s/TjXVrmkfH5I/AAAAAAAAAKE/ocHUTwUiD64/s1600-h/image%25255B14%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/-GwypiOSx-4Q/TjXVr4aL8HI/AAAAAAAAAKI/macW9cBkwT0/image_thumb%25255B4%25255D.png?imgmax=800" width="244" height="192" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;Or as a bar graph, which makes it easy to compare specific aspects of the tools (such as which tools are available on which platform): &lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://lh4.ggpht.com/-shqcph3BTfw/TjXVses5BMI/AAAAAAAAAKM/t8sF0FQ-Ui4/s1600-h/image%25255B17%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-xIodgPXoaN8/TjXVskTiMlI/AAAAAAAAAKQ/osC490GYtD4/image_thumb%25255B5%25255D.png?imgmax=800" width="244" height="206" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;I will continue to update the index whenever new entries are submitted. &lt;/p&gt;  &lt;h2 align="justify"&gt;KNOWN ISSUES&lt;/h2&gt;  &lt;p align="justify"&gt;Unfortunately at the time of this writing it was not possible to run the site using &lt;a href="http://www.mono-project.com/Moonlight" target="_blank"&gt;Moonlight&lt;/a&gt;. I know that the mono team is working tirelessly and so hope that this will be resolved in due time. Until then the index is only available on OSX and Windows. I’m sorry for the inconvenience.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-2591990757459226091?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/2591990757459226091/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=2591990757459226091' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/2591990757459226091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/2591990757459226091'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2011/07/sbml-software-index-on.html' title='SBML Software Index on  http://sysbioapps.dyndns.org'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/-8Z2LLDicF8A/TjXVp4IvT6I/AAAAAAAAAJw/dcTUO3kE5-o/s72-c/image_thumb.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-1234138461666745036</id><published>2011-07-23T18:16:00.001-07:00</published><updated>2011-07-23T18:16:59.569-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sed-ml'/><category scheme='http://www.blogger.com/atom/ns#' term='SBML'/><category scheme='http://www.blogger.com/atom/ns#' term='standardization'/><title type='text'>SED-ML Web Service</title><content type='html'>&lt;p&gt;With the latest version of the SED-ML Web Services I also released a first version of a web service. It is online here: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://sysbioapps.dyndns.org/SED-ML%20Web%20Tools/Services/SedMLService.asmx"&gt;http://sysbioapps.dyndns.org/SED-ML%20Web%20Tools/Services/SedMLService.asmx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;For the WSDL use: &lt;/p&gt;  &lt;p&gt;&lt;a title="http://sysbioapps.dyndns.org/SED-ML%20Web%20Tools/Services/SedMLService.asmx?WSDL" href="http://sysbioapps.dyndns.org/SED-ML%20Web%20Tools/Services/SedMLService.asmx?WSDL"&gt;http://sysbioapps.dyndns.org/SED-ML%20Web%20Tools/Services/SedMLService.asmx?WSDL&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Current functionality includes converting between SED-ML and SED-ML script, validating SED-ML and to generate SED-ML from scratch. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/-DN1OxQi1vUw/TityiTX7b6I/AAAAAAAAAJk/OtAB5NabmyU/s1600-h/image%25255B2%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/-17GewIZ1rEs/Tityi7ouUCI/AAAAAAAAAJo/mEbygs1oerI/image_thumb.png?imgmax=800" width="244" height="139" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;You can access the methods using SOAP as well as REST (HTTP GET / HTTP POST) requests. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-1234138461666745036?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/1234138461666745036/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=1234138461666745036' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/1234138461666745036'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/1234138461666745036'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2011/07/sed-ml-web-service.html' title='SED-ML Web Service'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/-17GewIZ1rEs/Tityi7ouUCI/AAAAAAAAAJo/mEbygs1oerI/s72-c/image_thumb.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-1315300950265050925</id><published>2011-07-23T16:34:00.001-07:00</published><updated>2011-07-23T16:34:46.079-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='roadRunner'/><category scheme='http://www.blogger.com/atom/ns#' term='sed-ml'/><category scheme='http://www.blogger.com/atom/ns#' term='SBML'/><category scheme='http://www.blogger.com/atom/ns#' term='standardization'/><title type='text'>Updated SED-ML Web Tools (now with editing of SED-ML descriptions)</title><content type='html'>&lt;p&gt;I’ve just released a new version of the SED-ML Web Tools they as always available from: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://sysbioapps.dyndns.org/SED-ML Web Tools/Home/" target="_blank"&gt;http://sysbioapps.dyndns.org/SED-ML Web Tools/Home/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The new version allows to edit the loaded model either by directly manipulating the XML, or by altering the model using the &lt;a href="http://precedings.nature.com/documents/6105/version/1" target="_blank"&gt;SED-ML Script Language&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Here a simple tutorial of creating a new SED-ML description from an SBML model and then modifying it using SED-ML Script. &lt;/p&gt; &lt;center&gt;&lt;object id="scPlayer"  width="326" height="268" type="application/x-shockwave-flash" data="http://content.screencast.com/users/fbergman/folders/Jing/media/94be52ea-6f3e-408c-9c45-5e6306f60ead/jingswfplayer.swf" &gt;   &lt;param name="movie" value="http://content.screencast.com/users/fbergman/folders/Jing/media/94be52ea-6f3e-408c-9c45-5e6306f60ead/jingswfplayer.swf" /&gt;   &lt;param name="quality" value="high" /&gt;   &lt;param name="bgcolor" value="#FFFFFF" /&gt;   &lt;param name="flashVars" value="thumb=http://content.screencast.com/users/fbergman/folders/Jing/media/94be52ea-6f3e-408c-9c45-5e6306f60ead/FirstFrame.jpg&amp;amp;containerwidth=1062&amp;amp;containerheight=877&amp;amp;content=http://content.screencast.com/users/fbergman/folders/Jing/media/94be52ea-6f3e-408c-9c45-5e6306f60ead/Creating%20a%20Simple%20SED-ML%20file.swf&amp;amp;blurover=false" /&gt;   &lt;param name="allowFullScreen" value="true" /&gt;   &lt;param name="scale" value="showall" /&gt;   &lt;param name="allowScriptAccess" value="always" /&gt;   &lt;param name="base" value="http://content.screencast.com/users/fbergman/folders/Jing/media/94be52ea-6f3e-408c-9c45-5e6306f60ead/" /&gt;  Unable to display content. Adobe Flash is required. &lt;/object&gt;&lt;/center&gt;  &lt;p&gt;As always I look forward to your feedback. To make it easier to collect I’ve signed up with idea informer, so there is now an orange feedback button right there on the page. That makes it easy to request your feature requests: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-tbrqeUHbb-g/TitakzEvSpI/AAAAAAAAAJc/x2mWfcPCfv4/s1600-h/image%25255B2%25255D.png"&gt;&lt;img style="background-image: none; border-right-width: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto; padding-top: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/-yD7-EtgeU1s/TitalKN66aI/AAAAAAAAAJg/2QkHdpySGjY/image_thumb.png?imgmax=800" width="244" height="204" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-1315300950265050925?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/1315300950265050925/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=1315300950265050925' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/1315300950265050925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/1315300950265050925'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2011/07/updated-sed-ml-web-tools-now-with.html' title='Updated SED-ML Web Tools (now with editing of SED-ML descriptions)'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/-yD7-EtgeU1s/TitalKN66aI/AAAAAAAAAJg/2QkHdpySGjY/s72-c/image_thumb.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-2706351699654128654</id><published>2011-07-03T18:09:00.001-07:00</published><updated>2011-07-03T18:09:02.834-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='roadRunner'/><category scheme='http://www.blogger.com/atom/ns#' term='sed-ml'/><category scheme='http://www.blogger.com/atom/ns#' term='SBML'/><title type='text'>Creating SED-ML for SBML models</title><content type='html'>&lt;p&gt;I have just released a new version of the SED-ML Web Tools. This version creates SED-ML models for SBML files. Have a look here: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://sysbioapps.dyndns.org/SED-ML%20Web%20Tools/Home/Create" target="_blank"&gt;http://sysbioapps.dyndns.org/SED-ML%20Web%20Tools/Home/Create&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;All that is needed is to fill out this form: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/-OBQ3U8LAccw/ThESrMe18xI/AAAAAAAAAJU/cQvQsNS-B54/s1600-h/image%25255B2%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/--0L4xhBDHVs/ThESrujkw7I/AAAAAAAAAJY/BivL4ovZDK4/image_thumb.png?imgmax=800" width="156" height="244" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;After that the SED-ML description can be executed, or downloaded. More advanced options (such as creating SED-ML descriptions for CellML models) is available in the SED-ML Script Editor: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://sf.net/projects/libsedml/files/" target="_blank"&gt;sf.net/projects/libsedml/files/&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-2706351699654128654?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/2706351699654128654/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=2706351699654128654' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/2706351699654128654'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/2706351699654128654'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2011/07/creating-sed-ml-for-sbml-models.html' title='Creating SED-ML for SBML models'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/--0L4xhBDHVs/ThESrujkw7I/AAAAAAAAAJY/BivL4ovZDK4/s72-c/image_thumb.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-8536729758227793799</id><published>2011-06-26T19:49:00.001-07:00</published><updated>2011-06-26T19:49:54.443-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sed-ml'/><category scheme='http://www.blogger.com/atom/ns#' term='SBW'/><category scheme='http://www.blogger.com/atom/ns#' term='SBML'/><category scheme='http://www.blogger.com/atom/ns#' term='standardization'/><title type='text'>SED-ML Web Tools, SED-ML Script Editor  &amp; CellML Simulation Support</title><content type='html'>&lt;p&gt;I’ve just upgraded the SED-ML Web Tools to a newer version. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://sysbioapps.dyndns.org/SED-ML%20Web%20Tools/Home/" target="_blank"&gt;http://sysbioapps.dyndns.org/SED-ML%20Web%20Tools/Home/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This version includes several bug fixes, as well as an experimental version of CellML simulation support. The CellML simulation support is thanks to an executable based on the CellML API provided by David Nickerson. &lt;/p&gt;  &lt;p&gt;To accommodate this there have been several changes to the LibSedML API, where previously the API would have properties like .SBML or functions like GetSBMLId(), now these functions are hidden behind a native interface IModelingLanguage that will be populated based on the Model source URN as provided in the SED-ML file. This should make it easy to provide support for other languages such as NeuroML and VCellML as well. &lt;/p&gt;  &lt;p&gt;I have also released a new version of the SED-ML Script editor. It now allows to open SBML or CellML files directly, for which then a rudimentary SED-ML file will be generated. Later it can be modified for more complex experiments. It also provides SED-ML validation capabilities. This time it is a windows only release (since I only have the CellML simulator as windows binary). It is available from SourceForge: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://sf.net/projects/libsedml/files/" target="_blank"&gt;sf.net/projects/libsedml/files/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/-mgy48Q26-ko/TgfvzpMzsmI/AAAAAAAAAJM/aaxm9MS_Wyk/s1600-h/EditSED-ML%25255B2%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="EditSED-ML" border="0" alt="EditSED-ML" src="http://lh5.ggpht.com/-GXqW_M3Wveg/Tgfvz-1W59I/AAAAAAAAAJQ/qoK7E5xngUY/EditSED-ML_thumb.png?imgmax=800" width="244" height="124" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-8536729758227793799?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/8536729758227793799/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=8536729758227793799' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/8536729758227793799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/8536729758227793799'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2011/06/sed-ml-web-tools-sed-ml-script-editor.html' title='SED-ML Web Tools, SED-ML Script Editor  &amp;amp; CellML Simulation Support'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/-GXqW_M3Wveg/Tgfvz-1W59I/AAAAAAAAAJQ/qoK7E5xngUY/s72-c/EditSED-ML_thumb.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-8528156995787346325</id><published>2011-06-12T18:56:00.001-07:00</published><updated>2011-06-12T18:56:11.251-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sed-ml'/><category scheme='http://www.blogger.com/atom/ns#' term='SBW'/><category scheme='http://www.blogger.com/atom/ns#' term='SBML'/><title type='text'>Introducing the SED-ML Web Tools</title><content type='html'>&lt;p&gt;I’ve spend the weekend working on a new set of tools for simulating and Validating SED-ML files. They are online now under: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://sysbioapps.dyndns.org/SED-ML Web Tools" target="_blank"&gt;http://sysbioapps.dyndns.org/SED-ML Web Tools&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Let us first take a brief tour around the site: &lt;/p&gt;  &lt;object id="scPlayer"  width="326" height="251" type="application/x-shockwave-flash" data="http://content.screencast.com/users/fbergman/folders/Jing/media/0c629c1e-8c13-484c-818c-08d9943d8caa/jingswfplayer.swf" &gt;  &lt;param name="movie" value="http://content.screencast.com/users/fbergman/folders/Jing/media/0c629c1e-8c13-484c-818c-08d9943d8caa/jingswfplayer.swf" /&gt;  &lt;param name="quality" value="high" /&gt;  &lt;param name="bgcolor" value="#FFFFFF" /&gt;  &lt;param name="flashVars" value="thumb=http://content.screencast.com/users/fbergman/folders/Jing/media/0c629c1e-8c13-484c-818c-08d9943d8caa/FirstFrame.jpg&amp;amp;containerwidth=979&amp;amp;containerheight=753&amp;amp;content=http://content.screencast.com/users/fbergman/folders/Jing/media/0c629c1e-8c13-484c-818c-08d9943d8caa/00000020.swf&amp;amp;blurover=false" /&gt;  &lt;param name="allowFullScreen" value="true" /&gt;  &lt;param name="scale" value="showall" /&gt;  &lt;param name="allowScriptAccess" value="always" /&gt;  &lt;param name="base" value="http://content.screencast.com/users/fbergman/folders/Jing/media/0c629c1e-8c13-484c-818c-08d9943d8caa/" /&gt;  Unable to display content. Adobe Flash is required. &lt;/object&gt;  &lt;p&gt;Let me point just a couple of things. &lt;/p&gt;  &lt;h2&gt;Simulation&lt;/h2&gt;  &lt;p&gt;The current implementation will only simulate SBML files, using &lt;a href="http://roadrunner.sf.net" target="_blank"&gt;RoadRunner&lt;/a&gt;. As soon as I find time to update it I will add additional simulators. Currently 3D plots won’t work either. And of course simulation will only work if the model files are either: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;accessible via URNs&lt;/li&gt;    &lt;li&gt;accessible via WEB&lt;/li&gt;    &lt;li&gt;included in the archive. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Simulation already implements the &lt;a href="http://precedings.nature.com/documents/4257/version/1" target="_blank"&gt;Nested Simulation Proposal&lt;/a&gt;. &lt;/p&gt;  &lt;h2&gt;Validation&lt;/h2&gt;  &lt;p&gt;The new thing about the validation is that it also provides an option to fix common errors. This feature can be used to upgrade SED-ML files that were created before SED-ML L1V1 was released! Simply click on ‘Fix common errors’, and then download the file again. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/-sIN2j6V5R8U/TfVuOOOwy_I/AAAAAAAAAJE/zj6h9sFIHoA/s1600-h/FixCommonErrors%25255B2%25255D.png"&gt;&lt;img style="background-image: none; border-bottom: 0px; border-left: 0px; padding-left: 0px; padding-right: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px; padding-top: 0px" title="FixCommonErrors" border="0" alt="FixCommonErrors" src="http://lh5.ggpht.com/-xZwGkU85YKE/TfVuOgfNVoI/AAAAAAAAAJI/mZipTBr9wPY/FixCommonErrors_thumb.png?imgmax=800" width="244" height="98" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Stay tuned for further updates, the next steps will be to Create and Edit simulation experiment descriptions. Also planned are web services that make it easy to create SED-ML files!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-8528156995787346325?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/8528156995787346325/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=8528156995787346325' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/8528156995787346325'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/8528156995787346325'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2011/06/introducing-sed-ml-web-tools.html' title='Introducing the SED-ML Web Tools'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/-xZwGkU85YKE/TfVuOgfNVoI/AAAAAAAAAJI/mZipTBr9wPY/s72-c/FixCommonErrors_thumb.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-7008910857230081453</id><published>2011-04-20T21:30:00.001-07:00</published><updated>2011-04-20T21:30:37.052-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fbc'/><category scheme='http://www.blogger.com/atom/ns#' term='SBML'/><category scheme='http://www.blogger.com/atom/ns#' term='libSBML'/><title type='text'>Flux Balance Constraints for libSBML 5.0.0</title><content type='html'>&lt;p&gt;In time for todays session on SBML at &lt;a href="http://www.biopax.org/harmony.php"&gt;HARMONY 2011&lt;/a&gt; below a set of windows binaries that include libSBML 5.0.0 with the first beta version of the Flux Balance Constraints package. This time the package is implemented using the libSBML 5 extension API, which allows easy interaction with SBML Level 3 extensions. &lt;/p&gt;  &lt;p&gt;For more information about the Flux Balance Constraints package, please have a look at the &lt;a href="http://sbml.org/Community/Wiki/SBML_Level_3_Proposals/Flux_Constraints" target="_blank"&gt;proposal page&lt;/a&gt;. On that page you find a detailed description about the current proposal, as well as links to &lt;a href="http://sbml.svn.sourceforge.net/viewvc/sbml/branches/libsbml-packages/fbc/examples/" target="_blank"&gt;examples&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Below you find full installers (including C#, Java, Perl and Python bindings) as well as python bindings for specific versions of Python. &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://cl.ly/6BHC" target="_blank"&gt;libSBML 5.0.0 + FBC full installer (Win32)&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://cl.ly/6Bio" target="_blank"&gt;libSBML 5.0.0 + FBC full installer (Win64)&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://cl.ly/6AFc" target="_blank"&gt;libSBML 5.0.0 + FBC python 2.5 (Win32)&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://cl.ly/6Anm" target="_blank"&gt;libSBML 5.0.0 + FBC python 2.6 (Win64)&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://cl.ly/6B5F" target="_blank"&gt;libSBML 5.0.0 + FBC python 2.6 (Win32)&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://cl.ly/6B4v" target="_blank"&gt;libSBML 5.0.0 + FBC python 2.7 (Win64)&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://cl.ly/6BXB" target="_blank"&gt;libSBML 5.0.0 + FB&lt;u&gt;&lt;font color="#aadd99"&gt;C&lt;/font&gt;&lt;/u&gt; python 2.7 (Win32)&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;If you don’t use Windows and still would like to try out the FBC package on your platform, I have a source package. In order to use this, download the libSBML 5 source distribution, as well as the fbc-package, then extract the fbc-package into the libsbml 5 source tree. Next, use CMake to configure the program to your needs, ensuring to set ENABLE_FBC=ON (or in the UI check the ENABLE_FBC option). &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;&lt;a href="https://sourceforge.net/projects/sbml/files/libsbml/5.0.0/libSBML-5.0.0-src.tar.gz/download" target="_blank"&gt;libSBML 5.0.0 source release&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="https://sourceforge.net/projects/sbml/files/libsbml/5.0-packages-beta/fbc-5.0.0-beta-1.zip/download" target="_blank"&gt;fbc-package-beta-1&lt;/a&gt;&lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Please let me know how the package is working for you. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-7008910857230081453?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/7008910857230081453/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=7008910857230081453' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/7008910857230081453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/7008910857230081453'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2011/04/flux-balance-constraints-for-libsbml.html' title='Flux Balance Constraints for libSBML 5.0.0'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-7349572351803585453</id><published>2011-03-18T08:51:00.001-07:00</published><updated>2011-03-18T08:51:36.356-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Export'/><category scheme='http://www.blogger.com/atom/ns#' term='mono'/><category scheme='http://www.blogger.com/atom/ns#' term='SBW'/><category scheme='http://www.blogger.com/atom/ns#' term='SBML'/><category scheme='http://www.blogger.com/atom/ns#' term='standardization'/><title type='text'>Support for SBGN-ML</title><content type='html'>&lt;p&gt;The recent release of &lt;a href="http://frank-fbergmann.blogspot.com/2011/03/systems-biology-workbench-sbw-282.html"&gt;SBW 2.8.2&lt;/a&gt; adds support for SBGN-ML to the Systems Biology Workbench. This has been implemented using the &lt;a href="http://sbmllayout.sourceforge.net/SBMLLayout/Welcome.html"&gt;SBML Layout Library&lt;/a&gt;, a .NET library that reads layout and rendering information from SBML models. This library is available separately and is used in many projects for example: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://jdesigner.sourceforge.net/Site/Auto_Layout.html"&gt;Auto Layout&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://sys-bio.org/Layout"&gt;Layout Web Application&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://sys-bio.org/"&gt;Layout Web Service&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://benzaiten.sf.net"&gt;BenZaiTen&lt;/a&gt; (no public release)&lt;/li&gt;    &lt;li&gt;&lt;a href="http://sys-bio.org/fbergman/Simulate3D.htm"&gt;Simulate 3D&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Of course it can also be used directly in any .NET application. The easiest way to get started is this: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;install SBW (this will install the latest version of the layout lib)&lt;/li&gt;    &lt;li&gt;start Visual Studio&lt;/li&gt;    &lt;li&gt;add a reference to the SBMLExtension.dll as can be found in C:\Program Files (x86)\KGI\SBW\Layout to a new project (any .net language can be used). &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Before we get started let us make sure we have some SBGN-ML files available, so at this point you would download a couple .sbgn files from the &lt;a href="http://libsbgn.svn.sourceforge.net/viewvc/libsbgn/trunk/test-files/"&gt;SBGN-ML repository&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;The SBML Layout library converts all layout annotation it understands into the SBML Layout and Rendering Annotations. This is done by using: &lt;/p&gt;  &lt;p&gt;&lt;font face="Consolas"&gt;var layout = Util.readLayoutFromFile(@”path/filename”);&lt;/font&gt;&lt;/p&gt;  &lt;p&gt;where the&amp;#160; &lt;em&gt;filename&lt;/em&gt; could be an SBML file with layout annotations (JDesigner / JDesigner 2 annotations, SBML Layout / SBML Rendering information, CellDesigner annotations (experimental)) or an SBGN-ML file. &lt;/p&gt;  &lt;p&gt;So if you wanted to convert SBGN-ML to a PNG file all you would need is a bit of code like this: &lt;/p&gt;  &lt;p&gt;&lt;font face="Consolas"&gt;var layout = Util.readLayoutFromFile(filename);     &lt;br /&gt;var name = Path.GetFileNameWithoutExtension(filename);      &lt;br /&gt;var outname = Path.Combine(outDir, name + &amp;quot;.png&amp;quot;);      &lt;br /&gt;layout.ToImage().Save(outname);&lt;/font&gt;&lt;/p&gt;  &lt;h5&gt;Limitations&lt;/h5&gt;  &lt;p&gt;At this point the library does not allow to write out SBGN-ML, if that is a feature that is important to you, please let me know. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-7349572351803585453?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/7349572351803585453/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=7349572351803585453' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/7349572351803585453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/7349572351803585453'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2011/03/support-for-sbgn-ml.html' title='Support for SBGN-ML'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-6195325471848934916</id><published>2011-03-18T00:13:00.001-07:00</published><updated>2011-03-18T00:13:19.560-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='roadRunner'/><category scheme='http://www.blogger.com/atom/ns#' term='sed-ml'/><category scheme='http://www.blogger.com/atom/ns#' term='SBW'/><category scheme='http://www.blogger.com/atom/ns#' term='SBML'/><category scheme='http://www.blogger.com/atom/ns#' term='JDesigner'/><title type='text'>Systems Biology Workbench (SBW) 2.8.2 Released</title><content type='html'>&lt;p&gt;We are pleased to announce the a release of the Systems Biology Workbench 2.8.2, available from:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sys-bio.org"&gt;http://sys-bio.org&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The Systems Biology Workbench (SBW), is a software framework that allows heterogeneous application components-written in diverse programming languages and running on different platforms - to communicate and use each other's capabilities via a fast binary encoded-message system. Our goal was to create a simple, high performance, open-source software infrastructure which is easy to implement and understand. SBW enables applications (potentially running on separate, distributed computers) to communicate via a simple network protocol. &lt;/p&gt;  &lt;p&gt;The interfaces to the system are encapsulated in client-side libraries that we provide for different programming languages. &lt;/p&gt;  &lt;p&gt;Major changes in this release: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Updated JDesigner&lt;/li&gt;    &lt;li&gt;Improved event support in RoadRunner, &lt;/li&gt;    &lt;li&gt;Support of SBGN-ML (from SBML Layout)&lt;/li&gt;    &lt;li&gt;Support of SED-ML L1V1 (from the Simulation Tool)&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;For a full list of changes see: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://sys-bio.org/changelog"&gt;http://sys-bio.org/changelog&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;As always we appreciate any feedback from users send to:&lt;/p&gt;  &lt;p&gt;&lt;a href="mailto:sbwteam@gmail.com"&gt;sbwteam@gmail.com&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Enjoy&lt;/p&gt;  &lt;p&gt;- Frank&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-6195325471848934916?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/6195325471848934916/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=6195325471848934916' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/6195325471848934916'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/6195325471848934916'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2011/03/systems-biology-workbench-sbw-282.html' title='Systems Biology Workbench (SBW) 2.8.2 Released'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-4995344889484033295</id><published>2010-08-09T10:04:00.001-07:00</published><updated>2010-08-09T10:04:40.200-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='roadRunner'/><category scheme='http://www.blogger.com/atom/ns#' term='mono'/><category scheme='http://www.blogger.com/atom/ns#' term='SBW'/><title type='text'>Writing Plug-ins for the Simulation Tool – Part 2 – Setup - MonoDevelop</title><content type='html'>&lt;h2&gt;MonoDevelop&lt;/h2&gt;  &lt;p&gt;&lt;a href="http://monodevelop.com" target="_blank"&gt;MonoDevelop&lt;/a&gt; is a free IDE by Novell, that is available on all operating systems. IT does not feature a visual designer and has no advanced debugging facilities as we see them in Visual Studio but it still is quite good. So let us try and create a project by hand that would create the above plug-in.&amp;#160; To make this authentic I add screenshots from doing it on OS X 10.6. &lt;/p&gt;  &lt;p&gt;First let us start MonoDevelop and create a new Project: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_LvzJ3dV9uLE/TFsj3DvH1HI/AAAAAAAAAHU/JHmvOI6B0z0/s1600-h/Screen%20shot%202010-08-05%20at%2011.59.56%20AM%5B1%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Screen shot 2010-08-05 at 11.59.56 AM" border="0" alt="Screen shot 2010-08-05 at 11.59.56 AM" src="http://lh4.ggpht.com/_LvzJ3dV9uLE/TFsj3rOSd8I/AAAAAAAAAHY/4SIyPV43j58/Screen%20shot%202010-08-05%20at%2011.59.56%20AM_thumb%5B1%5D.png?imgmax=800" width="244" height="144" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Next let us load all the required libraries (I’ve copied the files from the SBW Installation, which is either in /Application/SBW/lib or ~/SBW/lib on Linux): &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_LvzJ3dV9uLE/TGA1DnlPO_I/AAAAAAAAAHc/RWGJovp2SWs/s1600-h/Screen%20shot%202010-08-05%20at%2012.00.20%20PM%5B1%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Screen shot 2010-08-05 at 12.00.20 PM" border="0" alt="Screen shot 2010-08-05 at 12.00.20 PM" src="http://lh5.ggpht.com/_LvzJ3dV9uLE/TGA1EMwgNDI/AAAAAAAAAHk/dUY8FtxfmmY/Screen%20shot%202010-08-05%20at%2012.00.20%20PM_thumb%5B1%5D.png?imgmax=800" width="244" height="139" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;don’t forget to add System.Drawing and System.Windows.Forms from the GAC. The result should look like this: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_LvzJ3dV9uLE/TGA1EhXV5wI/AAAAAAAAAHo/id7zJMmjSqE/s1600-h/Screenshot20100805at12.18.47PM2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Screen shot 2010-08-05 at 12.18.47 PM" border="0" alt="Screen shot 2010-08-05 at 12.18.47 PM" src="http://lh3.ggpht.com/_LvzJ3dV9uLE/TGA1ExHXqvI/AAAAAAAAAHs/iVQtFzpxViw/Screenshot20100805at12.18.47PM_thumb.png?imgmax=800" width="244" height="144" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;(I went ahead and already copied some code for a plug-in into my project)&amp;#160; &lt;/p&gt;  &lt;p&gt;When this is loaded let us modify the project settings:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_LvzJ3dV9uLE/TGA1Frr1INI/AAAAAAAAAHw/Fmx1bE5ow5U/s1600-h/Screen%20shot%202010-08-05%20at%2012.23.05%20PM.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Screen shot 2010-08-05 at 12.23.05 PM" border="0" alt="Screen shot 2010-08-05 at 12.23.05 PM" src="http://lh3.ggpht.com/_LvzJ3dV9uLE/TGA1F1dvzbI/AAAAAAAAAH0/TF_rIAKJwks/Screen%20shot%202010-08-05%20at%2012.23.05%20PM_thumb.png?imgmax=800" width="244" height="104" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Here we can change the default namespace: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_LvzJ3dV9uLE/TGA1GMeyi8I/AAAAAAAAAH4/DFzBSXwK6ww/s1600-h/Screen%20shot%202010-08-05%20at%2012.23.21%20PM.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Screen shot 2010-08-05 at 12.23.21 PM" border="0" alt="Screen shot 2010-08-05 at 12.23.21 PM" src="http://lh3.ggpht.com/_LvzJ3dV9uLE/TGA1GikM-HI/AAAAAAAAAH8/jtzscPsMnh8/Screen%20shot%202010-08-05%20at%2012.23.21%20PM_thumb.png?imgmax=800" width="244" height="162" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;and the target machine (x86):&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_LvzJ3dV9uLE/TGA1HBt205I/AAAAAAAAAIA/yof7ILLh5_0/s1600-h/Screenshot20100805at12.23.49PM2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Screen shot 2010-08-05 at 12.23.49 PM" border="0" alt="Screen shot 2010-08-05 at 12.23.49 PM" src="http://lh3.ggpht.com/_LvzJ3dV9uLE/TGA1HQgdTSI/AAAAAAAAAIE/0P20FTwKhgs/Screenshot20100805at12.23.49PM_thumb.png?imgmax=800" width="244" height="177" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;And the output directory:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_LvzJ3dV9uLE/TGA1H2e2rNI/AAAAAAAAAII/Gii2Mfj2prw/s1600-h/Screenshot20100805at12.24.12PM2.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Screen shot 2010-08-05 at 12.24.12 PM" border="0" alt="Screen shot 2010-08-05 at 12.24.12 PM" src="http://lh3.ggpht.com/_LvzJ3dV9uLE/TGA1IDbuM-I/AAAAAAAAAIM/NWeCZZzH8G4/Screenshot20100805at12.24.12PM_thumb.png?imgmax=800" width="244" height="176" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;The output directory should *for now* be the SBW lib directory (that is where all the C# assemblies are). Under Linux that would be: &lt;/p&gt;  &lt;p&gt;~/SBW/lib&lt;/p&gt;  &lt;p&gt;and on OSX it is /Applications/SBW/lib. &lt;/p&gt;  &lt;p&gt;for now this should be the same as the SBW one.&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;All this has been saved in this project: &lt;/p&gt;  &lt;p&gt;&lt;a title="https://sourceforge.net/downloads/sbwsimtool/mono-sample-project/v1/" href="https://sourceforge.net/downloads/sbwsimtool/mono-sample-project/v1/"&gt;https://sourceforge.net/downloads/sbwsimtool/mono-sample-project/v1/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;(It already uses the output directory /Application/SBW/lib as needed for OS X 10.6)&lt;/p&gt;  &lt;p&gt;Unfortunately, similarly to Visual Studio Express there is no debugging support for Libraries … thus after a build you will need to start the simulation tool manually. (for example by double clicking on the Simulation Tool in /Applications/SBW (on OS X), or by launching ~/SBW/Simulation Tool … or if the SBW/bin is in the path by starting sbw_simultool. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_LvzJ3dV9uLE/TGA1IoDYA8I/AAAAAAAAAIQ/YnMCwUxB6yU/s1600-h/Screen%20shot%202010-08-05%20at%202.48.26%20PM.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Screen shot 2010-08-05 at 2.48.26 PM" border="0" alt="Screen shot 2010-08-05 at 2.48.26 PM" src="http://lh6.ggpht.com/_LvzJ3dV9uLE/TGA1JBzZbLI/AAAAAAAAAIU/UTP6B5CtT1I/Screen%20shot%202010-08-05%20at%202.48.26%20PM_thumb.png?imgmax=800" width="244" height="140" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;if you test it with ‘oscli.xml’ you see this: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_LvzJ3dV9uLE/TGA1JTRn3TI/AAAAAAAAAIY/t12kLhbLZGQ/s1600-h/Screen%20shot%202010-08-05%20at%202.49.05%20PM.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="Screen shot 2010-08-05 at 2.49.05 PM" border="0" alt="Screen shot 2010-08-05 at 2.49.05 PM" src="http://lh3.ggpht.com/_LvzJ3dV9uLE/TGA1Jw5buSI/AAAAAAAAAIc/KU5J-KQFCAM/Screen%20shot%202010-08-05%20at%202.49.05%20PM_thumb.png?imgmax=800" width="244" height="171" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-4995344889484033295?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/4995344889484033295/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=4995344889484033295' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/4995344889484033295'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/4995344889484033295'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2010/08/writing-plug-ins-for-simulation-tool_09.html' title='Writing Plug-ins for the Simulation Tool – Part 2 – Setup - MonoDevelop'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_LvzJ3dV9uLE/TFsj3rOSd8I/AAAAAAAAAHY/4SIyPV43j58/s72-c/Screen%20shot%202010-08-05%20at%2011.59.56%20AM_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-4239087521717372771</id><published>2010-08-05T13:49:00.003-07:00</published><updated>2010-08-05T13:49:49.736-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='roadRunner'/><category scheme='http://www.blogger.com/atom/ns#' term='mono'/><category scheme='http://www.blogger.com/atom/ns#' term='SBW'/><title type='text'>Writing Plug-ins for the Simulation Tool – Part 3 – Setup – Command Line</title><content type='html'>&lt;h2&gt;Command Line&lt;/h2&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;for the command line compilation 1st ensure that you have mono installed (&lt;a href="http://mono-project.com/Downloads"&gt;http://mono-project.com/Downloads&lt;/a&gt;) (or on windows .NET 3.5 has to be installed). Next download the project we created above: &lt;/p&gt;  &lt;p&gt;&lt;a title="https://sourceforge.net/downloads/sbwsimtool/mono-sample-project/v1/" href="https://sourceforge.net/downloads/sbwsimtool/mono-sample-project/v1/"&gt;https://sourceforge.net/downloads/sbwsimtool/mono-sample-project/v1/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;once extracted you can compile those files from the command line using: &lt;/p&gt;  &lt;p&gt;gmcs *.cs -r:3rdParty/Microsoft.ComponentModel.Composition.Diagnostics.dll -r:3rdParty/SimulationToolAPI.dll -r:3rdParty/System.ComponentModel.Composition.dll&amp;#160; -r:3rdParty/ZedGraph.dll&amp;#160; -r:System.Windows.Forms -r:System.Drawing -target:library -platform:x86 -out:SimulationToolPlugin1.dll&lt;/p&gt;  &lt;p&gt;on mono or: &lt;/p&gt;  &lt;p&gt;\Windows\Microsoft.NET\Framework\v3.5\csc.exe&amp;#160; -r:3rdParty/Microsoft.ComponentModel.Composition.Diagnostics.dll -r:3rdParty/SimulationToolAPI.dll -r:3rdParty/System.ComponentModel.Composition.dll&amp;#160; -r:3rdParty/ZedGraph.dll&amp;#160; -target:library -platform:x86 -out:SimulationToolPlugin1.dll *.cs&lt;/p&gt;  &lt;p&gt;using microsofts compiler. &lt;/p&gt;  &lt;p&gt;next you copy the resulting SimulationToolPlugin1.dll into the SBW directory: &lt;/p&gt;  &lt;p&gt;~/SBW/lib on linux&lt;/p&gt;  &lt;p&gt;/Applications/SBW/lib on OS X&lt;/p&gt;  &lt;p&gt;c:\program files\KGI\SBW\roadrunner on win32 and&lt;/p&gt;  &lt;p&gt;C:\Program Files (x86)\KGI\SBW\roadrunner on win64. &lt;/p&gt;  &lt;p&gt;Now if you start the simulation tool you again should see the newly build plug-in in an unnamed category. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-4239087521717372771?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/4239087521717372771/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=4239087521717372771' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/4239087521717372771'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/4239087521717372771'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2010/08/writing-plug-ins-for-simulation-tool_05.html' title='Writing Plug-ins for the Simulation Tool – Part 3 – Setup – Command Line'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-537312463001216904</id><published>2010-08-05T13:49:00.001-07:00</published><updated>2010-08-05T13:49:09.231-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='roadRunner'/><category scheme='http://www.blogger.com/atom/ns#' term='mono'/><category scheme='http://www.blogger.com/atom/ns#' term='SBW'/><title type='text'>Writing Plug-ins for the Simulation Tool – Part 1 – Setup - Visual Studio</title><content type='html'>&lt;p align="justify"&gt;With the release 2.8.1 of the &lt;a href="http://sys-bio.org" target="_blank"&gt;Systems Biology Workbench&lt;/a&gt; the &lt;a href="http://sbwsimtool.sf.net/" target="_blank"&gt;Simulation Tool&lt;/a&gt; now has a plug-in system based on &lt;a href="http://mef.codeplex.com" target="_blank"&gt;MEF&lt;/a&gt;. This enabled me to enhance the simulation tool by both new layouts (changing the look and feel) as well as include new Simulation Experiments (like the Signal Injection plug-in). But now that we have this new plug-in API it also allows Y O U to write for it. And I’m excited to see&amp;#160; Y O U R contributions. (I’m preparing a online repository for plug-ins). So how do you write these plug-ins? In this series I show you how to set up the IDE, so that you can start writing plug-ins, and then give a couple of examples of simple plug-ins one could write. &lt;/p&gt;  &lt;p align="justify"&gt;There are three ways that I envision people would write plug-ins: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;using Visual Studio (2010 / 2008 / Express (free))&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;using MonoDevelop (&lt;a title="http://monodevelop.com/" href="http://monodevelop.com/"&gt;http://monodevelop.com/&lt;/a&gt;)&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;using the command line (either on windows / posix)&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;h2&gt;Visual Studio&lt;/h2&gt;  &lt;p&gt;Visual Studio is my tool of choice when it comes to programming. Luckily most universities have contracts with microsoft, so ask your IT department for a copy (ours had 2010 Ultimate!). If they don’t you still have the option of getting a full version at dreamspark:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;a title="https://www.dreamspark.com/" href="https://www.dreamspark.com/"&gt;https://www.dreamspark.com/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Or of course the express editions will work: &lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.microsoft.com/express/Default.aspx" href="http://www.microsoft.com/express/Default.aspx"&gt;http://www.microsoft.com/express/Default.aspx&lt;/a&gt;.&lt;/p&gt;  &lt;p&gt;In the following I use screenshots from Visual Studio 2010, but the same will apply to Visual Studio 2008 and Express editions. &lt;/p&gt;  &lt;p&gt;In order to ease the process of writing plug-ins I have created Visual Studio Templates. You can download them from: &lt;/p&gt;  &lt;p&gt;&lt;a title="http://sourceforge.net/downloads/sbwsimtool/visual-studio-templates/v1" href="http://sourceforge.net/downloads/sbwsimtool/visual-studio-templates/v1"&gt;http://sourceforge.net/downloads/sbwsimtool/visual-studio-templates/v1&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;simply download the Zip files and place them into: &lt;/p&gt;  &lt;p&gt;C:\Users\fbergmann\Documents\Visual Studio 2010\Templates\ProjectTemplates\Visual C#&lt;/p&gt;  &lt;p&gt;(just replace fbergmann with whatever your user name is). The same templates also work for Visual Studio 2008 where you place them into: &lt;/p&gt;  &lt;p&gt;C:\Users\fbergmann\Documents\Visual Studio 2008\Templates\ProjectTemplates\Visual C#&lt;/p&gt;  &lt;p&gt;Once this is done start Visual Studio and create a new project. Now in the template wizard you can simply select the SimulationToolPlugin template: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_LvzJ3dV9uLE/TFsiADN20xI/AAAAAAAAAGM/U1LQLkYWjVw/s1600-h/Screen%20shot%202010-08-05%20at%2010.59.59%20AM%5B2%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Screen shot 2010-08-05 at 10.59.59 AM" border="0" alt="Screen shot 2010-08-05 at 10.59.59 AM" src="http://lh5.ggpht.com/_LvzJ3dV9uLE/TFsiASTwWNI/AAAAAAAAAGQ/HfWtj5LszDU/Screen%20shot%202010-08-05%20at%2010.59.59%20AM_thumb.png?imgmax=800" width="244" height="171" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Once you confirm the new project will be created and loaded. The code already implements a simple plug-in. So let us set up the properties, so that we can run it. For this go to &lt;/p&gt;  &lt;p&gt;Project\SimulationTool1Plugin Properties&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_LvzJ3dV9uLE/TFsiAvkFdpI/AAAAAAAAAGU/OppCdLH-g1c/s1600-h/Screen%20shot%202010-08-05%20at%2011.05.23%20AM%5B2%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Screen shot 2010-08-05 at 11.05.23 AM" border="0" alt="Screen shot 2010-08-05 at 11.05.23 AM" src="http://lh5.ggpht.com/_LvzJ3dV9uLE/TFsiBBf97ZI/AAAAAAAAAGY/o_QTE_AwMnE/Screen%20shot%202010-08-05%20at%2011.05.23%20AM_thumb.png?imgmax=800" width="244" height="169" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Here you want to change the ‘Assembly Information’ to provide a short description of your plug-in an set your Copyright information. Next you might want to change the Default Namespace and the Assembly Name. My recommendation is to use the same name for both. The Assembly Name controls what the name of the resulting .DLL will be. &lt;/p&gt;  &lt;p&gt;Next let us flip to the Build tab: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_LvzJ3dV9uLE/TFsiBebF95I/AAAAAAAAAGc/rqJlTpawcqs/s1600-h/Screen%20shot%202010-08-05%20at%2011.08.40%20AM%5B2%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Screen shot 2010-08-05 at 11.08.40 AM" border="0" alt="Screen shot 2010-08-05 at 11.08.40 AM" src="http://lh6.ggpht.com/_LvzJ3dV9uLE/TFsiBlJ4wCI/AAAAAAAAAGg/CeZPlRyatgM/Screen%20shot%202010-08-05%20at%2011.08.40%20AM_thumb.png?imgmax=800" width="244" height="205" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The key&amp;#160; elements here are: The platform target: make sure to select x86 (as the simulation tool uses native libraries that are compiled for 32bit only). The output path: &lt;/p&gt;  &lt;p&gt;you want to set this one *for now* to the directory of the Simulation Tool: &lt;/p&gt;  &lt;p&gt;C:\Program Files (x86)\KGI\SBW\roadrunner&lt;/p&gt;  &lt;p&gt;on 64-bit systems and: &lt;/p&gt;  &lt;p&gt;C:\Program Files\KGI\SBW\roadrunner&lt;/p&gt;  &lt;p&gt;on 32 bit systems. &lt;/p&gt;  &lt;p&gt;Finally, let us set up how to start the debug session: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_LvzJ3dV9uLE/TFsiB0tExYI/AAAAAAAAAGk/3mGshs9Gd9s/s1600-h/Screen%20shot%202010-08-05%20at%2011.15.02%20AM%5B2%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Screen shot 2010-08-05 at 11.15.02 AM" border="0" alt="Screen shot 2010-08-05 at 11.15.02 AM" src="http://lh4.ggpht.com/_LvzJ3dV9uLE/TFsiCDJ8abI/AAAAAAAAAGo/D1wTLE3l1B8/Screen%20shot%202010-08-05%20at%2011.15.02%20AM_thumb.png?imgmax=800" width="244" height="206" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;we want to start an external program: &lt;/p&gt;  &lt;p&gt;C:\Program Files (x86)\KGI\SBW\roadrunner\SimDriverNET.exe or&lt;/p&gt;  &lt;p&gt;C:\Program Files\KGI\SBW\roadrunner\SimDriverNET.exe&lt;/p&gt;  &lt;p&gt;and we want to set the working directory to: &lt;/p&gt;  &lt;p&gt;C:\Program Files (x86)\KGI\SBW\roadrunner or &lt;/p&gt;  &lt;p&gt;C:\Program Files\KGI\SBW\roadrunner&lt;/p&gt;  &lt;p&gt;(One note for express users: you won’t be able to start an external program in the express edition … I suggest you choose a Post Build Event to start the SimDriverNET executable by adding: &lt;/p&gt;  &lt;p&gt;cd C:\Program Files\KGI\SBW\roadrunner &amp;amp;&amp;amp; SimDriverNET.exe&lt;/p&gt;  &lt;p&gt;as post build event now after every build you see the simdriver loaded with the new plugin, alas no debugging support.)&lt;/p&gt;  &lt;p&gt;THAT IS IT … now we are ready to test our plug-in! close the property tab and press RUN. Our new plug-in is in an unnamed category so you can easily find it: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_LvzJ3dV9uLE/TFsiCuPak1I/AAAAAAAAAGs/NvcVqUpCwu4/s1600-h/Screen%20shot%202010-08-05%20at%2011.19.33%20AM%5B2%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Screen shot 2010-08-05 at 11.19.33 AM" border="0" alt="Screen shot 2010-08-05 at 11.19.33 AM" src="http://lh5.ggpht.com/_LvzJ3dV9uLE/TFsiCzzOCGI/AAAAAAAAAGw/14tkIe7oenI/Screen%20shot%202010-08-05%20at%2011.19.33%20AM_thumb.png?imgmax=800" width="244" height="181" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;And when you load a model you can perform time course scans by entering values into it. Here a screenshot for the ‘oscli.xml’ file: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_LvzJ3dV9uLE/TFsiDFJz-CI/AAAAAAAAAG0/mIHrAiBVJE8/s1600-h/Screen%20shot%202010-08-05%20at%2011.25.20%20AM%5B2%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Screen shot 2010-08-05 at 11.25.20 AM" border="0" alt="Screen shot 2010-08-05 at 11.25.20 AM" src="http://lh4.ggpht.com/_LvzJ3dV9uLE/TFsiDwtpoRI/AAAAAAAAAG4/xPD6y1Wre88/Screen%20shot%202010-08-05%20at%2011.25.20%20AM_thumb.png?imgmax=800" width="244" height="181" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;This is it you are all set up and ready to play with the plug-in.&amp;#160; &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-537312463001216904?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/537312463001216904/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=537312463001216904' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/537312463001216904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/537312463001216904'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2010/08/writing-plug-ins-for-simulation-tool.html' title='Writing Plug-ins for the Simulation Tool – Part 1 – Setup - Visual Studio'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_LvzJ3dV9uLE/TFsiASTwWNI/AAAAAAAAAGQ/HfWtj5LszDU/s72-c/Screen%20shot%202010-08-05%20at%2010.59.59%20AM_thumb.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-5838483799012882358</id><published>2010-08-05T06:29:00.001-07:00</published><updated>2010-08-05T06:29:09.568-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='compuell'/><category scheme='http://www.blogger.com/atom/ns#' term='SBW'/><title type='text'>Graphical Initializer for CompuCell 3D</title><content type='html'>&lt;p&gt;Currently, I’m with Herbert at the Indiana University, giving our &lt;a href="http://sys-bio.org" target="_blank"&gt;SBW&lt;/a&gt; / &lt;a href="http://www.compucell3d.org" target="_blank"&gt;CompuCell&lt;/a&gt; course. Over dinner we talked about how cumbersome it is to manually edit the Potts Initialization Files (PIF). This made me launch a new open source project, dubbed &lt;a href="http://pidesigner.sf.net" target="_blank"&gt;PifDesigner&lt;/a&gt;. I’ve put together a first prototype for 2D initializations, by either drawing, or initializing from images. The project is: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://pifdesigner.sf.net"&gt;http://pifdesigner.sf.net&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;And here a screenshot of the new website. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_LvzJ3dV9uLE/TFq8oxQtK-I/AAAAAAAAAGE/XhjadyDf73Y/s1600-h/2010-08-05_-_pifdesigner-web%5B2%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="2010-08-05_-_pifdesigner-web" border="0" alt="2010-08-05_-_pifdesigner-web" src="http://lh4.ggpht.com/_LvzJ3dV9uLE/TFq8pAERqzI/AAAAAAAAAGI/f6YEOr95mg4/2010-08-05_-_pifdesigner-web_thumb.png?imgmax=800" width="244" height="241" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-5838483799012882358?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/5838483799012882358/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=5838483799012882358' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/5838483799012882358'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/5838483799012882358'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2010/08/graphical-initializer-for-compucell-3d.html' title='Graphical Initializer for CompuCell 3D'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_LvzJ3dV9uLE/TFq8pAERqzI/AAAAAAAAAGI/f6YEOr95mg4/s72-c/2010-08-05_-_pifdesigner-web_thumb.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-2073511627638819118</id><published>2010-07-31T00:29:00.001-07:00</published><updated>2010-07-31T00:29:59.291-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='roadRunner'/><category scheme='http://www.blogger.com/atom/ns#' term='Jarnac'/><category scheme='http://www.blogger.com/atom/ns#' term='JarnacLite'/><category scheme='http://www.blogger.com/atom/ns#' term='SBW'/><title type='text'>Systems Biology Workbench (SBW) 2.8.1 Released</title><content type='html'>&lt;p align="justify"&gt;We are pleased to announce the a release of the Systems Biology Workbench 2.8.1, available from:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sys-bio.org"&gt;http://sys-bio.org&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;The Systems Biology Workbench (SBW), is a software framework that allows heterogeneous application components-written in diverse programming languages and running on different platforms – to communicate and use each others' capabilities via a fast binary encoded-message system. Our goal was to create a simple, high performance, open-source software infrastructure which is easy to implement and understand. SBW enables applications (potentially running on separate, distributed computers) to communicate via a simple network protocol. &lt;/p&gt;  &lt;p align="justify"&gt;The interfaces to the system are encapsulated in client-side libraries that we provide for different programming languages. &lt;/p&gt;  &lt;p&gt;There are a number of significant changes in this release:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;     &lt;div align="left"&gt;The SBW Simulation Tool has been largely rewritten to allow for a variety of interactive simulation experiments. Thanks to a new plug-in mechanism it is easy to extend the Simulation Tool. &lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="left"&gt;The script based modeling tool JarnacLite has been enhanced to make it easier to select Kinetic Laws to use. &lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="left"&gt;RoadRunner now supports SBML Level 3 (with the same restrictions that applied to Level 2, i.e.: no algebraic rules, no delays, no fast flag). &lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="left"&gt;Numerous bug fixes and usability improvements (such as a favorites menu bar, that allows to quickly edit / simulate SBML models in most applications). &lt;/div&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;For a full list of changes see: &lt;a href="http://sys-bio.org/changelog"&gt;http://sys-bio.org/changelog&lt;/a&gt;.&lt;/p&gt;  &lt;p align="justify"&gt;With SBW 2.8.1 we have a new full release, with binaries for Windows, OSX (10.6) and Linux (tested with openSUSE 10.2 and Ubuntu Lucid). We are well aware that there are many more platforms available out there and regret not having the manpower to provide binaries for additional platforms. For this reason we have created a set of Virtual Machine (VMware/VirtualBox &amp;amp; Xen), hard drive image,&amp;#160; and Live CD image (running openSUSE 11.2). For all of these the username is ‘sbw’ and password is ‘linux’. &lt;/p&gt;  &lt;p align="justify"&gt;For a list of modules included with the Systems Biology Workbench and a description of what they do please have a look at&lt;/p&gt;  &lt;p&gt;&lt;a href="http://jdesigner.sourceforge.net/"&gt;http://jdesigner.sourceforge.net/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;More details can also be found on my blog at: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://frank-fbergmann.blogspot.com/"&gt;http://frank-fbergmann.blogspot.com/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;In case you are interested in instruction in how to use the Systems Biology Workbench join our tutorial at this year's ICSB.&lt;/p&gt;  &lt;p&gt;As always we appreciate any feedback from users send to:&lt;/p&gt;  &lt;p&gt;&lt;a href="mailto:sbwteam@gmail.com"&gt;sbwteam@gmail.com&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-2073511627638819118?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/2073511627638819118/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=2073511627638819118' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/2073511627638819118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/2073511627638819118'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2010/07/systems-biology-workbench-sbw-281.html' title='Systems Biology Workbench (SBW) 2.8.1 Released'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-5234642597903026011</id><published>2010-07-30T21:43:00.001-07:00</published><updated>2010-07-30T21:43:08.073-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JarnacLite'/><category scheme='http://www.blogger.com/atom/ns#' term='SBW'/><title type='text'>JarnacLite – Helping with Kinetics!</title><content type='html'>&lt;p&gt;The new version of JarnacLite, that is distributed with SBW 2.8.1 finally helps out in the arduous task of entering the kinetics. By using a customizable list of kinetic rate laws, it is now rather easy to construct models in this simple script format. &lt;/p&gt;  &lt;p&gt;There are two steps to using this assistance: &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Enter the reaction scheme: In order to be able to filter the available rate laws, a reaction scheme needs to be present. Special note should be given to the reversible notation:      &lt;br /&gt;      &lt;br /&gt;S1 –&amp;gt; S2       &lt;br /&gt;      &lt;br /&gt;would mean that a species S1 is converted to S2, while       &lt;br /&gt;      &lt;br /&gt;S1 =&amp;gt; S2       &lt;br /&gt;      &lt;br /&gt;would mean that this reaction is reversible. Different kinetics will be suggested. &lt;/li&gt;    &lt;li&gt;Once the reaction scheme is entered, pressing CTRL+SPACE or clicking the ‘Edit kinetic’ button will bring up the rate law selection dialog. &lt;/li&gt;    &lt;li&gt;All that is left to do after selecting a rate law is to adjust the parameters. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;And here an example of how this looks in practice: &lt;/p&gt;  &lt;p&gt;   &lt;br /&gt;&lt;/p&gt; &lt;object id="scPlayer" class="embeddedObject" width="400" height="263" type="application/x-shockwave-flash" data="http://content.screencast.com/users/fbergman/folders/Jing/media/bae7bae3-cf0c-4763-bc71-48ebe289cc31/jingswfplayer.swf" &gt;  &lt;param name="movie" value="http://content.screencast.com/users/fbergman/folders/Jing/media/bae7bae3-cf0c-4763-bc71-48ebe289cc31/jingswfplayer.swf" /&gt;  &lt;param name="quality" value="high" /&gt;  &lt;param name="bgcolor" value="#FFFFFF" /&gt;  &lt;param name="flashVars" value="thumb=http://content.screencast.com/users/fbergman/folders/Jing/media/bae7bae3-cf0c-4763-bc71-48ebe289cc31/FirstFrame.jpg&amp;amp;containerwidth=864&amp;amp;containerheight=567&amp;amp;content=http://content.screencast.com/users/fbergman/folders/Jing/media/bae7bae3-cf0c-4763-bc71-48ebe289cc31/Choosing%20Kinetic%20Laws%20in%20JarnacLite.swf&amp;amp;blurover=false" /&gt;  &lt;param name="allowFullScreen" value="true" /&gt;  &lt;param name="scale" value="showall" /&gt;  &lt;param name="allowScriptAccess" value="always" /&gt;  &lt;param name="base" value="http://content.screencast.com/users/fbergman/folders/Jing/media/bae7bae3-cf0c-4763-bc71-48ebe289cc31/" /&gt; &lt;/object&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-5234642597903026011?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/5234642597903026011/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=5234642597903026011' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/5234642597903026011'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/5234642597903026011'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2010/07/jarnaclite-helping-with-kinetics.html' title='JarnacLite – Helping with Kinetics!'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-8640299736716752764</id><published>2010-07-30T21:33:00.001-07:00</published><updated>2010-07-30T21:33:36.528-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='roadRunner'/><category scheme='http://www.blogger.com/atom/ns#' term='SBW'/><title type='text'>The SBW Simulation Tool – Part 4 – Parameter Scanning</title><content type='html'>&lt;p align="justify"&gt;It was always a bit cumbersome to perform parameter scans with our tools. Thus, with the new release of SBW a new plug-in was written that makes performing 1 or 2d parameter scans a snap. Be it steady state, or time course scans it should be easy to do. We support ranges (varying a parameter from a min to a max value in a number of steps), logarithmic ranges, or even just entering of specific parameter values to be used.&lt;/p&gt;  &lt;p align="justify"&gt;In order to be able to plot the scan results we interface with Gnuplot and allow users to tweak the gnuplot scripts. Resulting figures can then be exported as PDF or image. &lt;/p&gt;  &lt;p align="justify"&gt;Below a demonstration of the feature: &lt;/p&gt; &lt;object id="scPlayer" class="embeddedObject" width="400" height="280" type="application/x-shockwave-flash" data="http://content.screencast.com/users/fbergman/folders/Jing/media/20d0d008-3a5d-418d-b083-353a34659087/jingswfplayer.swf" &gt;  &lt;param name="movie" value="http://content.screencast.com/users/fbergman/folders/Jing/media/20d0d008-3a5d-418d-b083-353a34659087/jingswfplayer.swf" /&gt;  &lt;param name="quality" value="high" /&gt;  &lt;param name="bgcolor" value="#FFFFFF" /&gt;  &lt;param name="flashVars" value="thumb=http://content.screencast.com/users/fbergman/folders/Jing/media/20d0d008-3a5d-418d-b083-353a34659087/FirstFrame.jpg&amp;amp;containerwidth=1044&amp;amp;containerheight=728&amp;amp;content=http://content.screencast.com/users/fbergman/folders/Jing/media/20d0d008-3a5d-418d-b083-353a34659087/The%20new%20Parameter%20Scan%20Feature.swf&amp;amp;blurover=false" /&gt;  &lt;param name="allowFullScreen" value="true" /&gt;  &lt;param name="scale" value="showall" /&gt;  &lt;param name="allowScriptAccess" value="always" /&gt;  &lt;param name="base" value="http://content.screencast.com/users/fbergman/folders/Jing/media/20d0d008-3a5d-418d-b083-353a34659087/" /&gt; &lt;/object&gt;  &lt;p&gt;As you can see towards the end instead of just the floating species a wealth of output options is available. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-8640299736716752764?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/8640299736716752764/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=8640299736716752764' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/8640299736716752764'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/8640299736716752764'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2010/07/sbw-simulation-tool-part-4-parameter.html' title='The SBW Simulation Tool – Part 4 – Parameter Scanning'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-8203849086358882172</id><published>2010-07-30T21:18:00.003-07:00</published><updated>2010-07-30T21:18:40.336-07:00</updated><title type='text'>The SBW Simulation Tool – Part 3 – The Script Plug-in</title><content type='html'>&lt;p align="justify"&gt;The new SBW Simulation Tool also features a script plug-in. By embedding &lt;a href="http://ironpython.net/" target="_blank"&gt;IronPython&lt;/a&gt;, the popular python scripting language is available to power users. The script plug-in has access to the currently active Simulator (i.e.: RoadRunner) in its current state. Via simple programming one can influence all model variables and perform all kind of perturbation experiments. Also exposed are a Gillespie Simulator, the LibStructural Library. Of course access is granted to the host application, the plug-in itself and the graph panel. Finally, it is possible to programmatically access the BioModels database. &lt;/p&gt;  &lt;p align="justify"&gt;Admittedly the current implemented console is no substitute for a real Python editor, however, it is suited for inspections of the current state. For advanced use we recommend writing Python scripts in a separate editor and executing these scripts from the python console. &lt;/p&gt;  &lt;p align="justify"&gt;Below a short introduction to the script console. More documentation about the available methods is to come soon!&lt;/p&gt; &lt;object id="scPlayer" class="embeddedObject" width="400" height="300" type="application/x-shockwave-flash" data="http://content.screencast.com/users/fbergman/folders/Jing/media/e660561d-e2a1-4eb3-97d7-9a5438c24bf7/jingswfplayer.swf" &gt;  &lt;param name="movie" value="http://content.screencast.com/users/fbergman/folders/Jing/media/e660561d-e2a1-4eb3-97d7-9a5438c24bf7/jingswfplayer.swf" /&gt;  &lt;param name="quality" value="high" /&gt;  &lt;param name="bgcolor" value="#FFFFFF" /&gt;  &lt;param name="flashVars" value="thumb=http://content.screencast.com/users/fbergman/folders/Jing/media/e660561d-e2a1-4eb3-97d7-9a5438c24bf7/FirstFrame.jpg&amp;amp;containerwidth=1044&amp;amp;containerheight=728&amp;amp;content=http://content.screencast.com/users/fbergman/folders/Jing/media/e660561d-e2a1-4eb3-97d7-9a5438c24bf7/The%20embedded%20script%20console..swf&amp;amp;blurover=false" /&gt;  &lt;param name="allowFullScreen" value="true" /&gt;  &lt;param name="scale" value="showall" /&gt;  &lt;param name="allowScriptAccess" value="always" /&gt;  &lt;param name="base" value="http://content.screencast.com/users/fbergman/folders/Jing/media/e660561d-e2a1-4eb3-97d7-9a5438c24bf7/" /&gt; &lt;/object&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-8203849086358882172?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/8203849086358882172/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=8203849086358882172' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/8203849086358882172'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/8203849086358882172'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2010/07/sbw-simulation-tool-part-3-script-plug.html' title='The SBW Simulation Tool – Part 3 – The Script Plug-in'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-4213979534260969486</id><published>2010-07-30T21:18:00.001-07:00</published><updated>2010-07-30T21:18:01.987-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='roadRunner'/><category scheme='http://www.blogger.com/atom/ns#' term='SBW'/><title type='text'>The SBW Simulation Tool – Part 2 – Signal Injection</title><content type='html'>&lt;p align="justify"&gt;The new simulation tool also comes with a couple of new interactive simulation experiments. The first one to be described here is the Signal injection plug-in as seen below. &lt;/p&gt;  &lt;p align="justify"&gt;It couldn’t be simpler to use. Simply load the model you want to experiment with, click the ‘add signal’ button, and choose parameter and signal type. Immediately the signal will be displayed in the graphing window and can be moved about with the mouse allowing you to directly see the influence this has. &lt;/p&gt;  &lt;p align="justify"&gt;For the sine&amp;#160; (or square wave) signal type it is possible to change the angular frequency by holding down the CTRL key and moving the mouse. &lt;/p&gt;  &lt;p align="justify"&gt;Here a video demonstrating this feature: &lt;/p&gt; &lt;object id="scPlayer" class="embeddedObject" width="400" height="400" type="application/x-shockwave-flash" data="http://content.screencast.com/users/fbergman/folders/Jing/media/cf33924b-f51f-44d9-b30b-04a50f02f39f/jingswfplayer.swf" &gt;  &lt;param name="movie" value="http://content.screencast.com/users/fbergman/folders/Jing/media/cf33924b-f51f-44d9-b30b-04a50f02f39f/jingswfplayer.swf" /&gt;  &lt;param name="quality" value="high" /&gt;  &lt;param name="bgcolor" value="#FFFFFF" /&gt;  &lt;param name="flashVars" value="thumb=http://content.screencast.com/users/fbergman/folders/Jing/media/cf33924b-f51f-44d9-b30b-04a50f02f39f/FirstFrame.jpg&amp;amp;containerwidth=856&amp;amp;containerheight=778&amp;amp;content=http://content.screencast.com/users/fbergman/folders/Jing/media/cf33924b-f51f-44d9-b30b-04a50f02f39f/Signal%20Injection%20Plugin.swf&amp;amp;blurover=false" /&gt;  &lt;param name="allowFullScreen" value="true" /&gt;  &lt;param name="scale" value="showall" /&gt;  &lt;param name="allowScriptAccess" value="always" /&gt;  &lt;param name="base" value="http://content.screencast.com/users/fbergman/folders/Jing/media/cf33924b-f51f-44d9-b30b-04a50f02f39f/" /&gt; &lt;/object&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-4213979534260969486?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/4213979534260969486/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=4213979534260969486' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/4213979534260969486'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/4213979534260969486'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2010/07/sbw-simulation-tool-part-2-signal.html' title='The SBW Simulation Tool – Part 2 – Signal Injection'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-8939327367496833627</id><published>2010-07-30T21:17:00.001-07:00</published><updated>2010-07-30T21:17:34.167-07:00</updated><title type='text'>The SBW Simulation Tool – Part 1 – Look And Feel</title><content type='html'>&lt;p align="justify"&gt;The new release of the Systems Biology Workbench brings with it a largely rewritten version of the SBW Simulation Tool. Based on a new plug-in system, the Simulation Tool is now easily extendable. This allows not just to add new interactive simulation experiments, but also change the visual aspect of the Simulation Tool. &lt;/p&gt;  &lt;h2&gt;Changing the Look and Feel&lt;/h2&gt;  &lt;p align="justify"&gt;By allowing the layout of the Simulation Tool customized by plug-ins it is now possible to find a layout that suits everyone. Here a the inbuilt examples: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_LvzJ3dV9uLE/TFOj0cDEpUI/AAAAAAAAAFc/DZ1Ri-dAiq8/s1600-h/image2.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_LvzJ3dV9uLE/TFOj01gXl0I/AAAAAAAAAFg/MEyPYeOZJAg/image_thumb.png?imgmax=800" width="244" height="188" /&gt;&lt;/a&gt; &lt;a href="http://lh5.ggpht.com/_LvzJ3dV9uLE/TFOj1CZRocI/AAAAAAAAAFk/LjtXiDnntvI/s1600-h/image5.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_LvzJ3dV9uLE/TFOj1T0rkaI/AAAAAAAAAFo/3yp_InllktU/image_thumb1.png?imgmax=800" width="244" height="188" /&gt;&lt;/a&gt; &lt;a href="http://lh5.ggpht.com/_LvzJ3dV9uLE/TFOj16iK-9I/AAAAAAAAAFs/VISNBktUpZk/s1600-h/image8.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_LvzJ3dV9uLE/TFOj2K5CPkI/AAAAAAAAAFw/KYu0mZCn8Qk/image_thumb2.png?imgmax=800" width="244" height="188" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;But of course it would be easy to extend it … say by using a ribbon layout on windows: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_LvzJ3dV9uLE/TFOj2YNgCmI/AAAAAAAAAF0/tvPpTnZPpPU/s1600-h/image11.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_LvzJ3dV9uLE/TFOj28tasrI/AAAAAAAAAF4/CA5mDOpTRRY/image_thumb3.png?imgmax=800" width="244" height="180" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;I wonder what the simulation tool will look like tomorrow :) &lt;/p&gt;  &lt;p&gt;In order to change the layout a user simply selects one of the options from the menu: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_LvzJ3dV9uLE/TFOj3IfrNWI/AAAAAAAAAF8/zG9zs6W1mBE/s1600-h/image14.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_LvzJ3dV9uLE/TFOj3Xsrb4I/AAAAAAAAAGA/YXdYyg--z8o/image_thumb4.png?imgmax=800" width="244" height="141" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-8939327367496833627?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/8939327367496833627/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=8939327367496833627' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/8939327367496833627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/8939327367496833627'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2010/07/sbw-simulation-tool-part-1-look-and.html' title='The SBW Simulation Tool – Part 1 – Look And Feel'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_LvzJ3dV9uLE/TFOj01gXl0I/AAAAAAAAAFg/MEyPYeOZJAg/s72-c/image_thumb.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-210547316687846746</id><published>2010-04-29T12:43:00.001-07:00</published><updated>2010-04-29T12:43:15.849-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='roadRunner'/><category scheme='http://www.blogger.com/atom/ns#' term='mono'/><category scheme='http://www.blogger.com/atom/ns#' term='SBW'/><category scheme='http://www.blogger.com/atom/ns#' term='SBML'/><title type='text'>RoadRunner &amp; Java (!?)</title><content type='html'>&lt;p align="justify"&gt;Darren Wilkinson is here this week early for the &lt;a href="http://sbml.org/Events/Hackathons/The_2010_SBML-BioModels.net_Hackathon"&gt;Hackathon&lt;/a&gt; this weekend. One of his projects is &lt;a href="http://www.calibayes.ncl.ac.uk/"&gt;CaliBayes&lt;/a&gt;, which addresses the issue of estimating&amp;#160; parameters of kinetic laws. CaliBayes uses Java, and until now using RoadRunner required to go through the SBW Java bindings, to the SBW Broker to RoadRunner. It seems apparent, that this won’t deliver the best possible performance. &lt;/p&gt;  &lt;p align="justify"&gt;A couple of weeks ago I first dabbled in &lt;a href="http://frank-fbergmann.blogspot.com/2010/02/roadrunner-ccli-vs-embedding-mono.html"&gt;embedding the mono runtime&lt;/a&gt; for use of RoadRunner in C++. So it seemed clear, that this could be extended to the JNI world. &lt;/p&gt;  &lt;p align="justify"&gt;A prototype was quickly written and tested on OSX (10.6, using a 32bit JVM) and verified to work on &lt;a href="http://releases.ubuntu.com/karmic/"&gt;Ubuntu 9.10&lt;/a&gt; (32 bit). So far the version is not working in 64bit Linux. Mainly because all our libraries are not yet available for 64bit. Oh well … but it is a start … &lt;/p&gt;  &lt;p align="justify"&gt;The Ubuntu version is now online on the source forge project, source code an all: &lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://sourceforge.net/projects/roadrunner/files/"&gt;http://sourceforge.net/projects/roadrunner/files/&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-210547316687846746?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/210547316687846746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=210547316687846746' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/210547316687846746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/210547316687846746'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2010/04/roadrunner-java.html' title='RoadRunner &amp;amp; Java (!?)'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-168348483148943807</id><published>2010-04-28T14:36:00.001-07:00</published><updated>2010-04-28T14:36:08.505-07:00</updated><title type='text'>SED-ML in Pictures</title><content type='html'>&lt;p align="justify"&gt;Today a question came up on the &lt;a href="http://sbml.org/Forums/index.php?t=tree&amp;amp;goto=6076&amp;amp;rid=0"&gt;sbml-discuss list&lt;/a&gt; on freely available software for simulating &lt;a href="http://www.ebi.ac.uk/biomodels-main/BIOMD0000000139"&gt;BioModels 139&lt;/a&gt; and &lt;a href="http://www.ebi.ac.uk/biomodels-main/BIOMD0000000140"&gt;BioModel 140&lt;/a&gt;. Someone tried to reproduce the simulation results with these models and failed to do so. In the future of course SED-ML will help us out in these cases, by essentially encoding the simulation experiment directly. &lt;/p&gt;  &lt;p align="justify"&gt;So I went ahead and created some SED-ML examples for these models. You will find them below. Admittedly, so far only our tools seem to support the format, but other groups are showing interest. To give it a try, you could download the latest version of the &lt;a href="http://sys-bio.org/fbergman/files/latest/SetupSBW.exe"&gt;Systems Biology Workbench&lt;/a&gt;. Once it is installed, start the ‘Simulation Tool’. Which now comes with an experimental support for SED-ML, and there you can open and run SED-ML files from the ‘SED-ML’ tab. &lt;/p&gt;  &lt;p align="justify"&gt;Here is how it looks for the BioModel 139: &lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://lh4.ggpht.com/_LvzJ3dV9uLE/S9iqQm9h95I/AAAAAAAAAFM/-FtiZQ-WQQ0/s1600-h/image%5B2%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_LvzJ3dV9uLE/S9iqQx-AR7I/AAAAAAAAAFQ/Gjc0pyPYOZ8/image_thumb.png?imgmax=800" width="244" height="190" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;And here the result for BioModel 140:&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://lh4.ggpht.com/_LvzJ3dV9uLE/S9iqReXafJI/AAAAAAAAAFU/gaNas74jP90/s1600-h/image%5B5%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_LvzJ3dV9uLE/S9iqR0fqSlI/AAAAAAAAAFY/fMfpk-q79Ak/image_thumb%5B1%5D.png?imgmax=800" width="244" height="190" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;Of course SED-ML is still in its infancy, but as you can see, there is a need for it now. So don’t wait for the final version, start implementing it in your tools now! Or if you don’t develop for a software package yourself, ask the authors of your favorite tool to do so!&lt;/p&gt;  &lt;p align="justify"&gt;BioModel 139:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;&lt;a href="http://libsedml.svn.sourceforge.net/viewvc/libsedml/trunk/Samples/BIOMD0000000139.txt?revision=6"&gt;SED-ML Script Version&lt;/a&gt;&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;&lt;a href="http://libsedml.svn.sourceforge.net/viewvc/libsedml/trunk/Samples/BIOMD0000000139.xml"&gt;SED-ML (XML)&lt;/a&gt;&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;&lt;a href="http://libsedml.svn.sourceforge.net/viewvc/libsedml/trunk/Samples/BIOMD0000000139.sedml"&gt;SED-ML (XML archive)&lt;/a&gt;&amp;#160;&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;BioModel 140:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;&lt;a href="http://libsedml.svn.sourceforge.net/viewvc/libsedml/trunk/Samples/BIOMD0000000140.txt"&gt;SED-ML Script Version&lt;/a&gt;&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;&lt;a href="http://libsedml.svn.sourceforge.net/viewvc/libsedml/trunk/Samples/BIOMD0000000140.xml"&gt;SED-ML (XML)&lt;/a&gt;&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;&lt;a href="http://libsedml.svn.sourceforge.net/viewvc/libsedml/trunk/Samples/BIOMD0000000140.sedml"&gt;SED-ML (XML archive)&lt;/a&gt;&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-168348483148943807?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/168348483148943807/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=168348483148943807' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/168348483148943807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/168348483148943807'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2010/04/sed-ml-in-pictures.html' title='SED-ML in Pictures'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_LvzJ3dV9uLE/S9iqQx-AR7I/AAAAAAAAAFQ/Gjc0pyPYOZ8/s72-c/image_thumb.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-6762037513245011950</id><published>2010-03-08T19:22:00.001-08:00</published><updated>2010-03-08T19:22:50.431-08:00</updated><title type='text'>Getting Started with LibSedML (on linux)</title><content type='html'>&lt;p align="justify"&gt;A couple of days ago I announced the &lt;a href="http://libsedml.sf.net"&gt;LibSedML&lt;/a&gt; sourceforge project, a library for reading / writing SED-ML files. However, what was missing so far is information on how one would start using the library. (If you feel lucky, I provided a binary at the end of this post!)&lt;/p&gt;  &lt;h2&gt;Preparing the Virtual Machine&lt;/h2&gt;  &lt;p align="justify"&gt;In the following, I’ll describe how to set up an OpenSuse 11.2 Virtual Machine, in order to run SED-ML Simulation Experiments: &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Actually, we are not setting up the virtual machine, but instead take the one provided by the Mono team. Simply download the VMware image from:        &lt;br /&gt;        &lt;br /&gt;&lt;a href="http://mono-project.com/Downloads"&gt;http://mono-project.com/Downloads&lt;/a&gt;         &lt;br /&gt;        &lt;br /&gt;unzip and start the Virtual Machine. It will automatically log in as user ‘rupert’         &lt;br /&gt;&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;The first thing we might want to do is to get SBW started. While not strictly necessary … it will help us later on, when we just copy the binary libraries for LibSedMLRunner to execute the simulations. The Latest SBW version for linux can be found here:        &lt;br /&gt;        &lt;br /&gt;&lt;a title="http://sourceforge.net/projects/jdesigner/files/Systems%20Biology%20Workbench/2.7.10/SBW-2.7.10-linux-installer.bin/download" href="http://sourceforge.net/projects/jdesigner/files/Systems%20Biology%20Workbench/2.7.10/SBW-2.7.10-linux-installer.bin/download"&gt;http://sourceforge.net/projects/jdesigner/files/Systems%20Biology%20Workbench/2.7.10/SBW-2.7.10-linux-installer.bin/download&lt;/a&gt;         &lt;br /&gt;        &lt;br /&gt;The file is simply installed by making it executable (chmod +x SBW-*bin) and executing the binary installer.         &lt;br /&gt;&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Next we might want to install a fresh copy of LibSBML, which is easily done by checking out libsbml from SVN:        &lt;br /&gt;        &lt;br /&gt;svn co &lt;a href="http://sbml.svn.sourceforge.net/svnroot/sbml/trunk/libsbml"&gt;http://sbml.svn.sourceforge.net/svnroot/sbml/trunk/libsbml&lt;/a&gt; libsbml         &lt;br /&gt;        &lt;br /&gt;the virtual machine at this point has no g++ so we get one by going to a root shell (root password is ‘mono’) and installing:         &lt;br /&gt;        &lt;br /&gt;zypper install gcc-c++         &lt;br /&gt;zypper install libxml2-devel         &lt;br /&gt;        &lt;br /&gt;(i also installed additional packages like ‘lapack’ but I’m not sure they are necessary)         &lt;br /&gt;&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Next we get the latest SWIG from &lt;a href="http://www.swig.org/download.html"&gt;http://www.swig.org/download.html&lt;/a&gt;, I just downloaded the 1.3.40 version, unpacked it with tar zxf, ran:         &lt;br /&gt;        &lt;br /&gt;./configure &amp;amp;&amp;amp; make &amp;amp;&amp;amp; sudo make install         &lt;br /&gt;        &lt;br /&gt;which installes SWIG into /usr/local         &lt;br /&gt;&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Now we can compile and run libsbml:        &lt;br /&gt;&lt;/div&gt;      &lt;p&gt;./configure --with-libxml=/usr --with-swig=/usr/local --with-csharp --enable-layout=no &amp;amp;&amp;amp; make        &lt;br /&gt;        &lt;br /&gt;which will compile libsbml and create the bindings in the src/bindings/csharp folder&lt;/p&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;h2&gt;Compiling LibSedML&lt;/h2&gt;  &lt;p&gt;So far for the prerequisites. The remaining could not be simpler. Here the whole session:    &lt;br /&gt;    &lt;br /&gt;&lt;/p&gt;  &lt;pre&gt;Directory: /home/rupert/Desktop&lt;br /&gt;Tue Mar  9 02:35:51 UTC 2010&lt;br /&gt;rupert@linux:~/Desktop&amp;gt; cd&lt;br /&gt;rupert@linux:~&amp;gt; cd Development/&lt;br /&gt;rupert@linux:~/Development&amp;gt; l&lt;br /&gt;stotal 12&lt;br /&gt;drwxr-xr-x  3 rupert users 4096 2010-03-08 20:20 ./&lt;br /&gt;drwxr-xr-x 33 rupert users 4096 2010-03-08 22:21 ../&lt;br /&gt;drwxr-xr-x  8 rupert users 4096 2010-03-08 20:21 sbwbuild/&lt;br /&gt;rupert@linux:~/Development&amp;gt; svn co http://libsedml.svn.sourceforge.net/svnroot/libsedml/trunk LibSedML&lt;br /&gt;A    LibSedML/ICON_MIASE.ico&lt;br /&gt;A    LibSedML/SEDML.sln&lt;br /&gt;A    LibSedML/libSedMLScript&lt;br /&gt;A    LibSedML/libSedMLScript/HelperFunctions.py&lt;br /&gt;A    LibSedML/libSedMLScript/libSedMLScript.csproj&lt;br /&gt;A    LibSedML/libSedMLScript/SedMLPythonConverter.cs&lt;br /&gt;A    LibSedML/libSedMLScript/ITextImporter.cs&lt;br /&gt;A    LibSedML/libSedMLScript/ITextExporter.cs&lt;br /&gt;A    LibSedML/libSedMLScript/Properties&lt;br /&gt;A    LibSedML/libSedMLScript/Properties/AssemblyInfo.cs&lt;br /&gt;A    LibSedML/libSedMLScript/Properties/Resources.resx&lt;br /&gt;A    LibSedML/libSedMLScript/Properties/Resources.Designer.cs&lt;br /&gt;A    LibSedML/libSedMLScript/SedMLScript.cs&lt;br /&gt;A    LibSedML/SedMLWeb&lt;br /&gt;A    LibSedML/SedMLWeb/Default.aspx.designer.cs&lt;br /&gt;A    LibSedML/SedMLWeb/MasterASPX.master&lt;br /&gt;A    LibSedML/SedMLWeb/SedMLWeb.csproj&lt;br /&gt;A    LibSedML/SedMLWeb/Web.config&lt;br /&gt;A    LibSedML/SedMLWeb/Default.aspx.cs&lt;br /&gt;A    LibSedML/SedMLWeb/_sysbiostyles.css&lt;br /&gt;A    LibSedML/SedMLWeb/MasterASPX.master.cs&lt;br /&gt;A    LibSedML/SedMLWeb/SysBio_MasterASPX.master&lt;br /&gt;A    LibSedML/SedMLWeb/KGI0717_MasterASPX.master&lt;br /&gt;A    LibSedML/SedMLWeb/Properties&lt;br /&gt;A    LibSedML/SedMLWeb/Properties/AssemblyInfo.cs&lt;br /&gt;A    LibSedML/SedMLWeb/SysBio_MasterASPX.master.cs&lt;br /&gt;A    LibSedML/SedMLWeb/Default.aspx&lt;br /&gt;A    LibSedML/SedMLWeb/KGI0717_MasterASPX.master.cs&lt;br /&gt;A    LibSedML/Samples&lt;br /&gt;A    LibSedML/Samples/model1.xml&lt;br /&gt;A    LibSedML/Samples/sedmltest.txt&lt;br /&gt;A    LibSedML/Samples/curien.xml&lt;br /&gt;A    LibSedML/Samples/EllowitzRepressilator.miase&lt;br /&gt;A    LibSedML/Samples/lorenz.txt&lt;br /&gt;A    LibSedML/Samples/BIOMD0000000021.xml&lt;br /&gt;A    LibSedML/Samples/miaseTest.xml&lt;br /&gt;A    LibSedML/Samples/sedmlCurienJWS.xml&lt;br /&gt;A    LibSedML/Samples/JanaWolf.miase&lt;br /&gt;A    LibSedML/Samples/miaseBioModels21.xml&lt;br /&gt;A    LibSedML/Samples/brusselator.miase&lt;br /&gt;A    LibSedML/Samples/brusselator.xml&lt;br /&gt;A    LibSedML/Samples/lorenz.miase&lt;br /&gt;A    LibSedML/Samples/lorenz.xml&lt;br /&gt;A    LibSedML/Samples/sedMLBIOM21.miase&lt;br /&gt;A    LibSedML/Samples/sedMLBIOM21.xml&lt;br /&gt;A    LibSedML/libSedMLRunner&lt;br /&gt;A    LibSedML/libSedMLRunner/SedMLRunner.cs&lt;br /&gt;A    LibSedML/libSedMLRunner/libSedMLRunner.csproj&lt;br /&gt;A    LibSedML/libSedMLRunner/RunResult.cs&lt;br /&gt;A    LibSedML/libSedMLRunner/SimpleRunner.cs&lt;br /&gt;A    LibSedML/libSedMLRunner/Properties&lt;br /&gt;A    LibSedML/libSedMLRunner/Properties/AssemblyInfo.cs&lt;br /&gt;A    LibSedML/SedMLConsole&lt;br /&gt;A    LibSedML/SedMLConsole/ICON_MIASE.ico&lt;br /&gt;A    LibSedML/SedMLConsole/Web References&lt;br /&gt;A    LibSedML/SedMLConsole/Web References/BioModels&lt;br /&gt;A    LibSedML/SedMLConsole/Web References/BioModels/Reference.cs&lt;br /&gt;A    LibSedML/SedMLConsole/Web References/BioModels/BioModelsWebServices.wsdl&lt;br /&gt;A    LibSedML/SedMLConsole/Web References/BioModels/Reference.map&lt;br /&gt;A    LibSedML/SedMLConsole/Web References/MIRIAM&lt;br /&gt;A    LibSedML/SedMLConsole/Web References/MIRIAM/Reference.cs&lt;br /&gt;A    LibSedML/SedMLConsole/Web References/MIRIAM/MiriamWebServices.wsdl&lt;br /&gt;A    LibSedML/SedMLConsole/Web References/MIRIAM/Reference.map&lt;br /&gt;A    LibSedML/SedMLConsole/SedMLConsole.csproj.user&lt;br /&gt;A    LibSedML/SedMLConsole/app.config&lt;br /&gt;A    LibSedML/SedMLConsole/SedMLConsole.csproj&lt;br /&gt;A    LibSedML/SedMLConsole/Resources&lt;br /&gt;A    LibSedML/SedMLConsole/Resources/ICON_MIASE.ico&lt;br /&gt;A    LibSedML/SedMLConsole/Program.cs&lt;br /&gt;A    LibSedML/SedMLConsole/Properties&lt;br /&gt;A    LibSedML/SedMLConsole/Properties/AssemblyInfo.cs&lt;br /&gt;A    LibSedML/SedMLConsole/Properties/Settings.settings&lt;br /&gt;A    LibSedML/SedMLConsole/Properties/Settings.Designer.cs&lt;br /&gt;A    LibSedML/SedMLConsole/Properties/Resources.resx&lt;br /&gt;A    LibSedML/SedMLConsole/Properties/Resources.Designer.cs&lt;br /&gt;A    LibSedML/3rdParty&lt;br /&gt;A    LibSedML/3rdParty/Microsoft.Scripting.ExtensionAttribute.dll&lt;br /&gt;A    LibSedML/3rdParty/LibRoadRunner.dll&lt;br /&gt;A    LibSedML/3rdParty/Microsoft.Scripting.dll&lt;br /&gt;A    LibSedML/3rdParty/IronPython.dll&lt;br /&gt;A    LibSedML/3rdParty/ICSharpCode.SharpZipLib.dll&lt;br /&gt;A    LibSedML/3rdParty/mathLibrary.dll&lt;br /&gt;A    LibSedML/3rdParty/CompareData.dll&lt;br /&gt;A    LibSedML/3rdParty/IronPython.Modules.dll&lt;br /&gt;A    LibSedML/3rdParty/ZedGraph.Web.dll&lt;br /&gt;A    LibSedML/3rdParty/Microsoft.Dynamic.dll&lt;br /&gt;A    LibSedML/3rdParty/SBMLSupport.dll&lt;br /&gt;A    LibSedML/3rdParty/libsbmlcsP.dll&lt;br /&gt;A    LibSedML/3rdParty/SBWCSharp.dll&lt;br /&gt;A    LibSedML/3rdParty/Microsoft.Scripting.Core.dll&lt;br /&gt;A    LibSedML/3rdParty/LibStructuralCSharp.dll&lt;br /&gt;A    LibSedML/3rdParty/Microsoft.Scripting.Debugging.dll&lt;br /&gt;A    LibSedML/3rdParty/ZedGraph.dll&lt;br /&gt;A    LibSedML/SedMLScript&lt;br /&gt;A    LibSedML/SedMLScript/ICON_MIASE.ico&lt;br /&gt;A    LibSedML/SedMLScript/MainForm.resx&lt;br /&gt;A    LibSedML/SedMLScript/SedMLScriptTest.csproj&lt;br /&gt;A    LibSedML/SedMLScript/MainForm.Designer.cs&lt;br /&gt;A    LibSedML/SedMLScript/Program.cs&lt;br /&gt;A    LibSedML/SedMLScript/icons&lt;br /&gt;A    LibSedML/SedMLScript/icons/run.png&lt;br /&gt;A    LibSedML/SedMLScript/MainForm.cs&lt;br /&gt;A    LibSedML/SedMLScript/Properties&lt;br /&gt;A    LibSedML/SedMLScript/Properties/AssemblyInfo.cs&lt;br /&gt;A    LibSedML/SedMLScript/Properties/Settings.settings&lt;br /&gt;A    LibSedML/SedMLScript/Properties/Settings.Designer.cs&lt;br /&gt;A    LibSedML/SedMLScript/Properties/Resources.resx&lt;br /&gt;A    LibSedML/SedMLScript/Properties/Resources.Designer.cs&lt;br /&gt;A    LibSedML/libSedML&lt;br /&gt;A    LibSedML/libSedML/Report.cs&lt;br /&gt;A    LibSedML/libSedML/Util.cs&lt;br /&gt;A    LibSedML/libSedML/ModelStore.cs&lt;br /&gt;A    LibSedML/libSedML/UniformTimeCourse.cs&lt;br /&gt;A    LibSedML/libSedML/TaskStore.cs&lt;br /&gt;A    LibSedML/libSedML/DataGenerator.cs&lt;br /&gt;A    LibSedML/libSedML/Parameter.cs&lt;br /&gt;A    LibSedML/libSedML/SedMLInfo.cs&lt;br /&gt;A    LibSedML/libSedML/Simulation.cs&lt;br /&gt;A    LibSedML/libSedML/Variable.cs&lt;br /&gt;A    LibSedML/libSedML/Change.cs&lt;br /&gt;A    LibSedML/libSedML/libSedML.csproj&lt;br /&gt;A    LibSedML/libSedML/Properties&lt;br /&gt;A    LibSedML/libSedML/Properties/AssemblyInfo.cs&lt;br /&gt;A    LibSedML/libSedML/DataGeneratorStore.cs&lt;br /&gt;A    LibSedML/libSedML/SedMLBase.cs&lt;br /&gt;A    LibSedML/libSedML/Output.cs&lt;br /&gt;A    LibSedML/libSedML/Model.cs&lt;br /&gt;A    LibSedML/libSedML/SimulationStore.cs&lt;br /&gt;A    LibSedML/libSedML/Task.cs&lt;br /&gt;A    LibSedML/libSedML/Plot2D.cs&lt;br /&gt;A    LibSedML/IronPythonScript&lt;br /&gt;Checked out revision 4.&lt;br /&gt;rupert@linux:~/Development&amp;gt; cd LibSedML/&lt;br /&gt;rupert@linux:~/Development/LibSedML&amp;gt; ls&lt;br /&gt;3rdParty          libSedML        Samples       SEDML.sln&lt;br /&gt;ICON_MIASE.ico    libSedMLRunner  SedMLConsole  SedMLWeb&lt;br /&gt;IronPythonScript  libSedMLScript  SedMLScript&lt;br /&gt;rupert@linux:~/Development/LibSedML&amp;gt; mdtool build -c:Release&lt;br /&gt;MonoDevelop Build Tool&lt;br /&gt;Loading solution: ./SEDML.sln&lt;br /&gt;   Loading solution: ./SEDML.sln&lt;br /&gt;      Loading projects ..&lt;br /&gt;Building: SEDML (Release)&lt;br /&gt;   Building Solution SEDML&lt;br /&gt;      Building: libSedML (Release)&lt;br /&gt;         Performing main compilation...&lt;br /&gt;         /usr/bin/gmcs /noconfig&lt;br /&gt;         &amp;quot;/out:/home/rupert/Development/LibSedML/bin/libSedML.dll&amp;quot;&lt;br /&gt;         &amp;quot;/r:/home/rupert/Development/LibSedML/3rdParty/CompareData.dll&amp;quot;&lt;br /&gt;         &amp;quot;/r:/home/rupert/Development/LibSedML/3rdParty/ICSharpCode.SharpZipLib.&lt;br /&gt;         dll&amp;quot; &amp;quot;/r:/home/rupert/Development/LibSedML/3rdParty/libsbmlcsP.dll&amp;quot;&lt;br /&gt;         &amp;quot;/r:/home/rupert/Development/LibSedML/3rdParty/mathLibrary.dll&amp;quot;&lt;br /&gt;         &amp;quot;/r:/home/rupert/Development/LibSedML/3rdParty/SBMLSupport.dll&amp;quot;&lt;br /&gt;         &amp;quot;/r:/home/rupert/Development/LibSedML/3rdParty/SBWCSharp.dll&amp;quot;&lt;br /&gt;         &amp;quot;/r:System.dll&amp;quot; &amp;quot;/r:System.Data.dll&amp;quot; &amp;quot;/r:System.Xml.dll&amp;quot; /nologo&lt;br /&gt;         /warn:4 /optimize+ /codepage:utf8 /platform:x86 &amp;quot;/define:TRACE&amp;quot; &lt;br /&gt;         /t:library &amp;quot;/home/rupert/Development/LibSedML/libSedML/Change.cs&amp;quot;&lt;br /&gt;         &amp;quot;/home/rupert/Development/LibSedML/libSedML/DataGenerator.cs&amp;quot;&lt;br /&gt;         &amp;quot;/home/rupert/Development/LibSedML/libSedML/DataGeneratorStore.cs&amp;quot;&lt;br /&gt;         &amp;quot;/home/rupert/Development/LibSedML/libSedML/SedMLBase.cs&amp;quot;&lt;br /&gt;         &amp;quot;/home/rupert/Development/LibSedML/libSedML/SedMLInfo.cs&amp;quot;&lt;br /&gt;         &amp;quot;/home/rupert/Development/LibSedML/libSedML/Model.cs&amp;quot;&lt;br /&gt;         &amp;quot;/home/rupert/Development/LibSedML/libSedML/ModelStore.cs&amp;quot;&lt;br /&gt;         &amp;quot;/home/rupert/Development/LibSedML/libSedML/Output.cs&amp;quot;&lt;br /&gt;         &amp;quot;/home/rupert/Development/LibSedML/libSedML/Parameter.cs&amp;quot;&lt;br /&gt;         &amp;quot;/home/rupert/Development/LibSedML/libSedML/Plot2D.cs&amp;quot;&lt;br /&gt;         &amp;quot;/home/rupert/Development/LibSedML/libSedML/Properties/AssemblyInfo.cs&amp;quot;&lt;br /&gt;          &amp;quot;/home/rupert/Development/LibSedML/libSedML/Report.cs&amp;quot;&lt;br /&gt;         &amp;quot;/home/rupert/Development/LibSedML/libSedML/Simulation.cs&amp;quot;&lt;br /&gt;         &amp;quot;/home/rupert/Development/LibSedML/libSedML/SimulationStore.cs&amp;quot;&lt;br /&gt;         &amp;quot;/home/rupert/Development/LibSedML/libSedML/Task.cs&amp;quot;&lt;br /&gt;         &amp;quot;/home/rupert/Development/LibSedML/libSedML/TaskStore.cs&amp;quot;&lt;br /&gt;         &amp;quot;/home/rupert/Development/LibSedML/libSedML/UniformTimeCourse.cs&amp;quot;&lt;br /&gt;         &amp;quot;/home/rupert/Development/LibSedML/libSedML/Util.cs&amp;quot;&lt;br /&gt;         &amp;quot;/home/rupert/Development/LibSedML/libSedML/Variable.cs&amp;quot; &lt;br /&gt;         Compilation succeeded - 1 warning(s)&lt;br /&gt;         &lt;br /&gt;         /home/rupert/Development/LibSedML/libSedML/Util.cs(307,18): warning&lt;br /&gt;         CS0219: The variable `length' is assigned but its value is never used&lt;br /&gt;         &lt;br /&gt;         &lt;br /&gt;         Build complete -- 0 errors, 1 warning&lt;br /&gt;      Building: libSedMLRunner (Release)&lt;br /&gt;         Performing main compilation...&lt;br /&gt;         /usr/bin/gmcs /noconfig&lt;br /&gt;         &amp;quot;/out:/home/rupert/Development/LibSedML/bin/libSedMLRunner.dll&amp;quot;&lt;br /&gt;         &amp;quot;/r:/home/rupert/Development/LibSedML/3rdParty/CompareData.dll&amp;quot;&lt;br /&gt;         &amp;quot;/r:/home/rupert/Development/LibSedML/3rdParty/LibRoadRunner.dll&amp;quot;&lt;br /&gt;         &amp;quot;/r:/home/rupert/Development/LibSedML/3rdParty/LibStructuralCSharp.dll&amp;quot;&lt;br /&gt;          &amp;quot;/r:System.dll&amp;quot; &amp;quot;/r:System.Data.dll&amp;quot; &amp;quot;/r:System.Drawing.dll&amp;quot;&lt;br /&gt;         &amp;quot;/r:System.Windows.Forms.dll&amp;quot; &amp;quot;/r:System.Xml.dll&amp;quot;&lt;br /&gt;         &amp;quot;/r:/home/rupert/Development/LibSedML/3rdParty/ZedGraph.dll&amp;quot;&lt;br /&gt;         &amp;quot;/r:/home/rupert/Development/LibSedML/bin/libSedML.dll&amp;quot; /nologo&lt;br /&gt;         /warn:4 /optimize+ /codepage:utf8 /platform:x86 &amp;quot;/define:TRACE&amp;quot; &lt;br /&gt;         /t:library&lt;br /&gt;         &amp;quot;/home/rupert/Development/LibSedML/libSedMLRunner/SedMLRunner.cs&amp;quot;&lt;br /&gt;         &amp;quot;/home/rupert/Development/LibSedML/libSedMLRunner/Properties/AssemblyIn&lt;br /&gt;         fo.cs&amp;quot; &amp;quot;/home/rupert/Development/LibSedML/libSedMLRunner/RunResult.cs&amp;quot;&lt;br /&gt;         &amp;quot;/home/rupert/Development/LibSedML/libSedMLRunner/SimpleRunner.cs&amp;quot; &lt;br /&gt;         Build complete -- 0 errors, 0 warnings&lt;br /&gt;      Building: SedMLConsole (Release)&lt;br /&gt;         Performing main compilation...&lt;br /&gt;         Compiling resource&lt;br /&gt;         /home/rupert/Development/LibSedML/SedMLConsole/Properties/Resources.res&lt;br /&gt;         x with /usr/bin/resgen2&lt;br /&gt;         /usr/bin/gmcs /noconfig&lt;br /&gt;         &amp;quot;/out:/home/rupert/Development/LibSedML/bin/SedMLConsole.exe&amp;quot;&lt;br /&gt;         &amp;quot;/r:/home/rupert/Development/LibSedML/3rdParty/CompareData.dll&amp;quot;&lt;br /&gt;         &amp;quot;/r:System.dll&amp;quot; &amp;quot;/r:System.Drawing.dll&amp;quot;&lt;br /&gt;         &amp;quot;/r:System.EnterpriseServices.dll&amp;quot; &amp;quot;/r:System.Web.Services.dll&amp;quot;&lt;br /&gt;         &amp;quot;/r:System.Windows.Forms.dll&amp;quot; &amp;quot;/r:System.Data.dll&amp;quot; &amp;quot;/r:System.Xml.dll&amp;quot;&lt;br /&gt;         &amp;quot;/r:/home/rupert/Development/LibSedML/3rdParty/ZedGraph.dll&amp;quot;&lt;br /&gt;         &amp;quot;/r:/home/rupert/Development/LibSedML/bin/libSedMLRunner.dll&amp;quot;&lt;br /&gt;         &amp;quot;/r:/home/rupert/Development/LibSedML/bin/libSedML.dll&amp;quot; /nologo&lt;br /&gt;         /warn:4 /optimize+&lt;br /&gt;         &amp;quot;/win32icon:/home/rupert/Development/LibSedML/SedMLConsole/ICON_MIASE.i&lt;br /&gt;         co&amp;quot; /codepage:utf8 /platform:x86 &amp;quot;/define:TRACE&amp;quot;  /t:winexe&lt;br /&gt;         &amp;quot;/home/rupert/Development/LibSedML/SedMLConsole/Program.cs&amp;quot;&lt;br /&gt;         &amp;quot;/home/rupert/Development/LibSedML/SedMLConsole/Properties/AssemblyInfo&lt;br /&gt;         .cs&amp;quot;&lt;br /&gt;         &amp;quot;/home/rupert/Development/LibSedML/SedMLConsole/Properties/Resources.De&lt;br /&gt;         signer.cs&amp;quot;&lt;br /&gt;         &amp;quot;/home/rupert/Development/LibSedML/SedMLConsole/Properties/Settings.Des&lt;br /&gt;         igner.cs&amp;quot; &amp;quot;/home/rupert/Development/LibSedML/SedMLConsole/Web&lt;br /&gt;         References/BioModels/Reference.cs&amp;quot;&lt;br /&gt;         &amp;quot;/home/rupert/Development/LibSedML/SedMLConsole/Web&lt;br /&gt;         References/MIRIAM/Reference.cs&amp;quot;&lt;br /&gt;         &amp;quot;/res:/home/rupert/Development/LibSedML/SedMLConsole/Properties/Resourc&lt;br /&gt;         es.resources,SedMLConsole.Properties.Resources.resources&amp;quot; &lt;br /&gt;         Compilation succeeded - 1 warning(s)&lt;br /&gt;         &lt;br /&gt;         /home/rupert/Development/LibSedML/SedMLConsole/Program.cs(64,29):&lt;br /&gt;         warning CS0169: The private method&lt;br /&gt;         `SedMLConsole.Program.CreateSedMLProgramatically()' is never used&lt;br /&gt;         &lt;br /&gt;         &lt;br /&gt;         Build complete -- 0 errors, 1 warning&lt;br /&gt;      Building: libSedMLScript (Release)&lt;br /&gt;         Performing main compilation...&lt;br /&gt;         Compiling resource&lt;br /&gt;         /home/rupert/Development/LibSedML/libSedMLScript/Properties/Resources.r&lt;br /&gt;         esx with /usr/bin/resgen2&lt;br /&gt;         /usr/bin/gmcs /noconfig&lt;br /&gt;         &amp;quot;/out:/home/rupert/Development/LibSedML/bin/libSedMLScript.dll&amp;quot;&lt;br /&gt;         &amp;quot;/r:/home/rupert/Development/LibSedML/3rdParty/IronPython.dll&amp;quot;&lt;br /&gt;         &amp;quot;/r:/home/rupert/Development/LibSedML/3rdParty/Microsoft.Scripting.dll&amp;quot;&lt;br /&gt;         &lt;br /&gt;         &amp;quot;/r:/home/rupert/Development/LibSedML/3rdParty/Microsoft.Scripting.Core&lt;br /&gt;         .dll&amp;quot; &amp;quot;/r:System.dll&amp;quot; &amp;quot;/r:System.Core.dll&amp;quot; &amp;quot;/r:System.Xml.Linq.dll&amp;quot;&lt;br /&gt;         &amp;quot;/r:System.Data.DataSetExtensions.dll&amp;quot; &amp;quot;/r:System.Data.dll&amp;quot;&lt;br /&gt;         &amp;quot;/r:System.Xml.dll&amp;quot;&lt;br /&gt;         &amp;quot;/r:/home/rupert/Development/LibSedML/bin/libSedML.dll&amp;quot; /nologo&lt;br /&gt;         /warn:4 /optimize+ /codepage:utf8 &amp;quot;/define:TRACE&amp;quot;  /t:library&lt;br /&gt;         &amp;quot;/home/rupert/Development/LibSedML/libSedMLScript/ITextExporter.cs&amp;quot;&lt;br /&gt;         &amp;quot;/home/rupert/Development/LibSedML/libSedMLScript/ITextImporter.cs&amp;quot;&lt;br /&gt;         &amp;quot;/home/rupert/Development/LibSedML/libSedMLScript/Properties/Resources.&lt;br /&gt;         Designer.cs&amp;quot;&lt;br /&gt;         &amp;quot;/home/rupert/Development/LibSedML/libSedMLScript/SedMLPythonConverter.&lt;br /&gt;         cs&amp;quot; &amp;quot;/home/rupert/Development/LibSedML/libSedMLScript/SedMLScript.cs&amp;quot;&lt;br /&gt;         &amp;quot;/home/rupert/Development/LibSedML/libSedMLScript/Properties/AssemblyIn&lt;br /&gt;         fo.cs&amp;quot;&lt;br /&gt;         &amp;quot;/res:/home/rupert/Development/LibSedML/libSedMLScript/Properties/Resou&lt;br /&gt;         rces.resources,libSedMLScript.Properties.Resources.resources&amp;quot; &lt;br /&gt;         Build complete -- 0 errors, 0 warnings&lt;br /&gt;      Building: SedMLScriptTest (Release)&lt;br /&gt;         Performing main compilation...&lt;br /&gt;         WARNING: Assembly 'System.Deployment' not found. Make sure that the&lt;br /&gt;         assembly exists in disk. If the reference is required to build the&lt;br /&gt;         project you may get compilation errors.&lt;br /&gt;         Compiling resource&lt;br /&gt;         /home/rupert/Development/LibSedML/SedMLScript/MainForm.resx with&lt;br /&gt;         /usr/bin/resgen2&lt;br /&gt;         Compiling resource&lt;br /&gt;         /home/rupert/Development/LibSedML/SedMLScript/Properties/Resources.resx&lt;br /&gt;          with /usr/bin/resgen2&lt;br /&gt;         /usr/bin/gmcs /noconfig&lt;br /&gt;         &amp;quot;/out:/home/rupert/Development/LibSedML/bin/SedMLScriptTest.exe&amp;quot;&lt;br /&gt;         &amp;quot;/r:System.dll&amp;quot; &amp;quot;/r:System.Core.dll&amp;quot; &amp;quot;/r:System.Xml.Linq.dll&amp;quot;&lt;br /&gt;         &amp;quot;/r:System.Data.DataSetExtensions.dll&amp;quot; &amp;quot;/r:System.Data.dll&amp;quot;&lt;br /&gt;         &amp;quot;/r:System.Drawing.dll&amp;quot; &amp;quot;/r:System.Windows.Forms.dll&amp;quot;&lt;br /&gt;         &amp;quot;/r:System.Xml.dll&amp;quot;&lt;br /&gt;         &amp;quot;/r:/home/rupert/Development/LibSedML/bin/libSedMLRunner.dll&amp;quot;&lt;br /&gt;         &amp;quot;/r:/home/rupert/Development/LibSedML/bin/libSedMLScript.dll&amp;quot;&lt;br /&gt;         &amp;quot;/r:/home/rupert/Development/LibSedML/bin/libSedML.dll&amp;quot; /nologo&lt;br /&gt;         /warn:4 /optimize+&lt;br /&gt;         &amp;quot;/win32icon:/home/rupert/Development/LibSedML/SedMLScript/ICON_MIASE.ic&lt;br /&gt;         o&amp;quot; /codepage:utf8 /platform:x86 &amp;quot;/define:TRACE&amp;quot; &lt;br /&gt;         /main:SedMLScriptTest.Program /t:winexe&lt;br /&gt;         &amp;quot;/home/rupert/Development/LibSedML/SedMLScript/MainForm.cs&amp;quot;&lt;br /&gt;         &amp;quot;/home/rupert/Development/LibSedML/SedMLScript/MainForm.Designer.cs&amp;quot;&lt;br /&gt;         &amp;quot;/home/rupert/Development/LibSedML/SedMLScript/Program.cs&amp;quot;&lt;br /&gt;         &amp;quot;/home/rupert/Development/LibSedML/SedMLScript/Properties/AssemblyInfo.&lt;br /&gt;         cs&amp;quot;&lt;br /&gt;         &amp;quot;/res:/home/rupert/Development/LibSedML/SedMLScript/MainForm.resources,&lt;br /&gt;         SedMLScriptTest.MainForm.resources&amp;quot;&lt;br /&gt;         &amp;quot;/res:/home/rupert/Development/LibSedML/SedMLScript/Properties/Resource&lt;br /&gt;         s.resources,SedMLScriptTest.Properties.Resources.resources&amp;quot;&lt;br /&gt;         &amp;quot;/home/rupert/Development/LibSedML/SedMLScript/Properties/Resources.Des&lt;br /&gt;         igner.cs&amp;quot;&lt;br /&gt;         &amp;quot;/home/rupert/Development/LibSedML/SedMLScript/Properties/Settings.Desi&lt;br /&gt;         gner.cs&amp;quot; &lt;br /&gt;         Build complete -- 0 errors, 1 warning&lt;br /&gt;      Building: SedMLWeb (Release)&lt;br /&gt;         Generating CodeBehind members...&lt;br /&gt;         Waiting for project type database to finish updating...&lt;br /&gt;Object reference not set to an instance of an object&lt;br /&gt;rupert@linux:~/Development/LibSedML&amp;gt; cd bin&lt;br /&gt;rupert@linux:~/Development/LibSedML/bin&amp;gt; ls&lt;br /&gt;CompareData.dll              Microsoft.Dynamic.dll&lt;br /&gt;ICSharpCode.SharpZipLib.dll  Microsoft.Scripting.Core.dll&lt;br /&gt;IronPython.dll               Microsoft.Scripting.Debugging.dll&lt;br /&gt;LibRoadRunner.dll            Microsoft.Scripting.dll&lt;br /&gt;libsbmlcsP.dll               Microsoft.Scripting.ExtensionAttribute.dll&lt;br /&gt;libSedML.dll                 SBMLSupport.dll&lt;br /&gt;libSedMLRunner.dll           SBWCSharp.dll&lt;br /&gt;libSedMLScript.dll           SedMLConsole.exe&lt;br /&gt;LibStructuralCSharp.dll      SedMLScriptTest.exe&lt;br /&gt;mathLibrary.dll              ZedGraph.dll&lt;br /&gt;rupert@linux:~/Development/LibSedML/bin&amp;gt; cp ~/Development/sbwbuild/cvs-dl/libsbml/src/bindings/csharp/libsbmlcs* . &lt;br /&gt;rupert@linux:~/Development/LibSedML/bin&amp;gt; ls&lt;br /&gt;CompareData.dll              mathLibrary.dll&lt;br /&gt;ICSharpCode.SharpZipLib.dll  Microsoft.Dynamic.dll&lt;br /&gt;IronPython.dll               Microsoft.Scripting.Core.dll&lt;br /&gt;LibRoadRunner.dll            Microsoft.Scripting.Debugging.dll&lt;br /&gt;libsbmlcs.la                 Microsoft.Scripting.dll&lt;br /&gt;libsbmlcsP.dll               Microsoft.Scripting.ExtensionAttribute.dll&lt;br /&gt;libsbmlcs.snk                SBMLSupport.dll&lt;br /&gt;libsbmlcs.so                 SBWCSharp.dll&lt;br /&gt;libSedML.dll                 SedMLConsole.exe&lt;br /&gt;libSedMLRunner.dll           SedMLScriptTest.exe&lt;br /&gt;libSedMLScript.dll           ZedGraph.dll&lt;br /&gt;LibStructuralCSharp.dll&lt;br /&gt;rupert@linux:~/Development/LibSedML/bin&amp;gt; cp ~/SBW-2.7.10/CSharp/libcvode*.so . &lt;br /&gt;rupert@linux:~/Development/LibSedML/bin&amp;gt; cp ~/SBW-2.7.10/CSharp/libNleqLib.so . &lt;br /&gt;rupert@linux:~/Development/LibSedML/bin&amp;gt; cp ~/SBW-2.7.10/CSharp/lib&lt;br /&gt;libblas.so           libcvode.so          libLibLA.so&lt;br /&gt;libblas.so.3         libg2c.so            libLibStructural.so&lt;br /&gt;libblas.so.3.0       libg2c.so.0          libNleqLib.so&lt;br /&gt;libblas.so.3.0.3     libg2c.so.0.0.0      libsbl2SBML.dll&lt;br /&gt;libbz2.so            liblapack.so         libsbmlcsP.dll&lt;br /&gt;libbz2.so.1          liblapack.so.3       libsbmlcs.so&lt;br /&gt;libbz2.so.1.0.2      liblapack.so.3.0     libsbml.so&lt;br /&gt;libcvodedll.so       liblapack.so.3.0.3   libSBW.so&lt;br /&gt;rupert@linux:~/Development/LibSedML/bin&amp;gt; cp ~/SBW-2.7.10/CSharp/libLib*.so . &lt;br /&gt;rupert@linux:~/Development/LibSedML/bin&amp;gt; ls&lt;br /&gt;CompareData.dll              libSedMLRunner.dll&lt;br /&gt;ICSharpCode.SharpZipLib.dll  libSedMLScript.dll&lt;br /&gt;IronPython.dll               LibStructuralCSharp.dll&lt;br /&gt;libcvodedll.so               mathLibrary.dll&lt;br /&gt;libcvode.so                  Microsoft.Dynamic.dll&lt;br /&gt;libLibLA.so                  Microsoft.Scripting.Core.dll&lt;br /&gt;libLibStructural.so          Microsoft.Scripting.Debugging.dll&lt;br /&gt;libNleqLib.so                Microsoft.Scripting.dll&lt;br /&gt;LibRoadRunner.dll            Microsoft.Scripting.ExtensionAttribute.dll&lt;br /&gt;libsbmlcs.la                 SBMLSupport.dll&lt;br /&gt;libsbmlcsP.dll               SBWCSharp.dll&lt;br /&gt;libsbmlcs.snk                SedMLConsole.exe&lt;br /&gt;libsbmlcs.so                 SedMLScriptTest.exe&lt;br /&gt;libSedML.dll                 ZedGraph.dll&lt;br /&gt;rupert@linux:~/Development/LibSedML/bin&amp;gt; mono ./SedMLConsole.exe ../Samples/lorenz.miase &lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;h2&gt;The Results&lt;/h2&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;This will result in the Lorenz Attractor simulated, and you should see: &lt;br /&gt;  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh4.ggpht.com/_LvzJ3dV9uLE/S5W_BxpTd9I/AAAAAAAAAFE/OXR-k7rBKJI/s1600-h/Screen%20shot%202010-03-08%20at%207.10.19%20PM%5B3%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="Screen shot 2010-03-08 at 7.10.19 PM" border="0" alt="Screen shot 2010-03-08 at 7.10.19 PM" src="http://lh5.ggpht.com/_LvzJ3dV9uLE/S5W_Cb16D6I/AAAAAAAAAFI/pubcMbTmbL4/Screen%20shot%202010-03-08%20at%207.10.19%20PM_thumb%5B1%5D.png?imgmax=800" width="244" height="187" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;I hope this gave a little over view in how to compile the library at this stage. I’ve archived the resulting binary and uploaded it to SF: &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://sourceforge.net/projects/libsedml/files/test"&gt;http://sourceforge.net/projects/libsedml/files/test&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-6762037513245011950?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/6762037513245011950/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=6762037513245011950' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/6762037513245011950'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/6762037513245011950'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2010/03/getting-started-with-libsedml-on-linux.html' title='Getting Started with LibSedML (on linux)'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_LvzJ3dV9uLE/S5W_Cb16D6I/AAAAAAAAAFI/pubcMbTmbL4/s72-c/Screen%20shot%202010-03-08%20at%207.10.19%20PM_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-2583691159161915111</id><published>2010-03-08T11:32:00.001-08:00</published><updated>2010-03-08T11:32:46.777-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sed-ml'/><category scheme='http://www.blogger.com/atom/ns#' term='standardization'/><category scheme='http://www.blogger.com/atom/ns#' term='annotations'/><title type='text'>Nested Simulation Experiments</title><content type='html'>&lt;p align="justify"&gt;A couple of days ago, I posted a &lt;a href="http://frank-fbergmann.blogspot.com/2010/03/supporting-sed-ml.html" target="_blank"&gt;proposal for a Nested Simulation Experiment&lt;/a&gt; for SED-ML. There I proposed that instead of defining a new Simulation class for each experiment you’d like to run, it would be better for implementers and modelers alike to be able to compose simulation experiments out of primitives. That is instead of defining: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;a TimeCourse Simulation experiment like this:        &lt;br /&gt;        &lt;br /&gt;&amp;lt;timeCourse id=&amp;quot;s1&amp;quot; name=&amp;quot;time course definition&amp;quot; algorithm=&amp;quot;KiSAO:0000019&amp;quot;&amp;gt;        &lt;br /&gt;&amp;lt;uniformRange start=&amp;quot;0&amp;quot; end=&amp;quot;100&amp;quot; numberOfPoints=&amp;quot;10&amp;quot; /&amp;gt;        &lt;br /&gt;&amp;lt;/timeCourse&amp;gt;        &lt;br /&gt;&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;and next like this:        &lt;br /&gt;        &lt;br /&gt;&amp;lt;timeCourse id=&amp;quot;s1&amp;quot; name=&amp;quot;time course definition&amp;quot; algorithm=&amp;quot;KiSAO:0000019&amp;quot;&amp;gt;        &lt;br /&gt;&amp;lt;vectorRange&amp;gt;        &lt;br /&gt;&amp;lt;value&amp;gt; 1 &amp;lt;/value&amp;gt;        &lt;br /&gt;&amp;lt;value&amp;gt; 4 &amp;lt;/value&amp;gt;        &lt;br /&gt;&amp;lt;value&amp;gt; 10 &amp;lt;/value&amp;gt;        &lt;br /&gt;&amp;lt;value&amp;gt; 23 &amp;lt;/value&amp;gt;        &lt;br /&gt;&amp;lt;value&amp;gt; 42 &amp;lt;/value&amp;gt;        &lt;br /&gt;&amp;lt;/vectorRange&amp;gt;        &lt;br /&gt;&amp;lt;/timeCourse&amp;gt; &lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;one could compose these same experiments with primitives. (Just as an aside, note that in the cases above a simulator supporting the simulation experiment would have to implement a different set of operations).&lt;/p&gt;  &lt;h2&gt;The Primitives&lt;/h2&gt;  &lt;p&gt;I would envision three primitives: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;OneStep: this calculates one further output step for the model from its current state. Note that this does NOT have to mean one integration step. The simulator is allowed to take as many steps as needed, all that has to be fulfilled with this simulation class, is that, at the end, the desired output time is reached. &lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;SteadyState: This brings the model from its current state to a steady state. This simulation class will also just provide one output row for attached data generators, the state of the model at steady state. &lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;SetValue: This is not a simulation class, but rather a convenience function, to change a model variable/parameter. In this way it is akin to ChangeMath / ChangeAttribute / ChangeXML we would have to discuss the actual syntax of it. &lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;These primitives then are used in a nested simulation experiment to describe virtually any simulation experiment. Through the nested class construct. This construct allows to refer to: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;A task object, which defines the model and simulation experiment to be called repeatedly,&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;A range object, which defines how often the simulation task above is to be called, &lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;A SetValue construct describing how model variables are to be changed. Note:that the SetValue construct will have to be able to refer to the ranges current value. &lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;Additionally, flags would indicate, whether the model is supposed to be reset after each run or not. &lt;/p&gt;  &lt;h2&gt;Examples&lt;/h2&gt;  &lt;p&gt;So far the proposal, so how would this look in an example. Lets go through each one and make up some examples as we go along. &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;OneStep: This is a simulation class, causing the model time variable to be adapted from the current time with a given step (that determines where the desired output point is):     &lt;br /&gt;      &lt;br /&gt;&amp;lt;listOfSimulations&amp;gt;      &lt;br /&gt; &amp;lt;oneStep id=&amp;quot;s1&amp;quot; algorithm=&amp;quot;KiSAO:0000019&amp;quot; step=&amp;quot;0.1&amp;quot;/&amp;gt;      &lt;br /&gt;&amp;lt;/listOfSimulations&amp;gt;       &lt;br /&gt;      &lt;br /&gt;when used in a task, this simulation task simulates the model from 0 to 0.1. The data generators are supposed to be calculated to yield the desired outputs for time point 0.1.      &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;SteadyState: This is another simulation class, so we would define it as such. Unfortunately KISAO does not currently describe any steady state solvers and instead mostly integrators. So suppose in the following that:     &lt;br /&gt;      &lt;br /&gt;KISAO:0000099 = steady state solver (it would probably somewhere below KISAO:0000018)      &lt;br /&gt;      &lt;br /&gt;&amp;lt;listOfSimulations&amp;gt;      &lt;br /&gt; &amp;lt;steadyState id=&amp;quot;s2&amp;quot; algorithm=&amp;quot;KiSAO:0000099&amp;quot; /&amp;gt;      &lt;br /&gt;&amp;lt;/listOfSimulations&amp;gt;       &lt;br /&gt;      &lt;br /&gt;when used in a task, this simulation task brings the model to steady state. Once finished the data generators are supposed to be calculated to yield the desired output points for the model variables at steady state.       &lt;br /&gt;&lt;/li&gt;    &lt;li&gt;NestedSimulation: So how would this now look in a nested simulation experiment:      &lt;br /&gt;&lt;/li&gt;    &lt;p&gt;&amp;lt;listOfSimulations&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;nestedSimulation id=&amp;quot;s3&amp;quot; algorithm=&amp;quot;KiSAO:0000019&amp;quot;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; resetModel=&amp;quot;false&amp;quot; originalTask=&amp;quot;task1&amp;quot;&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;vectorRange&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;value&amp;gt; 1 &amp;lt;/value&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;value&amp;gt; 4 &amp;lt;/value&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;value&amp;gt; 10 &amp;lt;/value&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/vectorRange&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;setValue target=&amp;quot;/sbml/model/listOfParameters/parameter[@id='w']&amp;quot;&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;listOfVariables&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;variable id=&amp;quot;current&amp;quot; name=&amp;quot;current range value&amp;quot; target=&amp;quot;#current&amp;quot; /&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;listOfVariables/&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;math&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;ci&amp;gt;current&amp;lt;/ci&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/math&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/setValue&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160; &amp;lt;/nestedSimulation&amp;gt;      &lt;br /&gt;&amp;lt;/listOfSimulations&amp;gt;       &lt;br /&gt;      &lt;br /&gt;The nested simulation above, would carry out task1 3 times. Each time the value of a model parameter ‘w’ is varied by applying one of the three values.&amp;#160; If task1 specifies a steady state primitive, then this snippet produces the steady state values for w=1, w=4 and w=10. &lt;/p&gt;    &lt;p&gt;Or we could have used a uniform range to sweep the parameter. Or a functional range, to vary the parameter in logScale for example. &lt;/p&gt;    &lt;p&gt;If task1 would refer to a uniformTimeCourse Simulation then this would actually perform a simulation, where a parameter is changed in steps. After each time we would see how the model reacts to this discrete parameter change. &lt;/p&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;Note that you could even define a uniform time course simulation using this approach. Here task1 refers to a ‘oneStep’ simulation task. We would just vary the models time each time: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&amp;lt;listOfSimulations&amp;gt;     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;nestedSimulation id=&amp;quot;s3&amp;quot; algorithm=&amp;quot;KiSAO:0000019&amp;quot;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; resetModel=&amp;quot;false&amp;quot; originalTask=&amp;quot;task1&amp;quot;&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;uniformRange start=&amp;quot;0&amp;quot; end=&amp;quot;100&amp;quot; numberOfPoints=&amp;quot;10&amp;quot; /&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;setValue target=&amp;quot;#time&amp;quot;&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;listOfVariables&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;variable id=&amp;quot;current&amp;quot; name=&amp;quot;current range value&amp;quot; target=&amp;quot;#current&amp;quot; /&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;listOfVariables/&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;math&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;ci&amp;gt;current&amp;lt;/ci&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/math&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;/setValue&amp;gt;      &lt;br /&gt;&amp;#160;&amp;#160; &amp;lt;/nestedSimulation&amp;gt;      &lt;br /&gt;&amp;lt;/listOfSimulations&amp;gt; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;You could even think about nesting the nestedSimulation experiments in order to for example perform 2D parameter scans or what have you. &lt;/p&gt;  &lt;h2&gt;Conclusions&lt;/h2&gt;  &lt;p align="justify"&gt;Defining simulation experiments through these primitives will open up SED-ML and make it really useful. These primitives are easy to implement. In fact they are already implemented in available simulators. They are what is needed to implement the proposed Range construct anyway. &lt;/p&gt;  &lt;p align="justify"&gt;So let us not be shackled by having to each time define a new simulation class. The nested approach here will be what is needed to define most simulation experiments. By adding new primitives later on it can be easily extended. &lt;/p&gt;  &lt;p align="justify"&gt;I’m perfectly happy to open it up further. What one could envision would be multiple &amp;lt;setValue&amp;gt; elements to change multiple parameters. or even multiple ranges, though then each would have to have an id, to be used in the SetValue constructs. But I’m sure it could be sorted out. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-2583691159161915111?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/2583691159161915111/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=2583691159161915111' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/2583691159161915111'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/2583691159161915111'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2010/03/nested-simulation-experiments.html' title='Nested Simulation Experiments'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-78661421110982713</id><published>2010-03-03T12:40:00.001-08:00</published><updated>2010-03-03T12:40:53.531-08:00</updated><title type='text'>Supporting SED-ML</title><content type='html'>&lt;p align="justify"&gt;SED-ML, the Simulation Experiment Description – Markup Language, offers the possibility to exchange simulation experiments. That is, instead of receiving a model and wondering how you can make it do what it is supposed to do, you would simply run the accompanying SED-ML document and see the figures reproduced. &lt;/p&gt;  &lt;p align="center"&gt;&lt;a href="http://lh6.ggpht.com/_LvzJ3dV9uLE/S47JUKxLq3I/AAAAAAAAAE0/eQnGXmLkASs/s1600-h/SimulationTool%5B2%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="SimulationTool" border="0" alt="SimulationTool" src="http://lh4.ggpht.com/_LvzJ3dV9uLE/S47JUhD3DqI/AAAAAAAAAE4/ussOMjo2D6c/SimulationTool_thumb.png?imgmax=800" width="244" height="170" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;As with any new standards initiative, it will only be taken up if there are computational resources, that make it easy to use, and of course if the standard can be helpful. Currently, with SED-ML in a very early stage it is already possible to exchange time course simulation experiments, but not much more. However, it could be extended easily, such as by using a Nested Simulation Experiment, as described at the link below. &lt;/p&gt;  &lt;p align="justify"&gt;But what about computational resources? As it so happens, I’ve created a new project:&lt;/p&gt;  &lt;p align="center"&gt;LibSedML - &lt;a href="http://libsedml.sourceforge.net/"&gt;libsedml.sourceforge.net/&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;There, I provide three libraries: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;LibSedML – a .NET library for reading and writing SED-ML&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;LibSedMLRunner&amp;#160; – a library on top of LibSedML, that schedules and runs simulation experiments. &lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;LibSedMLScript – a utility library, turning a human readable script format into SED-ML. &lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;Three applications support these libraries so far: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;SED-ML Script: This application provides an easy way to define new Simulation Experiments using the human readable script format. No more struggling with API calls or XML, a simple script defines a simulation experiment. It can also be readily tested right then and there.       &lt;br /&gt; &lt;a href="http://lh6.ggpht.com/_LvzJ3dV9uLE/S47JUw384vI/AAAAAAAAAE8/JxFzBWgLulo/s1600-h/multipleplots%5B3%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="multipleplots" border="0" alt="multipleplots" src="http://lh4.ggpht.com/_LvzJ3dV9uLE/S47JVGS9AKI/AAAAAAAAAFA/L-_2_9AjPfQ/multipleplots_thumb%5B1%5D.png?imgmax=800" width="244" height="171" /&gt;&lt;/a&gt; &lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;A &lt;a href="http://128.208.19.37/MIASETest/"&gt;web application&lt;/a&gt; provides the same functionality and provides a test bed, without having to download any software.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;A plug-in for the SBW Simulation Tool, allows to run SED-ML files directly from it and provides capabilities for saving simple simulation experiments. (screenshot at beginning of this post)&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;The libraries and tools have been implemented using .NET, and have been confirmed to run fine on Windows, Linux and OS X! &lt;/p&gt;  &lt;p align="justify"&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Bergmann, Frank. A Simple Nested Simulation for SED-ML. Available from Nature Precedings &amp;lt;&lt;a href="http://dx.doi.org/10.1038/npre.2010.4257.1"&gt;http://dx.doi.org/10.1038/npre.2010.4257.1&lt;/a&gt;&amp;gt; (2010)&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-78661421110982713?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/78661421110982713/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=78661421110982713' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/78661421110982713'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/78661421110982713'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2010/03/supporting-sed-ml.html' title='Supporting SED-ML'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_LvzJ3dV9uLE/S47JUhD3DqI/AAAAAAAAAE4/ussOMjo2D6c/s72-c/SimulationTool_thumb.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-7328717295758088838</id><published>2010-02-13T12:01:00.001-08:00</published><updated>2010-02-13T12:01:58.339-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='roadRunner'/><category scheme='http://www.blogger.com/atom/ns#' term='mono'/><category scheme='http://www.blogger.com/atom/ns#' term='SBW'/><title type='text'>RoadRunner &amp; C++/CLI vs. Embedding the MONO Runtime</title><content type='html'>&lt;p align="justify"&gt;RoadRunner, our simulation main simulation engine in the Systems Biology Workbench, has been written in C#. This allows RoadRunner to be used in scripting scenarios with languages like &lt;a href="http://www.ironpython.com/"&gt;IronPython&lt;/a&gt;, or even from the &lt;a href="http://tirania.org/blog/archive/2008/Sep-08.html"&gt;csharp-shell&lt;/a&gt; or &lt;a href="http://technet.microsoft.com/en-us/scriptcenter/dd742419.aspx"&gt;Windows PowerShell&lt;/a&gt;. But what if you wanted to use RoadRunner from plain old C / C++? &lt;/p&gt;  &lt;h4&gt;C++ / CLI&lt;/h4&gt;  &lt;p align="justify"&gt;On Windows operating systems the obvious choice would probably be &lt;a href="http://en.wikipedia.org/wiki/C%2B%2B/CLI"&gt;C++/CLI&lt;/a&gt;.&amp;#160; And really, the task could not be easier. Just add the RoadRunner reference to the application include the RoadRunner namespace and you are good to go: &lt;/p&gt;  &lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;   &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;     &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #008000"&gt;// RoadRunnerCLI.cpp : main project file.&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt;&amp;#160; &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt; &lt;span style="color: #cc6633"&gt;#include&lt;/span&gt; &lt;span style="color: #006080"&gt;&amp;quot;stdafx.h&amp;quot;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;&amp;#160; &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; &lt;span style="color: #0000ff"&gt;namespace&lt;/span&gt; System;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; &lt;span style="color: #0000ff"&gt;namespace&lt;/span&gt; CSharpSimulator;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;&amp;#160; &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; PrintResult(cli::array&amp;lt;&lt;span style="color: #0000ff"&gt;double&lt;/span&gt;, 2&amp;gt;^ data)&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;     {&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;for&lt;/span&gt; (&lt;span style="color: #0000ff"&gt;int&lt;/span&gt; i = 0; i &amp;lt; data-&amp;gt;GetLength(0); i++)&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt;         {&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt;             &lt;span style="color: #0000ff"&gt;for&lt;/span&gt; (&lt;span style="color: #0000ff"&gt;int&lt;/span&gt; j = 0; j &amp;lt; data-&amp;gt;GetLength(1); j++)&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum13"&gt;  13:&lt;/span&gt;             {&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum14"&gt;  14:&lt;/span&gt;                 Console::Write(data[i,j]);&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum15"&gt;  15:&lt;/span&gt;                 Console::Write(&lt;span style="color: #006080"&gt;&amp;quot;\t&amp;quot;&lt;/span&gt;);&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum16"&gt;  16:&lt;/span&gt;             }&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum17"&gt;  17:&lt;/span&gt;             Console::WriteLine();&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum18"&gt;  18:&lt;/span&gt;         }&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum19"&gt;  19:&lt;/span&gt;     }&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum20"&gt;  20:&lt;/span&gt;&amp;#160; &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum21"&gt;  21:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; main(array&amp;lt;System::String ^&amp;gt; ^args)&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum22"&gt;  22:&lt;/span&gt; {&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum23"&gt;  23:&lt;/span&gt;  &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum24"&gt;  24:&lt;/span&gt;     sbwInterface roadRunnerInstance;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum25"&gt;  25:&lt;/span&gt;&amp;#160; &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum26"&gt;  26:&lt;/span&gt;     roadRunnerInstance.loadSBMLFromFile&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum27"&gt;  27:&lt;/span&gt;         (L&lt;span style="color: #006080"&gt;&amp;quot;C:\\Users\\fbergmann\\Documents\\SBML Models\\BorisEJB.xml&amp;quot;&lt;/span&gt;);&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum28"&gt;  28:&lt;/span&gt;     roadRunnerInstance.setTimeStart(0.0);&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum29"&gt;  29:&lt;/span&gt;     roadRunnerInstance.setTimeEnd(100.0);&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum30"&gt;  30:&lt;/span&gt;     roadRunnerInstance.setNumPoints(11);&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum31"&gt;  31:&lt;/span&gt;     &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum32"&gt;  32:&lt;/span&gt;     cli::array&amp;lt;&lt;span style="color: #0000ff"&gt;double&lt;/span&gt;, 2&amp;gt;^ result = roadRunnerInstance.simulate();&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum33"&gt;  33:&lt;/span&gt;&amp;#160; &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum34"&gt;  34:&lt;/span&gt;     PrintResult(result);&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum35"&gt;  35:&lt;/span&gt;&amp;#160; &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum36"&gt;  36:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; 0;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum37"&gt;  37:&lt;/span&gt; }&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;The only drawback would be that this will not work on Linux or OS X. &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;MONO Embedding&lt;/h4&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="justify"&gt;So what about &lt;a href="http://www.mono-project.com/Embedding_Mono"&gt;MONO Embedding&lt;/a&gt;? Or in other words, writing a C++ application, that would embed the MONO Runtime. This enables the C++ application to directly reference RoadRunner. The idea is basically the same as when using any SBW Module. First we get a hold of the RoadRunner module, or in this case an instance of the RoadRunner class: &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;&lt;br /&gt;  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; mono_set_dirs(NULL, NULL);&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; domain = mono_jit_init (&lt;span style="color: #006080"&gt;&amp;quot;LibRoadRunner.dll&amp;quot;&lt;/span&gt;);&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt; mono_set_dirs(NULL, NULL);&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt; mono_config_parse(NULL);&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt; assembly = mono_domain_assembly_open (domain, &lt;span style="color: #006080"&gt;&amp;quot;LibRoadRunner.dll&amp;quot;&lt;/span&gt;);&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (assembly == NULL)&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;     cout &amp;lt;&amp;lt; &lt;span style="color: #006080"&gt;&amp;quot;Couldn't load RR assembly&amp;quot;&lt;/span&gt; &amp;lt;&amp;lt; endl;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt; image = mono_assembly_get_image (assembly);&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt; rr_class = mono_class_from_name (image, &lt;span style="color: #006080"&gt;&amp;quot;CSharpSimulator&amp;quot;&lt;/span&gt;, &lt;span style="color: #006080"&gt;&amp;quot;sbwInterface&amp;quot;&lt;/span&gt;);&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (rr_class == NULL)&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt;     cout &amp;lt;&amp;lt; &lt;span style="color: #006080"&gt;&amp;quot;Couldn't get hold of the RoadRunner class&amp;quot;&lt;/span&gt; &amp;lt;&amp;lt; endl;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt;&amp;#160; &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum13"&gt;  13:&lt;/span&gt; &lt;span style="color: #008000"&gt;// create new roadRunner instance&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum14"&gt;  14:&lt;/span&gt; rr_instance = mono_object_new (domain, rr_class);   &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum15"&gt;  15:&lt;/span&gt; &lt;span style="color: #008000"&gt;// call constructor&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum16"&gt;  16:&lt;/span&gt; mono_runtime_object_init (rr_instance);&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Next one would get hold of all the method one would like to call, as in: &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;&lt;br /&gt;  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #008000"&gt;// get the loadSBML &lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; methodLoadSBML = mono_class_get_method_from_name(rr_class, &lt;span style="color: #006080"&gt;&amp;quot;loadSBML&amp;quot;&lt;/span&gt;, -1);&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (methodLoadSBML == NULL) &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     cout &amp;lt;&amp;lt; &lt;span style="color: #006080"&gt;&amp;quot;Couldn't get loadSBML&amp;quot;&lt;/span&gt; &amp;lt;&amp;lt; endl;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;     &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="justify"&gt;finally for calling the method all that’s needed is to wrap the arguments into arguments that MONO would understand: &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;&lt;br /&gt;  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; HostRR::LoadSBML(&lt;span style="color: #0000ff"&gt;const&lt;/span&gt; &lt;span style="color: #0000ff"&gt;char&lt;/span&gt;* model)&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     MonoString *str = mono_string_new (domain, model);&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; *args[1]; args[0] = str; &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;     MonoObject *exception = NULL;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;     mono_runtime_invoke(methodLoadSBML, rr_instance, args, &amp;amp;exception);&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (exception != NULL)&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;     {&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;         PrintException(&lt;span style="color: #006080"&gt;&amp;quot;Error while loading SBML&amp;quot;&lt;/span&gt;, exception);&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;     }&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt; }&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="justify"&gt;continuing like that for the remaining methods that have to be available for C++. For a client calling into RoadRunner the result would look like this: &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;&lt;br /&gt;  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; &lt;span style="color: #cc6633"&gt;#include&lt;/span&gt; &lt;span style="color: #006080"&gt;&amp;quot;HostRR.h&amp;quot;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; &lt;span style="color: #cc6633"&gt;#include&lt;/span&gt; &amp;lt;iostream&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt; &lt;span style="color: #cc6633"&gt;#include&lt;/span&gt; &amp;lt;iomanip&amp;gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;&amp;#160; &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; &lt;span style="color: #0000ff"&gt;namespace&lt;/span&gt; std;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt;&amp;#160; &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; PrintResult(&lt;span style="color: #0000ff"&gt;double&lt;/span&gt;** data, &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; numRows, &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; numCols)&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt; {&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (data == NULL) &lt;span style="color: #0000ff"&gt;return&lt;/span&gt;;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt;&amp;#160; &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;for&lt;/span&gt; (&lt;span style="color: #0000ff"&gt;int&lt;/span&gt; y = 0; y &amp;lt; numRows; y++) &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt;     {&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum13"&gt;  13:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;for&lt;/span&gt; (&lt;span style="color: #0000ff"&gt;int&lt;/span&gt; x = 0; x &amp;lt; numCols; x++) &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum14"&gt;  14:&lt;/span&gt;         {&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum15"&gt;  15:&lt;/span&gt;             cout &amp;lt;&amp;lt; setiosflags(ios::fixed) &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum16"&gt;  16:&lt;/span&gt;                  &amp;lt;&amp;lt; setw(7) &amp;lt;&amp;lt; setprecision(2) &amp;lt;&amp;lt; setfill(&lt;span style="color: #006080"&gt;' '&lt;/span&gt;) &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum17"&gt;  17:&lt;/span&gt;                  &amp;lt;&amp;lt;  data[y][x] &amp;lt;&amp;lt; &lt;span style="color: #006080"&gt;&amp;quot;\t&amp;quot;&lt;/span&gt;;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum18"&gt;  18:&lt;/span&gt;         }&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum19"&gt;  19:&lt;/span&gt;         cout &amp;lt;&amp;lt; endl;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum20"&gt;  20:&lt;/span&gt;     }&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum21"&gt;  21:&lt;/span&gt;     cout &amp;lt;&amp;lt; endl;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum22"&gt;  22:&lt;/span&gt; }&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum23"&gt;  23:&lt;/span&gt;&amp;#160; &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum24"&gt;  24:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; main(&lt;span style="color: #0000ff"&gt;int&lt;/span&gt; argc, &lt;span style="color: #0000ff"&gt;char&lt;/span&gt;* argv[])&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum25"&gt;  25:&lt;/span&gt; {&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum26"&gt;  26:&lt;/span&gt;     HostRR instance;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum27"&gt;  27:&lt;/span&gt;     &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum28"&gt;  28:&lt;/span&gt;     instance.LoadSBMLFromFile(&lt;span style="color: #006080"&gt;&amp;quot;BorisEJB.xml&amp;quot;&lt;/span&gt;);&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum29"&gt;  29:&lt;/span&gt;&amp;#160; &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum30"&gt;  30:&lt;/span&gt;     instance.SetTimeStart(0.0);&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum31"&gt;  31:&lt;/span&gt;     instance.SetTimeEnd(1100.0);&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum32"&gt;  32:&lt;/span&gt;     instance.SetNumPoints(100);&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum33"&gt;  33:&lt;/span&gt;     &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum34"&gt;  34:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; numRows; &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; numCols;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum35"&gt;  35:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;double&lt;/span&gt;** result = instance.Simulate(&amp;amp;numRows,&amp;amp;numCols);&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum36"&gt;  36:&lt;/span&gt;     &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum37"&gt;  37:&lt;/span&gt;     PrintResult(result, numRows, numCols);&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum38"&gt;  38:&lt;/span&gt;     &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum39"&gt;  39:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; 0;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum40"&gt;  40:&lt;/span&gt; }&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="justify"&gt;And the advantage? It runs like a charm on Linux and OS X. However I did struggle a bit with getting it compiled. After all one draws several dependencies when embedding mono, the most troublesome for me proved to be glib2 and OS X. At the end the problem turned out to be that Snow Leopard liked the executable to be 64bit by default, but the glib libraries were only available for 32bit and ppc. Since I have Qt installed on all my systems, I used a qmake project, to generate the make files (or Xcode projects as the case may be). So here is what worked for me: &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; max-height: 200px; font-size: 8pt; overflow: auto; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;&lt;br /&gt;  &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt;&amp;#160; &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; TEMPLATE = app&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt; CONFIG = console&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt; TARGET = HostRR&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt; DEPENDPATH += .&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt; INCLUDEPATH += . &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;&amp;#160; &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt; mac { &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt; CONFIG += x86 &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum10"&gt;  10:&lt;/span&gt; CFLAGS += -arch i386&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum11"&gt;  11:&lt;/span&gt; INCLUDEPATH += /Library/Frameworks/Mono.framework/Versions/2.6.1/include/mono-1.0 /sw/include/glib-2.0 /sw/lib/glib-2.0/include&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum12"&gt;  12:&lt;/span&gt; LIBS += -L/Library/Frameworks/Mono.framework/Versions/2.6.1/lib -L/sw/lib -pthread -lmono -lpthread -lm -lgthread-2.0 -lglib-2.0 -lintl&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum13"&gt;  13:&lt;/span&gt; }&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum14"&gt;  14:&lt;/span&gt;&amp;#160; &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum15"&gt;  15:&lt;/span&gt; unix { &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum16"&gt;  16:&lt;/span&gt; DEFINES +=_REENTRANT -pthread &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum17"&gt;  17:&lt;/span&gt; INCLUDEPATH += /usr/include/mono-1.0 /usr/include/glib-2.0 /usr/lib/glib-2.0/include&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum18"&gt;  18:&lt;/span&gt; LIBS += -Wl,--&lt;span style="color: #0000ff"&gt;export&lt;/span&gt;-dynamic -pthread -lmono -ldl -lpthread -lm -lgthread-2.0 -lrt -lglib-2.0 &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum19"&gt;  19:&lt;/span&gt; }&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum20"&gt;  20:&lt;/span&gt;&amp;#160; &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum21"&gt;  21:&lt;/span&gt; win32 {&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum22"&gt;  22:&lt;/span&gt; INCLUDEPATH += &lt;span style="color: #006080"&gt;&amp;quot;C:\Program Files (x86)\Mono-2.6\include\glib-2.0&amp;quot;&lt;/span&gt;  &lt;span style="color: #006080"&gt;&amp;quot;C:\Program Files (x86)\Mono-2.6\lib\glib-2.0\include&amp;quot;&lt;/span&gt; &lt;span style="color: #006080"&gt;&amp;quot;C:\Program Files (x86)\Mono-2.6\include\mono-1.0&amp;quot;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum23"&gt;  23:&lt;/span&gt; LIBS +=  -L&lt;span style="color: #006080"&gt;&amp;quot;.&amp;quot;&lt;/span&gt; -lmono&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum24"&gt;  24:&lt;/span&gt; }&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum25"&gt;  25:&lt;/span&gt;&amp;#160; &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum26"&gt;  26:&lt;/span&gt; # Input&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum27"&gt;  27:&lt;/span&gt; HEADERS += HostRR.h&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum28"&gt;  28:&lt;/span&gt; SOURCES += HostRR.cpp main.cpp&lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;br /&gt;&lt;br /&gt;    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: &amp;#39;Courier New&amp;#39;, courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum29"&gt;  29:&lt;/span&gt;&amp;#160; &lt;/pre&gt;&lt;br /&gt;&lt;!--CRLF--&gt;&lt;/div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="justify"&gt;If you’d like to give it a try, I’ve posted all the source to sourceforge. The results are right here: &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="justify"&gt;&lt;a href="http://jdesigner.svn.sourceforge.net/viewvc/jdesigner/trunk/csharp/HostRR/"&gt;http://jdesigner.svn.sourceforge.net/viewvc/jdesigner/trunk/csharp/HostRR/&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;h4&gt;Conclusions&lt;/h4&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="justify"&gt;We’ve seen, that accessing a .NET assembly from C/C++ is really no issue at all. C++/CLI is a great language it provides access to all of the .NET framework in a snap, however it will lock you in to the Windows world. With MONO Embedding, it is easy to break out! Given the reflection capabilities of .NET I believe the way to go forward would be to have a wrapper generator, that would just write the wrapper code. &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p align="justify"&gt;Going forward if I were to use C++ to interact with RoadRunner, I’d probably combine the best of two worlds by falling back to C++/CLI on Windows systems and Mono embedding on Linux / OS X. But this might be a personal preference.&amp;#160; &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-7328717295758088838?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/7328717295758088838/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=7328717295758088838' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/7328717295758088838'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/7328717295758088838'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2010/02/roadrunner-ccli-vs-embedding-mono.html' title='RoadRunner &amp;amp; C++/CLI vs. Embedding the MONO Runtime'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-586893542267240942</id><published>2010-02-09T11:44:00.001-08:00</published><updated>2010-02-09T11:44:55.473-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SBW'/><category scheme='http://www.blogger.com/atom/ns#' term='SBML'/><category scheme='http://www.blogger.com/atom/ns#' term='annotations'/><title type='text'>Computational Tools for the Annotation of SBML Models</title><content type='html'>&lt;p align="justify"&gt;I was asked to give a brief talk&amp;#160; for the &lt;a href="http://students.washington.edu/mgaldzic/mebi591dWin10/index.shtml"&gt;Semantic Web in Biomedicine Seminar&lt;/a&gt;, on computational tools that make the task of using all the great ontologies (like MIRIAM, SBO, ChEBI, UniProt, KEGG) that we have come to love easier. &lt;/p&gt;  &lt;p align="justify"&gt;I will add the full presentation below. However, as always without all too much text, thus I’m going to continue below. &lt;/p&gt;  &lt;div style="text-align: left; width: 425px" id="__ss_3116291"&gt;&lt;a style="margin: 12px 0px 3px; display: block; font: 14px helvetica,arial,sans-serif; text-decoration: underline" title="Computational Tools For The Annotation of SBML Models" href="http://www.slideshare.net/fbergmann/computational-tools-for-the-annotation-of-sbml-models"&gt;Computational Tools For The Annotation of SBML Models&lt;/a&gt;&lt;object style="margin:0px" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=computationaltoolsfortheannotation-100209123937-phpapp01&amp;amp;rel=0&amp;amp;stripped_title=computational-tools-for-the-annotation-of-sbml-models" /&gt;&lt;param name="allowFullScreen" value="true" /&gt;&lt;param name="allowScriptAccess" value="always" /&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=computationaltoolsfortheannotation-100209123937-phpapp01&amp;amp;rel=0&amp;amp;stripped_title=computational-tools-for-the-annotation-of-sbml-models" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;    &lt;div style="font-family: tahoma,arial; height: 26px; font-size: 11px; padding-top: 2px"&gt;View more &lt;a style="text-decoration: underline" href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a style="text-decoration: underline" href="http://www.slideshare.net/fbergmann"&gt;Frank Bergmann&lt;/a&gt;.&lt;/div&gt; &lt;/div&gt;  &lt;p align="justify"&gt;I’m deeply involved with the &lt;a href="http://sys-bio.org"&gt;Systems Biology Workbench (SBW)&lt;/a&gt;, a lightweight framework that enables applications to share their functionality regardless of operating system or programming language. With SBW we also deliver a full toolset for modeling, simulating and analyzing SBML models. About five years back we started to get involved with SBGN. So today it would be great if we could automatically generate SBGN diagrams out of our SBML models. What is needed for that are annotations. Not just any annotations but annotations in the form of &lt;a href="http://biomodels.net/sbo"&gt;SBO&lt;/a&gt; ( the material entity branch) would be perfect. Unfortunately this is not quite enough. Additional MIRIAM annotations are needed for example to describe complexes in more detail. &lt;/p&gt;  &lt;p align="justify"&gt;I’ve been looking at this for some time and there are a couple of interesting developments to mention, of course first and foremost the EBI Web Services. They certainly make the work much easier. I introduce the: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;BioModels Web Service&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;SBO Web Service &lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;MIRIAM Web Service&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Ontology Lookup Web Service&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;Each web service is briefly tested, using a &lt;a href="http://www.soapclient.com/soaptest.html"&gt;Generic Soap Client&lt;/a&gt;, as this will allow to show the sort of information that is being provided first hand. &lt;/p&gt;  &lt;p align="justify"&gt;Of course it would be great if one would not have to hunt each Web Service down and it would seem that others had the same idea. I mention &lt;a href="http://bioinformatics.oxfordjournals.org/cgi/content/abstract/btp392"&gt;libAnnotationSBML&lt;/a&gt; first, a neat Java library that promises to provide a unified interface for a whole list of web services: &lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://lh4.ggpht.com/_LvzJ3dV9uLE/S3G7LqAk-3I/AAAAAAAAAEQ/klPSYzT75Ss/s1600-h/image%5B4%5D.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_LvzJ3dV9uLE/S3G7L8sfNaI/AAAAAAAAAEU/Wgo6tae3ZiU/image_thumb%5B2%5D.png?imgmax=800" width="240" height="157" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;(photo grabbed from &lt;a href="http://www.slideshare.net/neilswainston/libannotationsbml"&gt;Neil’s presentation on Slideshare&lt;/a&gt;). The only drawback I could find with it is that the library is IMHO not quite ready to use by non Java geniuses. Everyone hearing me: If you are developing a library … especially a library for Java / .NET or any of the other cross platform virtual machines … please please provide a binary for people to use.&amp;#160; It’s been a while that I worked with Java, and an ant build script that won’t work is trouble for me. As it turned out the build failed because just of a couple of missing jar files and a test failure due to changes in the SBO. Still at the end of it all I ended up with a jar file and no instructions on what to do with it. I’ve seen great demos of libAnnoationSBML with the SBMLReactionBalancer for example. This could be made available online as binary as is … &lt;/p&gt;  &lt;p align="justify"&gt;The presentation will go on to introduce &lt;a href="http://bioinformatics.oxfordjournals.org/cgi/content/abstract/btp523"&gt;SAINT: a lightweight integration environment for model annotation&lt;/a&gt;. It follows the same great idea as in libAnnoationSBML of hunting down the individual web services for annotations of your SBML file. However, whereas libAnnotationSBML is a Java library, SAINT is nifty web application based on the &lt;a href="http://code.google.com/webtoolkit/"&gt;Google Web Toolkit(GWT)&lt;/a&gt;. As such it really brings a long a snappy AJAX UI. SAINT has a lot of potential, but again it would seem I was out of luck, I could not manage to get a model annotated. Here is what went wrong: a) no upload button, but that is fine copying the SBML to clipboard and pasting it was not all that hard b) once I clicked “Annotate” however a whole bunch of Asynchronous worker bee's must have been sent out in order to fetch all my new Annotations. But when they came back they brought along a whole list of annotations I had no interested in: &lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://lh6.ggpht.com/_LvzJ3dV9uLE/S3G7MAkE3sI/AAAAAAAAAEY/eXoISapR6eg/s1600-h/image%5B9%5D.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_LvzJ3dV9uLE/S3G7MlND4HI/AAAAAAAAAEc/ORT_luTXhpg/image_thumb%5B5%5D.png?imgmax=800" width="240" height="182" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;The above image represents all the results found for “glucose”. And while it is great to find so many Pathway Commons Identifiers, the link to Pathway Commons lead to 404. The trick seems to be for me to disable the “New Reactions” checkbox in advanced options. Then I received a couple of SBO terms for my model, however not much more. But SBO terms are a good start, so from here I went to the “Get Annotated Model Code” tab, but try as I might I was never able to actually retrieve my annotated model.&amp;#160; &lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://lh5.ggpht.com/_LvzJ3dV9uLE/S3G7MxqsiOI/AAAAAAAAAEg/Ew-3rLuAnkk/s1600-h/image%5B14%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_LvzJ3dV9uLE/S3G7NBkSiXI/AAAAAAAAAEk/pocEBiL53HU/image_thumb%5B8%5D.png?imgmax=800" width="240" height="145" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;Looking at other currently available software tools like &lt;a href="http://www.celldesigner.org/"&gt;CellDesigner&lt;/a&gt; and &lt;a href="http://www.copasi.org/"&gt;COPASI&lt;/a&gt;, both tools that support MIRIAM annotations I am not sure whether users of the tools will take full advantage of the Annotation process. Thus I end the presentation with a couple of screenshots of software tools using the EBI Web Services, to interact with the &lt;a href="http://biomodels.net/biomodels"&gt;BioModels Database&lt;/a&gt;, resolve the publication citation and visualize the annotations in a way better suited to the community. &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_LvzJ3dV9uLE/S3G7Nd5WTsI/AAAAAAAAAEo/_OzDwXwKqwI/s1600-h/image%5B19%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_LvzJ3dV9uLE/S3G7Nk24FoI/AAAAAAAAAEs/sdsrT-w536c/image_thumb%5B11%5D.png?imgmax=800" width="240" height="179" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Why should we just display the ChEBI identifiers, when we could just as well show a formula, or the name, with a click revealing the full set of annotations. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-586893542267240942?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/586893542267240942/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=586893542267240942' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/586893542267240942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/586893542267240942'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2010/02/computational-tools-for-annotation-of.html' title='Computational Tools for the Annotation of SBML Models'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_LvzJ3dV9uLE/S3G7L8sfNaI/AAAAAAAAAEU/Wgo6tae3ZiU/s72-c/image_thumb%5B2%5D.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-4753568407764226352</id><published>2010-01-19T12:05:00.001-08:00</published><updated>2010-01-19T12:05:25.412-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='roadRunner'/><category scheme='http://www.blogger.com/atom/ns#' term='SBW'/><title type='text'>RoadRunner and the new test suite</title><content type='html'>&lt;p align="justify"&gt;Yesterday the SBML team announced a &lt;a href="http://sbml.org/Forums/index.php?t=tree&amp;amp;goto=5805&amp;amp;rid=0"&gt;new release of test data&lt;/a&gt; for the SBML Test suite. So of course I had to check how roadRunner fares in it.&amp;#160; A re-run of the test suite with only SBML Algebraic Rules and the ‘fast’ flag disabled gives the expected result of: &lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://lh5.ggpht.com/_LvzJ3dV9uLE/S1YQg8MHqjI/AAAAAAAAAEI/ueVnGrsd1NM/s1600-h/2010-01-19_-_TestSuiteResults%5B2%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="2010-01-19_-_TestSuiteResults" border="0" alt="2010-01-19_-_TestSuiteResults" src="http://lh4.ggpht.com/_LvzJ3dV9uLE/S1YQhHHNxdI/AAAAAAAAAEM/2-HFAGRFzSA/2010-01-19_-_TestSuiteResults_thumb.png?imgmax=800" width="244" height="175" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p align="justify"&gt;All green! Just as it was meant to be. I really should make a new release of SBW soon! Lots of new things up and coming the highlights for roadRunner will include acronyms like SED-ML and SBRML … &lt;/p&gt;  &lt;p align="justify"&gt;Stay tuned!&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-4753568407764226352?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/4753568407764226352/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=4753568407764226352' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/4753568407764226352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/4753568407764226352'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2010/01/roadrunner-and-new-test-suite.html' title='RoadRunner and the new test suite'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_LvzJ3dV9uLE/S1YQhHHNxdI/AAAAAAAAAEM/2-HFAGRFzSA/s72-c/2010-01-19_-_TestSuiteResults_thumb.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-1873674059478676773</id><published>2009-11-14T11:50:00.001-08:00</published><updated>2009-11-14T11:50:08.463-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Export'/><category scheme='http://www.blogger.com/atom/ns#' term='JarnacLite'/><category scheme='http://www.blogger.com/atom/ns#' term='SBW'/><title type='text'>Matlab Export Anyone?</title><content type='html'>&lt;p align="justify"&gt;&lt;a href="http://sys-bio.org"&gt;SBW&lt;/a&gt; for a long time had facilities for exporting SBML models to Matlab and a slew of other formats. I have to admit I never really used the Matlab Export before, and so it came as a surprise when I heard that the export of SBML Assignment rules was broken. But good news, at least this export is now working just fine. &lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://lh4.ggpht.com/_LvzJ3dV9uLE/Sv8J4WjjFgI/AAAAAAAAADo/yArM9hxTWH8/s1600-h/SBWLogoshorttransparent3.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="SBW Logo (short)-transparent" border="0" alt="SBW Logo (short)-transparent" src="http://lh5.ggpht.com/_LvzJ3dV9uLE/Sv8J4xbm_-I/AAAAAAAAADs/WitL0DGwhNI/SBWLogoshorttransparent_thumb1.png?imgmax=800" width="240" height="141" /&gt;&lt;/a&gt;So let us look at some examples on how we would use it. For this let us construct a very simple model, a 3 step linear chain:&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://lh6.ggpht.com/_LvzJ3dV9uLE/Sv8J495TT9I/AAAAAAAAADw/_jnfEmtCnNQ/s1600-h/linear_chain18.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="linear_chain" border="0" alt="linear_chain" src="http://lh5.ggpht.com/_LvzJ3dV9uLE/Sv8J5-X2kuI/AAAAAAAAAD0/PbHQeXAbPX4/linear_chain_thumb12.png?imgmax=800" width="410" height="65" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;Here we set Node0 and Node2 to be a Boundary (fixed) Species, as they are not really part of the system. And we want Node0 to be controlled by an Assignment Rule, which sets the value of Node0 to ‘5’ starting at 1 second for 2 seconds. Outside this window Node0 should be close to zero (and I say close to zero and not zero so that the integrators will pick up the change). So this translates into a piecewise function: &lt;/p&gt;  &lt;p align="center"&gt;Node0 = 5 if 1 &amp;lt; time &amp;lt; 3 and 0.1 otherwise&lt;/p&gt;  &lt;p align="justify"&gt;in SBML infix speak this translates into:&lt;/p&gt;  &lt;p align="center"&gt;Node0 = piecewise(5, and(geq(time,1), leq(time, 3)), 0.1)&lt;/p&gt;  &lt;p align="justify"&gt;here of course piecewise, stands for the piecewise operation, note that you can have as many pieces as you’d want … for every piece you would add two terms, the value and a Boolean expression. The Boolean expressions supported are: &lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="2" width="400"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="81"&gt;         &lt;p align="center"&gt;Name&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="61"&gt;         &lt;p align="center"&gt;Argument type&lt;/p&gt;       &lt;/td&gt;        &lt;td valign="top" width="257"&gt;         &lt;p align="center"&gt;Explanation&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="81"&gt;and&lt;/td&gt;        &lt;td valign="top" width="61"&gt;n-ary&lt;/td&gt;        &lt;td valign="top" width="257"&gt;n-ary and like in the example above, it is 1iff all arguments are 1&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="81"&gt;xor&lt;/td&gt;        &lt;td valign="top" width="61"&gt;n-ary&lt;/td&gt;        &lt;td valign="top" width="257"&gt;n-ary xor, is 1 iff not all arguments are 1 or all arguments are 0&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="81"&gt;or&lt;/td&gt;        &lt;td valign="top" width="61"&gt;n-ary&lt;/td&gt;        &lt;td valign="top" width="257"&gt;n-ary or, is 1 if at least one of the arguments is 1&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="81"&gt;not&lt;/td&gt;        &lt;td valign="top" width="61"&gt;unary&lt;/td&gt;        &lt;td valign="top" width="257"&gt;is 1 if argument is 0 and 0 otherwise&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="81"&gt;gt(a,b)&lt;/td&gt;        &lt;td valign="top" width="61"&gt;binary&lt;/td&gt;        &lt;td valign="top" width="257"&gt;greater: is 1 if a &amp;gt; b&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="81"&gt;lt(a,b)&lt;/td&gt;        &lt;td valign="top" width="61"&gt;binary&lt;/td&gt;        &lt;td valign="top" width="257"&gt;less than: is 1 if a &amp;lt; b&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="81"&gt;geq(a,b)&lt;/td&gt;        &lt;td valign="top" width="61"&gt;binary&lt;/td&gt;        &lt;td valign="top" width="257"&gt;greater or equal: is 1 if a &amp;gt;= b&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="81"&gt;leq(a,b)&lt;/td&gt;        &lt;td valign="top" width="61"&gt;binary&lt;/td&gt;        &lt;td valign="top" width="257"&gt;less or equal: is 1 if a &amp;lt;= b&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="81"&gt;eq(a,b)&lt;/td&gt;        &lt;td valign="top" width="61"&gt;binary&lt;/td&gt;        &lt;td valign="top" width="257"&gt;equal: is 1 iff a == b&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="81"&gt;neq(a,b)&lt;/td&gt;        &lt;td valign="top" width="61"&gt;binary&lt;/td&gt;        &lt;td valign="top" width="257"&gt;not equal: is 1 iff a != b&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="81"&gt;piecewise( value, condition, otheriwse)&lt;/td&gt;        &lt;td valign="top" width="61"&gt;n-ary&lt;/td&gt;        &lt;td valign="top" width="257"&gt;piecewise function: each piece is defined with a value, condition pair and concluded with an value for the otherwise clause. all values and conditions can of course be function expressions as well.&amp;#160;&amp;#160; &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;So let us look at the complete model in the JarnacLite language (this will allow you to just paste it into JarnacLite without you having to download the SBML model): &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;p = defn AsssignmentExport &lt;/p&gt;    &lt;p&gt;var Node1;      &lt;br /&gt;ext Node0,Node2; &lt;/p&gt;    &lt;p&gt;J0: Node0 -&amp;gt; Node1; J0_k*Node0;      &lt;br /&gt;J1: Node1 -&amp;gt; Node2; J1_k*Node1; &lt;/p&gt;    &lt;p&gt;Node0 = piecewise(5, and(geq(time,1), leq(time, 3)), 0.1); &lt;/p&gt;    &lt;p&gt;end; &lt;/p&gt;    &lt;p&gt;p.Node0 = 0;      &lt;br /&gt;p.Node1 = 0;       &lt;br /&gt;p.Node2 = 0;       &lt;br /&gt;p.J0_k = 0.1;       &lt;br /&gt;p.J1_k = 0.1;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;When in JarnacLite, a click on SBW\Translate SBML –&amp;gt; Any will bring up the SBML Translators, and a click on the Matlab tab shows you the newly translated model: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_LvzJ3dV9uLE/Sv8J6YP7S_I/AAAAAAAAAD4/6FqMovkXW2s/s1600-h/image6.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_LvzJ3dV9uLE/Sv8J7cxnbyI/AAAAAAAAAD8/f7SHNM7Pkak/image_thumb4.png?imgmax=800" width="410" height="308" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;As you can see this model is complete with instructions on how to use it in Matlab. And here the good news it works in Octave as well! (you’d just download &lt;a href="http://users.powernet.co.uk/kienzle/octave/matcompat/scripts/ode_v1.11/ode23.m"&gt;ode23.m&lt;/a&gt; and put it in the same directory and you should be good to go!) So all that is left is to save the file as .. say … AsssignmentExport.m into your Matlab work directory and run: &lt;/p&gt;  &lt;p&gt;x0 = AsssignmentExport    &lt;br /&gt;[t, x] = ode23s(@AssignmentExport, [0 20], AssignmentExport);     &lt;br /&gt;plot(t,x);&lt;/p&gt;  &lt;p&gt;and you should see a graph like this: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_LvzJ3dV9uLE/Sv8J7uYlUbI/AAAAAAAAAEA/vm6yXh_1RDg/s1600-h/image10.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://lh4.ggpht.com/_LvzJ3dV9uLE/Sv8J7-sZL-I/AAAAAAAAAEE/JMnXH7XIUBs/image_thumb6.png?imgmax=800" width="405" height="250" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;And here the disclaimer, I do know that you’d normally implement these sort of things as SBML Events, but so far we don’t export SBML events to Matlab, but you can always use &lt;a href="http://frank-fbergmann.blogspot.com/2009/09/roadrunner-and-events.html"&gt;roadRunner&lt;/a&gt; to have them simulated correctly. &lt;/p&gt;  &lt;p&gt;So if you want to give this new version of the Matlab export a try, download a new Installer, or select Systems Biology Workbench\Utilities\Update SBW from an existing SBW installation.&amp;#160; &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-1873674059478676773?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/1873674059478676773/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=1873674059478676773' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/1873674059478676773'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/1873674059478676773'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2009/11/matlab-export-anyone.html' title='Matlab Export Anyone?'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_LvzJ3dV9uLE/Sv8J4xbm_-I/AAAAAAAAADs/WitL0DGwhNI/s72-c/SBWLogoshorttransparent_thumb1.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-5568722779503197822</id><published>2009-11-06T16:52:00.001-08:00</published><updated>2009-11-06T16:52:53.250-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='roadRunner'/><category scheme='http://www.blogger.com/atom/ns#' term='SBW'/><title type='text'>Changing Initial Concentrations the easy way</title><content type='html'>&lt;p align="justify"&gt;It’s been some time since I updated the SBW Simulation Tool, just to jog the Memory the SBW Simulation Tool, is the application, that will interact with all SBW enabled Simulators and makes it a snap to perform simulation experiments (be it time course simulations, steady state computations, pulse or scan experiments or even Frequency Analysis). Especially neat, if you ask me, is the Options\Slider feature, which basically attaches a handle to all parameters / boundary conditions of a model and allows you to quickly modify the current value and see what effect it has on the simulation you were performing. &lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://lh3.ggpht.com/_LvzJ3dV9uLE/SvTE3ifkxPI/AAAAAAAAADQ/W-Jj3_i4AWI/s1600-h/image%5B4%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="image" border="0" alt="image" src="http://lh6.ggpht.com/_LvzJ3dV9uLE/SvTE3yXaRsI/AAAAAAAAADU/FKVR5vzo-CY/image_thumb%5B2%5D.png?imgmax=800" width="240" height="137" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;Changing parameters and boundary conditions was great, but what about initial concentrations of all the floating species. Of course that is an operation that should have been there in the first place, and so *drum roll* here finally a version that makes it a snap to modify those values as well. So lets try it, lets take a simple bi-stable model like this one: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;font face="Courier New"&gt;p = defn Bistable &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face="Courier New"&gt;var S1, S2; &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face="Courier New"&gt;$X0 =&amp;gt; S1; k1*(1+x)/(1+k2*pow(S2,2));       &lt;br /&gt;$X0 =&amp;gt; S2; k3/(1+k4*pow(S1,2)); &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face="Courier New"&gt;S1 =&amp;gt; $X0; k0*S1;       &lt;br /&gt;S2 =&amp;gt; $X0; k0*S2; &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face="Courier New"&gt;end;       &lt;br /&gt;// initialize Parameters        &lt;br /&gt;p.k1 = 1; p.k2 = 1; p.k3 = 1; p.k4 = 1; p.k0 = 0.1; &lt;/font&gt;&lt;/p&gt;    &lt;p&gt;&lt;font face="Courier New"&gt;// and initial conditions       &lt;br /&gt;p.S1 = 5; p.S2 = 5;&lt;/font&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p align="justify"&gt;You’d paste the model above simply into JarnacLite and then click SBW\Simulation Tool: RoadRunner to get it into the simulator. And then select Options\Sliders … and now if you vary the initial conditions of S2 you see how the behavior changes … amazing, isn’t it?&lt;/p&gt;  &lt;p align="justify"&gt;Here the result for S1 = 4&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://lh3.ggpht.com/_LvzJ3dV9uLE/SvTE4VsNOqI/AAAAAAAAADY/oeEOyFBGZrk/s1600-h/image%5B7%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh5.ggpht.com/_LvzJ3dV9uLE/SvTE4ul2pMI/AAAAAAAAADc/YP9uEXYaXd4/image_thumb%5B3%5D.png?imgmax=800" width="244" height="190" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;and S1 = 6&lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://lh5.ggpht.com/_LvzJ3dV9uLE/SvTE46fFGrI/AAAAAAAAADg/BsXMADfeCNo/s1600-h/image%5B13%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; border-top: 0px; border-right: 0px" title="image" border="0" alt="image" src="http://lh3.ggpht.com/_LvzJ3dV9uLE/SvTE5CASJiI/AAAAAAAAADk/lMwJpbs6BW4/image_thumb%5B5%5D.png?imgmax=800" width="244" height="190" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;Neat … just as an aside … remember to check the “Fix Y Axis” Checkbox! otherwise the experience is limited, as the graph will scroll the whole time to adapt to the values. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-5568722779503197822?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/5568722779503197822/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=5568722779503197822' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/5568722779503197822'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/5568722779503197822'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2009/11/changing-initial-concentrations-easy.html' title='Changing Initial Concentrations the easy way'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_LvzJ3dV9uLE/SvTE3yXaRsI/AAAAAAAAADU/FKVR5vzo-CY/s72-c/image_thumb%5B2%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-8232269392056224608</id><published>2009-11-02T09:27:00.001-08:00</published><updated>2009-11-02T09:27:52.238-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SBW'/><title type='text'>Systems Biology Workbench / Linux made easy</title><content type='html'>&lt;p align="justify"&gt;I’m just back from the &lt;a href="http://monospace.us"&gt;monospace&lt;/a&gt; event, which by the way was really amazing. In his keynote Miguel presented &lt;a href="http://susestudio.com/"&gt;SUSE studio&lt;/a&gt;, which makes it very easy to put together a Linux live cd, VMware image or USB images with your favorite Linux app. &lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://lh5.ggpht.com/_LvzJ3dV9uLE/Su8Wlj1ro3I/AAAAAAAAADI/UHCqByFldOw/s1600-h/testdrivenetworking4.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="testdrive-networking" border="0" alt="testdrive-networking" src="http://lh3.ggpht.com/_LvzJ3dV9uLE/Su8Wl6nUvtI/AAAAAAAAADM/NZVi1tVjHM0/testdrivenetworking_thumb2.png?imgmax=800" width="240" height="150" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;Given the huge number of support requests I received for the SBW Linux versions, i thought it would make a good test case to put together a live CD for the last SBW version. Here the download links: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;&lt;a href="http://sourceforge.net/projects/jdesigner/files/Systems%20Biology%20Workbench/2.7.10/Systems_Biology_Workbench.i686-2.7.8.vmx.tar.gz/download"&gt;VMware Image&lt;/a&gt;&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;&lt;a href="http://sourceforge.net/projects/jdesigner/files/Systems%20Biology%20Workbench/2.7.10/Systems_Biology_Workbench.i686-2.7.8.iso/download"&gt;Live DVD&lt;/a&gt; &lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;&lt;a href="http://sourceforge.net/projects/jdesigner/files/Systems%20Biology%20Workbench/2.7.10/Systems_Biology_Workbench.i686-2.7.8.oem.tar.gz/download"&gt;Disk Image&lt;/a&gt;&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;&lt;a href="http://sourceforge.net/projects/jdesigner/files/Systems%20Biology%20Workbench/2.7.10/Systems_Biology_Workbench_Xen.i686-2.7.8.xen.tar.gz/download"&gt;Xen virtual machine&lt;/a&gt;&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;The Linux distribution is openSUSE (11.1) and automatic login is set up for user ‘sbw’ with password ‘linux’ which is also the admin password. &lt;/p&gt;  &lt;p align="justify"&gt;And here a &lt;a href="http://screencast.com/t/jWAqzwMoKuWa"&gt;screen cast&lt;/a&gt; of what the experience is like (For this i just downloaded the VMware Image above, extracted the archive (using for example WinRAR) and next started the VMware Image using VMware Workstation (a free VMware player is also available)): &lt;/p&gt; &lt;object width="400" height="300"&gt; &lt;param name="movie" value="http://content.screencast.com/users/fbergman/folders/Jing/media/9fa7a0c3-a8cb-4950-9b7f-7c65754dd4bb/jingswfplayer.swf"&gt;&lt;/param&gt; &lt;param name="quality" value="high"&gt;&lt;/param&gt; &lt;param name="bgcolor" value="#FFFFFF"&gt;&lt;/param&gt; &lt;param name="flashVars" value="thumb=http://content.screencast.com/users/fbergman/folders/Jing/media/9fa7a0c3-a8cb-4950-9b7f-7c65754dd4bb/FirstFrame.jpg&amp;amp;containerwidth=1680&amp;amp;containerheight=1050&amp;amp;content=http://content.screencast.com/users/fbergman/folders/Jing/media/9fa7a0c3-a8cb-4950-9b7f-7c65754dd4bb/Taking_the_SBW_VM_for_a_spin.swf&amp;amp;advseek=true"&gt;&lt;/param&gt; &lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt; &lt;param name="scale" value="showall"&gt;&lt;/param&gt; &lt;param name="allowScriptAccess" value="always"&gt;&lt;/param&gt; &lt;param name="base" value="http://content.screencast.com/users/fbergman/folders/Jing/media/9fa7a0c3-a8cb-4950-9b7f-7c65754dd4bb/"&gt;&lt;/param&gt;  &lt;embed src="http://content.screencast.com/users/fbergman/folders/Jing/media/9fa7a0c3-a8cb-4950-9b7f-7c65754dd4bb/jingswfplayer.swf" quality="high" bgcolor="#FFFFFF" width="400" height="300" type="application/x-shockwave-flash" allowScriptAccess="always" flashVars="thumb=http://content.screencast.com/users/fbergman/folders/Jing/media/9fa7a0c3-a8cb-4950-9b7f-7c65754dd4bb/FirstFrame.jpg&amp;containerwidth=1680&amp;containerheight=1050&amp;content=http://content.screencast.com/users/fbergman/folders/Jing/media/9fa7a0c3-a8cb-4950-9b7f-7c65754dd4bb/Taking_the_SBW_VM_for_a_spin.swf&amp;advseek=true" allowFullScreen="true" base="http://content.screencast.com/users/fbergman/folders/Jing/media/9fa7a0c3-a8cb-4950-9b7f-7c65754dd4bb/" scale="showall"&gt;&lt;/embed&gt; &lt;/object&gt;  &lt;p&gt;Now admittedly, this is not yet working as smoothly as possible, I will polish the build process in time for the next SBW release and then all the remaining GUI glitches will be gone. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-8232269392056224608?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/8232269392056224608/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=8232269392056224608' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/8232269392056224608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/8232269392056224608'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2009/11/systems-biology-workbench-linux-made.html' title='Systems Biology Workbench / Linux made easy'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_LvzJ3dV9uLE/Su8Wl6nUvtI/AAAAAAAAADM/NZVi1tVjHM0/s72-c/testdrivenetworking_thumb2.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-6425259634520815550</id><published>2009-09-14T14:03:00.001-07:00</published><updated>2009-09-14T14:03:39.921-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SBW'/><title type='text'>Debugging the Systems Biology Workbench</title><content type='html'>&lt;p align="justify"&gt;&lt;a href="http://lh5.ggpht.com/_LvzJ3dV9uLE/Sq6vqamBVVI/AAAAAAAAADA/dBebo2dJQGI/s1600-h/SBW%20Logo%20%28short%29-transparent%5B4%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: inline; margin-left: 0px; border-top: 0px; margin-right: 0px; border-right: 0px" title="SBW Logo (short)-transparent" border="0" alt="SBW Logo (short)-transparent" align="left" src="http://lh5.ggpht.com/_LvzJ3dV9uLE/Sq6vqwkz9lI/AAAAAAAAADE/IP5YYt2STgo/SBW%20Logo%20%28short%29-transparent_thumb%5B2%5D.png?imgmax=800" width="240" height="141" /&gt;&lt;/a&gt; Work on an SBW and JSim integration is in full progress. However the other day I came across a minor snag with the SBW Java bindings, for the life of me I couldn’t find out why we could not send a model from one application to another. On any other platform (OSX, Ubuntu, Windows), I would just have started the &lt;a href="http://sys-bio.org/sbwWiki/sbw/inspector"&gt;SBW Inspector&lt;/a&gt;, and called the methods from the UI, or I would have used &lt;a href="http://www.microsoft.com/windowsserver2003/technologies/management/powershell/default.mspx"&gt;PowerShell&lt;/a&gt;, or the &lt;a href="http://www.mono-project.com/CsharpRepl"&gt;CSharp interactive shell&lt;/a&gt;, or even &lt;a href="http://www.codeplex.com/IronPython"&gt;IronPython&lt;/a&gt; to code against the SBW object model. However I was out of luck, I did not have the mono runtime available on that system. So it dawned to me that really there should be some sort of simple debugging tools available. Given that on the system the only thing I had available was Java, I went and wrote the simplest Java SBW modules to narrow down the process. I figured in case others have the same problem I might as well put them up here for grabs. &lt;/p&gt;  &lt;p align="justify"&gt;So how would you use those java classes: &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Download the &lt;a href="http://www.sys-bio.org/fbergman/files/latest/SBWtest.tar.gz"&gt;SBWtest.tar.gz&lt;/a&gt; file&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Extract with: tar zxf SBWtest.tar.gz&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;change to the directory: cd SBWtest&lt;/div&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p align="justify"&gt;at this point you will find two jar files (SBWCore.jar and SBWCore-debug.jar). Those jar files are the SBW Java bindings. All the following commands will assume that you include them in your classpath. There are two jar files, the SBWCore.jar will silently do its work and SBWCore-debug.jar will work just the same but add tons of debugging information for when it is really needed. Usually you’d just use the SBWCore.jar, and only switch to the other one if something fishy is going on. Let us have a brief look at the java classes included in the archive: &lt;/p&gt;  &lt;table border="0" cellspacing="0" cellpadding="2" width="400"&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign="top" width="120"&gt;ListModules&lt;/td&gt;        &lt;td valign="top" width="280"&gt;This all this simple class does, is to connect to SBW, and get a list of registered modules and print them to stdout. Use with:          &lt;br /&gt;          &lt;br /&gt;java –cp SBWCore.jar:. ListModules          &lt;br /&gt;          &lt;br /&gt;This will print a list of module names, you will have the ‘unique’ module name, followed by an equals sign and then the human readable name. &lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="120"&gt;ListRunningModules&lt;/td&gt;        &lt;td valign="top" width="280"&gt;This class connects to SBW and lists all currently running SBW modules. Use with:         &lt;br /&gt;          &lt;br /&gt;java –cp SBWCore.jar:. ListRunningModules          &lt;br /&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="120"&gt;StartModule&lt;/td&gt;        &lt;td valign="top" width="280"&gt;A simple java class, that will just start another SBW module, it expects one argument, the ‘unique’ name of an SBW module (the name before the equals sign in the ListModules output). Start with:          &lt;br /&gt;          &lt;br /&gt;java –cp SBWCore.jar:. StartModule &amp;lt;moduleName&amp;gt;           &lt;br /&gt;          &lt;br /&gt;for example:           &lt;br /&gt;          &lt;br /&gt;java –cp SBWCore.jar:. StartModule edu.caltech.NOM          &lt;br /&gt;          &lt;br /&gt;to start the SBML support module.           &lt;br /&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="120"&gt;Analyzer&lt;/td&gt;        &lt;td valign="top" width="280"&gt;The Analyzer class represents a simple SBW module by itself. It belongs to the ‘/Analysis’ category, and as such will when registered appear in the SBW module. It has one method, ‘void doAnalysis(string)’ which will take a string (usually an SBML model, when called through the SBW menu) and print it to the command line. As with all SBW modules, it takes one argument, either ‘-sbwmodule’ in which case it is launched as module, or ‘-sbwregister’ in which case it registers with the Broker (and it should be displayed with a call to ListModules as ‘testAnalyzer’). Use with:          &lt;br /&gt;          &lt;br /&gt;java –cp SBWCore.jar:. Analyzer –sbwregister          &lt;br /&gt;          &lt;br /&gt;to register, or with:           &lt;br /&gt;          &lt;br /&gt;java –cp SBWCore.jar:. Analyzer –sbwmodule          &lt;br /&gt;          &lt;br /&gt;to run it as module.           &lt;br /&gt;&lt;/td&gt;     &lt;/tr&gt;      &lt;tr&gt;       &lt;td valign="top" width="120"&gt;CallAnalyzer&lt;/td&gt;        &lt;td valign="top" width="280"&gt;Finally there is CallAnalyzer, a simple class, that takes two arguments, the first is a ‘unique’ SBW module name (as given by ListModules) and the other is a fileName of a SBML file, which is read and passed to the SBW module. This basically mimics what will happen if an SBW analyzer is called from the SBW menu. Use with:          &lt;br /&gt;          &lt;br /&gt;java –cp SBWCore.jar:. CallAnalyzer &amp;lt;moduleName&amp;gt; &amp;lt;fileName&amp;gt;          &lt;br /&gt;          &lt;br /&gt;as in:           &lt;br /&gt;          &lt;br /&gt;java –cp SBWCore.jar:. Analzer ~/SBML\ Models/BorisEJB.xml          &lt;br /&gt;          &lt;br /&gt;&lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;I hope they will be useful for someone else … btw … turns out that the only thing that was not working as planned, was that the module in question was registered as SELF_MANAGED module instead of a UNIQUE one … so all is well with the bindings …&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-6425259634520815550?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/6425259634520815550/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=6425259634520815550' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/6425259634520815550'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/6425259634520815550'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2009/09/debugging-systems-biology-workbench.html' title='Debugging the Systems Biology Workbench'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_LvzJ3dV9uLE/Sq6vqwkz9lI/AAAAAAAAADE/IP5YYt2STgo/s72-c/SBW%20Logo%20%28short%29-transparent_thumb%5B2%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-4051885951564517366</id><published>2009-09-09T16:02:00.001-07:00</published><updated>2009-09-09T16:02:03.836-07:00</updated><title type='text'>SBW FluxBalance Module – Step 2</title><content type='html'>&lt;p align="justify"&gt;Some time ago I’ve implemented a basic &lt;a href="http://frank-fbergmann.blogspot.com/2009/03/fluxbalance-analysis-with-sbw.html"&gt;FluxBalance SBW Module&lt;/a&gt;. It never was that useful really, all one could do was to load an SBML file and to define a couple of constraints and objectives. So while Brett Olivier is visiting Seattle, we sat together and came up with a scheme to store this sort of Information. This resulted in the next version of the FluxBalance tool: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_LvzJ3dV9uLE/Sqgz6ns5TvI/AAAAAAAAAC4/HfXRgRN3vtk/s1600-h/2009-09-09_-_FBA%5B3%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="2009-09-09_-_FBA" border="0" alt="2009-09-09_-_FBA" src="http://lh5.ggpht.com/_LvzJ3dV9uLE/Sqgz692V6AI/AAAAAAAAAC8/lujCWIqrzp4/2009-09-09_-_FBA_thumb%5B1%5D.jpg?imgmax=800" width="240" height="131" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;This new version does not do much more than it did before, however now at least it stores the constraint and objective function in an SBML compliant annotation (which hopefully later on becomes an official SBML Level 3 package for flux balance analysis). &lt;/p&gt;  &lt;p align="justify"&gt;There is a new &lt;a href="http://sys-bio.org/fbergman/files/latest/SetupFBA.exe"&gt;Windows Installer&lt;/a&gt;, that you can try right away … &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-4051885951564517366?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/4051885951564517366/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=4051885951564517366' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/4051885951564517366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/4051885951564517366'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2009/09/sbw-fluxbalance-module-step-2.html' title='SBW FluxBalance Module – Step 2'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_LvzJ3dV9uLE/Sqgz692V6AI/AAAAAAAAAC8/lujCWIqrzp4/s72-c/2009-09-09_-_FBA_thumb%5B1%5D.jpg?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-6369965874311593437</id><published>2009-09-08T15:59:00.001-07:00</published><updated>2009-09-08T15:59:44.052-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='roadRunner'/><category scheme='http://www.blogger.com/atom/ns#' term='SBW'/><title type='text'>RoadRunner and Events</title><content type='html'>&lt;p align="justify"&gt;Finally I’m back from this years &lt;a href="http://icsb-2009.org"&gt;ICSB&lt;/a&gt;. In discussions at the &lt;a href="http://sbml.org/Events/Workshops/The_14th_SBML_Forum_Meeting"&gt;SBML Forum&lt;/a&gt; I noticed that the timing of events in roadRunner could be improved. RoadRunner is of course our high performance simulator, which is also available as &lt;a href="http://sys-bio.org/Simulation2005/"&gt;web application&lt;/a&gt; on our home page. I’ve just finished the modifications on roadRunner and ran through the test suite again: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_LvzJ3dV9uLE/Sqbh3sFpmYI/AAAAAAAAACw/8Z_T7sY4xrg/s1600-h/2009-09-08_-_TestSuite_-_NoAlgebraicNoFast%5B3%5D.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="2009-09-08_-_TestSuite_-_NoAlgebraicNoFast" border="0" alt="2009-09-08_-_TestSuite_-_NoAlgebraicNoFast" src="http://lh3.ggpht.com/_LvzJ3dV9uLE/Sqbh35lBpNI/AAAAAAAAAC0/P6sv4qjozdE/2009-09-08_-_TestSuite_-_NoAlgebraicNoFast_thumb%5B1%5D.png?imgmax=800" width="240" height="169" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p align="justify"&gt;And while roadRunner still won’t support Algebraic Rules, the ‘fast’ flag on SBML Reactions or Delay Differential Equations, we now pass all other tests. (You might wonder about the isolated four points that in red scream that the event timing would be off. For full disclosure those are the test cases 408, 428, 684 and 849. In discussions with the &lt;a href="http://copasi.org/tiki-index.php"&gt;COPASI&lt;/a&gt; team and Chris Myers from &lt;a href="http://www.async.ece.utah.edu/iBioSim/"&gt;iBioSim&lt;/a&gt; it would seem that it is the test cases that are to blame.)&lt;/p&gt;  &lt;p&gt;Windows users can get the new roadRunner installed from &lt;a href="http://sys-bio.org/fbergman/files/latest/SetupSBW.exe"&gt;here&lt;/a&gt;, or by choosing “Systems Biology Workbench\Utilities\Update SBW” from the Start menu of an existing SBW 2.7.10 release. A new Linux and OSX release will be made later in the month, or early next month, when we hopefully have SBML Level 3. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-6369965874311593437?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/6369965874311593437/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=6369965874311593437' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/6369965874311593437'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/6369965874311593437'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2009/09/roadrunner-and-events.html' title='RoadRunner and Events'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_LvzJ3dV9uLE/Sqbh35lBpNI/AAAAAAAAAC0/P6sv4qjozdE/s72-c/2009-09-08_-_TestSuite_-_NoAlgebraicNoFast_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-7239255768172281961</id><published>2009-08-19T12:38:00.001-07:00</published><updated>2009-08-19T12:38:45.824-07:00</updated><title type='text'>SBW 2.7.10 Released</title><content type='html'>&lt;p align="justify"&gt;Finally, the&amp;#160; new version of SBW is released, just in time for this years ICSB. Here the full release announcement: &lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://lh6.ggpht.com/_LvzJ3dV9uLE/SoxUwweiJoI/AAAAAAAAACo/d9bzsQAbQ18/s1600-h/SBW-Logo%5B3%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="SBW-Logo" border="0" alt="SBW-Logo" src="http://lh4.ggpht.com/_LvzJ3dV9uLE/SoxUxJ1bgII/AAAAAAAAACs/KiVnZ5UUR1g/SBW-Logo_thumb%5B1%5D.png?imgmax=800" width="240" height="141" /&gt;&lt;/a&gt; We are pleased to announce the a release of the Systems Biology Workbench 2.7.10, &lt;/p&gt;  &lt;p align="justify"&gt;available from: &lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://sys-bio.org"&gt;http://sys-bio.org&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;The Systems Biology Workbench (SBW), is a software framework that allows heterogeneous application components-written in diverse programming languages and running on different platforms - to communicate and use each others' capabilities via a fast binary encoded-message system. Our goal was to create a simple, high performance, open-source software infrastructure which is easy to implement and understand. SBW enables applications (potentially running on separate, distributed computers) to communicate via a simple network protocol. &lt;/p&gt;  &lt;p align="justify"&gt;The interfaces to the system are encapsulated in client-side libraries that we provide for different programming languages. &lt;/p&gt;  &lt;p align="justify"&gt;There are a number of significant changes in this release: &lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Event support in Jarnac Lite, improved event support in roadRunner (and support for delayed events), improved display of discrete events in the Simulation Tool.&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Improved support for SBML Layout and proposed Render Extension, changes in auto layout module, adding of a SBGN style sheet based on SBO terms. &lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Numerous bug fixes and usability improvements &lt;/div&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p align="justify"&gt;For a full list of changes see: &lt;a href="http://sys-bio.org/changelog"&gt;http://sys-bio.org/changelog&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;For a list of modules included with the Systems Biology Workbench and a description of what they do please have a look at &lt;a href="http://jdesigner.sourceforge.net/"&gt;http://jdesigner.sourceforge.net/&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;In case you are interested in instruction in how to use the Systems Biology Workbench join our tutorial at this year’s ICSB, for more information see: &lt;a href="http://www.sys-bio.org/sbwWiki/tutorials/icsb2009"&gt;http://www.sys-bio.org/sbwWiki/tutorials/icsb2009&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;As always we appreciate any feedback from users send to: sbwteam@gmail.com &lt;/p&gt;  &lt;p align="justify"&gt;Thanks    &lt;br /&gt;- Frank (for the SBW Development Team) &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-7239255768172281961?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/7239255768172281961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=7239255768172281961' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/7239255768172281961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/7239255768172281961'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2009/08/sbw-2710-released.html' title='SBW 2.7.10 Released'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh4.ggpht.com/_LvzJ3dV9uLE/SoxUxJ1bgII/AAAAAAAAACs/KiVnZ5UUR1g/s72-c/SBW-Logo_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-8872071585500615151</id><published>2009-08-17T18:42:00.001-07:00</published><updated>2009-08-17T18:42:55.364-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='roadRunner'/><category scheme='http://www.blogger.com/atom/ns#' term='SBW'/><title type='text'>Almost there – Next SBW Release</title><content type='html'>&lt;p align="justify"&gt;I’m finally in the final phase of testing the next &lt;a href="http://sys-bio.otg"&gt;SBW&lt;/a&gt; installer. Here the list of operating systems tested so far: Win 2000, Win XP, Vista, Windows 7, Windows Server 2003, Windows Server 2008, Fedora 11, Centos 4.6, Centos 5, Debian 5.0, Ubuntu 5, Ubuntu 9.04, openSUSE 11.1, Slackware 12.2 and of course OS X 10.5. All seems to be well and ready to go. &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_LvzJ3dV9uLE/SooHG-8mfxI/AAAAAAAAACg/DV_TMn8PCKY/s1600-h/SBW-Logo%5B4%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="SBW-Logo" border="0" alt="SBW-Logo" src="http://lh3.ggpht.com/_LvzJ3dV9uLE/SooHHhK2cfI/AAAAAAAAACk/-DkzM1A9GvU/SBW-Logo_thumb%5B2%5D.png?imgmax=800" width="240" height="141" /&gt;&lt;/a&gt; So here the links to the current installers let me know if things need to change: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://sys-bio.org/fbergman/files/latest/SBW-2.7.10.dmg.zip"&gt;OS X&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://sys-bio.org/fbergman/files/latest/SBW-2.7.10-linux-installer.bin"&gt;Linux&lt;/a&gt;&lt;/li&gt;    &lt;li&gt;&lt;a href="http://sys-bio.org/fbergman/files/latest/SetupSBW.exe"&gt;Windows&lt;/a&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Of course things go sometimes horribly wrong, especially with … shall we say … not quite up-to-date linux installations. So here a couple of things to keep in mind: &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;get a new-ish &lt;a href="http://mono-project.com"&gt;MONO&lt;/a&gt;, it will help a lot the current version of MONO 2.4.2 is just amazing and it seems to be feature complete. Thus there is no real reason not to use it. Alas, for some distros it is really hard to get to a working MONO installation. If your system belongs to this category, have a look &lt;a href="http://www.mono-project.com/Other_Downloads"&gt;here&lt;/a&gt;, and download the 1.9.2 binary installer. &lt;/li&gt;    &lt;li&gt;Some linux distros forsake a good and working Java installation with a &lt;a href="http://gcc.gnu.org/java/"&gt;gnu compiler&lt;/a&gt;, unfortunately our java modules do not play nice with it, in fact the post installation step is likely to fail if you have it as first java in your path. You’d be better of getting a nice JDK, like the one from SUN, or even the OpenJDK from your linux distro. &lt;/li&gt;    &lt;li&gt;If you still have trouble with the post installation step, you don’t have to uninstall SBW, just run the post installation step manually as in:      &lt;br /&gt;      &lt;br /&gt;&amp;lt;sbw-2.7.10 dir&amp;gt;/register.sh &amp;lt;full path to sbw 2.7.10 dir&amp;gt; or&amp;#160; &lt;br /&gt;      &lt;br /&gt;./register.sh /home/fbergmann/SBW-2.7.10       &lt;br /&gt;      &lt;br /&gt;that usually works and if a step takes too long a friendly ps-ef followed by a kill –9, or even simply a       &lt;br /&gt;      &lt;br /&gt;killall –9 java, killall –9 mono, killall –9       &lt;br /&gt;      &lt;br /&gt;Broker works wonders.&amp;#160; &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Cheers and on to more testing.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-8872071585500615151?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/8872071585500615151/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=8872071585500615151' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/8872071585500615151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/8872071585500615151'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2009/08/almost-there-next-sbw-release.html' title='Almost there – Next SBW Release'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_LvzJ3dV9uLE/SooHHhK2cfI/AAAAAAAAACk/-DkzM1A9GvU/s72-c/SBW-Logo_thumb%5B2%5D.png?imgmax=800' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-8831874747501401671</id><published>2009-03-16T13:14:00.001-07:00</published><updated>2009-03-16T13:14:32.628-07:00</updated><title type='text'>Re-release of SBW 2.7.9</title><content type='html'>&lt;p&gt;Just a follow up on last weeks entry about Installation Problem of &lt;a href="http://frank-fbergmann.blogspot.com/2009/03/installation-problems-of-sbw-279-on.html" target="_blank"&gt;SBW 2.7.9 on Windows XP machines&lt;/a&gt;. The problem has now been resolved (by recompiling all C++ modules using VS 2003). And SBW &lt;a href="http://sourceforge.net/project/showfiles.php?group_id=41646&amp;amp;package_id=121016" target="_blank"&gt;2.7.9 R2 is available&lt;/a&gt; for download from SourceForge.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_LvzJ3dV9uLE/Sb6zJkr8AjI/AAAAAAAAACY/5z7jyOQwtng/s1600-h/SBW%20Logo%20%28short%29-transparent%5B3%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="SBW Logo (short)-transparent" src="http://lh6.ggpht.com/_LvzJ3dV9uLE/Sb6zKHIrPZI/AAAAAAAAACc/np75-3a5cKA/SBW%20Logo%20%28short%29-transparent_thumb%5B1%5D.png?imgmax=800" width="240" height="141" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Here the full change log: &lt;/p&gt;  &lt;p&gt;Changes in Version 2.7.9 R2   &lt;br /&gt;=========================== &lt;/p&gt;  &lt;p&gt;This release is a re-release of SBW 2.7.9, that was necessary because some windows machines   &lt;br /&gt;had problems running the new version due to problems with the C++ Runtime. In this version: &lt;/p&gt;  &lt;p&gt;- all C++ modules and libraries have been recompiled with MSVC7 &lt;/p&gt;  &lt;p&gt;- JacobianViewer: The JacobianViewer was recompiled to run on 64bit systems in the 32bit    &lt;br /&gt;&amp;#160; sub system.     &lt;br /&gt;- C# Inspector: BugFix: some UI-controls would not align properly when the window was resized.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-8831874747501401671?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/8831874747501401671/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=8831874747501401671' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/8831874747501401671'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/8831874747501401671'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2009/03/re-release-of-sbw-279.html' title='Re-release of SBW 2.7.9'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/_LvzJ3dV9uLE/Sb6zKHIrPZI/AAAAAAAAACc/np75-3a5cKA/s72-c/SBW%20Logo%20%28short%29-transparent_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-6537263165534967572</id><published>2009-03-16T12:56:00.001-07:00</published><updated>2009-03-16T12:56:55.054-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SBW'/><category scheme='http://www.blogger.com/atom/ns#' term='libstructural'/><title type='text'>FluxBalance Analysis with SBW</title><content type='html'>&lt;p&gt;Herbert came across the &lt;a href="http://sourceforge.net/projects/lpsolve" target="_blank"&gt;LPsolve&lt;/a&gt;, a LPGL library for solving linear programming questions. Steady state &lt;a href="http://en.wikipedia.org/wiki/Flux_balance_analysis" target="_blank"&gt;flux balance analysis&lt;/a&gt; can be stated as linear programming question. This is what the new SBW FluxBalance module does: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_LvzJ3dV9uLE/Sb6vA5W3DiI/AAAAAAAAACQ/0Jh0YIYBU6w/s1600-h/image%5B3%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; border-top: 0px; border-right: 0px" border="0" alt="image" src="http://lh5.ggpht.com/_LvzJ3dV9uLE/Sb6vBnSY6cI/AAAAAAAAACU/fSlkdkloLxM/image_thumb%5B1%5D.png?imgmax=800" width="240" height="131" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;You can load an SBML file, specify all flux constraints and your objective that is to be minimized / maximized and the module will solve the LP problem. &lt;/p&gt;  &lt;p&gt;The prototype is available for &lt;a href="http://sys-bio.org/fbergman/files/latest/SetupFBA.exe" target="_blank"&gt;download&lt;/a&gt;. In the near future this functionality will also be included in &lt;a href="http://www.sys-bio.org/sbwWiki/sysbio/softwarelibraries" target="_blank"&gt;LibStructural&lt;/a&gt;.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-6537263165534967572?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/6537263165534967572/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=6537263165534967572' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/6537263165534967572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/6537263165534967572'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2009/03/fluxbalance-analysis-with-sbw.html' title='FluxBalance Analysis with SBW'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_LvzJ3dV9uLE/Sb6vBnSY6cI/AAAAAAAAACU/fSlkdkloLxM/s72-c/image_thumb%5B1%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-3004405311489593488</id><published>2009-03-08T19:35:00.001-07:00</published><updated>2009-03-08T19:35:56.853-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SBW'/><title type='text'>Installation problems of SBW 2.7.9 on Windows XP</title><content type='html'>&lt;p align="justify"&gt;&lt;a href="http://lh3.ggpht.com/_LvzJ3dV9uLE/SbSAiZwVd6I/AAAAAAAAACI/r3s6bnjPDH8/s1600-h/SBW%20Logo-black%5B11%5D.png"&gt;&lt;img title="SBW Logo-black" style="border-right: 0px; border-top: 0px; display: inline; margin-left: 0px; border-left: 0px; margin-right: 0px; border-bottom: 0px" height="62" alt="SBW Logo-black" src="http://lh5.ggpht.com/_LvzJ3dV9uLE/SbSAi2FZY3I/AAAAAAAAACM/AuqLp9ZOq8A/SBW%20Logo-black_thumb%5B5%5D.png?imgmax=800" width="240" align="left" border="0" /&gt;&lt;/a&gt;While away on conference I have heard of several issues installing SBW 2.7.9. I’m terribly sorry for the problem. A new installer will be issued end of next week, this will give me time to sort out the issue. &lt;/p&gt;  &lt;p align="justify"&gt;In order to make the current SBW 2.7.9 working all that is needed is to install the &lt;a href="https://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&amp;amp;displaylang=en"&gt;Visual Studio 2008 SP1 Runtime&lt;/a&gt; in fact the installer is attempting to install the runtime, but in the cases where the installation fails, this obviously did not work. To use this version of SBW 2.7.9 :&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div align="justify"&gt;Install the&amp;#160; &lt;a href="https://www.microsoft.com/downloads/details.aspx?familyid=A5C84275-3B97-4AB7-A40D-3802B2AF5FC2&amp;amp;displaylang=en"&gt;Visual Studio 2008 SP1 Runtime&lt;/a&gt;&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Uninstall SBW 2.7.9 (or delete \Program Files\KGI\SBW)&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div align="justify"&gt;Reinstall SBW 2.7.9&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p align="justify"&gt;Again I’m sorry for the inconvenience.&amp;#160; The new version next week, will re-use an older version of the runtime, resulting in some loss of functionality, however it does not require the separate runtime installation.&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-3004405311489593488?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/3004405311489593488/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=3004405311489593488' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/3004405311489593488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/3004405311489593488'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2009/03/installation-problems-of-sbw-279-on.html' title='Installation problems of SBW 2.7.9 on Windows XP'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_LvzJ3dV9uLE/SbSAi2FZY3I/AAAAAAAAACM/AuqLp9ZOq8A/s72-c/SBW%20Logo-black_thumb%5B5%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-1278552082538772245</id><published>2009-03-03T12:00:00.001-08:00</published><updated>2009-03-03T12:00:53.621-08:00</updated><title type='text'>Join us at SIGCSE 2009</title><content type='html'>&lt;p align="justify"&gt;I’ll be presenting new developments for the &lt;a href="http://sys-bio.org/"&gt;Systems Biology Workbench&lt;/a&gt;, as well as &lt;a href="http://codeplex.com/athena"&gt;Athena&lt;/a&gt;, our CAD / CAM Software for Synthetic Biology at the 40th ACM Technical Symposium on Computer Science Education or short &lt;a href="http://www.cs.arizona.edu/groups/sigcse09/"&gt;SIGCSE 2009&lt;/a&gt;. You can find us in Exhibit Hall A, at the Microsoft booth #201. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-1278552082538772245?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/1278552082538772245/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=1278552082538772245' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/1278552082538772245'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/1278552082538772245'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2009/03/join-us-at-sigcse-2009.html' title='Join us at SIGCSE 2009'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-7206273218075389873</id><published>2009-03-03T11:50:00.001-08:00</published><updated>2009-03-03T11:50:12.765-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='roadRunner'/><category scheme='http://www.blogger.com/atom/ns#' term='Jarnac'/><category scheme='http://www.blogger.com/atom/ns#' term='SBW'/><category scheme='http://www.blogger.com/atom/ns#' term='JDesigner'/><title type='text'>Systems Biology Workbench 2.7.9 released</title><content type='html'>&lt;p align="justify"&gt;&lt;/p&gt;  &lt;p align="justify"&gt;We finally have a new release of the Systems Biology Workbench. Here the release announcement: &lt;/p&gt;  &lt;p align="justify"&gt;We&amp;#160; are pleased&amp;#160; to announce&amp;#160; a release&amp;#160; of the&amp;#160; Systems Biology&amp;#160; Workbench 2.7.9, &lt;/p&gt;  &lt;p align="justify"&gt;available from: &lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://sys-bio.org"&gt;http://sys-bio.org&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;The&amp;#160; Systems&amp;#160; Biology&amp;#160; Workbench&amp;#160;&amp;#160; (SBW), is&amp;#160; a&amp;#160; software&amp;#160;&amp;#160; framework&amp;#160; that allows&amp;#160;&amp;#160; heterogeneous&amp;#160;&amp;#160; application&amp;#160;&amp;#160;&amp;#160; components-written&amp;#160;&amp;#160; in&amp;#160;&amp;#160;&amp;#160;&amp;#160; diverse programming&amp;#160;&amp;#160; languages&amp;#160; and&amp;#160;&amp;#160; running&amp;#160;&amp;#160; on&amp;#160; different&amp;#160;&amp;#160; platforms&amp;#160;&amp;#160; -&amp;#160;&amp;#160; to communicate&amp;#160; and use&amp;#160; each&amp;#160; others' capabilities via a fast binary&amp;#160; encoded -message system. Our goal was&amp;#160; to create&amp;#160; a simple, high&amp;#160; performance, open -source&amp;#160;&amp;#160; software&amp;#160; infrastructure&amp;#160; which&amp;#160;&amp;#160; is&amp;#160;&amp;#160; easy&amp;#160; to&amp;#160; implement&amp;#160;&amp;#160;&amp;#160; and understand.&amp;#160; SBW enables&amp;#160; applications&amp;#160; (potentially&amp;#160; running on&amp;#160; separate, distributed computers) to communicate via a simple network protocol. &lt;/p&gt;  &lt;p align="justify"&gt;The interfaces&amp;#160; to the&amp;#160; system&amp;#160; are&amp;#160; encapsulated in&amp;#160; client-side libraries that we provide for different programming languages. &lt;/p&gt;  &lt;p align="justify"&gt;Of&amp;#160; primary focus&amp;#160; for this&amp;#160; release was&amp;#160; to improve&amp;#160; performance for&amp;#160; core SBW components.&amp;#160; Now roadRunner&amp;#160; as well&amp;#160; as all&amp;#160; AutoLayout procedures are much&amp;#160; faster than before. The ‘Simulation Tool’ now also allows&amp;#160; performing frequency&amp;#160; analysis experiments.&amp;#160; Much effort&amp;#160; has&amp;#160; gone&amp;#160; into making&amp;#160; sure that this release works&amp;#160; on the Win64 architecture. This release&amp;#160;&amp;#160; includes also fixes for&amp;#160; Jarnac,&amp;#160; JDesigner and&amp;#160; most other applications&amp;#160; we deliver with the framework. &lt;/p&gt;  &lt;p align="justify"&gt;For&amp;#160; this Windows&amp;#160; release we&amp;#160; switched&amp;#160; to&amp;#160; a new&amp;#160; compiler. Thus&amp;#160; it&amp;#160; is recommended to uninstall&amp;#160; the previous version&amp;#160; of SBW prior&amp;#160; to installing this&amp;#160; release. It&amp;#160; is also&amp;#160;&amp;#160;&amp;#160; recommended&amp;#160;&amp;#160; to&amp;#160;&amp;#160;&amp;#160; install&amp;#160;&amp;#160; the&amp;#160;&amp;#160;&amp;#160; compiler runtime&amp;#160;&amp;#160; components&amp;#160; from: &lt;a href="http://shrinkster.com/14xc"&gt;http://shrinkster.com/14xc&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;For a full list of changes see: &lt;a href="http://sys-bio.org/research/sbwChangelog.htm"&gt;http://sys-bio.org/research/sbwChangelog.htm&lt;/a&gt;&lt;/p&gt;  &lt;p align="justify"&gt;As always we appreciate any feedback from users send to: sbwteam@gmail.com &lt;/p&gt;  &lt;p align="justify"&gt;Thanks&lt;/p&gt;  &lt;p align="justify"&gt; - the SBW Development Team &lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://lh6.ggpht.com/_LvzJ3dV9uLE/Sa2J8QiHAGI/AAAAAAAAACA/YacsQtSZ-vU/s1600-h/SBW%20Logo-black%5B10%5D.png"&gt;&lt;img title="SBW Logo-black" style="border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; border-left: 0px; margin-right: auto; border-bottom: 0px" height="64" alt="SBW Logo-black" src="http://lh3.ggpht.com/_LvzJ3dV9uLE/Sa2J8xVCyRI/AAAAAAAAACE/Cb2b9-7jlSU/SBW%20Logo-black_thumb%5B8%5D.png?imgmax=800" width="240" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-7206273218075389873?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/7206273218075389873/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=7206273218075389873' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/7206273218075389873'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/7206273218075389873'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2009/03/systems-biology-workbench-279-released.html' title='Systems Biology Workbench 2.7.9 released'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_LvzJ3dV9uLE/Sa2J8xVCyRI/AAAAAAAAACE/Cb2b9-7jlSU/s72-c/SBW%20Logo-black_thumb%5B8%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-6404371253266111004</id><published>2009-02-28T11:43:00.001-08:00</published><updated>2009-02-28T11:43:16.383-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='roadRunner'/><category scheme='http://www.blogger.com/atom/ns#' term='SBW'/><title type='text'>Frequency Analysis integrated …</title><content type='html'>&lt;p align="justify"&gt;For a long time now roadRunner has the capability to calculate the &lt;a href="http://en.wikipedia.org/wiki/Frequency_response"&gt;frequency response&lt;/a&gt; for the currently loaded model. Of course the functionality was never used, as it was not exposed in any of our interfaces. So for the upcoming release of SBW 2.7.9 I have integrated a Frequency Analysis Control with the ‘Simulation Tool’. What is different from previous applications that we had, is that now it is integrated with the environment, that is now it is possible to change the parameters, and interactively explore the frequency response. Of course the values can be exported directly to Excel (or your favorite CSV viewer), or printed. You could try it out in the release candidate to &lt;a href="http://sys-bio.org/fbergman/files/latest/SetupSBW.exe"&gt;SBW 2.7.9&lt;/a&gt;. &lt;/p&gt;  &lt;p align="justify"&gt;&lt;a href="http://lh6.ggpht.com/_LvzJ3dV9uLE/SamT0P-AmbI/AAAAAAAAAB4/GtLwHpeN0VA/s1600-h/image%5B2%5D.png"&gt;&lt;img title="image" style="border-right: 0px; border-top: 0px; display: block; float: none; margin-left: auto; border-left: 0px; margin-right: auto; border-bottom: 0px" height="194" alt="image" src="http://lh3.ggpht.com/_LvzJ3dV9uLE/SamT01I6olI/AAAAAAAAAB8/TdBNFmdGwk4/image_thumb.png?imgmax=800" width="244" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;What you see on the picture is that the simple linear chain model that we include with the SBW installation acts as a low pass, that is it will let a signal with low frequencies through, but not signals with high frequencies. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-6404371253266111004?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/6404371253266111004/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=6404371253266111004' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/6404371253266111004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/6404371253266111004'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2009/02/frequency-analysis-integrated.html' title='Frequency Analysis integrated …'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh3.ggpht.com/_LvzJ3dV9uLE/SamT01I6olI/AAAAAAAAAB8/TdBNFmdGwk4/s72-c/image_thumb.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6303290977465724707.post-1407501744706856300</id><published>2009-02-28T11:25:00.001-08:00</published><updated>2009-02-28T11:44:15.154-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SBW'/><title type='text'>Simplifying Bifurcation Analysis</title><content type='html'>&lt;p&gt;All tools for Bifurcation analysis have always been a bit difficult to use. This was the motivation for a new frontend to Auto 2000. Below a screenshot showing the stability of &lt;a href="http://www.ebi.ac.uk/biomodels-main/BIOMD0000000203"&gt;BioModel #203&lt;/a&gt;.&amp;#160; All that was needed was to load the model, set the Parameter to ‘A’, change the End value to ‘100’, as i wanted to sweep the range [0:100] and then to press run. In the output i noticed that the value never quite reached ‘100’ and thus i increased the number of points. All in all, really easy to use.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://sys-bio.org/fbergman/files/latest/SetupAutoWrapper.exe"&gt;&lt;img title="image" style="border-top-width: 0px; display: block; border-left-width: 0px; float: none; border-bottom-width: 0px; margin-left: auto; margin-right: auto; border-right-width: 0px" height="189" alt="image" src="http://lh5.ggpht.com/_LvzJ3dV9uLE/SamPxdkGShI/AAAAAAAAABw/RDlmPgojMho/image%5B4%5D.png?imgmax=800" width="240" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;Of course it needs more testing, if you are interested in it you can &lt;a href="http://sys-bio.org/fbergman/files/latest/SetupAutoWrapper.exe"&gt;download&lt;/a&gt; it. As always it will require &lt;a href="http://sys-bio.org/fbergman/files/latest/SetupSBW.exe"&gt;SBW&lt;/a&gt; to be installed. The program also works nicely on Linux (tested with Ubuntu 8.10), you need to drop me a line, and i can wrap that up. So far I did not have much luck getting it to run on OS X. &lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6303290977465724707-1407501744706856300?l=frank-fbergmann.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://frank-fbergmann.blogspot.com/feeds/1407501744706856300/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=6303290977465724707&amp;postID=1407501744706856300' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/1407501744706856300'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6303290977465724707/posts/default/1407501744706856300'/><link rel='alternate' type='text/html' href='http://frank-fbergmann.blogspot.com/2009/02/simplifying-bifurcation-analysis.html' title='Simplifying Bifurcation Analysis'/><author><name>Frank</name><uri>http://www.blogger.com/profile/07818209559978515339</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_LvzJ3dV9uLE/SamPxdkGShI/AAAAAAAAABw/RDlmPgojMho/s72-c/image%5B4%5D.png?imgmax=800' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
