2392 lines
130 KiB
HTML
2392 lines
130 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"
|
|
"http://www.w3.org/TR/REC-html40/loose.dtd">
|
|
<html>
|
|
<meta name="GENERATOR" content="TtH 3.81">
|
|
<style type="text/css"> div.p { margin-top: 7pt;}</style>
|
|
<style type="text/css"><!--
|
|
td div.comp { margin-top: -0.6ex; margin-bottom: -1ex;}
|
|
td div.comb { margin-top: -0.6ex; margin-bottom: -.6ex;}
|
|
td div.hrcomp { line-height: 0.9; margin-top: -0.8ex; margin-bottom: -1ex;}
|
|
td div.norm {line-height:normal;}
|
|
span.roman {font-family: serif; font-style: normal; font-weight: normal;}
|
|
span.overacc2 {position: relative; left: .8em; top: -1.2ex;}
|
|
span.overacc1 {position: relative; left: .6em; top: -1.2ex;} --></style>
|
|
|
|
|
|
|
|
<title> iBioSim Version 2.8 \ User's Manual</title>
|
|
|
|
<h1 align="center">iBioSim Version 2.8 <br />User's Manual </h1>
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<h3 align="center">Chris J. Myers, Nathan Barker, Scott Glass, Kevin Jones, Hiroyuki Kuwahara, Curtis Madsen, Nam Nguyen, <br />
|
|
Tramy Nguyen, Tyler Patterson, Nicholas Roehner, Jason Stevens, Leandro Watanabe, Zhen Zhang </h3>
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<h1>Contents </h1><a href="#tth_sEc1"
|
|
>1 Introduction</a><br />
|
|
<a href="#tth_sEc2"
|
|
>2 Project Management</a><br />
|
|
<a href="#tth_sEc2.1"
|
|
>2.1 Creating and Opening Projects</a><br />
|
|
<a href="#tth_sEc2.2"
|
|
>2.2 Creating Models and Graphs</a><br />
|
|
<a href="#tth_sEc2.3"
|
|
>2.3 Importing Models</a><br />
|
|
<a href="#tth_sEc2.4"
|
|
>2.4 Exporting Models and Graphs</a><br />
|
|
<a href="#tth_sEc2.5"
|
|
>2.5 Editing Project Objects</a><br />
|
|
<a href="#tth_sEc2.6"
|
|
>2.6 Creating Tool Views</a><br />
|
|
<a href="#tth_sEc3"
|
|
>3 Model Editor</a><br />
|
|
<a href="#tth_sEc3.1"
|
|
>3.1 Compartments</a><br />
|
|
<a href="#tth_sEc3.2"
|
|
>3.2 Species</a><br />
|
|
<a href="#tth_sEc3.3"
|
|
>3.3 Reactions</a><br />
|
|
<a href="#tth_sEc3.4"
|
|
>3.4 Components</a><br />
|
|
<a href="#tth_sEc3.5"
|
|
>3.5 Promoters</a><br />
|
|
<a href="#tth_sEc3.6"
|
|
>3.6 Real Variables</a><br />
|
|
<a href="#tth_sEc3.7"
|
|
>3.7 Boolean Variables</a><br />
|
|
<a href="#tth_sEc3.8"
|
|
>3.8 Petri Net Places</a><br />
|
|
<a href="#tth_sEc3.9"
|
|
>3.9 Petri Net Transitions</a><br />
|
|
<a href="#tth_sEc3.10"
|
|
>3.10 Rules</a><br />
|
|
<a href="#tth_sEc3.11"
|
|
>3.11 Constraints</a><br />
|
|
<a href="#tth_sEc3.12"
|
|
>3.12 Events</a><br />
|
|
<a href="#tth_sEc3.13"
|
|
>3.13 Influences</a><br />
|
|
<a href="#tth_sEc3.14"
|
|
>3.14 Model Editor</a><br />
|
|
<a href="#tth_sEc3.15"
|
|
>3.15 Constants</a><br />
|
|
<a href="#tth_sEc3.16"
|
|
>3.16 Functions</a><br />
|
|
<a href="#tth_sEc3.17"
|
|
>3.17 Units</a><br />
|
|
<a href="#tth_sEc4"
|
|
>4 SBOL Editors</a><br />
|
|
<a href="#tth_sEc5"
|
|
>5 Analysis Tool</a><br />
|
|
<a href="#tth_sEc5.1"
|
|
>5.1 Simulation Options</a><br />
|
|
<a href="#tth_sEc5.2"
|
|
>5.2 Advanced Options</a><br />
|
|
<a href="#tth_sEc5.3"
|
|
>5.3 Schematic</a><br />
|
|
<a href="#tth_sEc5.4"
|
|
>5.4 Parameters</a><br />
|
|
<a href="#tth_sEc5.5"
|
|
>5.5 SBML Elements</a><br />
|
|
<a href="#tth_sEc6"
|
|
>6 Learn Tool</a><br />
|
|
<a href="#tth_sEc7"
|
|
>7 TSD Graph Editor</a><br />
|
|
<a href="#tth_sEc8"
|
|
>8 Histogram Graph Editor</a><br />
|
|
<a href="#tth_sEc9"
|
|
>9 Preferences</a><br />
|
|
<a href="#tth_sEc10"
|
|
>10 Mathematical Formulas</a><br />
|
|
<a href="#tth_sEc11"
|
|
>11 Time Series Data Format</a><br />
|
|
<a href="#tth_sEc12"
|
|
>12 Tutorials</a><br />
|
|
<a href="#tth_sEc13"
|
|
>13 Submitting Bugs and Feature Requests</a><br />
|
|
|
|
|
|
<div class="p"><!----></div>
|
|
<h2><a name="tth_sEc1">
|
|
1</a> Introduction</h2>
|
|
|
|
<div class="p"><!----></div>
|
|
<tt>iBioSim</tt> has been developed for the modeling, analysis, and design of genetic circuits. While <tt>iBioSim</tt> primarily targets models of genetic circuits, models representing metabolic networks, cell-signaling pathways, and other biological and chemical systems can also be analyzed. <tt>iBioSim</tt> also includes modeling and visualization support for multi-cellular and spatial models as well.
|
|
It is capable of importing and exporting models specified using the <A HREF="http://www.sbml.org/">
|
|
<em>Systems Biology Markup Language</em>
|
|
</A>
|
|
(SBML). It can import all levels and versions of SBML and is able to export Level 3 Version 1. It supports all core SBML modeling constructs except some types of <em>fast</em> reactions, and also has support for the hierarchical model composition, layout, flux balance constraints, and arrays packages. It was the first tool to produce correct results for all examples in the SBML benchmark suite. It has also been tested successfully on the stochastic benchmark suite and the curated models in the
|
|
<A HREF="http://www.ebi.ac.uk/biomodels-main/">
|
|
<em>BioModels database</em>.
|
|
</A>
|
|
Finally, it is one of the first tools to also support the
|
|
<A HREF="http://www.sbolstandard.org/">
|
|
<em>Synthetic Biology Open Language</em>
|
|
</A>
|
|
(SBOL), an emerging standard for information exchange in synthetic biology.
|
|
<tt>iBioSim</tt> includes the following components:
|
|
|
|
<ul>
|
|
<li> Model Editor - a tool to create a model of a genetic circuit or other biological system.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> SBOL Browser - a tool to view SBOL files and associate DNA components to model elements.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Analysis Tool - an abstraction-based ODE, Monte Carlo, Markov, and flux balance analysis tool.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Learn Tool - a tool to learn a model from <em>time series data</em> (TSD).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> TSD Graph Editor- a tool to visualize TSD files.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Histogram Graph Editor - a tool to visualize probability data and flux balance results.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
</ul>
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<h3>Credits</h3>
|
|
|
|
<div class="p"><!----></div>
|
|
The iBioSim tool is being developed by
|
|
<A HREF="http://www.async.ece.utah.edu/~myers">
|
|
Chris Myers
|
|
</A>
|
|
research group at the University of Utah.
|
|
This project has involved many students including Nathan Barker, Scott Glass, Kevin Jones,
|
|
Hiroyuki Kuwahara, Curtis Madsen, Nam Nguyen, Tramy Nguyen, Tyler Patterson, Nicholas Roehner, Jason Stevens, Leandro Watanabe, and Zhen Zhang.
|
|
|
|
<div class="p"><!----></div>
|
|
<h2><a name="tth_sEc2">
|
|
2</a> Project Management</h2>
|
|
|
|
<div class="p"><!----></div>
|
|
Within <tt>iBioSim</tt>, all files are collected within projects.
|
|
A project is a collection of models, analysis views, learn views, and graphs. As shown below, <tt>iBioSim</tt> displays all project files on the left; the open models, views, and graphs on the right; and a log of all external commands on the bottom. The menu bar is located on the top of the window in the Windows and Linux versions. It is located on the top of the screen in the MacOS version.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/iBioSim.png" alt="screenshots/iBioSim.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
<h3><a name="tth_sEc2.1">
|
|
2.1</a> Creating and Opening Projects</h3>
|
|
|
|
<div class="p"><!----></div>
|
|
To create a new project, select New → Project from the File menu as shown below. You will then be prompted to browse to a desired location and to give a name to the project directory. After you do this, click the new button and a new project directory will be created. To open a project, select Open Project from the File menu. You will then be prompted to browse to a project directory to open, and clicking open will open the project. You may also open a project by selecting one of your ten most recently opened projects by selecting the project name shown in the Open Recent menu within the File menu.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/project.png" alt="screenshots/project.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
<h3><a name="tth_sEc2.2">
|
|
2.2</a> Creating Models and Graphs</h3>
|
|
|
|
<div class="p"><!----></div>
|
|
After you have created or opened a project, you can create a new model or graph to add to the project. To create a new model, select New → Model from the File menu as shown below. You will then be prompted to enter a model ID. At this point, a Model editor (see Section <a href="#ModelEdit">3</a>) will open in a new tab.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/newModel.png" alt="screenshots/newModel.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/ModelId.png" alt="screenshots/ModelId.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/ModelEditor.png" alt="screenshots/ModelEditor.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
To create a new grid model, select New → Grid Model from the File menu as shown below. You will then be prompted to enter a model ID. Next, a Create Grid window opens that asks for the number of rows and columns in the grid. It also asks which model to use to populate the grid initially. You can select "none" if you wish to populate it later. At this point, a Grid Model editor (see Section <a href="#ModelEdit">3</a>) will open in a new tab.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/createGrid.png" alt="screenshots/createGrid.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/gridModel.png" alt="screenshots/gridModel.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
To create a new TSD graph, select New → TSD Graph from the File menu. You will then be prompted to give a name to the TSD graph. At this point, a TSD graph editor (see Section <a href="#TSDGraph">7</a>) will open in a new tab.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/TopTSDgraph.png" alt="screenshots/TopTSDgraph.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
To create a new histogram, select New → Histogram from the File menu. You will then be prompted to give a name to the histogram. At this point, a histogram editor (see Section <a href="#Histogram">8</a>) will open in a new tab.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/TopHistogram.png" alt="screenshots/TopHistogram.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
Once a model or graph is created, it can be opened again later by right-clicking on the object in the project window and selecting "View/Edit" or, alternatively, double-clicking on the object. Note that a model can be opened in either a graphical or tabular editor. An open model or graph can be closed by either clicking on the "X" in the tab or by selecting Close from the File menu. The Close All option in the File menu closes all tabs.
|
|
|
|
<div class="p"><!----></div>
|
|
<h3><a name="tth_sEc2.3">
|
|
2.3</a> Importing Models</h3>
|
|
|
|
<div class="p"><!----></div>
|
|
You can also import files into the current working project. These can be
|
|
<A HREF="http://www.sbml.org/">
|
|
<em>Systems Biology Markup Language</em>
|
|
</A>
|
|
(SBML) models, models from the
|
|
<A HREF="http://www.ebi.ac.uk/biomodels-main/">
|
|
<em>BioModels database</em>,
|
|
</A>
|
|
models from the
|
|
<A HREF="http://sbol.ncl.ac.uk:8081/">
|
|
<em>Virtual Parts repository</em>,
|
|
</A>
|
|
<em>Labeled Petri Net</em> (LPN) models, a
|
|
<A HREF="http://www.sbolstandard.org/">
|
|
<em>Synthetic Biology Open Language</em>
|
|
</A>
|
|
(SBOL) file (see Section <a href="#SBOL">4</a>), or a
|
|
<A HREF="http://sed-ml.org/">
|
|
<em>Simulation Experiment Description Markup Language</em>
|
|
</A>
|
|
(SED-ML) file.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/import.png" alt="screenshots/import.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
To import a SBML, select Import → SBML Model from the File menu.
|
|
You will then be able to browse to find a model to import. After selecting the desired model, click the import button to bring the model into the project. Before bringing the model into the project, it will be checked to see if it is a valid SBML file.
|
|
The model will also be checked for consistency, and any errors or warnings will be reported. These should be corrected before analysis of the model is performed. Importing of an LPN model, an SBOL file, or a SED-ML file are similar in that you are asked to locate the appropriate file to import. When importing a model from the BioModels database, the window below will open, initially only listing the BioModel numbers. Selecting "Get Names" will fetch the model names from the database. Beware that this can take a significant amount of time. When you click on a model to select it, you can use the "Get Description" button to fetch a description of the model which will open in a browser. Similarly, the "Get Reference" button will fetch the reference describing this model and again open it in a browser.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/BioModels.png" alt="screenshots/BioModels.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<div class="p"><!----></div>
|
|
<h3><a name="tth_sEc2.4">
|
|
2.4</a> Exporting Models and Graphs</h3>
|
|
|
|
<div class="p"><!----></div>
|
|
You can also export a SBML model or the SBOL associated with this model. To export an SBML model, select Export → Flat SBML or Export → SBML. Then, you will be able to browse to find a location to export the SBML file. A flat SBML file is a single flattened chemical reaction model while an SBML file is a single file hierarchical model with high-level genetic constructs.
|
|
When exporting SBOL associated to a model, you must browse to find an existing SBOL file or enter the name for a new file. The associated SBOL will then be added to the selected file or a new file. Finally, you can export a JPG image of a model.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/export.png" alt="screenshots/export.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
Data and graphs of time series data or histograms can be exported from the project in many formats. The supported file formats are:
|
|
|
|
<ul>
|
|
<li> Time series data format (tsd), see Section <a href="#TSD">11</a>.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Comma separated value (csv).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Column separated data (dat).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Encapsulated postscript (eps).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Joint Photographic Experts Group (jpg).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Portable document format (pdf).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Portable network graphics (png).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Scalable vector graphics (svg).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
</ul>
|
|
|
|
<div class="p"><!----></div>
|
|
<h3><a name="tth_sEc2.5">
|
|
2.5</a> Editing Project Objects</h3>
|
|
|
|
<div class="p"><!----></div>
|
|
All project objects can be modified by highlighting the object and using a right mouse click to open a menu of options, as shown below. Using this menu, every type of object can be copied, renamed, or deleted (these actions can also be done from the Edit menu). For a model file, the "View/Edit (graphical)" option opens the graphical model editor while the "View/Edit (tabular) opens the tabular model editor (see Section <a href="#ModelEdit">3</a>).
|
|
For a TSD graph, the "View/Edit" option opens the TSD graph editor (see Section <a href="#TSDGraph">7</a>). For a histogram, the "View/Edit" option opens the histogram graph editor
|
|
(see Section <a href="#Histogram">8</a>).
|
|
For an analysis view, the "Open Analysis View" option opens the analysis view (see Section <a href="#Analysis">5</a>). For a learn view, the "Open Learn View" option opens the learn view (see Section <a href="#Learn">6</a>).
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/GCMAnalysis.png" alt="screenshots/GCMAnalysis.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
<h3><a name="tth_sEc2.6">
|
|
2.6</a> Creating Tool Views</h3>
|
|
|
|
<div class="p"><!----></div>
|
|
To perform analysis or learning, right-click on a model and select "Create Analysis View" (see Section <a href="#Analysis">5</a>) to perform analysis or "Create Learn View" (see Section <a href="#Learn">6</a>) to perform learning. You will then be prompted to give a name to your analysis or learn view. After a name is entered, a tab with the newly created view will open. Views can also be created using the Tools menu. Once a view is created, it can be opened again later by right-clicking on an analysis directory and selecting "Open Analysis/Learn View" or, alternatively, double-clicking on the view.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<div class="p"><!----></div>
|
|
<h2><a name="tth_sEc3">
|
|
3</a> <a name="ModelEdit">
|
|
</a>Model Editor</h2>
|
|
|
|
<div class="p"><!----></div>
|
|
The model editor allows the user to create or modify a model of a genetic circuit or other biochemical system. <tt>iBioSim</tt> models are based on SBML Level 3 Version 1 models with added features to support visualization, hierarchy, and modeling of genetic regulation. SBML models can be imported and exported to allow interfacing with SBML-compliant tools. When exporting an SBML model, the hierarchy and genetic regulation can be flattened to create a single SBML model that uses only SBML L3V1 core constructs. The model editor includes both a schematic editor as well as several tabular editors. For large models, the schematic portion can also be edited tabularly instead. You can create both ordinary models and grid models.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/ModelId.png" alt="screenshots/ModelId.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
The schematic editor for an ordinary model is shown below. There are two groups of icons. By selecting the appropriate icon in the first group, the user can add <em>compartments</em> (see Section <a href="#Compartments">3.1</a>), <em>chemical species</em> (see Section <a href="#Species">3.2</a>),
|
|
<em>chemical reactions</em> (see Section <a href="#Reactions">3.3</a>), <em>components</em> (see Section <a href="#Components">3.4</a>), <em>promoters</em> (see Section <a href="#Promoters">3.5</a>), <em>real variables</em> (see Section <a href="#Variables">3.6</a>), <em>Boolean variables</em> (see Section <a href="#Booleans">3.7</a>), <em>Petri net places</em> (see Section <a href="#Places">3.8</a>), <em>Petri net transitions</em> (see Section <a href="#Transitions">3.9</a>), <em>rules</em> (see Section <a href="#Rules">3.10</a>), <em>constraints</em> (see Section <a href="#Constraints">3.11</a>), and <em>events</em> (see Section <a href="#Events">3.12</a>) to the schematic. When the select icon is highlighted, <img src="../gui/icons/modelview/select_mode_selected.png" alt="../gui/icons/modelview/select_mode_selected.png" />, double clicking on an object in the schematic opens the appropriate object editor. In this mode, relationships can also be created between objects by selecting an object and, while holding the mouse, dragging the connection to another object. The type of relationship (or <em>influence</em>) is determined by the icon that is highlight in the second group (see Section <a href="#Influences">3.13</a>). Finally, if the self regulation icon,
|
|
<img src="../gui/icons/modelview/self_influence_selected.png" alt="../gui/icons/modelview/self_influence_selected.png" />, is selected, clicking on a species creates a self influence relationship. The remaining items on the toolbar allow the user to apply an automatic layout routine <img src="../gui/icons/modelview/choose_layout_selected.png" alt="../gui/icons/modelview/choose_layout_selected.png" />, zoom, restore to default size (Un-Zoom), pan, edit model attributes (see Section <a href="#ModelEditor">3.14</a>), and edit the SBOL information associated with the model (see Section <a href="#SBOL">4</a>). Finally, the additional tabs allow the user to add, edit, or remove <em>real constants</em> (see Section <a href="#Constants">3.15</a>), <em>function definitions</em> (see Section <a href="#Functions">3.16</a>), and <em>unit definitions</em> (see Section <a href="#Units">3.17</a>). One last note, there are several options in the Edit menu, which are also available via hotkeys, that can be useful during model editing. These include return undo, redo, return to select mode, delete, and moving and adding elements on the schematic. The user can also return to the select mode using the ESC key while delete and selection options are available in a right click menu on schematic objects.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/ModelEditor.png" alt="screenshots/ModelEditor.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/editMenu.png" alt="screenshots/editMenu.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/deleteSelect.png" alt="screenshots/deleteSelect.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
For large models, it may be preferable to use the tabular model editor shown below. The tabular editor includes all the same elements as the graphical editor except they are presented as lists of their Ids. In each list, the user can add new element, remove existing elements, or edit the properties of existing elements. Note that constants, real variables, Boolean variables, and places appear in the Parameter list, influences appear in the Reaction list, and Petri net transitions appear in the Event list.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/textualEditor.png" alt="screenshots/textualEditor.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
<tt>iBioSim</tt> also supports the creation of models on a grid. The idea of a grid is to provide a coarse-grain spatial representation. A single model can be instantiated within each grid location. The models can be for individual cells, allowing one to model population dynamics. The models can also be different segments of a single cell, allowing one to model diffusion within a cell. Key to grid-based modeling are diffusible species, described in Section <a href="#Species">3.2</a>. When the models within grid locations are compartment-enclosed components, reactions are added to represent the movement of these diffusible species between the compartment and the area outside the compartment within the grid location (i.e., <em>membrane diffusion</em>). When performing analysis, reactions are also automatically added to represent the movement of these diffusible species between the grid locations.
|
|
|
|
<div class="p"><!----></div>
|
|
The schematic for a model on a grid is a bit different than for an ordinary model, which is evident from the toolbar. Namely, a grid-based model can only include components, with at most one component per grid location. By pressing the Add Component icon <img src="../gui/icons/modelview/add_component_selected.png" alt="../gui/icons/modelview/add_component_selected.png" /> and clicking on an empty grid location, you are allowed to select a model to instantiate within that grid location. You can also select Edit Grid Size to change the size of the grid. If the grid is larger in one or more dimensions than before, you can select a model to populate the new grid locations. A smaller grid size simply removes the component instantiations that fall outside the new grid. You can also edit the grid by selecting individual grid locations by clicking on them or selecting multiple grid locations using the rectangle selection tool by left-clicking and dragging the mouse. When you then use the right mouse button, it brings up the menu shown below. This menu allows you to delete the component that was right-clicked on or to open its model in a Model Editor. You can also use this menu to select or de-select all grid locations, and you can either clear occupied, or populate non-occupied, selected grid locations. The grid model editor has one additional tab which allows the user to edit properties for the species that diffuse on the grid.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/gridModel.png" alt="screenshots/gridModel.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/editGridSize.png" alt="screenshots/editGridSize.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/gridRightButton.png" alt="screenshots/gridRightButton.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
<h3><a name="tth_sEc3.1">
|
|
3.1</a> <a name="Compartments">
|
|
</a>Compartments</h3>
|
|
|
|
<div class="p"><!----></div>
|
|
Compartments are used to specify membrane-enclosed regions where species are found. A new model includes a compartment named <tt>Cell</tt> by default. Note that when a compartment has species or reactions assigned to it that it cannot be removed without first removing or reassigning these species and reactions. To add a new compartment to the model, select the Add Compartment icon <img src="../gui/icons/modelview/add_compartment_selected.png" alt="../gui/icons/modelview/add_compartment_selected.png" /> and click on the schematic canvas. This will drop a new compartment with default ID and other values. You may change these defaults by double-clicking on the compartment to open the Compartment Editor.
|
|
As shown below, a compartment has the following fields:
|
|
|
|
<ul>
|
|
<li> ID: a unique ID composed of only alphanumeric characters and underscores. Can also have optional array dimension(s) enclosed in square brakets. Within each set of brackets, a constant parameter must be provided that sets the size of that dimension of the compartment array.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Name: an arbitrary string description (optional).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Is Mapped to a Port: a checkbox indicating whether or not this compartment is mapped to a port, so it can be replaced or deleted in hierarchical models (default=false).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Spatial Dimensions: number of spatial dimensions (default=3).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Spatial Size: initial size of the compartment (default=1.0). This value can be a mathematical expression (see Section <a href="#SBMLMath">10</a>) which is called an <em>initial assignment</em>.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Units: the units for the size (default=none).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Constant: Boolean indicating if the size is constant (default=true).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
</ul>
|
|
When a compartment is assigned to a port, it is assumed that the compartment is not membrane enclosed. This is indicated by the compartment having square corners. By assigning a compartment to a port, when this model is used as a subModel in another model, the compartment can be replaced with the one in the enclosing model. When a compartment is not assigned to a port, it is assumed that the compartment is membrane enclosed which is indicated with rounded corners.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/compartment.png" alt="screenshots/compartment.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
<h3><a name="tth_sEc3.2">
|
|
3.2</a> <a name="Species">
|
|
</a>Species</h3>
|
|
|
|
<div class="p"><!----></div>
|
|
Species are the molecules, such as proteins, that are produced by genes or chemical reactions. To add a species to the model, select the Add Species icon <img src="../gui/icons/modelview/add_species_selected.png" alt="../gui/icons/modelview/add_species_selected.png" /> and click on the schematic canvas. This will drop a new species with default ID and other values. You may change these defaults by double-clicking on the species to open the Species Editor. A species has the following elements:
|
|
|
|
<ul>
|
|
<li> ID: a unique ID composed of only alphanumeric characters and underscores.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Name: an arbitrary string description of the species (optional).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Port Type: used to indicate how this species can be connected in hierarchical models. The <em>input</em> type is used to indicate a species that is produced outside this model, the <em>internal</em> type is used to indicate that a species is produced inside this model but cannot be used in other models, and the <em>output</em> type is used to indicate that a species is produced by this model and can be used in other models (default=internal).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Compartment: location of the species (default is set by where the species is placed in the schematic).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Compartment Indices: used to reference the compartment when it is an array.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Initial Amount/Concentration: initial value of the amount or concentration of the species (default=0.0). This value can be a mathematical expression (see Section <a href="#SBMLMath">10</a>) which is called an <em>initial assignment</em>. If the value/expression is enclosed in brackets (i.e., [e]), it is a concentration, otherwise it is an amount.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Units: the units for the amount/concentration (default=none).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Conversion Factor: is a constant global parameter, the value of which is used to convert this species' units into the units used for extent (i.e., the units of change due to reactions).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Conversion Factor Indicies: used to reference the conversion factor when the parameter is an array.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Boundary Condition: Boolean indicating if the species amount/concentration cannot be changed by reactions (default=false).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Constant: Boolean indicating if the species amount/concentration is constant (default=false).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Has Only Substance Units: Boolean indicating if the species is to be considered an amount in mathematical equations (default=true).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Constitutive: this checkbox indicates that a default production reaction should be created for this species (default=false).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Degrades: this checkbox indicates that a default degradation reaction should be created for this species (default=false).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Diffusible: this checkbox indicates if this species can diffuse in multi-compartment and grid-based models (default=false).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Open complex production rate (ko): once RNAP binds to this promoter, this is the rate at which transcription is initiated. Note that this production rate is used in the production reaction created when a species is marked as constitutively produced. The default value is the global parameter ko.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Stoichiometry of production (np): the average number of proteins that are produced by an mRNA before it degrades. This value is used in the production reaction created when a species is marked as constitutively produced. The default value is the global parameter np.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Degradation rate (kd): the degradation rate for this species. This value is used in the degradation reaction created when a species is marked that it degrades. The default is the value of the global parameter kd.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Complex formation equilibrium (Kc): the equilibrium constant for formation of this species when it is produced by a complex formation reaction. The default is the global parameter Kc. The equilibrium constant can be specified as a forward and reverse rate constant using the 〈 forward rate 〉/ 〈 reverse rate 〉 form.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Membrane diffusion rate (fd/rv) (kmdiff): the forward (in to out) and reverse (out to in) rate constants (slash-separated) for diffusion of this species through its compartment's membrane. Note that when membrane diffusion reactions are generated, the rates are taken from the inner species. If no reverse rate is given, a default of 1.0 is used. The default is the global parameter kmdiff.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
</ul>
|
|
Finally, one can specify that an SBOL element is associated with this species by clicking on the Associate SBOL button. More details can be found in Section <a href="#SBOL">4</a>.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/species.png" alt="screenshots/species.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
<h3><a name="tth_sEc3.3">
|
|
3.3</a> <a name="Reactions">
|
|
</a>Reactions</h3>
|
|
|
|
<div class="p"><!----></div>
|
|
Reactions are used to create or destroy molecular species in a biochemical reaction network.
|
|
To add a reaction, select the Add Reaction icon <img src="../gui/icons/modelview/add_reaction_selected.png" alt="../gui/icons/modelview/add_reaction_selected.png" /> and click on the schematic canvas which drops a new reaction with a default ID and parameter values.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/reaction.png" alt="screenshots/reaction.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
Reactions convert reactant species into product species with perhaps modifier species (e.g., enzymes or catalysts) affecting the rate of this conversion. The next step, therefore, is to indicate which species are reactants, products, and modifiers for the reaction. This is accomplished by selecting the Reaction icon <img src="../gui/icons/modelview/reaction_selected.png" alt="../gui/icons/modelview/reaction_selected.png" /> or Modifier icon <img src="../gui/icons/modelview/modifier_selected.png" alt="../gui/icons/modelview/modifier_selected.png" />. With the Reaction icon selected, selecting a species, holding the mouse button, and dragging the arc to a reaction makes the selected species a reactant in that reaction. Similarly, selecting a reaction, holding the mouse button, and dragging the arc to a species makes the species a product in the selected reaction. Finally, with the Modifier icon selected, dragging an arc between a species and reaction (in either direction) adds the species as a modifier in the reaction. When you select a reactant edge, it opens a Reactants Editor. This editor allows you to change the following things:
|
|
|
|
<ul>
|
|
<li> ID: this is the ID for this reactant and should not be confused with the Species ID. This ID can be used in equations such as rules and event assignments. Use this ID when you want the stoichiometry to be determined by an equation or used in an equation. The ID is optional.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Name: an arbitrary string description of the species (optional).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Species: the ID of the reactant species.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Stoichiometry: the number of molecules consumed by the reaction (default=1.0). This value can be a mathematical expression (see Section <a href="#SBMLMath">10</a>) which is called an <em>initial assignment</em>.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Constant: indicates whether the stoichiometry can change dynamically (default=true).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
</ul>
|
|
Similarly, the ID, Name, Species, Stoichiometry, and Constant fields can be edited for a Product edge as shown below. Modifier edges do not have any of these fields, so they cannot be edited.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/reactant.png" alt="screenshots/reactant.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/product.png" alt="screenshots/product.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
When you select a reaction, it opens the Reaction Editor which allows you to edit the following reaction fields:
|
|
|
|
<ul>
|
|
<li> ID: a unique ID composed only of alphanumeric characters and underscores.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Name: an arbitrary string description (optional).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Is Mapped to a Port: a checkbox indicating whether or not this reaction is mapped to a port, so it can be replaced or deleted in hierarchical models (default=false).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Compartment: the location where this reaction takes place. This is set by the location in which the reaction is placed in the schematic.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Reversible: a Boolean indicating if the reaction is reversible (default=false). Note that reversible reactions are indicated in the schematic with double headed arrows.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Fast: a Boolean indicating if the reaction reaches equilibrium rapidly (default=false). Note that this only has limited support in analysis, so it should be used sparingly.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> SBOL DNA Component: the Associate SBOL button allows the user to associate an SBOL DNA component with the reaction (see Section <a href="#SBOL">4</a>).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> List of Local Parameters: symbolic values that can be used in the <em>kinetic law</em> for this reaction. Their IDs only need to be unique to this reaction. Local parameters can be added, removed, and edited using the appropriate buttons. Each parameter is composed of an ID, Name (optional), Value, Units (optional), and a checkbox indicting whether or not this parameter is mapped to a port. The list of parameters begins with a default forward reaction rate (kf) and reverse reaction rate (kr). These names and their values should likely be edited.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Kinetic Law: a mathematical formula (see Section <a href="#SBMLMath">10</a>) describing the rate or probability for this reaction. The kinetic law can either be automatically generated using the Use Mass Action button or manually entered. The Use Mass Action button creates a rate law using the law of mass action assuming that the first parameter in the list is the forward reaction rate and the second parameter in the list is the reverse reaction rate.
|
|
The Clear button clears the kinetic law editor. Note that the kinetic law formula can only include species IDs that are reactants, products, or modifiers to this reaction.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
</ul>
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/localParam.png" alt="screenshots/localParam.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/kineticLaw.png" alt="screenshots/kineticLaw.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
To simplify a schematic, one can use implicit reactions in some limited situations. To create an implicit reaction, with the Reaction icon <img src="../gui/icons/modelview/reaction_selected.png" alt="../gui/icons/modelview/reaction_selected.png" /> highlighted and the mouse button selected, drag a reaction edge between two species. This action creates a reaction with a default ID and parameters, including the source species as a reactant and sink species as a product. If you connect an additional reaction edge to either species, you are asked if you wish to create a new reaction or add this new relationship to an existing reaction on the source and/or sink species. Implicit reactions can only be used when the following conditions hold:
|
|
|
|
<ul>
|
|
<li> The stoichiometry of all reactants and products for the reaction is 1.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> The reaction has either a single reactant OR a single product.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> The reaction has no modifier species.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
</ul>
|
|
The first condition is a default and cannot be changed. Adding edges can, however, cause a violation of the second or third condition. If this violation occurs, an explicit reaction is created to replace the implicit reaction.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/implicitReactions.png" alt="screenshots/implicitReactions.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
<h3><a name="tth_sEc3.4">
|
|
3.4</a> <a name="Components">
|
|
</a>Components</h3>
|
|
|
|
<div class="p"><!----></div>
|
|
Components are instances of other models within the project, and they are used to create hierarchical, multi-compartment, and cellular population models. To add a component, select the Add Component icon <img src="../gui/icons/modelview/add_component_selected.png" alt="../gui/icons/modelview/add_component_selected.png" /> and click on the schematic canvas. You are then prompted to select the model for the component that you wish to add. This window also allows you to add multiple instances of the component at one time. To do this, select Tile Component and specify how many Columns, Rows, the Padding between them that you want, and whether to start the tiling in the top left corner of the schematic or at the mouse location.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/addComponent.png" alt="screenshots/addComponent.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
When a component is added, it appears in the schematic either with sharp or rounded corners. A component with sharp corners is not enclosed within a compartment (i.e., its compartment is on a port). In other words, this is likely part of a hierarchical model. On the other hand, rounded corners indicate that it is enclosed within a compartment. In this case, the component is likely to be part of either a multi-compartment or cellular population model. If a diffusible species with the same ID exists inside and outside of a compartment-enclosed component, a membrane diffusion reaction will be created, allowing the species to be transported to/from the compartment-enclosed component. If the compartment-enclosed component is on a grid, the outside diffusible species will be automatically created if the inside diffusible species exists.
|
|
When a component has ports, connections to input ports can be made by selecting an object and, while holding the mouse button, drag an arc to the component. If there are multiple input ports, you are asked which input port to connect this object to. To connect to output ports, begin by selecting the component and drag an arc to the object to be connected to the output port. Note that when you make these connections you are specifying that the object in the top-level model is the same object as the one in the component that it is connected too (i.e., it creates a <em>replacement</em>).
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/addPort.png" alt="screenshots/addPort.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
Clicking on the component opens the Component Editor which allows you to edit the following fields:
|
|
|
|
<ul>
|
|
<li> ID: a unique ID composed only of alphanumeric characters and underscores.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Name: an arbitrary string description (optional).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Time Conversion Factor: is a constant global parameter, the value of which is used to convert the submodel's time units into the units used in the model that includes it.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Extent Conversion Factor: is a constant global parameter, the value of which is used to convert the submodel's extent units into the units used in the model that includes it.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> SBOL DNA Component: the Associate SBOL button allows the user to associate an SBOL DNA component with the submodel (see Section <a href="#SBOL">4</a>).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
</ul>
|
|
The last part of the Component Editor is a table of replacements and deletions. This table lists all items that are mapped to ports within the submodel. For each port, it includes:
|
|
|
|
<ul>
|
|
<li> Type: the type of SBML element.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Port: the ID of the SBML element.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Direction: the direction of replacement. A ← indicates that the item in the enclosing model replaces the one in the submodel. A → indicates that the item in the enclosing model is replaced by the one in the submodel.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Replacement: this indicates the ID of the item in the enclosing model that is involved in the replacement. If the replacement selection is "delete" then the object in the submodel is deleted when this model is flattened. If the replacement selection is "none" then there is no replacement or deletion on this port.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Conversion: is a constant global parameter, the value of which is used to convert the submodel's units for this element into the units used by the item replacing it within the enclosing model.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
</ul>
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/editComp.png" alt="screenshots/editComp.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
When adding a component to a grid, you are simply asked which model to instantiate, and you cannot connect to ports as species are not allowed on a grid.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/addCompGrid.png" alt="screenshots/addCompGrid.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
<h3><a name="tth_sEc3.5">
|
|
3.5</a> <a name="Promoters">
|
|
</a>Promoters</h3>
|
|
|
|
<div class="p"><!----></div>
|
|
Promoters are the locations on a DNA sequence in which transcription is initiated to create a <em>messager</em> RNA (mRNA), which can then be translated by a ribosome into a protein. To add a promoter to a model, select the Add Promoter icon <img src="../gui/icons/modelview/promoter_mode_selected.png" alt="../gui/icons/modelview/promoter_mode_selected.png" /> and click on the schematic canvas, which creates a new promoter with a default ID and parameter values. Clicking on the promoter opens the Promoter Editor and allows you to edit the following fields:
|
|
|
|
<ul>
|
|
<li> ID: a unique ID composed only of alphanumeric characters and underscores.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Name: an arbitrary string description (optional).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Port Type: used to indicate how this object can be connected in hierarchical models. The <em>input</em> type is used to indicate a object that is produced outside this model, the <em>internal</em> type is used to indicate that a object is produced inside this model but cannot be used in other models, and the <em>output</em> type is used to indicate that a object is produced by this model and can be used in other models (default=internal).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Initial promoter count (ng): the number of copies of this promoter. The default is the value of the global parameter ng.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> RNAP binding equilibrium (Ko): the equilibrium constant to use for the binding of RNAP to this promoter. The default value is the global parameter Ko. Note that this can either be specified as a single equilibrium constant or as a forward rate "/" reverse rate.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Activated RNAP binding equilibrium (Kao): the equilibrium constant to use for the binding of RNAP to a promoter with an activator. The default value is the global parameter Kao. Note that this can either be specified as a single equilibrium constant or as a forward rate "/" reverse rate.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Open complex production rate (ko): once RNAP binds to this promoter, this is the rate at which transcription is initiated. Note that this production rate is only used for promoters with no activators. The default value is the global parameter ko.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Basal production rate (kb): once RNAP binds to an activated promoter, this is the rate at which transcription is initiated without the activator also being bound. The default value is the global parameter kb.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Activated production rate (ka): once RNAP binds to an activated promoter, this is the rate at which transcription is initiated when the activator is also bound to the promoter. The default value is the global value ka.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Stoichiometry of production (np): the average number of proteins that are produced by an mRNA before it degrades. The default value is the global parameter np.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> SBOL DNA Component: the Associate SBOL button allows the user to associate an SBOL with the promoter (see Section <a href="#SBOL">4</a>).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
</ul>
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/promoter.png" alt="screenshots/promoter.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
<h3><a name="tth_sEc3.6">
|
|
3.6</a> <a name="Variables">
|
|
</a>Real Variables</h3>
|
|
|
|
<div class="p"><!----></div>
|
|
Real variables are non-constant global parameters that can be used in math formulas (see Section <a href="#SBMLMath">10</a>). A parameter includes the following:
|
|
|
|
<ul>
|
|
<li> ID: a unique ID composed only of alphanumeric characters and underscores.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Name: an arbitrary string description (optional).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Initial value: initial value for the parameter. This value can be a mathematical expression (see Section <a href="#SBMLMath">10</a>) which is called an <em>initial assignment</em>.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Units: the units for the parameter value (default=none).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Constant: Boolean indicating if the parameter value is constant (default=false).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Port Type: used to indicate how this object can be connected in hierarchical models. The <em>input</em> type is used to indicate a object that is produced outside this model, the <em>internal</em> type is used to indicate that a object is produced inside this model but cannot be used in other models, and the <em>output</em> type is used to indicate that a object is produced by this model and can be used in other models (default=internal).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
</ul>
|
|
Note that changing a the Constant attribute to true removes the parameter from the schematic, and it puts it in the list of Constants found in the Constant tab (see Section <a href="#Constants">3.15</a>).
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/parameter.png" alt="screenshots/parameter.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
<h3><a name="tth_sEc3.7">
|
|
3.7</a> <a name="Booleans">
|
|
</a>Boolean Variables</h3>
|
|
|
|
<div class="p"><!----></div>
|
|
Boolean variables are global parameters that can only take the values of true and false. A Boolean variable includes the following:
|
|
|
|
<ul>
|
|
<li> ID: a unique ID composed only of alphanumeric characters and underscores.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Name: an arbitrary string description (optional).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Initial value: initial value for the parameter (default=false).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Port Type: used to indicate how this object can be connected in hierarchical models. The <em>input</em> type is used to indicate a object that is produced outside this model, the <em>internal</em> type is used to indicate that a object is produced inside this model but cannot be used in other models, and the <em>output</em> type is used to indicate that a object is produced by this model and can be used in other models (default=internal).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
</ul>
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/Boolean.png" alt="screenshots/Boolean.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
<h3><a name="tth_sEc3.8">
|
|
3.8</a> <a name="Places">
|
|
</a>Petri Net Places</h3>
|
|
|
|
<div class="p"><!----></div>
|
|
Places are a special type of global parameter that is used in Petri net models. A place can either be <em>marked</em> with a token or <em>not marked</em> with a token. A place includes the following:
|
|
|
|
<ul>
|
|
<li> ID: a unique ID composed only of alphanumeric characters and underscores.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Name: an arbitrary string description (optional).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Initial marking: indicates if there is a token in this place initially (default=false).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Port Type: used to indicate how this object can be connected in hierarchical models. The <em>input</em> type is used to indicate a object that is produced outside this model, the <em>internal</em> type is used to indicate that a object is produced inside this model but cannot be used in other models, and the <em>output</em> type is used to indicate that a object is produced by this model and can be used in other models (default=internal).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
</ul>
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/place.png" alt="screenshots/place.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
<h3><a name="tth_sEc3.9">
|
|
3.9</a> <a name="Transitions">
|
|
</a>Petri Net Transitions</h3>
|
|
|
|
<div class="p"><!----></div>
|
|
Transitions are a special kind of event used Petri net models. Each transition is composed of the following items:
|
|
|
|
<ul>
|
|
<li> ID: a unique ID composed only of alphanumeric characters and underscores.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Name: an arbitrary string description (optional).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Enabling condition: a mathematical formula which must evaluate to true for the transition to fire.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Delay: a mathematical formula which is evaluated when a transition becomes enabled, and the result is the amount of time before the transition is fired.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Priority: a mathematical formula which sets the priority for this transition when multiple transitions are scheduled to be executed simultaneously. In this situation, the transition with the highest priority is the next to be executed.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Enabling is persistent: this Boolean indicates the behavior when an enabling condition becomes false before a transition is fired. If it is persistent, then it still fires when ready. If it is not persistent, then the transition is disabled and no longer scheduled to fire (default=false).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Fail transition: this Boolean indicates if the firing of this transition should be considered as a failure or not (default=false).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Is Mapped to a Port: this Boolean indicates whether this transition should be mapped to a port, so it can be replaced or deleted in hierarchical models.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> List of Assignments: these indicate how the state is supposed to change when the transition fires. Use the add, remove, and edit assignment buttons to update them. In the assignment editor, the variable to change must be selected and the assignment to be performed must be specified as a mathematical formula.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
</ul>
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/transition.png" alt="screenshots/transition.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
Places and transitions are connected to form a <em>token flow relation</em>. To connect a place to the <em>preset</em> of a transition, select the place and, while holding the mouse button, drag the connection to the transition. Similarly, to connect a place to the <em>postset</em> of a transition, select a transition and, while holding the mouse button, drag the connection to the place. A transition is enabled when all of its preset places are marked and its enabling condition is true. Once it is enabled, it can fire after the amount of time specified in the delay assignment has elapsed. When multiple transitions can occur at the same time, the priority expression is evaluated. The transition with the highest priority gets to fire first. When a transition fires, it removes tokens from all preset places, and places tokens in all postset places. Similarly, it will execute the assignments associated with the transition.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/flowRelation.png" alt="screenshots/flowRelation.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
<h3><a name="tth_sEc3.10">
|
|
3.10</a> <a name="Rules">
|
|
</a>Rules</h3>
|
|
|
|
<div class="p"><!----></div>
|
|
There are three types of rules: algebraic, assignment, and rate rules:
|
|
|
|
<center>
|
|
|
|
<table border="1">
|
|
<tr><td align="center">Algebraic </td><td align="center">left-hand side is zero </td><td align="center">0 = f(W) </td></tr>
|
|
<tr><td align="center">Assignment </td><td align="center">left-hand side is a scalar </td><td align="center">x = f(W) </td></tr>
|
|
<tr><td align="center">Rate </td><td align="center">left-hand side is a rate-of-change </td><td align="center">[dx/dt] = f(W)
|
|
</td></tr></table>
|
|
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
Algebraic rules specify relationships which must be maintained. Assignment rules specify the value of a compartment size, species amount or concentration, or parameter in terms of a mathematical formula (see Section <a href="#SBMLMath">10</a>). A quantity cannot be determined by both an assignment rule and an initial assignment (i.e., its initial value is an expression). Rate rules specify the rate of change of a compartment size, species amount or concentration, or parameter in terms of a mathematical formula. A quantity cannot be determined by both an assignment rule and a rate rule. A species that is a reactant or a product of any reaction cannot be updated by either an assignment rule or rate rule. When adding a rule, the user first selects the type of rule as shown below (note that when editing a rule, the user cannot modify the rule type).
|
|
This automatically restricts the set of quantities available for the left-hand side to those that are valid. The user should then select a variable (except in the case of an algebraic rule) and enter a mathematical formula for the rule. In addition, the following attributes can be edited for a rule:
|
|
|
|
<ul>
|
|
<li> ID: a unique ID composed only of alphanumeric characters and underscores.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Is Mapped to a Port: this Boolean indicates whether this rule should be mapped to a port, so it can be replaced or deleted in hierarchical models.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> SBOL DNA Component: the Associate SBOL button allows the user to associate an SBOL DNA component with the rule (see Section <a href="#SBOL">4</a>).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
</ul>
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/rule.png" alt="screenshots/rule.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
<h3><a name="tth_sEc3.11">
|
|
3.11</a> <a name="Constraints">
|
|
</a>Constraints</h3>
|
|
|
|
<div class="p"><!----></div>
|
|
Constraints are used to specify properties that should cause simulation to terminate. As shown below, each constraint is composed of an ID which is used to identify it in graphs, a constraint given as a mathematical formula (see Section <a href="#SBMLMath">10</a>), and a message describing the constraint. A default ID is automatically generated when a new constraint is created.
|
|
Special functions are provided to support a form of <em>Continuous Stochastic Logic</em> (CSL) within these constraints (see Section <a href="#SBMLMath">10</a>).
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/constraint.png" alt="screenshots/constraint.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
Our analysis methods can provide histograms that show the proportion of simulations that are terminated due to a constraint. Analysis can also show time-series plots showing the proportion of simulations at each time point that have terminated due to a constraint.
|
|
|
|
<div class="p"><!----></div>
|
|
<h3><a name="tth_sEc3.12">
|
|
3.12</a> <a name="Events">
|
|
</a>Events</h3>
|
|
|
|
<div class="p"><!----></div>
|
|
Events are used to specify discrete changes of compartment sizes, species amounts or concentrations, and parameter values. Each event is composed of the following items:
|
|
|
|
<ul>
|
|
<li> ID: a unique ID composed only of alphanumeric characters and underscores.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Name: an arbitrary string description (optional).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Trigger: a mathematical formula which, when it changes evaluation from false to true, indicates that the event is triggered.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Delay: a mathematical formula which is evaluated when an event is triggered, and the result is the amount of time before the event is to be executed.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Priority: a mathematical formula which sets the priority for this event when multiple events are scheduled to be executed simultaneously. In this situation, the event with the highest priority is the next to be executed.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Use values at trigger time: this Boolean indicates if values for the event assignments should be calculated at trigger time or execution time (default=false).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Trigger is persistent: this Boolean indicates the behavior when a trigger expression becomes false before an event is executed. If it is persistent, then it still executes when ready. If it is not persistent, then the event is disabled and no longer scheduled to execute (default=false).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Trigger is initially true: this Boolean indicates the behavior when a trigger evaluates to true at time 0. If it is initially true, there is no change in evaluation, so the event is not triggered. If it is not initially true, there is now a change in evaluation, so the event is triggered.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Dynamic Process: indicates if this is a dynamic event. The possible dynamic even types are symmetric and asymmetric cell division, cell death, and cell movement in a specified direction.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Is Mapped to a Port: this Boolean indicates whether this rule should be mapped to a port, so it can be replaced or deleted in hierarchical models.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> List of Event Assignments: these indicate how the state is supposed to change when the event executes. Use the add, remove, and edit assignment buttons to update them. In the event assignment editor, the variable to change must be selected and the assignment to be performed must be specified as a mathematical formula.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
</ul>
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/event.png" alt="screenshots/event.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
<h3><a name="tth_sEc3.13">
|
|
3.13</a> <a name="Influences">
|
|
</a>Influences</h3>
|
|
|
|
<div class="p"><!----></div>
|
|
There are several types of influences between species that can be specified. A species may <em>activate</em> or <em>repress</em> the production of other species. This relationship is made from a species to the promoter that it activates or represses. It can also be made directly between two species with an implicit promoter annotating the edge. One can also specify when there is no influence between two species. An activating or repressing self-influence can also be specified. Species can also be related by complex-formation reactions, which indicate that multiple identical or different species can be combined to form a complex species.
|
|
|
|
<div class="p"><!----></div>
|
|
To add a complex-formation reaction, select the complex formation icon <img src="../gui/icons/modelview/bio_activation_selected.png" alt="../gui/icons/modelview/bio_activation_selected.png" />, highlight a species that is part of a complex, and, while holding the mouse button, stretch the complex formation arc to the complex species. If you double-click on the complex formation arc, an influence editor will open, which indicates that this is a complex formation arc and the stoichiometry of binding (i.e., the number of molecules of the source species used to construct the sink species) is 2, which you can customize, if desired.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/complex.png" alt="screenshots/complex.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
To create a repression influence, select the Repression icon
|
|
<img src="../gui/icons/modelview/inhibition_selected.png" alt="../gui/icons/modelview/inhibition_selected.png" />, highlight the species that is acting as a repressor, and, while holding the mouse button, stretch the repression arc to either the promoter or another species. In the later, case, an implicit promoter is added. Double clicking on the repression arc brings up an influence editor. In this editor, you can customize the stoichiometry of binding as well as the repression binding equilibrium constant. You can also change the type of influence, as well as, the promoter on which this influence takes place. Note that pressing the Edit Promoter button brings up the Promoter Editor for the corresponding promoter (see Section <a href="#Promoters">3.5</a>).
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/repression.png" alt="screenshots/repression.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
To create an activation influence, select the Activation icon
|
|
<img src="../gui/icons/modelview/activation_selected.png" alt="../gui/icons/modelview/activation_selected.png" />, highlight the species that is acting as an activator, and while holding the mouse button stretch the activation arc to either the promoter or another species. In the latter case, an implicit promoter is added. Double-clicking on the activation arc brings up an influence editor. In this editor, you can customize the stoichiometry of binding as well as the activation binding equilibrium constant. You can also change the type of influence, as well as, the promoter on which this influence takes place.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/activation.png" alt="screenshots/activation.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
To indicate that a species has no influence on another species, select the No Influence icon
|
|
<img src="../gui/icons/modelview/no_influence_selected.png" alt="../gui/icons/modelview/no_influence_selected.png" />, highlight the species that has no influence, and, while holding the mouse button, stretch the no-influence arc to the species it has no influence upon. Double-clicking on the no-influence arc brings up an influence editor. In this editor, you can change its type to indicate that it actually has an influence, if you like, and edit accordingly. No-influence arcs are used by the Learn Tool to avoid adding influences where you are certain there isn't one. You can also change the type of influence, as well as, the promoter on which this species has no influence.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/noInfluence.png" alt="screenshots/noInfluence.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
The last type of influence is a self-influence. A self-influence can be either activation or repression. To create a self-influence, select the Self-influence icon <img src="../gui/icons/modelview/self_influence_selected.png" alt="../gui/icons/modelview/self_influence_selected.png" />, select the appropriate Activation or Repression icon, and click on the species that influences itself. If you click on a self-influence, you will be able to edit its promoter, its type of influence, its stoichiometry of binding, as well as the appropriate binding equilibrium constant.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/selfInfluence.png" alt="screenshots/selfInfluence.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
<h3><a name="tth_sEc3.14">
|
|
3.14</a> <a name="ModelEditor">
|
|
</a>Model Editor</h3>
|
|
|
|
<div class="p"><!----></div>
|
|
Clicking on the Model button on the schematic tab brings up the Model Editor. This editor includes:
|
|
|
|
<ul>
|
|
<li> Model ID: a unique ID composed only of alphanumeric characters and underscores. This cannot be changed here. To change it, you must rename the model file.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Name: an arbitrary string description (optional).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Substance units: the default units for species.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Time units: the default units for time.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Volume units: the default units for 3-dimensional compartments.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Area units: the default units for 2-dimensional compartments.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Length units: the default units for 1-dimensional compartments.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Extent units: the default units for the amount changed due to a reaction. Kinetic laws have default units of extent units / time units.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Conversion factor: the constant global parameter to be used as the default conversion factor to convert species units into extent units.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Conversion factor indices: used to reference a conversion factor in a parameter array.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> SBOL DNA Component: the Associate SBOL button allows the user to associate an SBOL DNA component with the model (see Section <a href="#SBOL">4</a>).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Flux Objective: add/edit flux balance objectives for a flux balance model.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
</ul>
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/ModelUnits.png" alt="screenshots/ModelUnits.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
<h3><a name="tth_sEc3.15">
|
|
3.15</a> <a name="Constants">
|
|
</a>Constants</h3>
|
|
|
|
<div class="p"><!----></div>
|
|
The Constants tab includes a list of all the constant global parameters. They are not included in the schematic, but they can appear in math formulas (see Section <a href="#SBMLMath">10</a>). This tab can be used to add, remove, or edit these constants. The following attributes can be edited for a global parameter:
|
|
|
|
<ul>
|
|
<li> ID: a unique ID composed only of alphanumeric characters and underscores.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Name: an arbitrary string description (optional).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Port Type: used to indicate how this object can be connected in hierarchical models. The <em>input</em> type is used to indicate a object that is produced outside this model, the <em>internal</em> type is used to indicate that a object is produced inside this model but cannot be used in other models, and the <em>output</em> type is used to indicate that a object is produced by this model and can be used in other models (default=internal).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Initial value: initial value for the parameter. This value can be a mathematical expression (see Section <a href="#SBMLMath">10</a>) which is called an <em>initial assignment</em>.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Units: the units for the parameter value (default=none).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Constant: Boolean indicating if the parameter value is constant (default=true).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> SBOL DNA Component: the Associate SBOL button allows the user to associate an SBOL with the promoter (see Section <a href="#SBOL">4</a>).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
</ul>
|
|
Note that changing the Constant attribute to false removes the parameter from the constants list, and it places the parameter on the schematic.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/GCMparam.png" alt="screenshots/GCMparam.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
Some constants are added to the model automatically because they are needed to provide default parameter values when converting genetic regulation elements into a reaction-based model.
|
|
In the Species, Promoter, and Influence Editors, any parameter set to default uses the value found in this list. These defaults can be modified in the user preferences (see Section <a href="#Preferences">9</a>). The user can also edit these parameters for an individual model here.
|
|
The complete list of model generation parameters is listed below:
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center>
|
|
<table border="1">
|
|
<tr><td align="center">ID </td><td align="center">Default Value </td><td align="center">Units </td><td align="center">Structure </td><td align="center">Description </td></tr><tr><td></td></tr>
|
|
<tr><td align="center">ka </td><td align="center">0.25 </td><td align="center">[1/(<span class="roman">sec</span>)] </td><td align="center">promoter
|
|
</td><td align="center">Activated production rate</td></tr>
|
|
<tr><td align="center">Ka </td><td align="center">0.0033 </td><td align="center">[1/(<span class="roman">molecule</span><sup>(nc+1)</sup>)] </td><td align="center">influence
|
|
</td><td align="center">Activation binding equilibrium </td></tr>
|
|
<tr><td align="center">kb </td><td align="center">0.0001 </td><td align="center">[1/(<span class="roman">sec</span>)] </td><td align="center">promoter
|
|
</td><td align="center">Basal production rate </td></tr>
|
|
<tr><td align="center">kd </td><td align="center">0.0075 </td><td align="center">[1/(<span class="roman">sec</span>)] </td><td align="center">species
|
|
</td><td align="center">Degradation rate </td></tr>
|
|
<tr><td align="center">kecd </td><td align="center">0.005 </td><td align="center">[1/(<span class="roman">sec</span>)] </td><td align="center">species
|
|
</td><td align="center">Extracellular degradation rate </td></tr>
|
|
<tr><td align="center">nc </td><td align="center">2 </td><td align="center">molecule </td><td align="center">influence </td><td align="center">Stoichiometry of binding </td></tr>
|
|
<tr><td align="center">nr </td><td align="center">30 </td><td align="center">molecule </td><td align="center">model </td><td align="center">Initial RNAP count </td></tr>
|
|
<tr><td align="center">ng </td><td align="center">2 </td><td align="center">molecule </td><td align="center">promoter </td><td align="center">Initial promoter count </td></tr>
|
|
<tr><td align="center">ko </td><td align="center">0.05 </td><td align="center">[1/(<span class="roman">sec</span>)] </td><td align="center">promoter
|
|
</td><td align="center">Open complex production rate </td></tr>
|
|
<tr><td align="center">Ko </td><td align="center">0.033 </td><td align="center">[1/(<span class="roman">molecule</span>)] </td><td align="center">promoter
|
|
</td><td align="center">RNAP binding equilibrium</td></tr>
|
|
<tr><td align="center">Kao </td><td align="center">1 </td><td align="center">[1/(<span class="roman">molecule</span>)] </td><td align="center">promoter
|
|
</td><td align="center">Activated RNAP binding equilibrium</td></tr>
|
|
<tr><td align="center">Kr </td><td align="center">0.5 </td><td align="center">[1/(<span class="roman">molecule</span><sup>nc</sup>)] </td><td align="center">influence
|
|
</td><td align="center">Repression binding equilibrium </td></tr>
|
|
<tr><td align="center">np </td><td align="center">10 </td><td align="center">molecule </td><td align="center">promoter </td><td align="center">Stoichiometry of
|
|
production </td></tr>
|
|
<tr><td align="center">Kc </td><td align="center">0.05 </td><td align="center">[1/(<span class="roman">molecule</span>)] </td><td align="center">species
|
|
</td><td align="center">Complex formation equilibrium </td></tr>
|
|
<tr><td align="center">kmdiff_f </td><td align="center">1.0 </td><td align="center">[1/(<span class="roman">molecule</span>)] </td><td align="center">species
|
|
</td><td align="center">Forward membrane diffusion rate</td></tr>
|
|
<tr><td align="center">kmdiff_r </td><td align="center">0.01 </td><td align="center">[1/(<span class="roman">molecule</span>)] </td><td align="center">species
|
|
</td><td align="center">Reverse membrane diffusion rate</td></tr>
|
|
<tr><td align="center">kecdiff </td><td align="center">1.0 </td><td align="center">[1/(<span class="roman">molecule</span>)] </td><td align="center">species
|
|
</td><td align="center">Extracellular diffusion rate</td></tr></table>
|
|
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
<h3><a name="tth_sEc3.16">
|
|
3.16</a> <a name="Functions">
|
|
</a>Functions</h3>
|
|
|
|
<div class="p"><!----></div>
|
|
The functions tab is used to add, remove, and edit function definitions. Function definitions are used to create user-defined functions that can then be used in math formulas (see Section <a href="#SBMLMath">10</a>). As shown below, function definitions include:
|
|
|
|
<ul>
|
|
<li> ID: a unique ID composed only of alphanumeric characters and underscores.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Name: an arbitrary string description (optional).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Arguments: a comma-separated list of arguments for the function.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Definition: a math formula, though it is restricted to the use of variable names which are arguments to the function.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Is Mapped to a Port: this Boolean indicates whether this transition should be mapped to a port, so it can be replaced or deleted in hierarchical models.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
</ul>
|
|
While functions can call other functions, they cannot be recursive (i.e., call themselves) either directly or indirectly (i.e., through a cycle of function calls).
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/function.png" alt="screenshots/function.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
<h3><a name="tth_sEc3.17">
|
|
3.17</a> <a name="Units">
|
|
</a>Units</h3>
|
|
|
|
<div class="p"><!----></div>
|
|
The Units tab is used to add, remove, and edit unit definitions. Unit definitions are used to construct user-defined units which are derived from the set of base units. As shown below, a unit definition includes:
|
|
|
|
<ul>
|
|
<li> ID: a unique ID composed only of alphanumeric characters and underscores.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Name: an arbitrary string description (optional).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Is Mapped to a Port: this Boolean indicates whether this transition should be mapped to a port, so it can be replaced or deleted in hierarchical models.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> List of Units: the units that make up the unit definition. There are buttons to add, remove, and edit elements in the list of units. Each unit is composed of a kind, exponent, scale, and multiplier. The kind is selected from the list of base units in the table below. The exponent and multiplier are real numbers, and the scale is an integer that specifies the relationship between the derived unit and the base unit using the relation below:
|
|
|
|
<br clear="all" /><table border="0" width="95%"><tr><td>
|
|
<table border="0" cellspacing="0" cellpadding="0">
|
|
<tr><td width="50%"></td><td nowrap="nowrap" align="right" colspan="1"><table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="left">
|
|
<span class="roman">unit</span> </td></tr></table></td><td nowrap="nowrap" align="left">
|
|
<table border="0" cellspacing="0" cellpadding="2"><tr><td nowrap="nowrap" align="left">
|
|
= </td></tr></table></td><td nowrap="nowrap" align="left">
|
|
<table><tr><td nowrap="nowrap" align="right" colspan="1">(<span class="roman">multiplier</span> * 10<sup><span class="roman">scale</span></sup> * <span class="roman">baseUnit</span>)<sup><span class="roman">exponent</span></sup></td></tr></table></td><td width="50%"></td></tr></table>
|
|
</td></tr></table>
|
|
|
|
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
</ul>
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center>
|
|
<table border="1">
|
|
<tr><td align="center">ampere </td><td align="center">farad </td><td align="center">joule </td><td align="center">lux </td><td align="center">radian </td><td align="center">volt </td></tr>
|
|
<tr><td align="center">avogadro </td><td align="center">gram </td><td align="center">katal </td><td align="center">metre </td><td align="center">second </td><td align="center">watt </td></tr>
|
|
<tr><td align="center">bacquerel </td><td align="center">gray </td><td align="center">kelvin </td><td align="center">mole </td><td align="center">siemens </td><td align="center">weber </td></tr>
|
|
<tr><td align="center">candela </td><td align="center">henry </td><td align="center">kilogram </td><td align="center">newton </td><td align="center">sievert </td><td align="center"> </td></tr>
|
|
<tr><td align="center">coulomb </td><td align="center">hertz </td><td align="center">litre </td><td align="center">ohm </td><td align="center">steradian </td><td align="center"> </td></tr>
|
|
<tr><td align="center">dimensionless </td><td align="center">item </td><td align="center">lumen </td><td align="center">pascal </td><td align="center">tesla </td><td align="center"> </td></tr></table>
|
|
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/units.png" alt="screenshots/units.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
<h2><a name="tth_sEc4">
|
|
4</a> <a name="SBOL">
|
|
</a>SBOL Editors</h2>
|
|
|
|
<div class="p"><!----></div>
|
|
SBOL is an emerging standard under development for the exchange of information about synthetic biology designs. An SBOL file includes <em>Collections</em> of <em>DNA Components</em>. Each DNA component has a unique ID, name, description, <em>Sequence Ontology</em> type, and a DNA sequence. A DNA component can be a simple sequence feature such as a <em>promoter</em>, <em>ribosome entry site</em>, <em>coding sequence</em>, or <em>terminator</em>. It can also be a region of DNA annotated with several of these individual features. For example, a DNA component that is a gene may have its sequence annotated with a promoter DNA component followed by components for a ribosome binding site, a coding sequence, and a terminator. <tt>iBioSim</tt> includes an SBOL browser that allows the user to view an individual SBOL file by clicking on it in the list of project files. In this browser, the user can highlight individual DNA components and see the information stored about them. The user can also filter the list by SO type by selecting the desired type from a list.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/SBOLBrowser.png" alt="screenshots/SBOLBrowser.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
When the user clicks on an Associate SBOL button in the editor for a model element, it opens up a window that includes an ordered list of DNA components associated with that model element. In this window, highlighting a DNA component and pressing the Remove button removes this component from the list. Pressing the Add button opens an SBOL Browser that can be used to find a DNA component to add to this list. By selecting a DNA component and pressing OK, the selected component is added to the list. It is added to the end of the list when no component is highlighted in the list, and it is added before the highlighted component otherwise.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/AssociateSBOL.png" alt="screenshots/AssociateSBOL.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/AssociateSBOLBrowser.png" alt="screenshots/AssociateSBOLBrowser.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
The SBOL Association window is a bit different when associating SBOL to the SBML model itself as opposed to the individual model elements. In particular, this window includes a button to Add/Move Composite. Upon save, any model which has SBOL associated with some of its elements automatically generates a composite DNA component which is typically associated with the model itself. It is possible, though, to add additional DNA components either before or after this composite component. One can also remove the composite DNA component and replace it with a DNA component from an SBOL file. The purpose of the Add/Move Composite button is to restore the composite component to the list if it has been removed. This button has the added functionality of moving the composite component before the highlighted component if the former is currently in the list.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/AssociateSBOLModel.png" alt="screenshots/AssociateSBOLModel.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
The last SBOL window is the Composite SBOL Descriptors window which is opened by pressing the SBOL button on the schematic. In this window, the user can select which SBOL file in which to store the composite DNA component generated for this model upon save. The user can also specify the ID, name, and description for this composite component. When the user saves this model, this information is stored as part of the composite component in the specified SBOL file.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/SBOLbutton.png" alt="screenshots/SBOLbutton.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
<h2><a name="tth_sEc5">
|
|
5</a> <a name="Analysis">
|
|
</a>Analysis Tool</h2>
|
|
|
|
<div class="p"><!----></div>
|
|
The analysis tool is used to analyze biochemical reaction network models. <tt>iBioSim</tt> comes with a number of simulation methods, ranging from continuous-deterministic (ODE) simulation methods to discrete-stochastic (Monte Carlo) simulation methods. In order to perform efficient temporal behavior analysis, various model abstractions can also be automatically applied. Many of the analysis and abstraction routines are implemented
|
|
within the reb2sac tool described in
|
|
<A HREF="http://www.async.ece.utah.edu/publications">
|
|
Kuwahara's PhD Dissertation (UofUtah 2007).
|
|
</A>
|
|
An analysis view includes several tabs. The Simulation Options tab, described in Section <a href="#simOptions">5.1</a>, selects the different simulation methods and parameters. The Abstraction Options tab described in Section <a href="#absOptions">5.2</a> configures model abstraction. The Schematic tab, described in Section <a href="#AnalysisSchematic">5.3</a>, allows the user to modify or sweep various parameters on the schematic. It also provides an alternative way of visualizing simulation data upon the schematic. The Parameters tab allows the user to modify or sweep global parameters, and it is described in Section <a href="#AnalysisParameters">5.4</a>. The SBML elements tab described in Section <a href="#SBMLElements">5.5</a> allows the user to add or remove parts of the model during analysis. The TSD Graph tab is a graph editor for time series data, and it is described in Section <a href="#TSDGraph">7</a>. Finally, the Histogram tab is a graph editor for probability data, and it is described in Section <a href="#Histogram">8</a>.
|
|
|
|
<div class="p"><!----></div>
|
|
<h3><a name="tth_sEc5.1">
|
|
5.1</a> <a name="simOptions">
|
|
</a>Simulation Options</h3>
|
|
|
|
<div class="p"><!----></div>
|
|
The first set of radio buttons in this tab specifies the type of abstraction.
|
|
|
|
<ul>
|
|
<li> None: use no abstraction.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Abstraction: perform reaction-based abstraction.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Logical Abstraction: perform both reaction-based and logical abstractions.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
</ul>
|
|
The second set of radio buttons specify the type of analysis.
|
|
|
|
<ul>
|
|
<li> ODE: perform continuous-deterministic simulation.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Monte Carlo: perform discrete-stochastic simulation.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Markov: perform temporal probability distribution analysis on finite-state Markov chain models (this option requires logical abstraction).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Model: produces a flattened model and puts it in the list of project files.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Network: outputs the model in the GraphViz format for display by dotty.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Browser: outputs the model in xhtml format for display in a web browser.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
</ul>
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/analysisView.png" alt="screenshots/analysisView.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
Some results selecting Model, Network, and Browser options are shown below.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/reactionModel.png" alt="screenshots/reactionModel.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/viewNetwork.png" alt="screenshots/viewNetwork.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/viewBrowser.png" alt="screenshots/viewBrowser.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
The next group of options are for simulation-based analysis only.
|
|
|
|
<ul>
|
|
<li> Report concentrations: if checked, report concentrations rather than amounts (default=Amounts).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Do Not Generate Runs: if checked, simulation data is not produced, though summary probabilistic data is still produced (default=Generate Runs).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Append Simulation Runs: if checked, additional simulation runs are added to the existing set of simulation runs rather than first removing the previous runs (default=Overwrite). Note that the seed changes automatically when this gets checked, because otherwise the additional runs will be the same as the previous set.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Generate Statistics: if checked, statistics such as average and standard deviation data are generated immediately after completing simulation. Otherwise, they are only generated on demand (i.e., for example, when included in a TSD graph).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
</ul>
|
|
|
|
<div class="p"><!----></div>
|
|
The next field specifies the simulation method you want to use based on the simulation type you specified. The methods available are:
|
|
|
|
<center>
|
|
|
|
<table border="1">
|
|
<tr><td align="center">Type </td><td align="center">Method ID </td><td>Description </td></tr><tr><td></td></tr>
|
|
<tr><td align="center">ODE </td><td align="center">Euler </td><td>The forward Euler Method </td></tr>
|
|
<tr><td align="center">ODE </td><td align="center">gear1 </td><td>Gear Method M=1 </td></tr>
|
|
<tr><td align="center">ODE </td><td align="center">gear2 </td><td>Gear Method M=2 </td></tr>
|
|
<tr><td align="center">ODE </td><td align="center">rk4imp </td><td>Implicit 4th order Runge-Kutta at Gaussian points </td></tr>
|
|
<tr><td align="center">ODE </td><td align="center">rk8pd </td><td>Embedded Runge-Kutta Prince-Dormand (8,9) method </td></tr>
|
|
<tr><td align="center">ODE </td><td align="center">rkf45 </td><td>Embedded Runge-Kutta-Fehlberg (4, 5) method </td></tr>
|
|
<tr><td align="center">ODE </td><td align="center">Runge-Kutta-Fehlberg </td><td>Runge-Kutta-Fehlberg method (java)</td></tr>
|
|
<tr><td align="center">Monte Carlo </td><td align="center">gillespie </td><td>SSA-direct method </td></tr>
|
|
<tr><td align="center">Monte Carlo </td><td align="center">SSA-Hierarchical </td><td>SSA-direct method on hierarchical models (java) </td></tr>
|
|
<tr><td align="center">Monte Carlo </td><td align="center">SSA-Direct </td><td>SSA-direct method (java) </td></tr>
|
|
<tr><td align="center">Monte Carlo </td><td align="center">SSA-CR </td><td>SSA composition and rejection method (java) </td></tr>
|
|
<tr><td align="center">Monte Carlo </td><td align="center">iSSA </td><td>incremental SSA </td></tr>
|
|
<tr><td align="center">Monte Carlo </td><td align="center">interactive </td><td>Interactive SSA-direct method </td></tr>
|
|
<tr><td align="center">Monte Carlo </td><td align="center">emc-sim </td><td>Uses jump count as next reaction time </td></tr>
|
|
<tr><td align="center">Monte Carlo </td><td align="center">bunker </td><td>Uses mean for next reaction time </td></tr>
|
|
<tr><td align="center">Monte Carlo </td><td align="center">nmc </td><td>Uses normally distributed next reaction time </td></tr>
|
|
<tr><td align="center">Markov </td><td align="center">steady-state </td><td>Steady-state Markov chain analysis </td></tr>
|
|
<tr><td align="center">Markov </td><td align="center">transient </td><td>Transient Markov chain analysis </td></tr>
|
|
<tr><td align="center">Markov </td><td align="center">reachability </td><td>Only perform reachability analysis </td></tr>
|
|
<tr><td align="center">Markov </td><td align="center">atacs </td><td>Use <tt>atacs</tt> steady-state Markov analysis engine </td></tr>
|
|
<tr><td align="center">Markov </td><td align="center">ctmc-transient </td><td>Transient distribution analysis </td></tr></table>
|
|
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
There are some properties that need to be set for simulation.
|
|
The table below specifies these:
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center>
|
|
<table border="1">
|
|
<tr><td>Field </td><td>Description </td></tr><tr><td></td></tr>
|
|
<tr><td>Time Limit </td><td>The simulation time limit </td></tr>
|
|
<tr><td>Choose one: </td><td></td></tr>
|
|
<tr><td> Print Interval </td><td>The print time interval for each simulation run </td></tr>
|
|
<tr><td> Minimum Print Interval </td><td>Print on change but no more often than this interval </td></tr>
|
|
<tr><td> Number of Steps </td><td>Number of steps to print </td></tr>
|
|
<tr><td>Minimum Time Step </td><td>The smallest time step allowed </td></tr>
|
|
<tr><td>Maximum Time Step </td><td>The largest time step allowed </td></tr>
|
|
<tr><td> </td><td>(also the time step used for the Euler method) </td></tr>
|
|
<tr><td>Absolute Error </td><td>Used by the adaptive time step ODE methods </td></tr>
|
|
<tr><td>Random Seed </td><td>An integer number as a seed to generate random numbers </td></tr>
|
|
<tr><td>Runs </td><td>The number of random simulation runs to perform </td></tr>
|
|
<tr><td>Simulation ID </td><td>Creates a simulation directory with the ID name </td></tr></table>
|
|
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
<h3><a name="tth_sEc5.2">
|
|
5.2</a> <a name="absOptions">
|
|
</a>Advanced Options</h3>
|
|
|
|
<div class="p"><!----></div>
|
|
Abstraction is performed in three steps. There is a preprocess step, which is a sequence of abstractions performed once on the initial model. The main loop iterates through a group of abstractions until there is no change in the model. Finally, there is a postprocess step, which is a sequence of abstractions performed once at the end. Clicking on the Add button brings up a list of all the possible abstraction methods. The selected abstraction method is added after the highlighted abstraction method in the list. If no method is highlighted, it makes it the first abstraction in the list.
|
|
<tt>iBioSim</tt> supports many different types of abstraction. However, there are a few critical ones that we list here:
|
|
|
|
<ul>
|
|
<li> complex-formation-and-sequestering-abstraction: this attempts to remove complex formation reactions. It replaces the complex species in rate laws with a function of its constituent species.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> operator-site-reduction-abstraction: this removes reactions and corresponding species involved in the binding of transcription factors to operator sites.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> distribute-transformer: applies the distributive law to kinetic law formulas to make it easier to identify the forward and reverse rates within a reversible reaction.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> reversible-to-irreversible-transformer: this converts a reversible reaction into two irreversible reactions. This is critical for the Monte Carlo simulation methods that require there to be no reversible reactions.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> kinetic-law-constants-simplifier: this replaces constant parameters within kinetic laws with their values to improve their evaluation time.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
</ul>
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/absOptions.png" alt="screenshots/absOptions.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
This tab also includes a few parameters for the abstraction methods.
|
|
|
|
<ul>
|
|
<li> Rapid Equilibrium Condition 1: specifies threshold T1 such that the rapid equilibrium condition fails when T1 > E0 / (S0 + k−1/k1).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Rapid Equilibrium Condition 2: specifies threshold T2 such that the rapid equilibrium condition fails when T1 > k2 /k−1.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> QSSA Condition: specifies threshold T used by the QSSA abstraction method where T > E0 / (S0 + KM).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Max Concentration Threshold: specifies the maximum number of molecules that a species can have initially and still be considered an operator site by the operator site reduction.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Grid Diffusion Stoichiometry Amplification: the number of molecules that are moved per diffusion reaction.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
</ul>
|
|
Note that these are not used by the common abstractions listed above.
|
|
|
|
<div class="p"><!----></div>
|
|
Finally, there are a few options used by the incremental SSA simulation method. The user can select the type of iSSA (MPDE, Mean Path, or Median Path). The user can also select whether or not to use an adaptive time step. Finally, the user can select the number of paths to follow during the iSSA.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<div class="p"><!----></div>
|
|
<h3><a name="tth_sEc5.3">
|
|
5.3</a> <a name="AnalysisSchematic">
|
|
</a>Schematic</h3>
|
|
|
|
<div class="p"><!----></div>
|
|
Using the schematic tab, you can adjust initial values and parameters, allowing one to perform simulations to determine the effect of these changes. Clicking on any species, promoter, reaction, or influence brings up the corresponding editor. To change a value, switch the corresponding combo box to modified, which will then allow you to change the value.
|
|
In addition to making single changes, you can also sweep a value as shown below. When you click on the Sweep button, it brings up a window where you can select the start value, the stop value, and the step value. The level indicates how the sweep should perform when multiple variables are swept at the same time. Variables at the same level are changed at the same time. Furthermore, all variables on level 2 are stepped through all their values before changing the values of those variables on level 1. After the values on level 1 are changed, the values on level 2 are stepped through all their values again.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/paramEdit.png" alt="screenshots/paramEdit.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<div class="p"><!----></div>
|
|
The schematic tab can also be used to visualize simulation results. To do this, after you have generated some simulation results, you can press the Choose Simulation button to bring up a window with all the simulations in this analysis view. You can then select the data that you would like to visualize.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/chooseSim.png" alt="screenshots/chooseSim.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
If you now click on a species, component, or grid location, you can modify how it appears as you playback the simulation. You can have it change color, size, and/or opacity on a gradient. You can also select the range of molecule counts to specify the ends of the gradient(s). Finally, you can indicate that these selections are either for this species or all species in the model. Appearances can be saved by clicking the save button.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/editSpeciesAppearance.png" alt="screenshots/editSpeciesAppearance.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
The appearances editor for components and grid locations is similar. The differences are that you can select any species within the component (or diffusible species for the grid location). You also can copy the settings to all instantiations of the same model.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/compAppearances.png" alt="screenshots/compAppearances.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
Once you have made your selections, you can now playback the simulation. You can either single-step the simulation by pressing the <img src="../gui/icons/modelview/movie/single_step.png" alt="../gui/icons/modelview/movie/single_step.png" /> icon or play continuously by pressing the <img src="../gui/icons/modelview/movie/play.png" alt="../gui/icons/modelview/movie/play.png" /> icon. The playback can also be paused by pressing the <img src="../gui/icons/modelview/movie/pause.png" alt="../gui/icons/modelview/movie/pause.png" /> icon and restarted by pressing the <img src="../gui/icons/modelview/movie/rewind.png" alt="../gui/icons/modelview/movie/rewind.png" /> icon. The slider can be dragged around to quickly reach a particular spot in simulation
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/movieView.png" alt="screenshots/movieView.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
<h3><a name="tth_sEc5.4">
|
|
5.4</a> <a name="AnalysisParameters">
|
|
</a>Parameters</h3>
|
|
|
|
<div class="p"><!----></div>
|
|
The parameter tab allows the user to modify the value of any model generation or global parameter for a given analysis. Like the values on the schematic tab, they can also be swept to generate multiple simulation runs stepping through different values.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/parameterEditor.png" alt="screenshots/parameterEditor.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
<h3><a name="tth_sEc5.5">
|
|
5.5</a> <a name="SBMLElements">
|
|
</a>SBML Elements</h3>
|
|
|
|
<div class="p"><!----></div>
|
|
The SBML elements tab allows you to select which SBML model elements to include in your analysis. This includes initial assignments, rules, constraints, and events. Elements that are checked are used during analysis. Otherwise, they are not used.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/SBMLElements.png" alt="screenshots/SBMLElements.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
<h2><a name="tth_sEc6">
|
|
6</a> <a name="Learn">
|
|
</a>Learn Tool</h2>
|
|
|
|
<div class="p"><!----></div>
|
|
The Learn Tool is used to discover genetic circuit connectivity from time series data. This tool uses the GeneNet algorithm described in
|
|
<A HREF="http://www.async.ece.utah.edu/publications">
|
|
Barker's PhD dissertation (University of Utah 2007).
|
|
</A>
|
|
The first tab of the Learn Tool is the <em>data manager</em> which is shown below. It is used to both enter time series experimental data as well as bring data into the learn view. The Add button is used to create a new data file. After pressing this button, enter the name of the new data file, and then enter the data for this file using the data editor to the right. The Remove button deletes all highlighted files. Note that after highlighting one file, you can use the ctrl key to highlight additional files or the shift key to highlight a range of files. The Rename button is used to change the name of a data file. The Copy button copies a data file. The Copy From View button brings up a list of all analysis and learn views in the current project, and data from the selected view will be copied into this learn view. Finally, the Import button brings up a file browser, and it allows you to import a data file from outside
|
|
this project. These files can be in time series data (TSD) format (see Section <a href="#TSD">11</a>), comma separated value (CSV) format, or tab delimited format (DAT).
|
|
The contents of the data file highlighted on the left appear in the data editor on the right. Individual data entries can be modified, new data points can be added using the Add Data Point button, data points can be removed using the Remove Data Point button, and data points can be copied using the Copy Data Point button. When you are
|
|
satisfied with all your changes, you should press the Save button to record your changes.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/dataManager.png" alt="screenshots/dataManager.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
The second tab allows the user to configure the basic options for the Learn Tool. The basic options include:
|
|
|
|
<ul>
|
|
<li> Minimum Number of Initial Vectors (Tn) (default=2): <br />
|
|
Tn is a threshold value used in the CreateInfluenceVectorSet algorithm and represents the minimum number of influence vectors constructed in this algorithm.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Maximum Influence Vector Size (Tj) (default=2): <br />
|
|
Tj is a threshold value used in the CombineInfluenceVectors algorithm to determine the maximal size of merged influence vectors.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Score for Empty Influence Vector (Ti) (default=0.5): <br />
|
|
The score for an influence vector with no influences in it.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Number of Bins (default=4): <br />
|
|
The number of bins value specifies how many values the encoded time series data can assume.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Equal Data Per Bins / Equal Spacing of Bins: <br />
|
|
This radio button selects whether the auto generated levels should be determined by equaling dividing the data between the bins or by equally dividing the range of the data.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Use Auto Generated Levels / Use User Generated Levels: <br />
|
|
This radio button allows the user to select whether they want the levels separating the bins to be auto generated or the user would like to provide them.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> When using user provided levels, the Suggest Levels button will provide the levels that would have been auto
|
|
generated as a suggestion. These levels can then edited by the user. The number of bins for each species can also be individually adjusted.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
</ul>
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/learn.png" alt="screenshots/learn.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
The third tab allow the user to select some advanced options for the Learn Tool. These include:
|
|
|
|
<ul>
|
|
<li> Ratio for Activation (Ta) (default=1.15): <br />
|
|
A probability ratio above this value results in a vote for an influence vector that has a majority of activation influences.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Ratio for Repression (Tr) (default=0.75): <br />
|
|
A probability ratio above this value results in a vote for an influence vector that has a majority of repression influences.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Merge Influence Vectors Delta (Tm) (default=0.0): <br />
|
|
Two influence vectors cannot be merged unless the difference in their scores is less than this value.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Relax Thresholds Delta (Tt) (default=0.025): <br />
|
|
The values of Ta and Tr are modified by this amount when these thresholds are relaxed.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Debug Level (default=0): <br />
|
|
This controls how much information is displayed by the GeneNet algorithm when it runs.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Successors / Predecessors / Both (default=Successors): <br />
|
|
This radio button selects whether successor data point pairs, predecessor data point pairs, or both are used.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Basic FindBaseProb (default=unchecked): <br />
|
|
When selected, the basic FindBaseProb function is used.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> View Log button:<br />
|
|
Opens a window containing the log file generated by GeneNet during the learn process for debugging purposes.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
</ul>
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/advLearn.png" alt="screenshots/advLearn.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
Once the Learn Tool has been provided data and configured as desired, pressing the Save and Run icon <img src="../gui/icons/run-icon.jpg" alt="../gui/icons/run-icon.jpg" /> causes the tool to attempt to produce a model that may have produced this data. The resulting model is displayed using GraphViz, and the user is prompted to provide a model ID for the resulting model. If learning fails, an error message will be reported instead.
|
|
|
|
<div class="p"><!----></div>
|
|
<h2><a name="tth_sEc7">
|
|
7</a> <a name="TSDGraph">
|
|
</a>TSD Graph Editor</h2>
|
|
|
|
<div class="p"><!----></div>
|
|
The TSD graph editor appears as a tab in both analysis and learn views. TSD graphs can also be created at the top-level of the project to allow you to integrate results from several analysis or learn views. These graphs can be created using the New → TSD Graph menu option in the File menu. Once created, they can be viewed and edited by double-clicking on the graph in the project window. An example graph is shown below.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/ssaSimResults.png" alt="screenshots/ssaSimResults.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
In the TSD graph editor, a graph is created by double-clicking on the graph. You can then set various parameters and select what values you would like to have graphed. The parameters that you can select for a graph include:
|
|
|
|
<ul>
|
|
<li> Title - the title of the graph.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> X-Axis Label - the label displayed for the x-axis.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Y-Axis Label - the label displayed for the y-axis.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> X-Min - the starting value for the x-axis.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> X-Max - the ending value for the x-axis.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> X-Step - the increment for the x-axis.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Y-Min - the starting value for the y-axis.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Y-Max - the ending value for the y-axis.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Y-Step - the increment for the y-axis.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Auto Resize Check Box - determines whether to automatically resize the graph for best fit.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> X-Axis Combo Box - selects which variable to use for the x-axis (default=time).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> LogX - selects that the scale of the x-axis should be logarithmic.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> LogY - selects that the scale of the y-axis should be logarithmic.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Visible Legend - selects that the legend should appear on the graph.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
</ul>
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/ssaResults.png" alt="screenshots/ssaResults.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
The data selection menu on the left displays all of the available sets of data that can be graphed. For a top-level graph, these data sets are organized hierarchically. Hierarchy is also introduced when different simulations in an analysis view are given different simulation IDs or after performing an analysis while sweeping parameter values. In addition to being able to plot results from individual simulation runs, the average, standard deviation, and variance are also provided. Finally, when constraints are used, the Termination Time and Percent Termination data is also computed. The Termination Time gives a plot of the number of runs that have terminated versus time, while Percent Termination gives the percentage of runs that have terminated versus time.
|
|
|
|
<div class="p"><!----></div>
|
|
After selecting a data set, one can select individual variables (typically species) to graph and how they are to be displayed. In other words, for each species there are the following options:
|
|
|
|
<ul>
|
|
<li> Use Check Box - determines whether or not this species is displayed on the graph. Checking or unchecking the box at the top changes the state for all species in the data set.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Species Label - the name displayed in the legend.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Drop Down Menu Of Colors - the color that is used for this species.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Color Palette - clicking on the color palette lets one customize the color selection.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Drop Down Menu Of Shapes - the shape that is used to mark the data points.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Connect Check Box - determines whether to connect the points with a line. Checking or unchecking the box at the top changes the state for all species in the data set.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Visible Check Box - determines whether shapes are visible on the line. Checking or unchecking the box at the top changes the state for all species in the data set.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Fill Check Box - determines whether shapes are filled on the line. Checking or unchecking the box at the top changes the state for all species in the data set.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
</ul>
|
|
If multiple data files are selected in the data selection menu on the left when the use check box is selected for a variable, then that variable will be checked for all highlighted data files.
|
|
Note that a checkmark appears on a data set to indicate that some species have been selected in that data set. Also, all species can be deselected by pressing the Deselect All button.
|
|
|
|
<div class="p"><!----></div>
|
|
When in a TSD graph editor, pressing the Save icon <img src="../gui/icons/save.png" alt="../gui/icons/save.png" /> saves the settings for the graph to a file, so when you re-open the graph, it will reload this data and display in the same way as before. Pressing the Save As icon <img src="../gui/icons/saveas.png" alt="../gui/icons/saveas.png" /> prompts for a new filename and creates a new top-level graph with that name. Finally, pressing the Export icon <img src="../gui/icons/export.jpg" alt="../gui/icons/export.jpg" /> prompts for a filename and exports the data to the given name. The extension provided for the filename is used to determine how the graph is to be exported. The supported file types are:
|
|
|
|
<ul>
|
|
<li> Time series data format (tsd), see Section <a href="#TSD">11</a>..
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Comma separated value (csv).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Column separated data (dat).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Encapsulated postscript (eps).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Joint Photographic Experts Group (jpg).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Portable document format (pdf).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Portable network graphics (png).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Scalable vector graphics (svg).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
</ul>
|
|
If no extension is given, then the file type is the one specified in the file filter (default is pdf). For image (i.e.,
|
|
not data) file types, you will be prompted to give a desired pixel height and width for the file before the file is exported.
|
|
|
|
<div class="p"><!----></div>
|
|
<h2><a name="tth_sEc8">
|
|
8</a> <a name="Histogram">
|
|
</a>Histogram Graph Editor</h2>
|
|
|
|
<div class="p"><!----></div>
|
|
<tt>iBioSim</tt> includes a histogram graph editor for visualizing probability data. In particular, this editor can display the reasons that a simulation terminated. Namely, it displays statistics on which constraints failed to hold, allowing the user to determine the likelihood of various conditions. The histogram graph editor appears as a tab in analysis
|
|
views. Histograms can also be created at the top-level of the project to allow you to integrate results from several analysis views. These graphs can be created using the New → Histogram menu option in the File menu. Once created, they can be viewed and edited by double-clicking on the graph in the project window. An example histogram is shown below.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center> <img src="screenshots/probResults.png" alt="screenshots/probResults.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
In the histogram graph editor, a graph is created by double-clicking on the graph. You can then set various parameters and select what values you would like to have graphed. The parameters that you can select for a graph include:
|
|
|
|
<ul>
|
|
<li> Title - the title of the graph.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> X-Axis Label - the label displayed for the x-axis.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Y-Axis Label - the label displayed for the y-axis.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Paint in Gradient Style - creates a color gradient in the bars.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Paint Bar Shadows - enables the bars to cast shadows.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Visible Legend - selects whether a legend should be included in the graph.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
</ul>
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/editProbGraph.png" alt="screenshots/editProbGraph.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
The data selection menu on the left displays all of the available sets of data that can be graphed. For a top-level graph, these data sets are organized hierarchically. Hierarchy is also introduced when different simulations in an analysis view are given different simulation IDs or after performing an analysis while sweeping parameter values. After selecting a data set, one can select individual constraints to graph. The constraint labeled time-limit indicates that the simulation terminated while all constraints were still satisfied. One can also select how each result is to be displayed. In other words, for each constraint there are the following options:
|
|
|
|
<ul>
|
|
<li> Use Check Box - determines whether or not this constraint is displayed on the graph. Checking or
|
|
unchecking the box at the top changes the state for all constraints in the data set.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Constraint Label - sets the name displayed in the legend.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Drop Down Menu Of Colors - the color of the bar used for this constraint.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Color Palette - clicking on the color palette lets one customize the color selection.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
</ul>
|
|
Note that a checkmark appears on a data set to indicate that some constraints have been selected in that data set. Also, all constraints can be deselected by pressing the Deselect All button.
|
|
|
|
<div class="p"><!----></div>
|
|
When in a histogram graph editor, pressing the Save icon <img src="../gui/icons/save.png" alt="../gui/icons/save.png" /> saves the settings for the graph to a file, so when you re-open the graph, it will reload this data and display in the same way as before. Pressing the Save As icon <img src="../gui/icons/saveas.png" alt="../gui/icons/saveas.png" /> prompts for a new filename and creates a new top-level graph with that name. Finally, pressing the Export icon <img src="../gui/icons/export.jpg" alt="../gui/icons/export.jpg" /> prompts for a filename and exports the data to the given name. The extension provided for the filename is used to determine how the graph is to be exported. The supported file types are:
|
|
|
|
<ul>
|
|
<li> Encapsulated postscript (eps).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Joint Photographic Experts Group (jpg).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Portable document format (pdf).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Portable network graphics (png).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Scalable vector graphics (svg).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
</ul>
|
|
If no extension is given, then the file type is the one specified in the file filter (default is pdf). For image (i.e.,
|
|
not data) file types, you will be prompted to give a desired pixel height and width for the file before the file is exported.
|
|
|
|
<div class="p"><!----></div>
|
|
<h2><a name="tth_sEc9">
|
|
9</a> <a name="Preferences">
|
|
</a>Preferences</h2>
|
|
|
|
<div class="p"><!----></div>
|
|
User preferences can be set by selecting the <tt>Preferences</tt> option under the <tt>File</tt> menu on Linux and Windows or the <tt>iBioSim</tt> menu on MacOS. As shown below, under the General Preferences tab, the user can decide whether they wish to:
|
|
|
|
<ul>
|
|
<li> Use a File Dialog for selecting files or the default Java File Chooser.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Use plus/minus for expanding and collapsing file trees.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Want to confirm file deletions.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Use the libsbml or the <tt>iBioSim</tt> flatten procedure.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Use the libsbml or a webservice to validate models.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Whether or not to report validation warnings.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> The command to open html or xhtml files in a browser.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> The command to open Graphviz files.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
</ul>
|
|
The Restore Defaults button on this tab and the others restores the default preferences. In the Schematics preference tab, the user can decide the shape, color (fill, stroke, and font), and opacity for each schematic object. The Model Preferences tab allows users to select whether they wish to see warnings about undeclared units in SBML and whether they wish to check units at all. It also allows users to change the default model generation parameter values. The Analysis Preferences tab allows users to change the default values used by the analysis tool. The simulation command in particular can be useful to select an alternative simulator. We've used it to select a script that executes the simulation on a compute server. The SBOL Assembly Preferences tab allows the user to select a default URI authority for composite SBOL DNA components generated by iBioSim, a regular expression for validating the SO types of the subcomponents making up these generated components, whether to validate assembled constructs, and whether to give an incomplete construct warning. Finally, the Learn Preferences tab allows users to change the default values used by the learn tool.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center>
|
|
<table>
|
|
<tr><td align="center"><img src="screenshots/GenPref.png" alt="screenshots/GenPref.png" /> </td><td align="center"><img src="screenshots/SchPref.png" alt="screenshots/SchPref.png" />
|
|
</td></tr></table>
|
|
<br />
|
|
|
|
<table>
|
|
<tr><td align="center"><img src="screenshots/SynPref.png" alt="screenshots/SynPref.png" /> </td><td align="center"><img src="screenshots/ModelPref.png" alt="screenshots/ModelPref.png" />
|
|
</td></tr></table>
|
|
<br />
|
|
|
|
<table>
|
|
<tr><td align="center"><img src="screenshots/AnaPref.png" alt="screenshots/AnaPref.png" /> </td><td align="center"><img src="screenshots/LearnPref.png" alt="screenshots/LearnPref.png" />
|
|
</td></tr></table>
|
|
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<div class="p"><!----></div>
|
|
<h2><a name="tth_sEc10">
|
|
10</a> <a name="SBMLMath">
|
|
</a>Mathematical Formulas</h2>
|
|
|
|
<div class="p"><!----></div>
|
|
Math formulas appear in many model constructs. These formulas are expressed as text strings using a simple syntax. In particular, model math formulas can include:
|
|
|
|
<ul>
|
|
<li> Variables (compartments, species, parameters, reaction IDs, and species reference IDs).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Real numbers followed optionally by its units.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Vector constant ({ }) which can be nested.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Array selector(s) ([ ]) can occur after array variables or vector constants.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Built-in constants: exponential, pi, Infinity, NaN, true, and false.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Special variable time or t, which returns the current simulation time.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Mathematical operators including add (+), subtract (-), multiply (*), divide (/), power (^ or pow(x,y)), and root.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> A function defined in the list of function definitions.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Logical functions: and (&&), or (||), xor, not (!).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Relational functions: eq (==), neq (!=), geq (>=), gt (>), leq (<=), and lt (<).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Unary functions: abs, ceiling, exp, factorial, floor, ln, log, sqr, and sqrt.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Trigonometric functions: cos, cosh, sin, sinh, tan, tanh, cot, coth, csc, csch, sec, sech, arccos, arccosh, arcsin, arcsinh, arctan, arctanh, arccot, arccoth, arccsc, arccsch, arcsec, and arcsech.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> The delay(expr1,expr2) function, which returns the value of expr1 at a time expr2 time units earlier.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> The piecewise(value1, case1, value2, case2, ..., otherwise) function returns value1 if case1 is true, value2 if case2 is true, etc. If no cases are true, it returns the otherwise value.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
</ul>
|
|
|
|
<div class="p"><!----></div>
|
|
<tt>iBioSim</tt> simulators support a few special purpose built-in functions that are not standard parts of SBML. These include:
|
|
|
|
<ul>
|
|
<li> rate(a) - returns the current rate of change for a.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> BIT(a,b) - assuming a is an expression that evaluates to an integer, this returns the bit at location specified by expression b.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> BITNOT(a) - assuming a is an expression that evaluate to an integer, this returns bitwise NOT of a.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> BITAND(a,b) - assuming a and b are expressions that evaluate to integers, this returns bitwise AND of a and b.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> BITOR(a,b) - assuming a and b are expressions that evaluate to integers, this returns bitwise OR of a and b.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> BITXOR(a,b) - assuming a and b are expressions that evaluate to integers, this returns bitwise XOR of a and b.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> mod(a,b) - assuming a and b are expressions that evaluate to integers, this returns the remainder after dividing a by b (i.e., a−floor(a/b)*b)).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
</ul>
|
|
<tt>iBioSim</tt>'s simulators also support several random functions which are added by default to any model file. The following random functions, therefore, can also be used in model math formula:
|
|
|
|
<ul>
|
|
<li> Continuous random functions: uniform(a,b), normal(m,s), exponential(mu), gamma(a,b), lognormal(z,s), chisq(nu), laplace(a), cauchy(a), and rayleigh(s).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> Discrete random functions: poisson(mu), binomial(p,n), and bernoulli(p).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
</ul>
|
|
Finally, <tt>iBioSim</tt> includes built-in functions to support stochastic model checking of CSL formulas. CSL is a temporal logic which allows one to specify probabilistic temporal logic properties. Analysis of a CSL property should return the probability that the property is true. These properties can either be transient properties to ask if something happens within a certain amount of time, or steady-state properties to ask the probability of a given state as time goes to infinity. The built-in functions include:
|
|
|
|
<ul>
|
|
<li> PG(t,x) - returns the probability that the expression x remains true during the time period specified by the expression t.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> G(t,x) - returns true if the expression x remains true during the time period specified by expression t (i.e., ¬t ∨x).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> PF(t,x) - returns the probability that the expression x becomes true during the time period specified by the expression t.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> F(t,x) - returns false if the expression x becomes true during the time period specified by the expression t (i.e., ¬t ∨¬x).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> PU(t,x,y) - returns the probability that the expression x remains true until y becomes true, and y becomes true during the time period specified by the expression t.
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
|
|
<li> U(t,x,y) - returns true if the expression x remains true until y becomes true, and y is true by the time specified by expression t (i.e., G(t,x) ∧F(t,y)).
|
|
<div class="p"><!----></div>
|
|
</li>
|
|
</ul>
|
|
|
|
<div class="p"><!----></div>
|
|
<h2><a name="tth_sEc11">
|
|
11</a> <a name="TSD">
|
|
</a>Time Series Data Format</h2>
|
|
|
|
<div class="p"><!----></div>
|
|
The time series data (tsd) format is composed of a parenthesized and comma-separated set of time points. Each time point is composed of a parenthesized and comma-separated set of data for that time point. This first time point is composed of a set of strings that are the labels for the data entries. The first entry in each time point is, by convention, the time for that time point. Below is an example simulation of the species CI and CII from 0 to 1000 seconds with time points separated by 100 seconds.
|
|
|
|
<div class="p"><!----></div>
|
|
(("time","CI","CII"), (0,0,0), (100,0,19), (200,20,25), (300,19,18), (400,17,20), (500,17,46), <br />
|
|
(600,26,40), (700,43,43), (800,63,28), (900,72,34), (1000,72,28))
|
|
|
|
<div class="p"><!----></div>
|
|
<h2><a name="tth_sEc12">
|
|
12</a> Tutorials</h2>
|
|
|
|
<div class="p"><!----></div>
|
|
There is a detailed systems biology oriented
|
|
<a href="iBioSim_SysBio_Tutorial.html">
|
|
tutorial
|
|
</a>
|
|
that uses the phage λ decision circuit as an example.
|
|
There is also a separate synthetic biology oriented
|
|
<a href="iBioSim_SynBio_Tutorial.html">
|
|
tutorial
|
|
</a>
|
|
that uses the genetic toggle switch as an example.
|
|
These are located in the <tt>docs</tt> directory that comes with the distribution.
|
|
|
|
<div class="p"><!----></div>
|
|
<h2><a name="tth_sEc13">
|
|
13</a> Submitting Bugs and Feature Requests</h2>
|
|
|
|
<div class="p"><!----></div>
|
|
When there is an un-handled exception, the window below allows the user to see more details about the exception. These are likely not particularly useful to a user, but they are useful to us. Therefore, the user can also submit this information as a bug report. To make the bug report more useful, please provide an email address, a brief description of the bug, and a detailed description about how the bug occurred. While all these fields are optional, the more information provided, the better. A report can also be submitted from the Help menu. In this case, the user can select whether the report is a BUG (an error or crash of the software), a CHANGE (something which can be improved), or a FEATURE (something new). Finally, report can be submitted by sending an email to:<br />
|
|
<a href="mailto:atacs-bugs@vlsigroup.ece.utah.edu">
|
|
<tt>atacs-bugs@vlsigroup.ece.utah.edu</tt>.
|
|
</a>
|
|
Note that the subject line must begin with the keyword BUG, CHANGE, or FEATURE or the
|
|
mail will be filtered by our spam filters.
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/exception.png" alt="screenshots/exception.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<center><img src="screenshots/bugReport.png" alt="screenshots/bugReport.png" />
|
|
</center>
|
|
|
|
<div class="p"><!----></div>
|
|
|
|
<br /><br /><hr /><small>File translated from
|
|
T<sub><font size="-1">E</font></sub>X
|
|
by <a href="http://hutchinson.belmont.ma.us/tth/">
|
|
T<sub><font size="-1">T</font></sub>H</a>,
|
|
version 3.81.<br />On 10 Feb 2015, 12:35.</small>
|
|
</html>
|