SBMLsqueezer 2.0 Users Guide
SBMLsqueezerUsersGuide
SBMLsqueezerUsersGuide
User Manual: Pdf
Open the PDF directly: View PDF .
Page Count: 93
Download | |
Open PDF In Browser | View PDF |
Users’ Guide SBMLsqueezer 2 A context-based generator of kinetic equations Andreas Dräger1,2,∗ Roland Keller1 Matthias Rall1 Johannes Eichner1 Andreas Zell1 Sunday 29th June, 2014 Institutional affiliations: 1 Center for Bioinformatics Tuebingen (ZBIT), University of Tuebingen, Tübingen, Germany 2 Systems Biology Research Group, University of California, San Diego, La Jolla, CA, USA ∗ Corresponding author: andraeger@eng.ucsd.edu The tool SBMLsqueezer facilitates the task of assigning kinetic equations to reactions within biochemical network models that are given in SBML format. It analyzes each reaction of interest, selects applicable equations, and derives appropriate units of all parameters contained in these equations. If possible, components that SBMLsqueezer adds to your model are annotated with Systems Biology Ontology (SBO) and Minimal Information Required In the Annotation of Models (MIRIAM) tags. Besides de-novo creation of rate equations, SBMLsqueezer also offers online access to the reaction kinetics database System for the Analysis of Biochemical Pathways – Reaction Kinetics (SABIO-RK), where you can extract experimentally determined rate laws for your model. In both modes (de-novo creation and database lookup), you can assign kinetic equations to all reactions of the model in one single step, or select individual reactions of interest. Several settings allow you to customize the behavior of the program. In particular, all choices made by SBMLsqueezer can be changed or influenced. The program can be used in multiple ways: as a plug-in for the programm CellDesigner, as a gadget for Garuda, as a stand-alone tool via its graphical user interface, or as a command-line based tool. Furthermore, the application programming interface allows you to integrate SBMLsqueezer as an equation generating core into your end-user application. An export function based on the integrated program SBML2LATEX allows you to generate an exhaustive model report for scientific writing or further processing. Contents 1 Introduction 1.1 1.2 2 4 6 6 7 9 10 10 . . . . . . . . . 11 11 12 14 16 18 21 25 30 31 Using SBMLsqueezer as an equation generator library . . . . . . . . . . . . . . . Querying SABIO-RK and merging the results into a local SBML document . . . . Command-line arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 34 39 41 Requirements . . . . . . Stand-alone application . Plug-in for CellDesigner Integration into Garuda . On-line program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . How to get started 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 Starting the application . . . . . . . . . . . Adjusting the preferences . . . . . . . . . . Open a model . . . . . . . . . . . . . . . . Equation generation one by one . . . . . . Generate kinetic equations in a single step . Extraction of rate laws from SABIO-RK . . Viewing and saving the results . . . . . . . Interaction with further Garuda gadgets . . Using SBMLsqueezer as an on-line program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Advanced program features 4.1 4.2 4.3 2 2 4 . . . . . Installation 2.1 2.2 2.3 2.4 2.5 3 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . General program features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 Supported rate laws 60 6 FAQ and troubleshooting 63 7 License 65 iv Contents 8 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66 66 66 66 67 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 68 68 69 71 72 77 Acknowledgments 8.1 8.2 8.3 8.4 Core developers . . . . . . Principal Investigators . . Alumni . . . . . . . . . . Collaborators and partners A Release Notes A.1 A.2 A.3 A.4 A.5 A.6 Version 1.0 . Version 1.1 . Version 1.2 . Version 1.2.1 Version 1.3 . Version 2.0 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . B Acronyms 80 Bibliography 81 Index 87 Figures 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 3.10 3.11 3.12 3.13 3.14 3.15 3.16 3.17 3.18 3.19 Basic configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Rate law selection . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . SABIO-RK search options . . . . . . . . . . . . . . . . . . . . . . . . . SABIO-RK search preferences . . . . . . . . . . . . . . . . . . . . . . . LATEX options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Reaction context menu in CellDesigner . . . . . . . . . . . . . . . . . . Generating a kinetic equation for a single reaction . . . . . . . . . . . . . Launching SBMLsqueezer in CellDesigner . . . . . . . . . . . . . . . . Generating kinetic equations in one single step with the kinetic law wizard Results of the kinetics wizard displayed in a table . . . . . . . . . . . . . Changing selected rate laws in the kinetics wizard . . . . . . . . . . . . . Starting the SABIO-RK wizard . . . . . . . . . . . . . . . . . . . . . . . Selection of reactions in the SABIO-RK wizard . . . . . . . . . . . . . . Selection of search terms for SABIO-RK . . . . . . . . . . . . . . . . . Removal of search terms for SABIO-RK . . . . . . . . . . . . . . . . . . Window with kinetic equations found for all reactions . . . . . . . . . . . Summary of necessary changes . . . . . . . . . . . . . . . . . . . . . . . Starting the SABIO-RK application for a selected reaction . . . . . . . . Selection of search terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 13 14 15 16 17 17 19 19 20 20 21 22 22 23 23 24 25 26 v Contents 3.20 3.21 3.22 3.23 3.24 3.25 3.26 3.27 3.28 Window with two search terms . . . . . . . . . . . . . . . . . . . Window with kinetic equations found for a single reaction . . . . Window for matching elements in the equation to model elements Summary of necessary changes . . . . . . . . . . . . . . . . . . . Viewing SBMLsqueezer’s results . . . . . . . . . . . . . . . . . . Selecting a Garuda gadget . . . . . . . . . . . . . . . . . . . . . Starting the on-line version of SBMLsqueezer . . . . . . . . . . . Adjusting preferences in the on-line version . . . . . . . . . . . . Obtaining the results from the on-line version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 27 28 28 29 30 31 32 33 KEGG Identifiers (IDs) of small molecules and ions . . . . . . . . . . . . . . . . . 62 Tables 5.1 Listings 2.1 Example Bash script that launches SBMLsqueezer with a libSBML back-end . . . 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 Generating rate laws for all reactions in a model via the API of SBMLsqueezer 2 Loading preferences in SBMLsqueezer 2 . . . . . . . . . . . . . . . . . . . . . . Initializing SBMLsqueezer 2 with a libSBML back-end . . . . . . . . . . . . . . Assignment of a kinetic law to a reaction via the API of SBMLsqueezer 2 . . . . SABIO-RK query for the reactions of a model . . . . . . . . . . . . . . . . . . . Calling the SABIO-RK wizard . . . . . . . . . . . . . . . . . . . . . . . . . . . Launching SBMLsqueezer from the command-line . . . . . . . . . . . . . . . . Launching SBMLsqueezer from the command-line with increased heap size . . . Launching SBMLsqueezer with an alternative language pack . . . . . . . . . . . 8 . . . . . . . . . 35 36 37 38 39 40 41 42 42 A.1 Usage of SBMLsqueezer 1.3 via its API . . . . . . . . . . . . . . . . . . . . . . . 73 1 1 Introduction The program SBMLsqueezer is a versatile tool for the assembly and assignment of complex kinetic equations of reactions and processes in biochemical networks (Dräger et al., 2008, 2010; Dräger, 2011). The purpose of SBMLsqueezer is hence to assist you when creating kinetic equations for a biochemical network, whose structure is already defined. SBMLsqueezer can add missing information, such as undefined initial concentration values or set some reacting species that represent genes to the boundary of the reaction system. But its main purpose is the creation of rate laws, parameter objects, and their units. The integrated SBML2LATEX can create an exhaustive model report that highlights all model features. A list of currently implemented rate laws that can be used for the de-novo creation of kinetic laws can be found in chapter 5 on page 60. 1.1 Overview The data format understood by SBMLsqueezer is the Systems Biology Markup Language (SBML)1 in all of its levels and versions (Hucka et al., 2001, 2003a,b, 2007, 2008, 2010; Finney and Hucka, 2003; Finney et al., 2006). When using SBML Level 1 (not recommended), all generated equations are stored in form of infix formula strings. For all other versions of SBML, the generated equations are stored in form of MathML (Buswell et al., 1999) expressions. Kinetic equations contain a set of parameters, whose units must be derived to ensure that the overall equation can be interpreted in units of the extent of the respective reaction per time units. To give an example for the most common scenario, you can assume that the units of the rate law will simplify to a substance unit per time unit, for instance, mole per second. Other constellations, however, are possible, too. When using SBMLsqueezer you do not have to care much about units because the program does this for you. Since Level 3, the MathML subset understood by SBML has been extended and also supports units for actual numbers (integers or real values, which are not parameter values in this sense). When using a model in this more recent format, SBMLsqueezer will also assign units to numbers where necessary. The program also annotates all created equations and parameters with appropriate terms from the SBO2 (Systems Biology Ontology) and also with MIRIAM-compliant3 controlled vocabulary terms (Minimal Information Required In the Annotation of Models), where appropriate (Le Novère et al., 2005, 2006; Laible and Le Novère, 2007; Courtot et al., 2011). 1 Various information about SBML can be found at http://sbml.org. more information about SBO see http://www.ebi.ac.uk/sbo/main/. 3 The MIRIAM registry is described at http://co.mbine.org/standards/miriam. 2 For 2 1.1 Overview The selection of the kinetic equations is done automatically by the program, where several settings allow users to influence the algorithm’s choice. In many cases, SBMLsqueezer suggests multiple equations for the same process, from which the user can choose as desired. This behavior of the program is important to ensure that only appropriate equations can be selected at any time. In order to decide, which equations can be applied to a reaction of interest, SBMLsqueezer analyzes several properties, such as the number and type of reactants, products, and modifiers, if the reaction is reversible, etc. Here, reaction of interest means that the user can either select individual reactions from a larger model and equip these with kinetic equations, or rate equations can be created in one go for the entire model. Thereby, already existing equations can either be kept or overwritten, depending on your choice. You can influence and change all choices of the program, even in the single-step-mode. If you are connected to the Internet, you can also use SBMLsqueezer to extract experimentally determined kinetic equations from the rate law database SABIO-RK4 (Wittig et al., 2006; Rojas et al., 2007; Krebs et al., 2007; Wittig et al., 2012). To this end, SBMLsqueezer provides several settings, such as the organism, temperature, or pH value under which the reaction’s rate was determined. Again, you can extract equations from SABIO-RK for an entire network in one single step, or individually select reactions of interest. The program itself can be customized and used in several ways. It remembers your last opened files, the window’s size, your rate law selection and so forth. You can run it as a stand-alone tool, or as a plug-in for the well-known program CellDesigner5 (Funahashi et al., 2003, 2006, 2007, 2008). By default, the stand-alone version is based on the JSBML backend (Dräger et al., 2011), but you can also use libSBML (Bornstein et al., 2008) as its SBML back-end instead if this library’s more elaborated off-line model validation matters. If you neither like to download SBMLsqueezer, nor to install any software on your local computer, you can even use SBMLsqueezer as a Galaxy-based web service6 Goecks et al. (2010). This webservice runs on the servers of the University of Tuebingen and therefore do not require any local installation. In this setting, you can benefit from Galaxy’s capability to easily combine SBMLsqueezer with other programs in a more complex workflow. You can, for instance, convert a BioPAX file to SBML using the also included program BioPAX2SBML (Büchel et al., 2012) and populate the model with kinetic equations afterwards. Another option would be to launch it as a Java™ Web Start application directly from your web browser7 . In this case, your browser will download the executable program SBMLsqueezer as a temporary file and run it locally on your computer. In addition, SBMLsqueezer implements the Garuda specification and can therefore also be used as a gadget within this powerful framework for systems biology (Ghosh et al., 2011). In this configuration, the output of tools that assist you to create your models, such as KEGGtranslator 4 You can access SABIO-RK at http://sabio.h-its.org. more information about CellDesigner see http://www.celldesigner.org. 6 Galaxy web service available at http://webservices.cs.uni-tuebingen.de. 7 You can use SBMLsqueezer as a Java™ Web Start application by clicking on http://www.cogsys.cs. uni-tuebingen.de/software/SBMLsqueezer/downloads/SBMLsqueezer.jnlp. 5 For 3 1 Introduction (Wrzodek et al., 2011, 2013) can directly be piped as the input to SBMLsqueezer. Furthermore, SBMLsqueezer’s output can be forwarded to further programs, such as SBMLsimulator (Keller et al., 2013, 2014) for further analysis. Finally, the command-line mode of SBMLsqueezer provides all capabilities of the program without any restriction. Furthermore, the fully accessible Application Programming Interface (API) can be used to integrate SBMLsqueezer as an equation generating core into your end-user program. You can hence equip a large number of files with kinetic equations without the need to open each file in a Graphical User Interface (GUI). The usefulness of this approach has recently been demonstrated as part of the path2models project8 , in which more than 142,000 SBML models have been processed with SBMLsqueezer (Büchel et al., 2013). For the documentation of your model, SBMLsqueezer includes the program SBML2LATEX9 , which generates a comprehensive report of your model, including a detailed description of all components and equations (Dräger et al., 2009, 2010). These reports can be very handy to support scientific writing, because you can easily copy the formulas into your scientific paper. 1.2 General program features Depending on in which variant you use SBMLsqueezer and your preferences (see section 3.2 on page 12), SBMLsqueezer can 4 generate kinetic equations for all reactions in your model, or only for those reactions that are currently lacking a rate law. This gives you the option to replace existing rate laws with new ones. Thereby, you can define a number of arbitrary chemicals (usually small molecules or ions) that you like to exclude from the rate law generation process in order to keep the generated equation simple. The program offers you a large variety of generic and specific rate laws for several standard cases and allows you to create all rate laws in a reversible manner if desired. 4 detect reactive species, whose annotation indicates that these are genes. Since usually the concentration or amount of genes does not change, SBMLsqueezer offers you to set the boundary condition of these species to true. This means that even if these species participate in reactions, their amount or concentration will always remain constant, irrespective of their participation in reactions. 4 assume that all reactions in your network are enzymatically catalyzed and hence change the selection of rate laws. This means that even reactions without explicit catalyst can be modeled with an enzymatic rate law. Hence, a simplified model structure can be recognized by SBMLsqueezer and interpreted as a more complex structure. For catalyzed reactions, you have the choice of a large variety of species types to be interpreted as enzymes. 8 You can access and download all pathway models of the path2models project from http://www.ebi.ac.uk/ biomodels-main/path2models. 9 Download SBML2LATEX at http://www.cogsys.cs.uni-tuebingen.de/software/SBML2LaTeX/. 4 1.2 General program features 4 define the units of all species and compartments if necessary and derive the units for all newly created local and global parameters and numbers in order to ensure unit consistency of the entire model. Thereby you can choose if species should be brought to amount or concentration units. This influences if in rate equations division by the compartment sizes or multiplication with the compartment will be performed where this is necessary. 4 check the model for global and local parameters as well as unit definitions that are never used and addressed. SBMLsqueezer can automatically remove these from the model, i.e., perform model cleaning. 4 import experimentally determined rate equations from SABIO-RK and include them into your model. To this end, it offers you several options to make the lookup of rate laws as precise as possible and to narrow down the database entries as much as possible. 4 equip your model with default values where no values are defined. For instance, if it was forgotten to define the spatial dimensions or the size of a compartment, SBMLsqueezer will insert a default value for you. The same is also done for species and all newly created (local) parameters. 4 summarize all features of the model in an exhaustive LATEX-based model report. To this end, SBMLsqueezer brings with it a full version of the model documentation tool SBML2LATEX including all of its options. This document is intended to guide you through installation and use of SBMLsqueeer by introducing its various interfaces to you. In the following, we will describe how you can benefit from the features of SBMLsqueezer and how to customize the program. The next chapter describes how you can install and access SBMLsqueezer on your operating system (see p. page 6). Chapter 3 introduces the GUI of the stand-alone version of SBMLsqueezer to you and explains how to access all of its functions. If you are interested to run SBMLsqueezer in a batch or shell script, the command-line interface will be interesting for you, which is described in section 4.3 on page 41. Just as every other scientific software, also SBMLsqueezer is work in progress. If you encounter any difficulties or bugs, please do not hesitate to contact the mailing list, ) sbmlsqueezer@googlegroups.com. 5 2 Installation To obtain a local copy of SBMLsqueezer, you can download it in form of a Java™ Archive (JAR) file from the project’s website1 . In the most common scenario, you might want to launch the program as a stand-alone tool and access its GUI. To do so, start SBMLsqueezer with a simple double click on the icon of the downloaded JAR file. Provided that a Java™ Virtual Machine (JVM) is installed on your system (see section 2.1.2 on the next page), you will see the main window of SBMLsqueezer as soon as the splash screen has finished. 2.1 Requirements SBMLsqueezer can be be used in multiple ways, depending on your preferences: • As a stand-alone tool – via its GUI (see chapter 3 on page 11) – via its command-line interface (see section 4.3 on page 41) In both cases, you can choose between JSBML or libSBML as your backend for SBML (see section 2.2 on the facing page). • As a plug-in for CellDesigner (see section 2.3 on page 9) • As a gadget for Garuda (see section 2.4 on page 10) • As an on-line program embedded in the Galaxy web service environment Goecks et al. (2010) • As a Java™ Web Start application • As a rate law core in an end-user application via its API Depending on how you like to use SBMLsqueezer, different requirements must be fulfilled before launching the program for the first time. Note that the extraction of kinetic equations from SABIO-RK requires an active Internet connection. For this program features, the security settings of your operating system must also allow SBMLsqueezer to establish a connection to this on-line database. 1 Project 6 website of SBMLsqueezer: http://www.cogsys.cs.uni-tuebingen.de/software/SBMLsqueezer/. 2.2 Stand-alone application When launching SBMLsqueezer, it will connect to the program homepage in order to check if a newer version of the program is available. This feature can also only be used if an Internet connection is available and if your operating system allows SBMLsqueezer to establish such a connection. Note that no further information is transmitted. SBMLsqueezer only compares the version number of the local program with the version number of the latest release. If you do not want to use this feature, you can switch it off. See section 4.3 on page 41 for instructions how to do so. 2.1.1 Hardware With at least 1 GB main memory, you should be able to perform most tasks without any problem. For large models, you should have at least 2 GB of main memory. An active Internet connection is required for some program features, but not mandatory to run the program. 2.1.2 Software SBMLsqueezer is entirely implemented in Java™ and runs on any operating system, where a suitable Java™ Virtual Machine (JVM), Java™ Development Kit (JDK) version 1.6 or newer, is installed. For instructions how to obtain an up-to-date Java™ Virtual Machine (JVM) for your system, see, for example, the Java™ SE download page2 . SBMLsqueezer has successfully been tested with • Microsoft Windows 7 Professional (64 bit), • Microsoft Windows 7 Professional (SP1, 64 bit), • Mac OS X (versions 10.8.2 through 10.9.3), and • Ubuntu Linux (version 12.04, 64 bit). See chapter 6 on page 63 if you encounter any problems. 2.2 Stand-alone application Besides what is explained above, no further requirements are necessary if you like to use SBMLsqueezer as a stand-alone application. The program SBMLsqueezer does not have to be installed in order to be executed. Just copy the JAR file of SBMLsqueezer to your preferred path on your hard-disk to launch the application. On Mac OS X, you may like to copy the JAR file into your Macintosh HD Applications folder. On Microsoft Windows systems, the preferred position for the JAR file could be, for instance, C: Program Files. For Linux, we propose to copy the JAR file to the opt folder. 2 http://www.oracle.com/technetwork/java/javase/downloads/ 7 2 Installation Using the JSBML backend No special actions are necessary if you like to use JSBML, because this is the default and JSBML is already included in the JAR file that you have downloaded. Launching SBMLsqueezer with libSBML as back-end Follow the installation instructions of the Java™ binding for libSBML for your platform, which you can find at the website of libSBML3 . On some platforms, you may have to define an environment variable pointing to the installation directory of libSBML before being able to use its Java™ binding. On the most Unix and Linux platforms, this variable is called LD LIBRARY PATH. On Mac OS X, you should instead define the variable DYLD LIBRARY PATH. Follow the instructions at libSBML’s website4 before launching SBMLsqueezer. On Windows you should add the libSBML directory to the PATH environment in the Control Panel. The following script can help you to to run SBMLsqueezer on your Unix platform: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 #!/ bin / bash VM_ARGS = " - Xms32M - Xmx512M - Djava . library . path = " # The following lines depend on your system ’ s configuration ; # so here is just an example : VM_ARGS = " $ { VM_ARGS }\ / usr / lib / jvm / java -6 - sun / jre / lib / i386 / client :\ / usr / lib / jvm / java -6 - sun / jre / lib / i386 :\ / usr / lib / jvm / java -6 - sun / lib :\ / usr / local / lib " #:[ path to xerces ]/ xerces / lib CLASS_PATH = " / usr / local / share / java / libsbmlj . jar :\ [ path to ] SBMLsqueezer_v2 .0. jar " # Set the environment variable ; under Linux or most Unix systems this is LD_LIBRARY_PATH = " $ { LD_LIBRARY_PATH }:/ usr / local / lib " # On Mac OS you have to use the following code instead : # DYLD_LIBRARY_PATH = " $ { DYLD_LIBRARY_PATH }:/ usr / local / lib " # Start SBMLsqueezer using the command - line options : MAIN_CLASS = org . sbml . squeezer . SBMLsqueezer java $ { VM_ARGS } - cp $ { CLASS_PATH } $ { MAIN_CLASS } -- try - loading - libsbml = true \ [ further options ] Listing 2.1: Example Bash script that launches SBMLsqueezer with a libSBML back-end In the example above the arguments for the Java™ Virtual Machine (JVM) define an initial heap space of 32 MB (-Xms32M) and a maximal heap size of 512 MB (-Xmx512M). For more information about the program usage from the command line see section 4.3.1 on page 41. 3 http://sbml.org/Software/libSBML 4 For information about how to execute a libSBML-based Java application, see the section about Java at http://sbml. org/Software/libSBML/docs/cpp-api/libsbml-accessing.html 8 2.3 Plug-in for CellDesigner 2.3 Plug-in for CellDesigner If you like to use SBMLsqueezer as a plug-in for the popular graphical model editor CellDesigner (Funahashi et al., 2003, 2006, 2007, 2008), you can do this by following four installation steps: 1. Download and install CellDesigner from the project’s website5 . 2. Locate, where your copy of CellDesigner is installed. plugin folder in your installation of CellDesigner and copy the file SBML3. Open the squeezer v2.0 incl-libs.jar into this folder. 4. Open the lib folder in your installation of CellDesigner and replace the JSBML JAR file that is redistributed by CellDesigner with the JAR file jsbml-1.0-a1-with-dependencies. jar that you can download at http://www.cogsys.cs.uni-tuebingen.de/software/ SBMLsqueezer/downloads/. Some more information about this installation procedure: Depending on your operating system, CellDesigner will be installed in different folders. In Microsoft Windows it is usually C: Program Files CellDesigner4.3. In Linux you might find it in opt CellDesigner4.3, and in Mac OS X CellDesigner will be installed under Macintosh HD Applications CellDesigner4.3, where 4.3 is the version number with which SBMLsqueezer 2.0 has been tested. Note that the version numbers 4.3 and 2.0 of CellDesigner and SBMLsqueezer might change in the future, but the procedure will remain the same. When replacing CellDesigner’s version of JSBML with the one downloaded from the download site of the SBMLsqueezer project, make sure that the name of the new JSBML file will be identical to the name of the JSBML file distributed with CellDesigner. Otherwise, you will have to change some start script of CellDesigner. Even though this is not difficult and can be done on each operating system, we prefer to avoid that for the sake of simplicity. Alternatively, you can also download JSBML from the official sourceforge page. However, you must make sure that the downloaded JAR file includes the package org.sbml.jsbml.celldesigner. Without this package, SBMLsqueezer cannot be launched in CellDesigner. Another possible solution is to checkout the development trunk of JSBML and run the antscript by yourself, thus building the latest version of JSBML. If you like to go this way, please read the documentation about JSBML6 first. It should be noted that SBMLsqueezer might produce different results when using it as a plug-in of CellDesigner from the results of all other ways to use the program. The reason is that CellDesigner models can contain a rich tool-specific annotation, which can only be understood by SBMLsqueezer in the plug-in mode for this program. In contrast, all other variants of SBMLsqueezer described herein depend on SBO terms to indicate the roles of modifiers (e.g., enzymatic catalysts) when it is not used as a plug-in for CellDesigner. Again, the reason is that the CellDesigner plugin has different ways to receive this information. Applying SBMLsqueezer to a model exported 5 http://celldesigner.org 6 http://sbml.org/Software/JSBML/docs 9 2 Installation from CellDesigner and opened in the stand-alone version might therefore yield different results compared to when directly running it as a plug-in from CellDesigner. 2.4 Integration into Garuda When downloading Garuda, a functioning copy of SBMLsqueezer will be included. Hence, no special installation steps are required. Just follow the instructions of how to install Garuda7 (Ghosh et al., 2011). 2.5 On-line program In order to use SBMLsqueezer as an on-line program, it is necessary to install a recent web browser for your specific operating system, such as Mozilla Firefox, Google Chrome, Apple Safari, Microsoft Internet Explorer, Opera, or any other browser that you prefer and that is able to render up-to-date web sites. See the documentation of Galaxy web services8 (Goecks et al., 2010), on which the on-line version of SBMLsqueezer is based, for precise software requirements. When using the on-line version, no specific installation of SBMLsqueezer is necessary. Note, however, that an active Internet connection is essential in order to use SBMLsqueezer as an on-line program. Just use your regular web browser and go to http://webservices.cs.uni-tuebingen. de to use the program. See section 3.9 on page 31 for further information. 7 http://www.garuda-alliance.org/ 8 http://galaxyproject.org 10 3 How to get started In this chapter you will learn how the GUI of the program SBMLsqueezer is designed and intended to work, how you can launch, configure, and use the program. We will systematically go through all program features and explain what can be done and how. Where possible, keystroke combinations will be introduced that can be used to simplify the work with the program. All special scenarios of the diverse ways of using SBMLsqueezer (as a stand-alone tool, on-line program, plug-in in CellDesigner, Java™ Web Start application, as a gadget of Garuda etc.) will be highlighted and discussed. More experienced users might want to skip several parts of this chapter and be more interested in the description of the command-line interface (see section 4.3 on page 41) or examples for how to use the API (see section 4.1 on page 34) in custom applications. 3.1 Starting the application If you downloaded a ZIP file, you need to unzip it before starting the application. Launch SBMLsqueezer by double-clicking on the Java™ icon, which might look like the image next to this text, in a file browser of your operating system. This will start the GUI (see chapter 3 for further details). You can also start SBMLsqueezer from the command line. Depending on your preference and your operating system, it might be helpful for you to write a short shell or bash scripts for starting the application. You might name this, for instance, start.sh for Linux or Mac OS X, and start.bat for Microsoft Windows. Within those scripts you could specify several command-line options (see section 4.3 on page 41) and hence customize the behavior of SBMLsqueezer. How to do that is described in section 4.3.1 on page 41. If you are using libSBML as your SBML parsing engine, writing such a script is highly recommended. You can find a sample script for this purpose in section 2.2 on page 8. If you are using SBMLsqueezer as a plug-in for CellDesigner, just open a model that you like to edit. You can then launch all functions of SBMLsqueezer by clicking on one of the options within the menu Plugin SBMLsqueezer 2.0 in CellDesigner. To start SBMLsqueezer in Garuda, simply double-click on SBMLsqueezer’s program icon (see the symbol that is printed next to this text). Alternatively, you can also launch SBMLsqueezer there by sending an SBML file to it from any other Garuda gadget. For more information about that, see the documentation of Garuda. When using SBMLsqueezer as an on-line program, just open a browser of your choice and go to http://webservices.cs.uni-tuebingen.de and select the tool SBMLsqueezer in the 11 3 How to get started Figure 3.1: Basic configuration. All preferences in this tab correspond to the command line options described in section 4.3.3 on page 42. You can specify if already existing rate laws should be replaced with newly generated rate equations, if a search in SABIO-RK should be performed etc. Taking small molecules and ions into account often lead to complex kinetic equations. SBMLsqueezer offers you to give a list of KEGG IDs for those reactive species that should be ignored when creating rate laws (see table 5.1 on page 62). For cases in which values are missing in the model, SBMLsqueezer will insert default values, which you can specify in this tab. You can decide how SBMLsqueezer should ensure unit consistency, by either bringing all species to amount units, or to concentration units. For situations, in which the role of reaction modifiers is unclear, you can here select those types of species that should be considered enzymes. overview of tools. You do not have to execute any further software besides your web browser. 3.2 Adjusting the preferences The program SBMLsqueezer offers a large number of options to configure how kinetic equations are generated. All options described in this section can also be applied using SBMLsqueezer’s command-line interface (see section 4.3 on page 41 for details). This means that you can already upon launching the program define with which options it should be initialized. Your configuration can always be set back to the default options if desired. SBMLsqueezer stores its configuration in the system’s preferences of your operating system. This means that when launching the program for the next time, you can directly continue with your previous configuration. Furthermore, there are no configuration files generated by SBMLsqueezer in addition to those maintained by your operating system. Hence, SBMLsqueezer integrates well into your working environment. We will now take a closer look at the options and describe what you can influence and which choices the program offers to you. In order to configure your preferences, you can click on the 12 3.2 Adjusting the preferences Figure 3.2: Rate law selection. It has been observed that irreversible rate laws are often too restrictive and cannot capture the dynamics of complex reaction systems. For this reason, SBMLsqueezer can create all kinetic equations in a reversible manner and will then also update the property reversible in affected reactions. Depending on this setting, you will be able to select default types of irreversible rate laws. The other sections of this tab allow you to select which type of rate law should be primarily selected when generating equations for an entire network in one single step. If you create equations for individual reactions only, as shown in fig. 3.2, these settings do not have an effect. For more information about your choices in this tab, see also the description of its corresponding command-line options in section 4.3.4 on page 46. tool icon in the tool-bar (see the icon next to this text), or select the corresponding entry in the menu bar. Under Microsoft Windows and Linux, you can access the preferences menu under Edit Preferences , whereas under Mac OS X, these can be found under SBMLsqueezer Preferences. . . + , . or by using the keystroke combination On the bottom panel of the preferences dialog you can see the four buttons Cancel , Defaults , Apply , and OK as this is displayed in ??–3.5 on pages ??–16. The Cancel button has the same effect as a click on the close button on the top of the window or hitting the Esc key: all of your changes will be disregarded and the window will be closed. The Defaults button restores the standard settings of SBMLsqueezer. With Apply you can persistently save your current settings. The OK button is a combination of Apply and close, i.e., it makes your settings persistent and closes the window. Hitting the key has the same effect as clicking on the OK button. Note that the dialog is structured with multiple tabs. When clicking on Defaults the preferences in all tabs will be restored, even if those are not active at the time when you hit that button. 13 3 How to get started Figure 3.3: SABIO-RK search options. The options in this tab correspond to the command-line options that are described in section 4.3.5 on page 53. You can specify general features of the reaction for which you want to look up appropriate rate laws in SABIO-RK, such as the pathway, in which the reaction occurs, the tissue, in which it was observed, even the cellular location. Of course, you can also restrict your search to an organism of choice. 3.3 Open a model The simplest way to open an SBML file is to click on File Open in the menu bar, or at the folder icon (see the icon next to this text) in the tool bar. If you prefer keystroke + O on Mac OS X or Ctrl + O on Microsoft Windows combinations, you can use and Linux computers. The GUI can open multiple SBML files in parallel. SBMLsqueezer arranges these SBML documents in tabs, whose order can be changed by dragging and dropping the tabs. Furthermore, you can also open one ore multiple models in SBMLsqueezer via drag and drop, i.e., just select one or multiple SBML files in an arbitrary file browser of your operating system and drag these into SBMLsqueezer’s GUI. When starting SBMLsqueezer from the command line, you can directly pass a model file to it, which will then be opened in the GUI. To this end, use the option --sbml-in-file=, where is the absolute or relative path to the SBML file you want to open (see section 4.3.2 on page 42). Note, however, that the command line option allows you to specify just one file to open. If you like to open further files, you need to do this in the GUI. In case that you use libSBML as SBML back-end, SBMLsqueezer will conduct a model valida- 14 3.3 Open a model Figure 3.4: SABIO-RK search preferences. All preferences in this tab can also be changed through the command line. See section 4.3.6 on page 53 for details. Here you can define more finegrained search search properties for looking up kinetic equations in SABIO-RK, such as the minimal and maximal temperature and pH value, under which the reaction proceeds, the currentness of the entry in SABIO-RK, and several boolean switches that influence which type of database entry can be considered. These features are mainly important when extracting rate laws for all reactions in the network in a bulk. When you search for kinetics of individual reactions, you may want to also apply more appropriate settings for just this reaction. tion upon opening the file. The result of the validation will then be displayed in a dialog window. This feature is not available when using JSBML as SBML back-end, because the JSBML library does currently not implement an off-line validation for SBML documents. SBMLsqueezer remembers up to ten files you have already worked with. Once you have opened one or more models, these are accessible in the menu bar, where you can click on File Recent files . This sub-menu will display the names of the files and their absolute path as tool-tip. You can open one of these files by just clicking on its entry in the menu, or you can apply one of the keystroke + 0 to + 9 on Mac OS X or Alt + 0 to Alt + 9 on Linux and Microsoft combinations Windows. Here, the number keys are used to sort the previously opened models according to when you last accessed the file. The most recently opened file will always have number 0 and the model number 9 is the model that was opened a longer time ago. Note that this order will change as soon as you open one model from this list or any other model. If you are working with CellDesigner, open the model with this program’s menu item or keystroke combination. When launching the SBMLsqueezer as CellDesigner plug-in, it will always use the currently selected model. This means that, in case that you are working with multiple models in CellDesigner, this model will be passed to SBMLsqueezer, whose tab is currently selected. 15 3 How to get started Figure 3.5: LATEX options. All options in this tab are also available as command-line options (see section 4.3.8 on page 55). You can specify where your LATEX compiler is located in your operating system and what to include into the model report. This tab also gives you several style options that influence how the the generated document will look like. As a new feature, it now also supports the Layout extension for SBML (Gauges et al., 2006). You can here decide if a figure of your network should be generated and included into the report, given that layout information is provided in your file. For more information about SBML2LATEX see the documentation of this project. In Garuda, SBMLsqueezer can receive files from other gadgets and will open these whenever this is requested. SBMLsqueezer will automatically open accepted files. There is hence nothing further to do. If SBMLsqueezer is not running when a file is sent to it from another gadget, Garuda will automatically launch the program and the file will be opened upon start. 3.4 Equation generation one by one You can add a kinetic equation to individual reactions. To this end, SBMLsqueezer provides a specialized context menu and dialog window, which enable you to select the type of rate law that seems appropriate for your purposes. This dialog window is available whenever using SBMLsqueezer as a plug-in for CellDesigner or in the stand-alone version (also in the Garuda version). In all cases, the same dialog window will appear, which offers you a selection of appropriate rate laws for the particular reaction and gives you the opportunity to choose between those, or to discard the dialog. No change will be performed to your model when canceling the dialog (either by pushing Esc or by clicking on Cancel ). We here use biomodel No 390 from BioModels database (Li et al., 2010; Arnold and Nikoloski, 16 3.4 Equation generation one by one Figure 3.6: Reaction context menu in CellDesigner. After installing SBMLsqueezer as a plug-in, its functionality will be incorporated into CellDesigner’s reaction context menu. If you right-click on an arbitrary reaction, it allows you to create a kinetic equation for this reaction (with the dialog in fig. 3.7), or to generate a LATEX model report that only involves the details relevant for the selected reaction. Figure 3.7: Generating a kinetic equation for a single reaction. This dialog can be opened by rightclicking on an individual reaction in your active model and selecting Squeeze in the pop-up menu. The directionality of the reaction and the enzyme property can be altered. Both options possibly influence the selection of rate laws. To abort this dialog, click on Cancel or hit the Esc key. 17 3 How to get started 2011) as an illustrative example model. In case that you are working with CellDesigner (Funahashi et al., 2003, 2006, 2007, 2008), right-click on the reaction of interest as this is displayed in fig. 3.6 on page 17 and select the menu item Squeeze kinetic law . When using SBMLsqueezer as a stand-alone program, you can generate kinetic equations for a selected reaction by right-clicking on the reaction of interest. An example is given in fig. 3.7 on page 17. SBMLsqueezer analyzes the currently selected reaction according to various properties and displays a selection of suitable rate laws, of which you can select the most appropriate one. The equation preview, where you can zoom in and out of the rendered formula, helps you to choose a rate law. If a corresponding SBO entry can be found for a rate law, a tool-tip will be displayed with further information about this equation. You can also decide if the reversibility of the reaction should be changed. This would also alter the list of applicable kinetic equations. The other options, if newly created parameters should be locally attached to the kinetic law object or globally to the model, influences the internal structure of the model, but not its behavior. Just note, that there are some parameters, which cannot be stored locally because they represent recurrent properties of some reactive species and are needed across several rate laws (e.g., energy constants). 3.5 Generate kinetic equations in a single step SBMLsqueezer can create rate laws for all reactions in one single step without the need of further human interaction or manual selection of rate laws for any reaction. This option can be useful if you are working with a large model and want to create a first draft of a kinetic system, or if you are interested to apply the same type of approximative rate law to each reaction. To see how to use this program feature, have a look at fig. 3.9 on the next page. Just like in the case of the reaction context menu (section 3.4 on page 16), the same kinetics wizard can be used in stand-alone mode and when working with the CellDesigner plug-in version. Various options allow you to customize how this is done. The most important options decide if already existing rate laws should either be kept or overwritten, if all reactions can be modeled in a reversible manner, or as currently defined in the model. In the CellDesigner plug-in version, just click on Plugin SBMLsqueezer 2.0 Squeeze kinetic laws to launch the kinetics wizard. In the stand-alone version, you can either right-click on the model in the SBML tree, the lemon icon in the tool bar (icon next to this text), or Edit Squeeze in the menu bar. The usage of the kinetics wizard is identical, irrespective of how you launched it. You can see how this wizard looks like in fig. 3.9 on the next page. You can always discard all your changes by either clicking on the Cancel button or by hitting the Esc key. The Help button opens a browser window that gives you more information about SBMLsqueezer. If you click on Show options , the preference dialog will be displayed, which is described in section 3.2 on page 12. In this way, SBMLsqueezer gives you the option to make sure that the selection of kinetic equations for all distinguished cases will be done as if you pick those individually. When you hit the Next button, kinetic equations will be created according to your settings and 18 3.5 Generate kinetic equations in a single step Figure 3.8: Launching SBMLsqueezer in CellDesigner. The menu item Plugin SBMLsqueezer 2.0 gives you access to nearly all functions of the program. You can launch the kinetics wizard, adjust your preferences, export a LATEX report, open a help browser, or just look at how SBMLsqueezer internally represents CellDesigner’s data structure. Figure 3.9: Generating kinetic equations in one single step with the kinetic law wizard. This screen-shot shows the Kinetic Law Wizard (here shown under Mac OS X). When launched, this wizard allows you to generate kinetic equations for all reactions in the active model. From this wizard, you can directly access and alter all program options, see the on-line help, and go back and forth between all steps through which the wizard will guide you. 19 3 How to get started Figure 3.10: Results of the kinetics wizard displayed in a table. We again use biomodel No 390 from BioModels database (Li et al., 2010; Arnold and Nikoloski, 2011) as an example model. Two rows are highlighted in red . The reason is that these reactions involve an unrealistically high number of reactant molecules, or are reversible with a high number of products, respectively. These warnings indicate that the generated rate law might neglect several intermediate steps. In this table, you can review all generated rate law. Note that these will not be transfered to your original model before you hit the Finish button. You can alter each rate law by double- or right-clicking on an entry in the column “Kinetic Law,” or hit the Back button and change your preferences for the rate law selection. You can already generate a LATEX report about the changed model (hit the button Export changes ), which can help you to make your decision if you want to apply or discard your changes. Figure 3.11: Changing selected rate laws in the kinetics wizard. This dialog window appears when you double-click on an entry in the column “Kinetic Law” of the kinetics wizard. You can here select and apply an alternative rate equation. If you want to change the criteria for the creation of equations, you need to go back to a previous step in the wizard. 20 3.6 Extraction of rate laws from SABIO-RK Figure 3.12: Starting the SABIO-RK wizard. After opening a model in SBMLsqueezer, the SABIO-RK button will become active in the tool-bar (see the black fringe). A tool-tip will display more information about this button when moving the mouse over it. You can click on this button to launch the SABIO-RK wizard. Alternatively, you can also click on Edit SABIO-RK . displayed in a summary table (see fig. 3.10 on page 20). You can change individual rate laws by double-clicking or right-clicking on a specific entry in this table. A pop-up window will then appear asking you to choose an alternative rate law (see fig. 3.11 on page 20). When applying the change, the selection will be updated. When you hit the button Finish , the created rate equations, units, and parameter objects will be incorporated into your original model. 3.6 Extraction of rate laws from SABIO-RK Instead of deriving kinetic equations de novo for your model, you can also use SBMLsqueezer to automatically obtain experimentally determined equations from SABIO-RK. To this end, SBMLsqueezer compares the reactions of interest to reaction signatures in this on-line database and allows you to select the most appropriate reactions or to restrict your search by using several parameters, such as pH, temperature etc. Note that this feature does not apply for the CellDesigner plug-in variant, because CellDesigner brings already with it its own SABIO-RK interface, which you can use directly in CellDesigner. Furthermore, this feature requires an active Internet connection and can therefore not be used in an off-line mode. This section describes how to use the GUI to extract information from SABIO-RK. You can also do this on the command line, which allows for batch processing of multiple SBML files as this has been done by Büchel et al. (2013). For more information about the command-line options for SABIO-RK see section 4.3 on page 41. You can directly use SBMLsqueezer’s API to benefit from this functionality. Section 4.1 provides an elaborated description of how to use this feature. 3.6.1 Rate laws from SABIO-RK for an entire network Figures 3.12 to 3.17 show how you can add kinetic equations from SABIO-RK to several reactions at once. As an example model we pick biomodel No 206 from BioModels database (Li et al., 2010; Wolf et al., 2000). A wizard guides you through the selection of relevant reactions (fig. 3.13 on the following page) and provides several options to restrict the search in SABIO-RK (fig. 3.14 on 21 3 How to get started Figure 3.13: Selection of reactions in the SABIO-RK wizard. On the first window you can select which reactions you want to equip with kinetic equations from SABIO-RK. It is possible to directly select the reactions with some property (such as reactions not yet containing a kinetic law or fast reactions). Furthermore, you can select the desired reactions by holding the Ctrl key pressed while clicking on the desired reactions. You can abort the wizard by either clicking on the Cancel button or by hitting the Esc key. When finished click on the button Next . Figure 3.14: Selection of search terms for SABIO-RK. On the next window you can add categories for search terms together with their values. These terms are used to select only reactions and rate laws from SABIO-RK, whose annotation contains these terms. An example is the organism, in which this reaction takes place. You can choose “organism” from the provided terms and type the desired name as value of the term in the text field. By clicking on button Add (black fringe), the term will be added to the table on the lefthand side of the dialog window. See fig. 3.15 on the next page for an example how to remove a term again. 22 3.6 Extraction of rate laws from SABIO-RK Figure 3.15: Removal of search terms for SABIO-RK. You can remove a query field again by clicking on the check box button in the right-most column. When you are done with selecting appropriate search terms, click on button Next to see the results of your query. Figure 3.16 displays an example who this overview can look like. The Back button allows you to return to the selection of reactions as displayed in fig. 3.13 on page 22. As before, you can abort the dialog by either hitting the key Esc or by clicking on the Cancel button. Figure 3.16: Window with found kinetic equations. A reaction is highlighted in green if a matching rate equation was found, yellow if the found equations do not exactly fit to your model (there is no straightforward matching of all elements in the equation to elements in your model), and red if no matching rate equation was found. If you are satisfied with the results, click Next . 23 3 How to get started Figure 3.17: Summary of necessary changes. The wizard summarizes all changes to the model that are required if you want to transfer the identified rate laws from SABIO-RK to your model. This summary lists only changes related to reactions that have been highlighted in green in the previous step (fig. 3.16 on page 23). Upon clicking on Finish a pop-up dialog will finally ask you to either confirm these changes to be made or to disregard all results. If you confirm, the rate equations will be transferred to your model and all changes will be applied as stated in this summary. page 22), whose interface is similar to the database front end of SABIO-RK1 . To ensure that entries for the reactions of interest can be found in SABIO-RK, it is important to annotate these reactions with IDs from the KEGG database using the MIRIAM registry. The KEGG reaction ID is then always included in the respective search in order to avoid adding kinetic laws referring to other reactions. To further restrict your search, change the bounds of pH, temperature, etc. in the right panel (see fig. 3.14 on page 22). 3.6.2 SABIO-RK for a selected reaction As an alternative you can add kinetic equations from SABIO-RK to a selected individual reaction. How to do this is shown in figs. 3.18 to 3.23 on pages 25–28. We here use biomodel No 206 from BioModels database (Li et al., 2010; Wolf et al., 2000) as an example network. You should first select the reaction, for which you want to obtain a rate law from SABIO-RK (fig. 3.18 on the next page). All subsequent steps of the procedure are essentially the same as described before. The only 1 http://sabio.h-its.org 24 3.7 Viewing and saving the results Figure 3.18: Starting the SABIO-RK application for a selected reaction. To find a reaction of interest, you can use the search function at the bottom of the SBML tree. Just click on the text field and type a part of the reaction’s name or ID. The tree will be updated while you type and reduced to elements that contain the text you are typing. Alternatively, you can just scroll to the entry of interest. Once you have found a reaction of interest, right-click on it. Then click on the SABIO-RK item in the pop-up menu and the SABIO-RK wizard will be started. The reaction is shown again in the first window and you can just click on Next . This will bring you to the selection of search terms that is described in fig. 3.19 on the following page. difference is that the SABIO-RK wizard will be launched for one selected reaction of interest only instead of having all reactions in the model. 3.7 Viewing and saving the results When using the stand-alone version of SBMLsqueezer, you can see a tree representation of the SBML document you are working with on the left-hand side of the GUI. Figure 3.24 displays how biomodel No 390 from BioModels database (Li et al., 2010) looks like after SBMLsqueezer has modified one reaction’s rate law. The program recognizes if an SBML document has been modified by one of its function. You can see this because the title bar of the program will change, and the save actions in tool-bar and menu-bar will become active. In Microsoft Windows and Linux an asterisk will be added to the file name in the title bar. In Mac OS X, the red “close” button on the top-left most corner of the program will no longer display a cross, but a circle (you can see this in fig. 3.24 on page 29). You can save the modified file either by clicking on File Save or by clicking on the disk symbol in the tool-bar. Alternatively, you can also use 25 3 How to get started Figure 3.19: Selection of search terms. You can add search terms such as the organism by choosing from the provided terms and typing in the value of the term. The search can be further restricted by changing the bounds of pH, temperature, etc. in the right panel. You can remove a query field by clicking on the checkbox button in the table on the lefthand side. This dialog is just the same what has been described in figs. 3.14 to 3.15 on pages 22–23 when adding kinetic laws to several reactions in a single step. The example continues in fig. 3.20. Figure 3.20: Window with two search terms. Here a search for an organism and an enzyme name has been specified and will be combined to a query when clicking on Next . You will then see the list of reactions as it is displayed in fig. 3.21 on the facing page. 26 3.7 Viewing and saving the results Figure 3.21: Window with kinetic equations found for a single reaction. The rate equations that match your search criteria are displayed here. You can select a reaction and click on Next , which will bring you to fig. 3.22 on the following page. Alternatively, you can click on Back and change your search criteria (see fig. 3.20 on page 26). + S (under the keystroke combination Ctrl + S (under Microsoft Windows and Linux) or Mac OS X). You can always select File Save as. . . in order to save the active SBML document under a dif+ Ctrl + S (Microsoft Windows and Linux) ferent file name. The keystroke combination + + S (Mac OS X) will also open a file chooser to save a copy of the active SBML document. In Mac OS X you have a further options to save the currently selected document elsewhere: you can drag the file symbol in the title bar into an arbitrary folder of a file browser. Now, let us assume, you have used SBMLsqueezer to assign kinetic equations to the reactions in 27 3 How to get started Figure 3.22: Window for matching elements in the equation to model elements. If kinetic laws are added to an entire network simultaneously, a straightforward matching of all elements (e.g., the species) contained in each rate equation to SBML elements in your model will be necessary. In contrast to that, if you only add a rate law to one reaction at a time, the application presents you a suggestion for the matching and enables you to change it if desired. The necessary elements to import, such as function definitions contained in the rate equation to add, are also shown in this window. Figure 3.23: Summary of necessary changes. This overview summarizes how your model will be changed when adding the selected rate equation. Now click on Finish and afterwards a dialog pops up asking you to confirm the changes. After this confirmation the rate equation will be transferred and these changes will be applied to your model. 28 3.7 Viewing and saving the results Figure 3.24: Viewing SBMLsqueezer’s results. SBMLsqueezer provides a two-part view that displays the details of the model’s structure. On the left you can see the hierarchical SBML data structure. By clicking on selected elements within this tree, details about the element will be displayed on the right. If you select a reaction or a kinetic law directly, the rate equation, parameters etc. will be displayed. You can search for elements within the model by using the text field on the left-bottom corner. This text field reacts to your input while typing and will immediately reduce the number of selectable items in the tree. Exact hits will be highlighted in a bold font. your model (either by extracting those from SABIO-RK or with the de-novo equation generator). When expanding that tree and clicking on individual components, the program enables you to view the generated kinetic equations. Just expand “Reactions” and afterwards the desired reaction. Then you can click on “Kinetic law” and the rate equation is displayed on the right in detail. A convenient search function at the bottom of the window helps you to quickly find reactions and other model components of interest. When using SBMLsqueezer as a plug-in for CellDesigner, you can either see the results by looking through the tables and overviews provided by CellDesigner itself, or you can click on Plugin SBMLsqueezer 2.0 Show the data structure . This will open a similar view as the stand-alone version provides. SBMLsqueezer automatically synchronizes all of its changes with CellDesigner. 29 3 How to get started Figure 3.25: Selecting a Garuda gadget. This dialog window shows you all available Garuda gadgets that support the file type you are sending. Upon hitting the OK button, the model in the currently selected tab will be sent to the selected application. This means that CellDesigner will be notified about these changes and incorporate these into its in-memory model. You can hence directly use its save functions or also save a copy of your model. 3.8 Interaction with further Garuda gadgets After having kinetic equations assigned to reactions of interest, it might be useful to pass the resulting SBML document to further gadgets in Garuda for subsequent analysis. SBMLsqueezer is automatically connected to Garuda core if it has been launched inside of Garuda. Otherwise, SBMLsqueezer will also connect to Garuda if you launch your installation of Garuda before starting SBMLsqueezer. If SBMLsqueezer is already running when you launch Garuda, no new connection will be established, you would need to restart SBMLsqueezer. Now let us assume, your connection to Garuda has been successfully established. In this case, SBMLsqueezer can both, receive and send SBML files from or to further gadgets. SBMLsqueezer will notify you when it is connected to Garuda by displaying a message in its status bar (at the bottom of the main window). You do not have to do anything in SBMLsqueezer when you want to receive a file from another gadget. The program will automatically be notified as soon as it receives the file and will directly open it in a new tab, so that you can work with the file as if you have just regularly opened it within the application. It might, for instance, be an interesting idea to create a draft for a dynamic model directly based on information from the KEGG database using KEGGtranslator (Wrzodek et al., 2011, 2013) and to pass the model to SBMLsqueezer in order to assign kinetic equations. This model can then be forwarded to the application SBMLsimulator (Keller et al., 2013, 2014) that can be used to estimate the parameter values within the newly created kinetic laws, given that reference data are available. A similar approach has been suggested for the generation of draft genome-scale metabolic models (Büchel et al., 2013). As soon as at least one SBML file has been opened, SBMLsqueezer will activate the Garuda icon in the tool-bar (which you can see next to this text) as well as the menu item File Send current file to Garuda . By clicking on that icon or selecting this entry in the menu bar, you can send the active file, i.e., the file that belongs to the currently selected tab in SBMLsqueezer, to another gadget. To this end, SBMLsqueezer will display the dialog window 30 3.9 Using SBMLsqueezer as an on-line program Figure 3.26: Starting the on-line version of SBMLsqueezer. This figure displays the Galaxy framework in the browser Firefox version 29.0.1 under Mac OS X version 10.9.3. You can start working with SBMLsqueezer by either clicking on the program’s icon or the link “Upload SBML file”. that is shown in fig. 3.25 on page 30. If the model in the selected tab has been modified and not yet saved, SBMLsqueezer will create a temporary file in your operating system’s directory for temporary files and send this file to the selected gadget. 3.9 Using SBMLsqueezer as an on-line program SBMLsqueezer can also be used via the Galaxy web service facility (Goecks et al., 2010) of the University of Tuebingen2 . Since the user interface of this variant greatly differs from all other use-case scenarios, we here give a description of options and functions of the web interface. In order to use the on-line version of SBMLsqueezer, open a browser of your choice. Go to the main portal of all web services provided by the Universtiy of Tuebingen2 and scroll down until you find the tool SBMLsqueezer and click on the the program’s logo, or you can click on the link in the list of tools on the left. Alternatively, you can directly go to the service SBMLsqueezer3 . Figure 3.26 displays the web interface of the Galaxy framework. The first step is now to upload your SBML file of interest to the on-line program. To this end, you can either click on the link “Upload SBML file” on the left-hand side of the browser window, or click on the icon of SBMLsquezeer. In both cases you should see a browse button that allows you to select an Extended Markup Language (XML) or SBML file from your local file system. After selecting the file, hit the button “Execute” in order to actually upload the file to the Galaxy service. Galaxy informs you about the progress of the upload in the “History” column at the right-hand side 2 http://webservices.cs.uni-tuebingen.de 3 http://webservices.cs.uni-tuebingen.de/tool_runner?tool_id=sbmlupload2 31 3 How to get started Figure 3.27: Adjusting preferences in the on-line version. In this example, three models have been uploaded to the Galaxy service and are shown in the history column in the right-hand side of the browser window. You can now choose for which file SBMLsqueezer should generate kinetic equations by altering the selected entry in the combo box at the top of the center column. In the center column, this view offers you all options of the stand-alone version of SBMLsqueezer. of the browser window. You can upload further files if you like, but at least one file is required in order to run SBMLsqueezer. Please note that uploaded models and files will be deleted after the job has been executed and are not accessible to any third-parties, i.e., data security is guaranteed. Second, click on the link “Generate kinetic rate equations” on the left-hand side of the browser window. You should see a view similar to what is displayed in fig. 3.27. Scroll down to see all available options. At the bottom of this page, there is also a descriptive text explaining how to proceed. Each option has descriptive text as well. The on-line version presents all options of the program just as the stand-alone version. You can therefore go back in this tutorial and look-up the meaning of individual options either in section 3.2 on page 12 about the GUI of the stand-alone version or in section 4.3 on page 41 where the command-line options are described. When you scroll down, you can see that this on-line program also offers you to obtain rate laws from SABIO-RK. Just one option group is missing, namely SBML2LATEX. The reason is because the Galaxy framework of the University of Tuebingen provides SBML2LATEX as a separate on-line program (Dräger et al., 2009). When you are happy with the settings, scroll down until you see the “Execute” button. When you hit this button, SBMLsqueezer will create kinetic equations for your model according to your preferences. To this end, a new job will be scheduled that will be displayed in your history. When the job is done, you can obtain the results by first clicking on the link “Generated kinetics for [file name],” which will appear in the history column. You can then click on the disk icon below in order to download the SBML file that contains your results. If you click on the eye icon, the 32 3.9 Using SBMLsqueezer as an on-line program Figure 3.28: Obtaining the results from the on-line version. The history column contains an overview of all files for which kinetic equations have been generated. You can view the details of each file by clicking on the eye icon, or download the file by first clicking on the link in the headline of the respective entry (“Generated kinetics for. . . ”) and then clicking on the disk icon. central column will display a rendered version of your SBML file, which is the view at all Extended HTML (XHTML) notes within your file. 33 4 Advanced program features This chapter discusses how more experienced users can benefit from SBMLsqueezer’s capabilities. In the first two sections we will have a look behind the scenes and explain how you can directly access and use the API of SBMLsqueezer in a programming environment. In the next section we will list and explain all possible command-line options. All program features that have been described in the previous chapter can also be addressed through the command-line and programming interface, making SBMLsqueezer a versatile tool that can be used in diverse, customized applications. 4.1 Using SBMLsqueezer as an equation generator library We will now discuss how to use the API of SBMLsqueezer directly in order to generate kinetic equations as part of more complex operations. This function could already be used in version 1.3 of SBMLsqueezer (see listing A.1). Since then, the API has been greatly modified and improved. We will now discuss important aspects of the new API of SBMLsqueezer and give examples of particularly important use-case scenarios. 4.1.1 Assignment of kinetic equations to all reactions in an SBML file Listing 4.1 gives you an example for a simple application that takes the paths to two SBML files as input and proceeds as follows: 1. It changes the preferences of the program by defining several options. 2. It creates an instance of SBMLsqueezer with type parameter org.sbml.jsbml.Model, i.e., it will use JSBML as its parsing library. 3. By calling the squeeze method, it will then use JSBML to read the first file into an SBMLDocument data structure and generate kinetic equations for all reactions within the document according to the current preferences. 4. The result will be written into the second file, i.e., the original file will remain unchanged unless the two arguments point both to the identical file. The paths in this example can also point to a directory instead of a particular file. If this is the case, SBMLsqueezer will recursively traverse all acceptable SBML files in the given input folder and create a corresponding file with newly created or obtained kinetic equations in the output folder. 34 4.1 Using SBMLsqueezer as an equation generator library 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 /* * * This program takes the absolute paths to an input file and an output * file as arguments , configures several preferences for * { @link SBMLsqueezer } , generates kinetic equations , units , parameters * etc . and saves the result in the given output file in SBML format . * * @param args absolute or relative paths to two SBML files ( in and out ) * @throws Throwable if either user preferences cannot be made * persistent or the creation of rate laws fails . */ public static void main ( String [] args ) throws Throwable { /* * Configure user preferences of SBMLsqueezer */ // General preferences SBPreferences prefs = SBPreferences . getPreferencesFor ( OptionsGeneral . class ) ; prefs . put ( OptionsGeneral . ALL_REACTIONS_AS_ENZYME_CATALYZED , true ) ; prefs . put ( OptionsGeneral . DEFAULT_COMPARTMENT_SIZE , 1 d ) ; prefs . put ( OptionsGeneral . POSSIBLE_ENZYME_RNA , true ) ; prefs . flush () ; // Rate law selection prefs = SBPreferences . getPreferencesFor ( OptionsRateLaws . class ) ; prefs . put ( OptionsRateLaws . KINETICS_REVERSIBLE_UNI_UNI_TYPE , MichaelisMenten . class ) ; prefs . put ( OptionsRateLaws . K IN E TI CS _ RE VE R SI B LE _A R BI T RA RY _ EN Z YM E_ R EA C TI ON S , ConvenienceKinetics . class ) ; prefs . flush () ; 25 26 27 28 29 30 31 32 // Initialize SBMLsqueezer with JSBML as its internal SBML library SBMLsqueezer < Model > squeezer = new SBMLsqueezer < Model >() ; // Create kinetic equations , parameters , units etc . and save the result squeezer . squeeze ( args [0] , args [1]) ; } Listing 4.1: Generating rate laws for all reactions in a model via the API of SBMLsqueezer 2 4.1.2 Adjusting configuration and user preferences While the previous version of SBMLsqueezer stored its preferences in configuration files within the user’s home directory, SBMLsqueezer now makes use of the preferences of your operating system. The keywords for the individual options have been slightly changed, but are still very similar. In general, the names of the command-line options (see section 4.3 on page 41) are very similar to the names of the options that you can use when hacking SBMLsqueezer’s API. Furthermore, the grouping of the preferences is identical to the grouping of options you have in the tabs of the preferences dialog (see ??–3.5 on pages ??–16) and also the groups of command-line options. 35 4 Advanced program features You can therefore read through the command-line options in order to get a description of potential options to be used in the API. The Java™ API documentation, which you can find on-line on the project’s homepage1 , will also be helpful to gain an understanding of available options. The options of SBMLsqueezer are each gathered in specialized interfaces, which all extend the interface KeyProvider. Each option is a constant field variable. If you are using an Integrated Development Environment (IDE), such as Eclipse, an auto-complete function will directly show you which options are provided within a particular sub-class of KeyProvider. Such an IDE will also display the Java documentation to you. You can load the preferences by calling SBPreferences prefs = SBPreferences . getPreferencesFor ( MyOptionsClass . class ) ; Listing 4.2: Loading preferences in SBMLsqueezer 2 Here, MyOptionsClass acts as a placeholder for your actual instance of KeyProvider for which you want to load preferences. SBMLsqueezer gathers its specific options in the following interfaces: org.sbml.squeezer.OptionsGeneral See the command-line options described in section 4.3.3 on page 42. org.sbml.squeezer.io.IOOptions These options are described in section 4.3.2 on page 42. org.sbml.squeezer.kinetics.OptionsRateLaws Corresponds to the command-line arguments in section 4.3.4 on page 46. org.sbml.squeezer.sabiork.SABIORKOptions See the description in section 4.3.5 on page 53. org.sbml.squeezer.sabiork.SABIORKPreferences See section 4.3.6 on page 53. Each option has a specific data type associated with it. You can hence use a call of the put method on your instance of SBPreferences to alter the value for an option. Thereby, the option is used as the key in the preferences object. In the same way, you can also obtain the current value for an option. Just read the documentation about preferences of the standard Java™ distribution2 . The only difference is that SBMLsqueezer uses an extended version of the regular preferences implementation, which allows you to directly store and retrieve more complex data structures besides Strings, such as File or Class objects. In particular, when selecting a specific kind of rate law for a certain type of reaction, SBMLsqueezer expects the class object of that KineticLaw. Note that this is in contrast to version 1.3, which expected the name of the class. 1 http://www.cogsys.cs.uni-tuebingen.de/software/SBMLsqueezer/doc/api/SBMLsqueezer2.0/ 2 http://docs.oracle.com/javase/6/docs/api/java/util/prefs/Preferences.html 36 4.1 Using SBMLsqueezer as an equation generator library 4.1.3 Using SBMLsqueezer with a libSBML back-end Let us now discuss how you can use SBMLsqueezer’s API with a libSBML back-end instead of pure JSBML. To this end, you only have to change the way how you initialize your instance of SBMLsqueezer: SBMLsqueezer < org . sbml . libsbml . Model > squeezer = new SBMLsqueezer < org . sbml . libsbml . Model >( new org . sbml . jsbml . xml . libsbml . LibSBMLReader () , new org . sbml . jsbml . xml . libsbml . LibSBMLWriter () ) ; Listing 4.3: Initializing SBMLsqueezer 2 with a libSBML back-end Everything else of listing 4.1 can be left unchanged. Here, we are initializing SBMLsqueezer based on a libSBML Model data structure. It is important to use the correct reader and writer from the package org.sbml.jsbml.xml.libsbml, and not to confuse these with the LibSBMLReader and LibSBMLWriter from the org.sbml.jsbml.celldesigner.libsbml package in JSBML. Otherwise, your application will not function, because the classes in this package are very basic implementations needed for the interface between JSBML and CellDesigner. Please note that SBMLsqueezer can internally only work with the JSBML data structure. The libSBML back-end is used to parse and write SBML files and also allows for off-line model validation. However, SBMLsqueezer will convert libSBML’s data structure to JSBML and synchronize its changes to the original data structure. When run-time is crucial for your application, this procedure should hence be avoided. 4.1.4 Assignment of specific rate laws to selected reactions Instead of reading and writing entire files or recursively walking through a directory structure, it can also be desirable to perform more customized calls to create rate laws for individual reactions only. To this end, a deeper understanding about the functioning of SBMLsqueezer is required. There are a few particularly important classes for the de-novo creation of kinetic equations, which are all located in the package org.sbml.squeezer: KineticLawGenerator This class contains the actual algorithms to build a rate law and to synchronize changes between models. ParameterFactory Here all (local) parameters are generated. The implementation follows the factory pattern, but it requires an instance of the model for which the parameters are created because of numerous dependencies between objects and IDs. It uses the unit factory (see below) to derive the units of new parameters. This class also annotates all newly created parameter objects with SBO terms. SubmodelController SBMLsqueezer never modifies the original model data structure. Internally, this controller creates a minimal copy of the model, only comprising those reactions with dependent model components (required species, compartments, parameters, units etc.) that 37 4 Advanced program features are needed to work with the currently selected set of reactions. In the GUI, the user can typically select one or all reactions of a model. This class is more powerful, as it could potentially generate a sub-model for an arbitrary set of reactions with all required other components of the model. It hence generates a restricted clone of the model. ReactionType This class determines the base type of a given reaction and contains the algorithms that select appropriate rate laws or the most suitable rate law. It also removes substances from the reaction if these belong to the group of substances from the ignore list (see table 5.1 on page 62). UnitFactory This factory class generates unit definition objects and IDs for unit definitions, which are to be assigned to parameters and numbers in kinetic expressions. With these classes at hand, new kinetic equations can be created for arbitrary reactions. The example in listing 4.1 on page 35 demonstrates how a convenience rate law (Liebermeister and Klipp, 2006) can be assigned to a selected reaction in an SBML file. This type of rate equation can be applied to reversible as well as to irreversible enzyme-catalyzed reactions and has been found to be particularly useful when no specific information about reaction mechanisms is known (Dräger et al., 2007a, 2009; Dräger, 2011). 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 /* * * Reads a given SBML file , creates a convenience rate law for the first * reaction within that file , and stores the result in the second file . * * @param args absolute or relative paths to two SBML files ( in and out ) * @throws Throwable */ public static void main ( String args []) throws Throwable { // Select an SBML reaction object from your SBML document SBMLDocument doc = SBMLReader . read ( new File ( args [0]) ) ; Model model = doc . getModel () ; Reaction reaction = model . getReaction (0) ; // Create and run the kinetic K ineticLawGenerator klg = new // This operates on a copy of klg . createKineticLaw ( reaction , ConvenienceKinetics . class , false , TypeStandardVersion . cat , UnitConsistencyType . amount , 1d); law generator KineticLawGenerator ( model ) ; the model that only contains one reaction // // // // // // the selected reaction the type of rate law to be created whether to set the reaction reversible type parameter for modular rate laws how to ensure unit consistency the value for new parameters // Transfer the rate law from the model copy to the original model klg . storeKineticLaws () ; // Save the result in another file 38 4.2 Querying SABIO-RK and merging the results into a local SBML document 29 30 SBMLWriter . write ( doc , new File ( args [1]) , ’ ’ , ( short ) 2) ; } Listing 4.4: Assignment of a kinetic law to a reaction via the API of SBMLsqueezer 2 4.2 Querying SABIO-RK and merging the results into a local SBML document The command-line mode for the interface to SABIO-RK is implemented in the class ConsoleWizard. This class is located in the package org.sbml.squeezer.sabiork.wizard.console. The following example shows how to query for rate equations in SABIO-RK by using SBMLsqueezer’s API. The search can either comprise all reactions or just the reactions in a model. All search terms that can be applied to the model are listed at the beginning of the source-code example. The KEGG ID of a reaction is automatically added to the search terms (compare section 3.6.1 on page 21). A found kinetic law is added to a reaction if all contained elements can be matched to SBML elements in the model. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 /* * * Reads a given SBMLDocument and runs the console mode . The reactions * are searched by their KEGG term and additional search terms . * * @param args * absolute or relative paths to two SBML files ( input and output ) */ public static void main ( String [] args ) throws Throwable { // The different search terms can be set here ( null means that the term // is not used ) . String pathway = null ; String tissue = null ; String organism = null ; String cellularLocation = null ; Boolean isWildtype = true ; Boolean isMutant = true ; Boolean isRecombinant = false ; Boolean hasKineticData = true ; Double lowerpHValue = 7.9 d ; Double upperpHValue = 14 d ; Double lowerTemperature = -10 d ; Double upperTemperature = 115 d ; Boolean isDirectSubmission = true ; Boolean isJournal = true ; Boolean isE nt ri esI ns er ted Si nc e = false ; String dateSubmitted = " 15/10/2008 " ; boolean o v e r w r i t e E x i s ti n g R a t e L a w s = true ; 39 4 Advanced program features 30 31 32 33 34 // Read the SBMLDocument SBMLDocument doc = SBMLReader . read ( new File ( args [0]) ) ; // Run the console mode SABIORKWizard . getResultConsole ( doc , overwriteExistingRateLaws , pathway , tissue , organism , cellularLocation , isWildtype , isMutant , isRecombinant , hasKineticData , lowerpHValue , upperpHValue , lowerTemperature , upperTemperature , isDirectSubmission , isJournal , isEntriesInsertedSince , dateSubmitted ) ; 35 36 37 38 39 40 41 42 // Save the changed document SBMLWriter . write ( doc , new File ( args [1]) , ’ ’ , ( short ) 2) ; } Listing 4.5: SABIO-RK query for the reactions of a model You can also launch the GUI of the SABIO-RK wizard by using SBMLsqueezer’s API. The following source-code example demonstrates how to do so. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 /* * * Runs the wizard * * @param input the input file * @param output the output file */ public static void runGUI ( final File input , final File output ) { try { UIManager . setLookAndFeel ( UIManager . g e t S y s t e m L o o k A n d F e e l C l a s s N a m e () ) ; } catch ( Exception exc ) { exc . printStackTrace () ; } final JFrame frame = new JFrame ( " SBMLsqueezer " ) ; frame . setLayout ( new BorderLayout () ) ; frame . setMinimumSize ( new Dimension (300 , 300) ) ; JButton buttonWizard = new JButton ( " Open SABIO - RK Wizard " ) ; buttonWizard . addActionListener ( new ActionListener () { @Override public void actionPerformed ( ActionEvent e ) { SBMLDocument result = null ; try { result = SABIORKWizard . getResultGUI ( frame , ModalityType . APPLICATION_MODAL , SBMLReader . read ( input ) , true ) . getSBMLDocument () ; } catch ( XMLStreamException e1 ) { e1 . printStackTrace () ; } catch ( IOException e1 ) { e1 . printStackTrace () ; } try { 40 4.3 Command-line arguments 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 if ( result != null ) { SBMLWriter . write ( result , output , ’ ’ , ( short ) 2) ; } } catch ( SBMLException e1 ) { e1 . printStackTrace () ; } catch ( XMLStreamException e1 ) { e1 . printStackTrace () ; } catch ( IOException e1 ) { e1 . printStackTrace () ; } } }) ; frame . add ( buttonWizard , BorderLayout . NORTH ) ; frame . setVisible ( true ) ; } Listing 4.6: Calling the SABIO-RK wizard 4.3 Command-line arguments All functions of the program SBMLsqueezer are also available as command-line arguments. SBMLsqueezer is therefore fully functional even if you do not use its GUI. This can be useful if you like to generate kinetic equations, units, and parameter objects for a large number of SBML files in a loop or in a more complex schedule. To benefit from this functionality, just open a command line window on your operating system, e.g., execute the cmd.exe in Microsoft Windows or open a terminal window in Unix (incl. Linux and Mac OS X). It should also be noted that the command line options impact the GUI. It is hence possible to use command-line options in order to launch SBMLsqueezer with a pre-defined configuration. However, you should note that if you pass a command-line argument to SBMLsqueezer, it might assume that you intend to use the program in the pure command-line mode and hence will not launch the GUI. In this case, you will need to also pass the command-line option --gui=true or just --gui to the program. 4.3.1 Program usage You can start the application on all operating systems by typing java - jar SBMLsqueezer . jar [ options ] Listing 4.7: Launching SBMLsqueezer from the command-line on your command prompt. Please note that you might have to change SBMLsqueezer.jar for the real name of the JAR file, e.g., SBMLsqueezer v2.0 incl-libs.jar. For future versions of 41 4 Advanced program features SBMLsqueezer the name of the JAR file could also change, because it usually includes the version number. In most cases, SBMLsqueezer needs more than 128 MB memory, so it might be convenient to create a shortcut and start the application with as much memory as available. If you have 2 GB RAM, for example, you might want to start the application with the following command: java - Xms128m - Xmx1400M - jar SBMLsqueezer . jar [ options ] Listing 4.8: Launching SBMLsqueezer from the command-line with increased heap size How much memory you actually need strongly depends on the size of your input datasets. Under Microsoft Windows you might want to type javaw instead of java in order to be able to close the command-line window while the program is running. This feature is particularly useful when writing a batch script to launch SBMLsqueezer with your favorite command-line arguments. Use the following program parameters to lists all available options of SBMLsqueezer: --help or -?. The subsequent sections describe all available options of SBMLsqueezer version 2.0. SBMLsqueezer’s entire user interface (the GUI as well as the command line) is equipped with with language packs for German and English, and partially for Chinese (Mandarin). By default the program checks your system’s configuration and loads the language pack of your operating system. The fallback language is English. You can also purposely choose the language of the user interface by passing the language parameter as an argument to the Java™ Virtual Machine (JVM). To this end use the following launch command java - Xms128m - Xmx1400M - Duser . language = en - jar SBMLsqueezer . jar [ options ] Listing 4.9: Launching SBMLsqueezer with an alternative language pack if you want to launch the program with an English user interface. For German use de, and zh for Chinese. 4.3.2 Input/output options --sbml-in-file[ |=] Specifies the SBML input file. Default value: none --sbml-out-file[ |=] Specifies the file where SBMLsqueezer writes its SBML output. Default value: none --try-loading-libsbml If selected, the application will try to load the library libSBML for reading and writing SBML files, otherwise everything will be done with JSBML only, i.e., pure Java™ and therefore platform independent. Default value: false 4.3.3 Basic configuration With the options introduced in this section, you can specify which assumptions SBMLsqueezer should make when values or information are missing, i.e., if the model is lacking more informa- 42 4.3 Command-line arguments tion than just kinetic equations. You can also specify how to interpret the model and when error messages should be displayed. General Options The behavior of SBMLsqueezer can be specified by the following options, for instance, to decide if error messages should be displayed under certain circumstances. --overwrite-existing-rate-laws[ |=] If this flag is set to true, a new rate law will be created for each reaction irrespective of whether there is already a rate law assigned to this reaction or not. If false, new rate laws are only generated if missing in the SBML file. Note that if this option is checked, already existing kinetic laws will be overwritten. Default value: true --set-boundary-condition-for-genes[ |=] If true, the boundary condition of all species that represent gene-coding elements, such as genes or gene coding regions, will be set to true. Default value: true --all-reactions-as-enzyme-catalyzed[ |=] If true, all reactions within the network are considered to be enzyme-catalyzed reactions. If false, an explicit enzymatic catalyst must be assigned to a reaction to obtain this status. Default value: true --remove-unnecessary-parameters-and-units[ |=] If true, parameters and units that are never referenced by any element of the model are automatically deleted after creating kinetic equations. Default value: true --new-parameters-global If true, all parameters are stored globally for the whole model. Otherwise the majority of parameters is stored locally for the respective kinetic equation they belong to. Note that some parameters represent global properties of the entire model and should therefore be always stored in the global list of parameters. In this way, these parameters are valid within the entire model. Default value: false --warnings-for-too-many-reactants[ |=] If true, warnings will be displayed for reactions with an unrealistic number of reactants. The maximal number of reactants that are believed to be still realistic can be defined if this option is selected. Default value: true --show-sbml-warnings[ |=] If true, SBML warnings are displayed. These warnings are mainly the result of a syntactical model check and do not give much information about the semantic correctness of your model. Since the SBML library performs this check, SBMLsqueezer cannot influence the content of the syntax check. Note that this option only works properly if you use libSBML as your SBML back-end, because JSBML does not provide a full validity check for SBML models. Default value: true 43 4 Advanced program features --read-from-sabio-rk[ |=] This option lets the user choose whether to search for experimentally obtained rate laws in the reaction kinetics database SABIO-RK. Note that performing this search requires an active Internet connection. Default value: true Default values The options in this group allow you to specify several default values to be applied for components of the model. This is done in addition to the actual rate law generation, such as the default compartment size etc., and to define model wide settings to be taken into account when creating rate equations. --max-number-of-reactants[ |=] A simultaneous collision of a high number of reactants just by chance is very unlikely. Usually, these reactions proceed in a sequence of separate steps, each involving only very few molecules. Here you can specify the maximal number of reactants so that the reaction is still considered plausible. Note that this option is only available if you decide that this kind of warning should be displayed. Default value: 3 --default-compartment-spatial-dim[ |=] If no spatial dimensions are defined for a compartment, the value defined by this option will be used as a default. Default value: 3.0 --default-compartment-size[ |=] For compartments that are not yet initialized, SBMLsqueezer will use this value as the default initial size. Default value: 1.0 --default-species-init-val[ |=] If species are not yet initialized, SBMLsqueezer will use this value as initial amount or initial concentration of the species. Which kind of quantity is used, depends on whether the species has only substance units. This means, for species that are to be interpreted in terms of concentration, an initial concentration will be set, whereas an initial amount will be set if the species is to be interpreted in terms of molecule counts. Default value: 1.0 --default-new-parameter-val[ |=] Here you can specify the default value that is set for newly created parameters. Default value: 1.0 --default-species-has-only-substance-units[ |=] This option allows users to specify that the numerical value of a species should be interpreted as a value given in substance units in cases where this has not yet been defined. If not selected, species with undefined meaning will be conceived as a quantity in concentration units. Default value: true --ignore-these-species-when-creating-laws[ |=] This option allows the user to ignore species that are annotated with the given compound IDs when creating rate laws for reactions that involve these species. For instance, water or single protons can often be 44 4.3 Command-line arguments ignored when creating rate equations, hence simplifying the resulting rate equations. Preselected are the KEGG compound IDs for several ions and small molecules, including water and protons. See table 5.1 on page 62 for details. Default value: C00001, C00038, C00070, C00076, C00080, C00175, C00238, C00282, C00291, C01327, C01528, C14818, C14819 Species to be treated as enzymes In many situations, it is not clear, which kinds of chemical species can be considered an enzyme. The following options allow you to select, which kind of species SBMLsqueezer should interprete as an enzyme when acting as a catalytic modifier of a reaction. --possible-enzyme-antisense-rna[ |=] If this is set to true, anti-sense Ribonucleic Acid (RNA) molecules are treated as enzymes when catalyzing a reaction. If false anti-sense RNA molecule catalyzed reactions are not considered to be enzyme-catalyzed reactions. Default value: false --possible-enzyme-complex[ |=] If checked, complex molecules are treated as enzymes when catalyzing a reaction. Otherwise, complex-catalyzed reactions are not considered to be enzyme reactions. Default value: true --possible-enzyme-generic[ |=] If true, generic proteins are treated as enzymes when catalyzing a reaction. Otherwise, generic protein-catalyzed reactions are not considered to be enzyme reactions. Default value: true --possible-enzyme-macromolecule[ |=] If this options is selected, species that are annotated as macromolecules are treated as enzymes when catalyzing a reaction. Otherwise, macromolecule-catalyzed reactions are not considered enzyme reactions. If a modifier of a reaction that is annotated as an enzymatic catalyst refers to a macromolecule but this option is not active, SBMLsqueezer will reduce the modifier to a simple catalyst. Default value: true --possible-enzyme-receptor[ |=] If true, receptors are treated as enzymes when catalyzing a reaction. If false, receptor-catalyzed reactions are not considered to be enzyme reactions. Default value: false --possible-enzyme-rna[ |=] If true, RNA is treated as an enzyme when catalyzing a reaction. Otherwise RNA-catalyzed reactions are not considered to be enzymecatalyzed reactions. Default value: true --possible-enzyme-simple-molecule If true, simple molecules are treated as enzymes when catalyzing a reaction. If false, simple molecule-catalyzed reactions are not considered to be enzyme reactions. Default value: false 45 4 Advanced program features --possible-enzyme-truncated[ |=] If true, truncated proteins are treated as enzymes when catalyzing a reaction. Otherwise, truncated protein-catalyzed reactions are not considered to be enzyme reactions. Default value: true --possible-enzyme-unknown If true, unknown molecules are treated as enzymes when catalyzing a reaction. If false, unknown molecule-catalyzed reactions are not considered to be enzyme reactions. Default value: false How to ensure unit consistency Unit consistency is an important property for kinetic models. In SBML, the kinetics of all reactions should be defined so that these can be evaluated to units of substance per time. Since Level 3, the extend units of a model can be defined. Since then, evaluating reactions should result in extend units per time units. The main difficulty when dealing with units are transport reactions and the ability to specify reactive species in terms of molecule counts (amounts) or concentration units, which is amounts per size. In addition, the sizes of compartments do not necessarily have to be three dimensional. In SBML, the spatial dimensions do not have to be integers either. However, SBMLsqueezer contains several complex algorithms to determine appropriate units for newly generated parameters and to incorporate the sizes of surrounding compartments into the generated rate laws. Here you can specify how to do that. --type-unit-consistency[ |=] This option ensures unit consistency and can attain two different values: Choose amount to bring each occurrence of a participating species to a substance unit. Depending on whether the species has only substance units or not it might be necessary to multiply the species with the size of its surrounding compartment. Choose concentration to bring each participating species to concentration units. In this case the species will be divided by the surrounding compartment size in a kinetic equations if it is defined to have only substance units. The units of parameters are set accordingly. All possible values for type are: amount and concentration. Default value: amount 4.3.4 Rate law selection The options in this group allow you to define the rate laws with highest priority when generating kinetic equations in one single step for an entire network. To this end, SBMLsqueezer defines several basic types of reactions and provides a list of applicable generic equations for each type. Special cases of these equations have to be derived for each individual case, also depending on unit consistency, compartment dimensions etc. The actual selection of a rate law means that you can specify, which class of the program SBMLsqueezer should be used to generate a rate law of this type. You do not need to have deep programming skills for this. All you need to know here is that the the names of the rate laws are a bit more complicated than the actual human-readable names, because you must specify, how SBMLsqueezer internally names these rate laws. For more 46 4.3 Command-line arguments advanced users, it might be interesting to know that SBMLsqueezer uses the concept known as reflection to select its kinetic equations. Furthermore, you can decide how to deal with information about reversible or irreversible reactions. Reversibility These two options are mutually exclusive and their values must not contradict. Use either one of both. --treat-all-reactions-reversible If true, all reactions are set to reversible before creating new kinetic equations. Otherwise, the information given by the SBML file will be left unchanged. Default value: false --treat-reactions-reversible-as-given[ |=] If checked, the information about reversibility will be left unchanged. Default value: true Gene regulation kinetics --kinetics-gene-regulation[ |=] Please specify the default kinetic law to be applied for reactions that are identified to belong to gene-regulatory processes (reactions involving genes, RNA, and proteins), such as transcription or translation. All possible values for type are: • org.sbml.squeezer.kinetics.AdditiveModelLinear (general form linear additive model), • org.sbml.squeezer.kinetics.AdditiveModelNonLinear (general form of the non-linear additive model), • org.sbml.squeezer.kinetics.NetGeneratorLinear (NetGenerator form of the linear additive model), • org.sbml.squeezer.kinetics.HillEquation (generalized Hill equation), • org.sbml.squeezer.kinetics.HillHinzeEquation (Hill-Hinze equation), • org.sbml.squeezer.kinetics.HillRaddeEquation (Hill-Radde equation), • org.sbml.squeezer.kinetics.HSystem (H-system equation by Spieth et al., 2006), • org.sbml.squeezer.kinetics.NetGeneratorNonLinear (NetGenerator form of the non-linear additive model), • org.sbml.squeezer.kinetics.SSystem (S-System-based kinetic), • org.sbml.squeezer.kinetics.Vohradsky (Non-linear additive model by Vu and Vohradský, 2007), and 47 4 Advanced program features • org.sbml.squeezer.kinetics.Weaver (non-linear additive model by Weaver et al., 1999). Default value: org.sbml.squeezer.kinetics.HillHinzeEquation --kinetics-zero-reactants[ |=] Default rate law with zeroth order reactants. All possible values for type are: • org.sbml.squeezer.kinetics.AdditiveModelLinear (general form of the linear additive model), • org.sbml.squeezer.kinetics.AdditiveModelNonLinear (general form of the non-linear additive model), • org.sbml.squeezer.kinetics.HillHinzeEquation (Hill-Hinze equation), • org.sbml.squeezer.kinetics.HillRaddeEquation (Hill-Radde equation), • org.sbml.squeezer.kinetics.HSystem (H-system equation by Spieth et al., 2006), • org.sbml.squeezer.kinetics.NetGeneratorLinear (NetGenerator form of the linear additive model), • org.sbml.squeezer.kinetics.NetGeneratorNonLinear (NetGenerator form of the non-linear additive model), • org.sbml.squeezer.kinetics.SSystem (S-System-based kinetic), • org.sbml.squeezer.kinetics.Vohradsky (Non-linear additive model by Vu and Vohradský, 2007), • org.sbml.squeezer.kinetics.Weaver (non-linear additive model by Weaver et al., 1999), • org.sbml.squeezer.kinetics.ZerothOrderForwardGMAK (zeroth order forward mass action kinetics), and • org.sbml.squeezer.kinetics.ZerothOrderReverseGMAK (zeroth order reverse mass action kinetics). Default value: org.sbml.squeezer.kinetics.ZerothOrderReverseGMAK --kinetics-zero-products[ |=] Default rate law with zeroth order products All possible values for type are: • org.sbml.squeezer.kinetics.AdditiveModelLinear (general form of the linear additive model), • org.sbml.squeezer.kinetics.AdditiveModelNonLinear (general form of the non-linear additive model), • org.sbml.squeezer.kinetics.HillHinzeEquation (Hill-Hinze equation), • org.sbml.squeezer.kinetics.HillRaddeEquation (Hill-Radde equation), 48 4.3 Command-line arguments • org.sbml.squeezer.kinetics.HSystem (Hill-Radde equation), • org.sbml.squeezer.kinetics.NetGeneratorLinear (NetGenerator form of the linear additive model), • org.sbml.squeezer.kinetics.NetGeneratorNonLinear (NetGenerator form of the non-linear additive model), • org.sbml.squeezer.kinetics.SSystem (S-System-based kinetic), • org.sbml.squeezer.kinetics.Vohradsky (Non-linear additive model by Vu and Vohradský, 2007), • org.sbml.squeezer.kinetics.Weaver (non-linear additive model by Weaver et al., 1999), • org.sbml.squeezer.kinetics.ZerothOrderForwardGMAK (zeroth order forward mass action kinetics), and • org.sbml.squeezer.kinetics.ZerothOrderReverseGMAK (zeroth order reverse mass action kinetics). Default value: org.sbml.squeezer.kinetics.ZerothOrderReverseGMAK Reversible rate laws --type-standard-version[ |=] This option declares the version of the modular rate laws and can attain the three different values cat, hal, and weg as described in the publication of Liebermeister et al. (2010). This option can only be accessed if all reactions are modeled reversibly. All possible values for type are: cat, hal, and weg. Default value: cat --kinetics-reversible-non-enzyme-reactions[ |=] Determines the key for the standard kinetic law to be applied for reactions that are catalyzed by non-enzymes or that are not catalyzed at all. The value may be any rate law that implements InterfaceNonEnzymeKinetics All possible values for type are: • org.sbml.squeezer.kinetics.GeneralizedMassAction (the generalized massaction rate law), • org.sbml.squeezer.kinetics.ZerothOrderForwardGMAK (zeroth order forward mass action kinetics), and • org.sbml.squeezer.kinetics.ZerothOrderReverseGMAK (zeroth order reverse mass action kinetics). Default value: org.sbml.squeezer.kinetics.GeneralizedMassAction --kinetics-reversible-uni-uni-type[ |=] This key defines the default kinetic law to be applied to enzyme-catalyzed reactions with one reactant and one product. All possible values for type are: 49 4 Advanced program features • org.sbml.squeezer.kinetics.CommonModularRateLaw (CM: the common modular rate law), • org.sbml.squeezer.kinetics.ConvenienceKinetics (convenience kinetics), • org.sbml.squeezer.kinetics.DirectBindingModularRateLaw (DM: the direct binding modular rate law), • org.sbml.squeezer.kinetics.ForceDependentModularRateLaw (FM: the forcedependent modular rate law), • org.sbml.squeezer.kinetics.HillEquation (generalized Hill equation), • org.sbml.squeezer.kinetics.MichaelisMenten (Michaelis-Menten), • org.sbml.squeezer.kinetics.PowerLawModularRateLaw (PM: the power-law modular rate law), and • org.sbml.squeezer.kinetics.SimultaneousBindingModularRateLaw (SM: the simultaneous binding modular rate law). Default value: org.sbml.squeezer.kinetics.MichaelisMenten --kinetics-reversible-bi-uni-type[ |=] Choose the type of the default kinetic law for reversible bi-uni reactions (two reactants, one product). All possible values for type are: • org.sbml.squeezer.kinetics.CommonModularRateLaw (CM: the common modular rate law), • org.sbml.squeezer.kinetics.ConvenienceKinetics (convenience kinetics), • org.sbml.squeezer.kinetics.DirectBindingModularRateLaw (DM: the direct binding modular rate law), • org.sbml.squeezer.kinetics.ForceDependentModularRateLaw (FM: the forcedependent modular rate law), • org.sbml.squeezer.kinetics.OrderedMechanism (ordered mechanism), • org.sbml.squeezer.kinetics.PowerLawModularRateLaw (PM: the power-law modular rate law), • org.sbml.squeezer.kinetics.RandomOrderMechanism (random order mechanism), and • org.sbml.squeezer.kinetics.SimultaneousBindingModularRateLaw (SM: the simultaneous binding modular rate law). Default value: org.sbml.squeezer.kinetics.RandomOrderMechanism --kinetics-reversible-bi-bi-type[ |=] Select the type of the default kinetic law for reversible bi-bi reactions (two reactants, two products). All possible values for type are: 50 4.3 Command-line arguments • org.sbml.squeezer.kinetics.CommonModularRateLaw (CM: the common modular rate law), • org.sbml.squeezer.kinetics.ConvenienceKinetics (convenience kinetics), • org.sbml.squeezer.kinetics.DirectBindingModularRateLaw (DM: the direct binding modular rate law), • org.sbml.squeezer.kinetics.ForceDependentModularRateLaw (FM: the forcedependent modular rate law), • org.sbml.squeezer.kinetics.OrderedMechanism (ordered mechanism), • org.sbml.squeezer.kinetics.PingPongMechanism (Ping-Pong mechanism), • org.sbml.squeezer.kinetics.PowerLawModularRateLaw (PM: the power-law modular rate law), • org.sbml.squeezer.kinetics.RandomOrderMechanism (random order mechanism), and • org.sbml.squeezer.kinetics.SimultaneousBindingModularRateLaw (SM: the simultaneous binding modular rate law). Default value: org.sbml.squeezer.kinetics.RandomOrderMechanism --kinetics-reversible-arbitrary-enzyme-reactions[ |=] Arbitrary reversible enzyme reactions. All possible values for type are: • org.sbml.squeezer.kinetics.CommonModularRateLaw (common modular rate law, CM), • org.sbml.squeezer.kinetics.ConvenienceKinetics (convenience kinetics), • org.sbml.squeezer.kinetics.DirectBindingModularRateLaw (direct binding modular rate law, DM), • org.sbml.squeezer.kinetics.ForceDependentModularRateLaw (force-dependent modular rate law, FM), • org.sbml.squeezer.kinetics.PowerLawModularRateLaw (power-law modular rate law, PM), and • org.sbml.squeezer.kinetics.SimultaneousBindingModularRateLaw (simultaneous binding modular rate law, SM). Default value: org.sbml.squeezer.kinetics.CommonModularRateLaw Irreversible rate laws --kinetics-irreversible-non-enzyme-reactions[ |=] Determines the key for the standard kinetic law to be applied for reactions that are catalyzed by non-enzymes or that 51 4 Advanced program features are not catalyzed at all. The value may be any rate law that implements the interface org.sbml.squeezer.kinetics.InterfaceNonEnzymeKinetics All possible values for type are: • org.sbml.squeezer.kinetics.GeneralizedMassAction (the generalized massaction rate law), • org.sbml.squeezer.kinetics.ZerothOrderForwardGMAK (zeroth order forward mass action kinetics), and • org.sbml.squeezer.kinetics.ZerothOrderReverseGMAK (zeroth order reverse mass action kinetics). Default value: org.sbml.squeezer.kinetics.GeneralizedMassAction --kinetics-irreversible-uni-uni-type[ |=] This key defines the default kinetic law to be applied to enzyme-catalyzed reactions with one reactant and one product. All possible values for type are: • org.sbml.squeezer.kinetics.ConvenienceKinetics (convenience kinetics), • org.sbml.squeezer.kinetics.IrrevCompetNonCooperativeEnzymes (the irreversible non-exclusive non-cooperative competitive inihibition), • org.sbml.squeezer.kinetics.IrrevNonModulatedNonInteractingEnzymes (a rate law for irreversible non-modulated non-interacting reactant enzymes), • org.sbml.squeezer.kinetics.HillEquation (generalized Hill equation), and • org.sbml.squeezer.kinetics.MichaelisMenten (Michaelis-Menten). Default value: org.sbml.squeezer.kinetics.MichaelisMenten --kinetics-irreversible-bi-uni-type[ |=] Choose the type of the default kinetic law for irreversible bi-uni reactions (two reactants, one product). All possible values for type are: • org.sbml.squeezer.kinetics.ConvenienceKinetics (convenience kinetics), • org.sbml.squeezer.kinetics.IrrevNonModulatedNonInteractingEnzymes (a rate law for irreversible non-modulated non-interacting reactant enzymes), • org.sbml.squeezer.kinetics.OrderedMechanism (the ordered mechanism), and • org.sbml.squeezer.kinetics.RandomOrderMechanism (the random order mechanism). Default value: org.sbml.squeezer.kinetics.RandomOrderMechanism --kinetics-irreversible-bi-bi-type[ |=] Select the type of the default kinetic law for irreversible bi-bi reactions (two reactants, two products). All possible values for type are: 52 4.3 Command-line arguments • org.sbml.squeezer.kinetics.ConvenienceKinetics (convenience kinetics), • org.sbml.squeezer.kinetics.IrrevNonModulatedNonInteractingEnzymes (a rate law for irreversible non-modulated non-interacting reactant enzymes), • org.sbml.squeezer.kinetics.OrderedMechanism (ordered mechanism), • org.sbml.squeezer.kinetics.PingPongMechanism (Ping-Pong mechanism), and • org.sbml.squeezer.kinetics.RandomOrderMechanism (random order mechanism). Default value: org.sbml.squeezer.kinetics.RandomOrderMechanism --kinetics-irreversible-arbitrary-enzyme-reactions[ |=] Arbitrary irreversible enzyme reactions All possible values for type are: • org.sbml.squeezer.kinetics.ConvenienceKinetics (convenience kinetics) and • org.sbml.squeezer.kinetics.IrrevNonModulatedNonInteractingEnzymes (a rate law for irreversible non-modulated non-interacting reactant enzymes). Default value: org.sbml.squeezer.kinetics.IrrevNonModulatedNonInteractingEnzymes 4.3.5 SABIO-RK search options For querying the content of the SABIO-RK database for experimentally determined kinetic equations, SBMLsqueezer provides a large set of options in order to customize your search. General options With these options you can define key options to restrict the results of your search for reaction kinetics in SABIO-RK. --pathway[ |=] Define the pathway for which the kinetics are to be determined. --tissue[ |=] Define the tissue for which the kinetics are to be determined. --cellular-location[ |=] Define the cellular location for which the kinetics are to be determined. --organism[ |=] Define the organism for which the kinetics are to be determined. 4.3.6 SABIO-RK search preferences General properties --is-wildtype[ |=] Search for wildtype kinetics. Default value: true --is-mutant[ |=] Search for kinetics of mutants. Default value: true 53 4 Advanced program features --is-recombinant Search for kinetics of recombinant organisms. Default value: false --has-kinetic-data[ |=] Search for entries containing kinetic data. Default value: true --is-direct-submission[ |=] Search for entries directly submitted. Default value: true --is-journal[ |=] Search for entries referring to journal publications. Default value: true --is-entries-inserted-since Consider only entries inserted after the specified date. Default value: false Temperature --lowest-temperature-value[ |=] The lowest possible temperature for entries (in °C). Arguments must fit into the range [-271.15, 1000]. Default value: -10.0 --highest-temperature-value[ |=] The highest possible temperature for entries (in °C). Arguments must fit into the range [-271.15, 1000]. Default value: 115.0 Range of pH values --lowest-ph-value[ |=] The lowest possible pH value for entries. Arguments must fit into the range [0, 14]. Default value: 0.0 --highest-ph-value[ |=] The highest possible pH value for entries. Arguments must fit into the range [0, 14]. Default value: 14.0 Date --lowest-date[ |=] Define the earliest acceptable date when the entries have been inserted into SABIO-RK. Default value: Wed Oct 15 00:00:00 PDT 2008 4.3.7 Options for the Graphical User Interface The options in this group allow you to influence the behavior of the GUI. This means that you can directly launch SBMLsqueezer with your preferred configuration. --check-for-updates[ |=] Decide whether or not this program should search for updates at start-up. Default value: true --gui If this option is given, the program will display its GUI. Default value: false 54 4.3 Command-line arguments --log-level[ |=] Change the log-level of this application. This option will influence how fine-grained error and other log messages will be that you receive while executing this program. Log messages whose level exceeds the given threshold will also be displayed in the status bar of the GUI. All possible values for type are: • ALL: all log messages will be displayed, • CONFIG: those log messages related to configuration of the program and less finegrained will be displayed, • FINE: displays simple debugging messages and less fine-grained messages, • FINER: the messages that will be displayed are already relevant for more extensive debugging purposes and less fine-grained messages, • FINEST: information relevant for intensive debugging the program and less fine-grained will be displayed, • INFO: information messages and less fine-grained messages, such as warning messages, will be displayed, • OFF: no log messages will be displayed at all, • SEVERE: only serious error messages will be displayed, and • WARNING: only warnings and serious error messages will be displayed. Default value: INFO 4.3.8 LATEX options The program SBMLsqueezer brings with it a full version of the latest development release of SBML2 LATEX. Hence, all options provided by this report generator for SBML models can also be applied to SBMLsqueezer. For more information, see the project web site of SBML2LATEX3 and the corresponding publication (Dräger et al., 2009). LATEX compiler location --load-latex-compiler[ |=] The path to the LATEX compiler to generate PDF, DVI or other files from the created LATEX report file. Accepts all files (*). Default value: Report options --check-consistency If true, the automatic model consistency check is performed and the results are written in the appendix of the model report file. Note that this might require an active Internet connection. Default value: false 3 http://www.cogsys.cs.uni-tuebingen.de/software/SBML2LaTeX/ 55 4 Advanced program features --miriam-annotation[ |=] If true, MIRIAM annotations are included into the model report if there are any. In this case, SBML2LATEX generates links to the resources for each annotated element. Default value: true --show-predefined-units[ |=] If true, all the predefined unit declarations of the model are made explicit in the report file as these are defined by the corresponding SBML Level and Version. Otherwise only unit definitions from the model are included. Note that this option is only available if the option --include-section-unit-definitions is active. Default value: true --print-full-ode-system If set to true, the entire rate of change will be written for each species. By default, SBML2LATEX only prints the sum of the individual reaction rates, which are hyper-linked but displayed at a different position of the report. Note that this option is only available if the option --include-section-reactions is active. Default value: false --clean-workspace If this option is set to true, all temporary files will be deleted after running SBML2LATEX. In case of PDF creation, for instance, this will cause even the TEX file to be deleted. However, this option can be meaningful to remove all the temporary files created by your system’s LATEX compiler. Default value: false Layout options --landscape This option decides whether to set the LATEX document in landscape or portrait mode. By default most pages are in portrait format. Default value: false --print-names-if-available If selected, the names of SBML elements (NamedSBase) are displayed instead of their IDs. This can only be done if the element has a name. Default value: false --title-page If true, a separate title page will be created. By default the title is written as a simple heading on the first page. Default value: false --typewriter[ |=] This option decides whether a typewriter font should be applied to highlight SBML IDs. This is particularly important when these occur in mathematical equations. Default value: true --reactants-overview-table If true, the details (ID and name) of all reactants, modifiers and products participating in a reaction are listed in one table. By default a separate table is created for each one of the three participant groups including its SBO term. Note that this option is only available if the option --include-section-reactions is active. Default value: false 56 4.3 Command-line arguments Typographical options --font-headings[ |=] Allows to select the font of captions and other (by default sans serif) text. All possible values for type are: • avant (sample in Avant Garde), • cmss (sample in Computer Modern Sans Serif), and • helvetica (sample in Helvetica). Default value: helvetica --font-size[ |=] This option allows you to select the size of the standard text font. Headings appear with a larger font. All possible values for type are: 8, 9, 10, 11, 12, 14, and 17. Default value: 11 --font-text[ |=] Allows to select the font of continuous text. Choosing times is actually not recommended because in some cases equations might not look as nicely as they do when using mathptmx. All possible values for type are: • chancery (sample in Chancery), • charter (sample in Charter), • cmr (sample in Computer Modern Roman), • mathptmx (sample in Times for math), • palatino (sample in Palatino), • times (sample in Times), and • utopia (sample in Utopia). Default value: mathptmx --font-typewriter[ |=] Select a typewriter font that can be used for IDs if option ’TYPEWRITER’ is selected. URLs and other resources are also marked with this font. All possible values for type are: • cmt (sample in Computer Modern Typewriter) and • courier (sample in Courier). Default value: cmt --paper-size[ |=] The paper size for LATEX documents. With this option the paper format can be influenced. Default paper size: DIN A4. All sizes a?, b?, c? and d? are European DIN sizes. Letter, legal and executive are US paper formats. All possible values for type are: letter, legal, executive, a0, a1, a2, a3, a4, a5, a6, a7, a8, a9, b0, b1, b2, b3, b4, b5, b6, b7, b8, b9, c0, c1, c2, c3, c4, c5, c6, c7, c8, c9, d0, d1, d2, d3, d4, d5, d6, d7, d8, and d9. Default value: letter 57 4 Advanced program features Content of the report --include-section-compartment-types[ |=] This option decides whether or not a section about compartment types should be included in the resulting model report. Note that this option only causes an effect if the model contains compartment type declarations. Default value: true --include-section-compartments[ |=] This option decides whether or not a section about compartments should be included in the resulting model report. Note that this option only causes an effect if the model contains compartment declarations. Default value: true --include-section-constraints[ |=] This option decides whether or not a section about constraints should be included in the resulting model report. Note that this option only causes an effect if the model contains constraint declarations. Default value: true --include-section-events[ |=] This option decides whether or not a section about events should be included in the resulting model report. Note that this option only causes an effect if the model contains event declarations. Default value: true --include-section-function-definitions[ |=] This option decides whether or not a section about function definitions should be included in the resulting model report. Note that this option only causes an effect if the model declares any function definitions. Default value: true --include-section-initial-assignments[ |=] This option decides whether or not a section about initial assignments should be included in the resulting model report. Note that this option only causes an effect if the model declares any initial assignments. Default value: true --include-section-parameters[ |=] This option decides whether or not a section about parameters should be included in the resulting model report. Note that this option only causes an effect if the model declares any parameters. Default value: true --include-section-reactions[ |=] This option decides whether or not a section about reactions should be included in the resulting model report. Note that this option only causes an effect if the model declares any reactions. Furthermore, this option also decides if a summary of the differential equation system that is implied by the given model should be generated. Again, this will only cause an effect if the model contains any species. Default value: true --include-section-rules[ |=] This option decides whether or not a section about rules should be included in the resulting model report. Note that this option only causes an effect if the model declares any rules, no matter if these are of algebraic, assignment or rate rule type. Default value: true 58 4.3 Command-line arguments --include-section-species[ |=] This option decides whether or not a section about the species in the given model should be included in the resulting model report. Note that this option only causes an effect if the model declares any species. Default value: true --include-section-species-types[ |=] If this option is selected, a section about species types will occur in the model report. Otherwise, this section will be excluded from the report. Default value: true --include-section-unit-definitions[ |=] This option decides whether or not a section about the unit definitions of the given model should be included in the resulting model report. Note that this option only causes an effect if the model declares any unit definitions. However, in some level/version combinations SBML models contain predefined unit definitions which might be included in the model report if this option is active. Default value: true Additional options --include-section-layouts[ |=] Include a section with images of model layouts if these are available. Default value: true 4.3.9 Garuda options Garuda is a software framework that allows multiple applications (gadgets) to communicate with each other by sharing data files. In addition, you can launch an application from Garuda, query for tools with specific aims and much more. Since version 2.0, SBMLsqueezer can also be used as a gadget in Garuda. --connect-to-garuda[ |=] Decides whether or not the current application should attempt to connect to the Garuda Core. Default value: true 59 5 Supported rate laws The kinds of equations supported by the program are numerous, including traditional approaches (Guldberg and Waage, 1879; Michaelis and Menten, 1913) just like very recent equations (Liebermeister and Klipp, 2006; Liebermeister et al., 2010). It provides equations for gene-regulatory processes (Hinze et al., 2007; Radde and Kaderali, 2007; Töpfer et al., 2007; Vu and Vohradský, 2007; Weaver et al., 1999) and approximative rate laws (Savageau, 1969). In addition, SBMLsqueezer covers a large variety of standard rate laws for biochemical reactions from relevant text books (Segel, 1993; Heinrich and Schuster, 1996; Bisswanger, 2000; Cornish-Bowden, 2004). Here, we give a short overview of all equations that are currently implemented in SBMLsqueezer, ordered by the categories metabolic or gene-regulatory. For a detailed description of all rate laws, see the PhD thesis of Dräger, 2011. However, the actual algorithm that suggests applicable rate laws is more complex and considers several features of the reaction. It can therefore happen that SBMLsqueezer suggests multiple different rate equations for the same reaction. 5.0.10 Rate laws for metabolic processes • (Generalized) mass-action rate law with numerous orders (Guldberg and Waage, 1879; Heinrich and Schuster, 1996, p. 16), a rate law that has also been shown to be useful as an approximation for more complex mechanisms (Dräger et al., 2007b, 2009) • Uni-uni Michaelis-Menten kinetics (Michaelis and Menten, 1913) • Irreversible non-modulated non-interacting reactant enzymes (see SBO) • Bi-uni enzyme mechanisms (Segel, 1993; Bisswanger, 2000; Cornish-Bowden, 2004) – Random-order mechanism – Ordered mechanism • Bi-bi enzyme reactions (Segel, 1993; Bisswanger, 2000; Cornish-Bowden, 2004) – Random-order mechanism (Cornish-Bowden, 2004, p. 169) – Ordered mechanism – Ping-pong mechanism • Modular rate laws for enzymati reactions (Liebermeister et al., 2010) – Power-law modular rate law (PM) 60 – Common modular rate law (CM) – Direct binding modular rate law (DM) – Simultaneous binding modular rate law (SM) – Force-dependent modular rate law (FM) • Convenience kinetics (Liebermeister and Klipp, 2006) – Thermodynamically dependent form – Thermodynamically independent form • (Generalized) Hill equation (Hill, 1910; Cornish-Bowden, 2004, p. 314) 5.0.11 Rate laws for gene-regulatory processes • Hill-Hinze equation (Hinze et al., 2007) • Hill-Radde equation (Radde and Kaderali, 2007; Radde, 2007) • Linear additive network models – General form – NetGenerator form (Töpfer et al., 2007) • Non-linear additive network models – General form – NetGenerator form (Töpfer et al., 2007) – Vohradský’s equation (Vu and Vohradský, 2007) – Weaver’s equation (Weaver et al., 1999) • S-systems (Savageau, 1969; Spieth et al., 2004; Tournier, 2005; Spieth et al., 2006; Hecker et al., 2009) • H-systems (Spieth et al., 2006) 61 5 Supported rate laws Table 5.1: KEGG IDs of small molecules and ions. This table gives the default list of all small molecules and ions that are ignored by SBMLsqueezer when creating kinetic equations. This list was created according to Blum (2009). 62 Chemical formula Common name KEGG ID H2 O Zn2+ Cu2+ Ca2+ H+ Co2+ K+ H2 Ni2+ Cl– HCl H2 Se Fe2+ Fe3+ Water Zinc ion Copper ion Calcium ion Proton Cobalt ion Potassium ion Hydrogen Nickel ion Chloride ion Hydrochloric acid Hydrogen selenide Iron II ion Iron III ion C00001 C00038 C00070 C00076 C00080 C00175 C00238 C00282 C00291 C00698 C01327 C01528 C14818 C14819 6 FAQ and troubleshooting Where can I get help for a certain component, option, check-box etc.? Most elements in SBMLsqueezer have tool-tips. If you do not understand an option, you can get help in the first place by just pointing the mouse cursor over it and wait for the tool-tip to show up (∼3 seconds). I’m getting a “java.lang.OutOfMemoryError: Java heap space” Some operations need a lot of memory. If you simply start SBMLsqueezer, without any Java™ Virtual Machine (JVM) parameters, only 64 MB of memory are available. Please append the argument -Xmx1024M to start the application with 1 GB of main memory. See section 4.3.1 on page 41 for a more detailed description of how to start the application with additional memory. If possible, you should give the application 2 GB of main memory. A minimum of 1 GB main memory should be available to the application. Is an Internet connection required to run SBMLsqueezer? The vast majority of SBMLsqueezer’s functions run in off-line mode. Features that require an active Internet connection are the on-line check for updates, the extraction of rate laws from the on-line database SABIO-RK, and following external links within on-line help. Where can I obtain the latest version? Go to http://www.cogsys.cs.uni-tuebingen.de/software/SBMLsqueezer/. Which Java™ version must be installed on my computer to launch SBMLsqueezer? SBMLsqueezer requires at least Java™ 1.6. Please see http://www.java.com/de/download/ to download the latest Java™ version. Why does SBMLsqueezer not start on my Mac with Mac OS X prior to 10.6 Update 3? If you try to launch SBMLsqueezer, but the application does not start and you receive the following error message on the command-line or Java™ console of your Mac, you need to update your Java™ installation: Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: com/apple/eawt/AboutHandler at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:703) ... 63 6 FAQ and troubleshooting The interface com.apple.eawt.AboutHandler was introduced to Java™ for Mac OS X 10.6 Update 3. If you have an earlier version of Mac OS X or Java™, please update your OS or Java™ installation. Also see the Mac OS X documentation about the AboutHandler for more information. On a Mac, you can update your Java™ installation through the Software Update menu item in the main Apple menu. How can I report bugs or get help? Please contact the mailing list using the e-mail address ) sbmlsqueezer@googlegroups.com. 64 7 License SBMLsqueezer is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose. See the GNU General Public License for more details. Each distributed version of SBMLsqueezer should contain a copy of the GNU General Public License. If not, please see http://www.gnu.org/licenses/. 65 8 Acknowledgments This work has been funded by a Marie Curie International Outgoing Fellowship awarded to Andreas Dräger within the EU 7th Framework Program for Research and Technological Development (project AMBiCon, 332020) and by the Federal Ministry of Education and Research (BMBF, Germany) in the projects Virtual Liver Network (project number 0315756), National Genome Research Network (NGFN-Plus, project number 01GS08134), and Spher4Sys (grant number 0315384C). 8.1 Core developers The following people implemented wide parts of SBMLsqueezer: • Andreas Dräger, University of California, San Diego, La Jolla, California, USA and University of Tuebingen, Germany andraeger@eng.ucsd.edu • Roland Keller, University of Tuebingen, Germany roland.keller@uni-tuebingen.de • Johannes Eichner, University of Tuebingen, Germany johannes.eichner@uni-tuebingen.de 8.2 Principal Investigators • Bernhard Ø. Palsson, University of California, San Diego, La Jolla, California, USA palsson@ucsd.edu • Andreas Zell, University of Tuebingen, Germany andreas.zell@uni-tuebingen.de 8.3 Alumni During the years, many people contributed to this project. We are grateful to each contribution, such as source code, advice, proof reading and much more. In particular, we like to thank our former scientific advisors, colleagues, and students, who are here listed all together in alphabetical order: Meike Aichele, Hannes Borch, Alexander Dörr, Nadine Hassis, Marcel Kronfeld, Oliver Kohlbacher, Sarah Rachel Müller vom Hagen, Sebastian Nagel, Leif J. Pallesen, Alexander Peltzer, Julianus Pfeuffer, Matthias Rall, Sandra Saliger, Simon Schäfer, Adrian Schröder, Jochen Supper, Dieudonné M. Wouamba, Michael J. Ziller We also thank Shaowu Yang for providing the Chinese language pack for this program. 66 8.4 Collaborators and partners 8.4 Collaborators and partners The authors are grateful to the SABIO-RK team, in particular Martin Golebiewski and Wolfgang Müller from the Heidelberg Insitute of Technology (HITS). 67 Appendix A Release Notes This chapter gives a brief overview of the main user-visible changes of SBMLsqueezer since its first release. As such, this chapter gives you an historic overview about the development of SBMLsqueezer as a large software project. A.1 Version 1.0 Release date: April 28th 2008. This is the initial release of the software that has been made available as a supplement to the original publication from in 2008. All features of this version are therefore described in the corresponding publication Dräger et al. (2008). A.2 Version 1.1 Release date: February 9th 2009. A.2.1 New features 4 SBMLsqueezer now allows you to specify whether new parameters should be stored locally (only valid within the respective kinetic law) or globally (valid for the whole model). Both, the main window and the context menu contain switches to make this decision. Please note that the kG parameters of the thermodynamically independent convenience kinetics are always stored globally because these do not belong to a specific reaction but to a specific reacting species. 4 The context menu of SBMLsqueezer now also shows already existing kinetic equations and renders their formula. The name of the kinetic equation created by SBMLsqueezer is now written to the notes element of the newly created kinetic law. 4 The LATEX export function was improved: • Several choices allow for a customization of the output. • The context menu also allows you to export a LaTeX file for a specific kinetic equation. 68 A.3 Version 1.2 • It now includes HTML2LATEX that converts notes elements from XHTML to LATEX. Therefore, SBMLsqueezer also includes your notes in its model report. 4 SBMLsqueezer version 1.1 is distributed under the terms of the GNU General Public License (GPL). Please note that SBMLsqueezer’s LATEX export function is, however, still not comprehensive. For a fully-featured model report generator, we strongly recommend to have a look on our latest project: SBML2LATEX on http://webservices.cs.uni-tuebingen.de and http://www.cogsys.cs. uni-tuebingen.de/software/SBML2LaTeX. A.2.2 Bug fixes 6 In some cases SBMLsqueezer’s context menu did not offer the full list of available and applicable kinetic equations for certain reactions. 6 If the number of products was higher than the number of reactants a null pointer exception was thrown in the thermodynamically independent form of the convenience kinetics due to an incorrect access to the list of products of a reaction. 6 In the thermodynamically independent convenience kinetics the root function was called with only one argument. This is actually not incorrect but earlier versions of libSBML are unable to interpret such an implicit square root and require a 2 as the second argument. 6 In the thermodynamically independent convenience kinetics the exponent of the anabolic term and the catabolic term were incorrect if the stoichiometry was not equal to one. In this case, a division of the exponent by two was missing. 6 In the mass action kinetics a copy and paste error in the source code lead to incorrect prefactors for activation and inhibition if both effects were assigned to the same reaction. Instead of receiving one activation function and one inhibition function there was the same activation twice. 6 For several reasons null pointer exceptions could occur when trying to create LATEX code from a model. A.3 Version 1.2 Release date: July 31st 2009. 69 Appendix A Release Notes A.3.1 New features 4 SBMLsqueezer now automatically checks for updates. If a newer version of SBMLsqueezer is available on-line, the user is notified by a message window in the bottom right corner of the screen. Furthermore, the release notes of the most recent SBMLsqueezer version are shown to the user by clicking on show release notes . 4 In contrast to previous versions, SBMLsqueezer now indicates if a model already contains rate equations for all reactions or no reactions at all. In earlier versions SBMLsqueezer did not overwrite existing kinetic equations and did also not state why. 4 SBMLsqueezer’s complete internal data structure was improved: It has become much more efficient and simpler. A.3.2 Improved Adaptation of SBMLsqueezer to CellDesigner 4.0.1 Due to the changes in CellDesigner, SBMLsqueezer only offered zeroth order mass action kinetics as available option to model transcription and translation processes. The reason for this was that the arrows for transcriptional/translational activation disappeared. These effects have now to be covered by trigger and physical stimulation. Unfortunately, CellDesigner maps the old arrows for transcriptional/translational activation to catalysis instead of “trigger”. Therefore, we also have to cover the case of having a transcription or translation “catalyzed” by some stimulator. This has now been implemented and SBMLsqueezer therefore offers several kinetic rate equations for both processes. The same holds true for the “batch” mode of SBMLsqueezer: besides transcriptional/translational activators also all kinds of catalysts and activators/inhibitors are accepted for the Hill equation. We now apply the inhibition pre-factor from convenience kinetics also to reversible MichaelisMenten kinetics with multiple inhibitors. In cases where the formulas of Michaelis-Menten and convenience kinetics are equal, only one of both is offered to the user: • For reversible or irreversible uni-uni reactions without inhibition or activation only the Michaelis-Menten equation is selectable and • in the case of reversible uni-uni reactions with multiple inhibitors only convenience kinetics can be applied. • However, if the stoichiometric matrix of the reaction system does not have a full column rank, the thermodynamically independent form of the convenience kinetics can be selected as an alternative to the Michaelis-Menten equation. Additionally, the activation pre-factor is now also applied for the mixed-type inhibition of irreversible enzymes by mutually exclusive inhibitors (SBO:0000275) if activators are assigned to the reaction. 70 A.4 Version 1.2.1 The new Systems Biology Graphical Notation (SBGN) representation of transcription and translation uses the trigger symbol (for the gene or the RNA molecule, depending on the process) and a reaction from some source to RNA or from some source to a protein (Le Novère et al., 2009). SBMLsqueezer did in these cases not suggest the Hill equation as a possible rate law because it still required the translation/transcription arrows that are going to be deprecated. Since this version, SBMLsqueezer also produces the identical form of the Hill equation for the old style of transcription/translation reaction and the new SBGN-compliant form. A.3.3 Bug fixes 6 Local parameters could not be removed completely if not necessary (this happened only in SBMLsqueezer version 1.1 because SBMLsqueezer version 1.0 did not create or delete local parameters at all). 6 In Michaelis-Menten kinetics activators were multiplied incorrectly (only in the preview, not in the equation itself) 6 The help browser could not be started in SBMLsqueezer version 1.1 because of a null pointer exception (an image could not be loaded correctly). 6 Problems of the “batch mode”: • In some cases SBMLsqueezer did not show the correct SBO numbers (for “Hill equation” and “Henri-Michaelis-Menten equation”). • In the kinetics summary table SBMLsqueezer did not list the kG parameters of the thermodynamically independent convenience kinetics in the column “parameters”. • Sometimes there was a problem with the equation preview. A.4 Version 1.2.1 Release date: August 7th 2009. A.4.1 New features 4 In the context menu, SBMLsqueezer now remembers the rate law when switching the reaction from reversible to irreversible and automatically selects the corresponding equation if available. A.4.2 Bug fixes 6 In the Hill equation instead of inhibitors SBMLsqueezer accessed the list of activators to create an inhibition term (only in SBMLsqueezer 1.2). 71 Appendix A Release Notes 6 When trying to remove unnecessary parameters from the model, SBMLsqueezer 1.2 deleted parameters, whose IDs contain upper case letters, no matter if these occur in kinetic equations because of an incorrect String comparison. 6 The thermodynamically independent convenience kinetics was not created correctly in SBMLsqueezer 1.2: the integer one was subtracted in the denominator in cases where this was incorrect and the parameter kV was not multiplied with the formula. A.5 Version 1.3 Release date: April 2nd 2010. Parts of the content in these release notes have been taken from the Ph.D. thesis of Dräger, 2011, where this section is much more elaborated. A.5.1 New features A new and purely Java™-based SBML data structure SBMLsqueezer’s data structure was completely changed: Earlier versions were based on String concatenation to create kinetic formulas with all participating species and parameters. Now SBMLsqueezer is based on an abstract syntax tree representation of the formula and also creates Parameter objects rather than simply their ID. This new data structure is actually an almost complete Java™ implementation of SBML and has therefore become a separate project, JSBML, available at http://sourceforge.net/projects/ jsbml. On the SBML homepage, you can find a separate mailing list about this project: http: //sbml.org/Forums With JSBML at hand, SBMLsqueezer does no longer manipulate CellDesigner’s plug-in Objects directly. If you start SBMLsqueezer from CellDesigner’s plug-in menu or its reaction context menu, SBMLsqueezer will copy all required parts of the model into JSBML objects. Only this copy of the model is manipulated. By clicking on OK or Apply , all changes will be synchronized with CellDesigner’s original data structures Stand-Alone Mode SBMLsqueezer now also runs in a stand-alone mode. With the help of libSBML, valid SBML files can be read and copied into the JSBML data objects. JSBML now mirrors the complete definition of SBML up to Level 2 Version 4. As in the CellDesigner plug-in mode, SBMLsqueezer only manipulates JSBML objects. By clicking on Save , changes are written into the SBML file. Command-line mode: All features of SBMLsqueezer are now also available from the command line. This allows users to write shell or batch scripts that access SBMLsqueezer’s functions. The API of SBMLsqueezer has been simplified. There is now just one function, squeeze in the main class SBMLsqueezer that can be called to read in a model from a valid SBML file and to write 72 A.5 Version 1.3 the result, i.e., an SBML model including new KineticLaws, new Parameters, new or adapted UnitDefinitions, into the given out file. Before creating kinetic formulas for the model, the user probably wants to adjust SBMLsqueezer’s configuration. To this end, the methodsset(CfgKey, ) in class SBMLsqueezer allow the programmer to set any configuration key and value pair, similar to the command-line mode. Here we give a minimal example of how to use this new API: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 public static void main ( String [] args ) { // Initialize SBMLsqueezer with appropriate SBML readers / writers SBMLsqueezer squeezer = new SBMLsqueezer ( new LibSBMLReader () , new LibSBMLWriter () ) ; // Configure SBMLsqueezer squeezer . set ( CfgKeys . OPT_ALL_REACTIONS_ARE_ENZYME_CATALYZED , true ) ; squeezer . set ( CfgKeys . OPT_DEFAULT_COMPARTMENT_INITIAL_SIZE , 1.0) ; squeezer . set ( CfgKeys . POSSIBLE_ENZYME_RNA , true ) ; squeezer . set ( CfgKeys . KINETICS_UNI_UNI_TYPE , MichaelisMenten . class . getName () ) ; squeezer . set ( CfgKeys . KINETICS_OTHER_ENZYME_REACTIONS , ConvenienceKinetics . class . getName () ) ; try { // Create kinetic equations , parameters , units etc . and save the result // args contains infile and outfile path squeezer . squeeze ( args [0] , args [1]) ; } catch ( Throwable e ) { e . printStackTrace () ; } } Listing A.1: Usage of SBMLsqueezer 1.3 via its API Since SBMLsqueezer still requires an installation of libSBML on the user’s system, which can sometimes become problematic, a more convenient way of using SBMLsqueezer has now been made available: the SBMLsqueezer web application does not require any local installation and is freely available at http://webservices.cs.uni-tuebingen.de. In this framework, workflows can be created in which SBMLsqueezer can directly be linked to the full version of SBML 2LATEX. The full version of SBML2LATEX contains many additional features that are not included in SBMLsqueezer’s version of SBML2LATEX. Hence, it is highly recommended to make use of the on-line version of SBML2LATEX. Configuration SBMLsqueezer now memorizes every setting and changed parameters from the GUI whether in CellDesigner plug-in or stand-alone mode. In the stand-alone case, SBMLsqueezer even memorizes given command-line arguments. These settings are read from a configuration file at the next start. This is especially convenient for open and save directories. At any time, the user can change all settings to the defaults by clicking on the designated button in the preferences dialog. 73 Appendix A Release Notes Improved Systems Biology Ontology support SBMLsqueezer is now fully based on the Systems Biology Ontology (SBO). The JSBML copy of CellDesigner’s plug-in data structures maps all CellDesigner-specific annotations to corresponding SBO terms. Afterwards these are mapped back. SBO term “enzymatic catalyst” (SBO:0000460) was created because it is required by SBMLsqueezer to distinguish enzymes and other catalysts, such as certain inorganic ions. SBMLsqueezer’s stand-alone version interprets SBO terms that can be found in the model and changes the annotation of ModifierSpeciesReferences from “catalyst” (SBO:0000013) to “enzymatic catalyst” if the SBO term of the corresponding Species is one of those belonging to the family of materials considered as enzymes (SBMLsqueezer still offers check boxes to indicate certain kinds of species as enzymes). Earlier versions of SBMLsqueezer indicated the SBO term IDs of newly created kinetic equations if these were already defined in SBO. However, this was more or less just for information to the user and could neither be saved nor be considered during any other processes. This version of SBMLsqueezer is able to not only take SBO terms into account while creating rate laws, but can even save SBO terms in the resulting SBML file. However, in CellDesigner plug-in mode, SBMLsqueezer is not yet able to save SBO term IDs in CellDesigner data objects due to the missing functionality in its API. SBMLsqueezer now contains an own parser to identify the correct SBO term IDs and attributes that are required to annotate all newly created objects. Whenever possible, SBMLsqueezer annotates newly created objects, such as Parameters or UnitDefinitions, with SBO IDs. MIRIAM Support In contrast to earlier versions, SBMLsqueezer now also interprets and uses MIRIAM tags. The new command-line and configuration key option OPT_IGNORE_THESE_SPECIES_WHEN_CREATING_LAWS takes a list of comma-separated MIRIAM IDs as value. Species annotated with BQB_IS and the given MIRIAM resource are then ignored when creating rate equations. This is, for instance, useful if small molecules such as water take part in a reaction. The concentration of water can hardly be measured and it is assumed to occur abundantly within the cell. By default, the list of species whose influence is to be neglected when creating new kinetic equations contains the KEGG compound IDs for the substances listed in table 5.1 on page 62. New kinetic equations and extensibility In earlier versions the inclusion of new kinetic equations into SBMLsqueezer was not an easy task. After writing a class that actually generates the new rate law, a rule had to be implemented of when to make this rate law available. Furthermore, the GUI had to be changed to include this new formula. Summarized, several changes in the program code were necessary to include additional rate laws. 74 A.5 Version 1.3 Now SBMLsqueezer is based on Java™ reflection, i.e., initially SBMLsqueezer does not know any one of its available kinetic equations. These are all loaded when initializing SBMLsqueezer. Currently, twelve interfaces define the properties of all kinetic equations. The rules of when select which kind of rate equation only make use of the implemented interfaces. Hence, new kinetic equations can be incorporated into SBMLsqueezer simply by implementing designated interfaces. Since SBMLsqueezer is an open-source project, users can customize it easily and extend it with desired rate laws. Much effort was put into the extension of SBMLsqueezer with additional rate laws for generegulatory processes. Earlier versions of SBMLsqueezer only provided the Hill equation variant suggested by Hinze et al. (2007). This equation has now been renamed to Hill-Hinze equation to highlight that it is actually a modification of the original rate law. Only in special cases this equation equals the traditional Hill equation (SBMLsqueezer will highlight these cases). Now nine additional rate equations were included: Additive Model Linear A generalized super class of all other additive rate laws for gene-regulatory processes. Additive Model Non-Linear defined in the paper “The NetGenerator Algorithm] Reconstruction of Gene Regulatory Networks” by Töpfer, Guthke, Driesch, Wötzel, and Pfaff, 2007 H-Systems Spieth, Hassis, Streichert, Supper, Beyreuther, and Zell, 2006 “Comparing Mathematical Models on the Problem of Network Inference”. NetGenerator Linear Model “The NetGenerator Algorithm: Reconstruction of Gene Regulatory Networks” by Töpfer, Guthke, Driesch, Wötzel, and Pfaff, 2007 NetGenerator Non-Linear Model “The NetGenerator Algorithm] Reconstruction of Gene Regulatory Networks” by Töpfer, Guthke, Driesch, Wötzel, and Pfaff, 2007 S-Systems Tournier (2005): “Approximation of dynamical systems using S-systems theory: application to biological systems” Hill-Radde equation “Modeling Non-Linear Dynamic Phenomena in Biochemical Networks“ by Radde, 2007 Vohradsky “Neural network model of gene expression.” of Vu and Vohradský, 2007 Weaver “Modeling regulatory networks with weight matrices” by Weaver, Workman, and Stormo, 1999 The following new generalized kinetic equations for metabolic reactions were also implemented in SBMLsqueezer, which are all defined by Liebermeister et al. (2010): • Common modular rate law (CM) 75 Appendix A Release Notes • Direct binding modular rate law (DM) • Force-dependent modular rate law (FM) • Power-law modular rate law (PM) • Simultaneous binding modular rate law (SM). Each one of these equations is only available in a reversible mode and the user must choose one of the three possible versions that determine the degree of thermodynamic correctness. The weg version is the most complicated form but always thermodynamically correct. The hal version ensures thermodynamic correctness in most cases, whereas for the cat version thermodynamic properties cannot be guaranteed to be correct. The versions can be selected in the preferences dialog or provides as a command-line option. Finally, the generalized form of Hill’s equation as proposed by Cornish-Bowden (2004, in “Fundamentals of Enzyme Kinetics”, p. 314) has been implemented and is now also available for metabolic reactions. If the corresponding flag is set, boundary conditions are also set for species that represent empty sets, i.e., degraded species, sources, or sinks in a reaction. Support and assignment of units and unit definitions For multi-compartment models concentration versus molecule counts matters. SBMLsqueezer now provides two different ways of ensuring unit correctness. First, each species can be brought to units of concentration. To this end, SBMLsqueezer interprets the hasOnlySubstanceUnits attribute of each species. Depending on whether this is set to true, the species is divided by the size of the surrounding compartment. Otherwise the species already represents a concentration and nothing is done. Second, all species can be brought to molecule count units. This is again achieved with the help of the hasOnlySubstanceUnits attribute, but now SBMLsqueezer multiplies with the compartment size if this attribute is false. In contrast to earlier versions, SBMLsqueezer now equips all newly created Parameter objects with units. To this end, SBMLsqueezer derives the correct units from the context. For instance, in the mass action kinetics the units of the catalytic constants depend on the order of the reaction and have therefore to be computed whenever such a rate law is created. Furthermore, SBMLsqueezer also to considers the hasOnlySubstanceUnits property of each species and the way in which the surrounding compartment comes into play to derive the units of parameters. To make models more realistic, SBMLsqueezer redefines the pre-defined SBML unit definition substance from mol to mmol and volume from l to ml. If possible, SBMLsqueezer avoids creating new UnitDefinition objects. It first tries to find equivalent and already existing definitions in the model. 76 A.6 Version 2.0 A.5.2 Bug Fixes 6 In the original paper of Hinze et al. (2007), inhibition was expressed with 1 - product of all inhibition functions. Earlier versions of SBMLsqueezer created a product that run over all inhibitors with (1 - inhibition function) for each such function. 6 In all gene-regulation kinetics, it is now assumed that degradation processes are distinct reactions that can be, e.g., modeled using a mass action rate law. Hence, no degradation terms can be found in gene-regulation kinetics anymore. 6 The rate law corresponding to SBO:0000266 was not correct. Earlier versions of SBMLsqueezer produced the fraction KM js /Kib j · I, but correct is S · I/Kib j (see Equation 10 in the supplementary material “Kinetic Laws”; the correct version of this equation can be found at http://www.ebi.ac.uk/sbo/main/SBO:0000266). 6 In case of an explicit enzyme catalysis, earlier versions of SBMLsqueezer did not multiply the numerator of equation SBO:0000273 with the enzyme. Therefore, it always produced the Vmax version of the equation, but the parameter was called kcat . A.6 Version 2.0 Many concepts that have been introduced with version 1.3 have been revised and updated. The entire handling of user settings has been massively changed and now uses the concept of user preferences instead of configuration files. The source code has been cleaned and re-factored in many positions and lots of development time has been invested into with the library JSBML. A.6.1 New features SBMLsqueezer can now be used in several different ways: • As fully-featured stand-alone program without the need to install any further software, based on the official JSBML version 1.0β1 • As a stand-alone program based on a libSBML back-end, which means that real off-line SBML validation is possible. • Irrespective of whether JSBML or libSBML is used as SBML library, the stand-alone version provides both, a GUI as well as a fully-featured command-line version. For large-scale rate law generation, this command-line interface has already proven to be useful (as part of the path2models project). • SBMLsqueezer can be launched directly from the project’s website as a Java™ Web Start program without the need of any local installation. 77 Appendix A Release Notes • As a plug-in for CellDesigner 4.3 • As a Garuda gadget, as which it can communicate with further Garuda gadgets Hence, the usage of the program has been greatly simplified. Further new program features comprise: 4 SBMLsqueezer fully supports all Levels and Versions of SBML up to the most recent specification Level 3 Version 1. 4 A direct query wizard for SABIO-RK has been implemented and allows users to extract experimentally obtained rate laws from this database together with parameters, values, and units. The search engine provides several settings for experimental conditions. 4 SBMLsqueezer includes now several JUnit test cases to check if the generated kinetic equations are correct. 4 It includes now a full version of SBML2LATEX and can directly open Portable Document Format (PDF) files that are generated to document the content of the model. 4 The renderer for equations and formula has been changed and provides more capabilities. SBMLsqueezer windows and context menus are now zoom-able and re-sizable. 4 Improved user preferences menu and management for each individual operating system. 4 The user interface (GUI and command-line) is fully bilingual (German and English), and partially also translated to Chinese, but models and their labels are only created in English for the sake of a better international re-usability. 4 A new search function allows users to query the model data structure in the GUI. 4 Lots of effort has been put to better adapt SBMLsqueezer to individual platforms. The support for Mac OS X has been greatly improved, the program now provides many features of native applications for Mac OS X. 4 The documentation of the API has been improved. A.6.2 Bug fixes The communication between SBMLsqueezer and CellDesigner was very inefficient. The new plugin interface in JSBML provides a much better performance. Errors in kinetic equations and units of parameters have been detected and solved: 6 Sometimes SBMLsqueezer created invalid IDs for newly introduced units. 78 A.6 Version 2.0 6 The units of the association and dissociation constant in generalized mass action kinetics could not be derived correctly if a catalyst interfered with the reaction, because the units of the catalyst were not taken into account. 6 The units of the half saturation constant in the (generalized) Hill equation were not correctly derived. The derivation of units of kinetic parameters has been improved. Several minor issues with the GUI have been solved. A.6.3 Known Issues In SBML models, it should be possible to evaluate all kinetic equations to extend of reaction units per time units. Usually, the extend of a reaction would be a variant of a substance unit. However, it has been recognized that some kinetic equations cannot under all conditions be evaluated to extend per time units. The reasons are often the structure of the definition of the rate law. Some equations that have been defined for gene-regulatory networks, for instance, give a purely phenomenological description of the system (e.g., S- or H-systems). In other equations, it is assumed that the equilibrium constant is always dimensionless. If this is not the case, it cannot be guaranteed that SBMLsqueezer will create correct units for these equations (e.g., modular rate laws and convenience kinetics). It is therefore recommended to check the units of generated rate laws, even if in the vast majority of cases these will be correct. Please note that in this version the general unit handling has been extensively revised and improved and is in the vast majority of cases very reliable. SBMLsqueezer displays the derived units of equations, so that problematic equations can be easily identified. 79 Appendix B Acronyms API Application Programming Interface BioPAX Biological Pathway Exchange Language FAQ Frequently Asked Questions GUI Graphical User Interface HTML Hypertext Markup Language ID Identifier IDE Integrated Development Environment JDK Java™ Development Kit JVM Java™ Virtual Machine JAR Java™ Archive KEGG Kyoto Encyclopedia of Genes and Genomes MIRIAM Minimal Information Required In the Annotation of Models PDF Portable Document Format RNA Ribonucleic Acid SBGN Systems Biology Graphical Notation SBML Systems Biology Markup Language SABIO-RK System for the Analysis of Biochemical Pathways – Reaction Kinetics SBO Systems Biology Ontology XHTML Extended HTML XML Extended Markup Language 80 Bibliography Arnold, A. and Nikoloski, Z. (2011). A quantitative comparison of calvin-benson cycle models. Trends Plant Sci, 16(12), 676–683. Bisswanger, H. (2000). Enzymkinetik – Theorie und Methoden. Wiley-VCH, Weinheim, Germany, 3rd edition. Blum, T. (2009). Computational Approaches for Analyzing Metabolic Pathways. Ph.D. thesis, Eberhard-Karls-Universität Tübingen, Tübingen, Germany. Bornstein, B. J., Keating, S. M., Jouraku, A., and Hucka, M. (2008). LibSBML: an API Library for SBML. Bioinformatics, 24(6), 880–881. Büchel, F., Wrzodek, C., Mittag, F., Dräger, A., Eichner, J., Rodriguez, N., Le Novère, N., and Zell, A. (2012). Qualitative translation of relations from BioPAX to SBML qual. Bioinformatics, 28(20), 2648–2653. Büchel, F., Rodriguez, N., Swainston, N., Wrzodek, C., Czauderna, T., Keller, R., Mittag, F., Schubert, M., Glont, M., Golebiewski, M., van Iersel, M., Keating, S., Rall, M., Wybrow, M., Hermjakob, H., Hucka, M., Kell, D. B., Müller, W., Mendes, P., Zell, A., Chaouiya, C., SaezRodriguez, J., Schreiber, F., Laibe, C., Dräger, A., and Le Novère, N. (2013). Large-scale generation of computational models from biochemical pathway maps. BMC Systems Biology, 7(1), 116. Buswell, S., Devitt, S., Diaz, A., Ion, P., Miner, R., Poppelier, N., Smith, B., Soiffer, N., Sutor, R., and Watt, S. (1999). Mathematical markup language (mathml™) 1.01 specification. Technical report, MIT, INRIA, Keio. Cornish-Bowden, A. (2004). Fundamentals of Enzyme Kinetics. Portland Press Ltd., 59 Portland Place, London, United Kingdom, 3rd edition. Courtot, M., Juty, N., Knüpfer, C., Waltemath, D., Zhukova, A., Dräger, A., Dumontier, M., Finney, A., Golebiewski, M., Hastings, J., Hoops, S., Keating, S., Kell, D. B., Kerrien, S., Lawson, J., Lister, A., Lu, J., Machne, R., Mendes, P., Pocock, M., Rodriguez, N., Villéger, A., Wilkinson, D. J., Wimalaratne, S., Laibe, C., Hucka, M., and Le Novère, N. (2011). Controlled vocabularies and semantics in systems biology. Mol Syst Biol, 7, 543. Dräger, A. (2011). Computational Modeling of Biochemical Networks. Ph.D. thesis, University of Tuebingen, Tübingen, Germany. 81 Bibliography Dräger, A., Kronfeld, M., Supper, J., Planatscher, H., Magnus, J. B., Oldiges, M., and Zell, A. (2007a). Benchmarking Evolutionary Algorithms on Convenience Kinetics Models of the Valine and Leucine Biosynthesis in C. glutamicum. In D. Srinivasan and L. Wang, editors, 2007 IEEE Congress on Evolutionary Computation, pages 896–903, Singapore. IEEE Computational Intelligence Society, IEEE Press. Dräger, A., Supper, J., Planatscher, H., Magnus, J. B., Oldiges, M., and Zell, A. (2007b). Comparing Various Evolutionary Algorithms on the Parameter Optimization of the Valine and Leucine Biosynthesis in Corynebacterium glutamicum. In D. Srinivasan and L. Wang, editors, 2007 IEEE Congress on Evolutionary Computation, pages 620–627, Singapore. IEEE Computational Intelligence Society, IEEE Press. Dräger, A., Hassis, N., Supper, J., Schröder, A., and Zell, A. (2008). SBMLsqueezer: a CellDesigner plug-in to generate kinetic rate equations for biochemical networks. BMC Systems Biology, 2(1), 39. Dräger, A., Kronfeld, M., Ziller, M. J., Supper, J., Planatscher, H., Magnus, J. B., Oldiges, M., Kohlbacher, O., and Zell, A. (2009). Modeling metabolic networks in C. glutamicum: a comparison of rate laws in combination with various parameter optimization strategies. BMC Syst Biol, 3, 5. Dräger, A., Planatscher, H., Wouamba, D. M., Schröder, A., Hucka, M., Endler, L., Golebiewski, M., Müller, W., and Zell, A. (2009). SBML2LATEX: Conversion of SBML files into humanreadable reports. Bioinformatics, 25(11), 1455–1456. Dräger, A., Schröder, A., and Zell, A. (2010). Systems Biology for Signaling Networks, volume 1 of Systems Biology, chapter Automating mathematical modeling of biochemical reaction networks, pages 159–205. Springer-Verlag. Dräger, A., Rodriguez, N., Dumousseau, M., Dörr, A., Wrzodek, C., Le Novère, N., Zell, A., and Hucka, M. (2011). JSBML: a flexible Java library for working with SBML. Bioinformatics, 27(15), 2167–2168. Finney, A. and Hucka, M. (2003). Systems biology markup language: Level 2 and beyond. Biochem Soc Trans, 31(Pt 6), 1472–1473. Finney, A., Hucka, M., and Le Novére, N. (2006). Systems Biology Markup Language (SBML) Level 2: Structures and Facilities for Model Definitions. Technical report. Funahashi, A., Tanimura, N., Morohashi, M., and Kitano, H. (2003). CellDesigner: a process diagram editor for gene-regulatory and biochemical networks. BioSilico, 1(5), 159–162. Funahashi, A., Matsuoka, Y., Jouraku, A., Kitano, H., and Kikuchi, N. (2006). CellDesigner: a modeling tool for biochemical networks. In Proceedings of the 38th conference on Winter simulation, WSC ’06, pages 1707–1712, Monterey, California. Winter Simulation Conference. 82 Bibliography Funahashi, A., Morohashi, M., Matsuoka, Y., Jouraku, A., and Kitano, H. (2007). CellDesigner: A Graphical Biological Network Editor and Workbench Interfacing Simulator. In S. Choi, editor, Introduction to Systems Biology, chapter 21, pages 422–434. Humana Press. Funahashi, A., Matsuoka, Y., Jouraku, A., Morohashi, M., Kikuchi, N., and Kitano, H. (2008). CellDesigner 3.5: A Versatile Modeling Tool for Biochemical Networks. In Proceedings of the IEEE, volume 96, pages 1254–1265. IEEE. Gauges, R., Rost, U., Sahle, S., and Wegner, K. (2006). A model diagram layout extension for SBML. Bioinformatics, 22(15), 1879–1885. Ghosh, S., Matsuoka, Y., Asai, Y., Hsin, K.-Y., and Kitano, H. (2011). Software for systems biology: from tools to integrated platforms. Nature Reviews Genetics, 12(12), 821–832. Goecks, J., Nekrutenko, A., Taylor, J., and Team, G. (2010). Galaxy: a comprehensive approach for supporting accessible, reproducible, and transparent computational research in the life sciences. Genome Biology, 11(8), R86. Guldberg, C. M. and Waage, P. (1879). Über die chemische affinität. Journal für Practische Chemie, 127, 69–114. Hecker, M., Lambeck, S., Töpfer, S., Someren, E. v., and Guthke, R. (2009). Gene regulatory network inference: data integration in dynamic models-a review. Biosystems, 96(1), 86–103. Heinrich, R. and Schuster, S. (1996). The Regulation of Cellular Systems. Chapman and Hall, New York, NY, USA. Hill, A. V. (1910). The possible effects of the aggregation of the molecules of haemoglobin on its dissociation curves. Journal of Physiology, 40(4), iv–vii. Hinze, T., Hayat, S., Lenser, T., Matsumaru, N., and Dittrich, P. (2007). Hill Kinetics meets P Systems: A Case Study on Gene Regulatory Networks as Computing Agents in silico and in vivo. In G. Eleftherakis, P. Kefalas, and G. Paun, editors, Proceedings of the Eight Workshop on Membrane Computing, pages 363–381. SEERC. Hucka, M., Finney, A., Sauro, H., and Bolouri, H. (2001). Systems Biology Markup Language (SBML) Level 1: Structures and Facilities for Basic Model Definitions. Technical report, Systems Biology Workbench Development Group ERATO Kitano Systems Biology Project Control and Dynamical Systems, MC 107-81. Hucka, M., Finney, A., Sauro, H., and Bolouri, H. (2003a). Systems Biology Markup Language (SBML) Level 1: Structures and Facilities for Basic Model Definitions. Technical Report 2, Systems Biology Workbench Development Group JST ERATO Kitano Symbiotic Systems Project Control and Dynamical Systems, MC 107-81, California Institute of Technology, Pasadena, CA, USA. 83 Bibliography Hucka, M., Finney, A., Sauro, H. M., Bolouri, H., Doyle, J. C., Kitano, H., Arkin, A. P., Bornstein, B. J., Bray, D., Cornish-Bowden, A., Cuellar, A. A., Dronov, S., Gilles, E. D., Ginkel, M., Gor, V., Goryanin, I. I., Hedley, W. J., Hodgman, T. C., Hofmeyr, J.-H. S., Hunter, P. J., Juty, N. S., Kasberger, J. L., Kremling, A., Kummer, U., Le Novère, N., Loew, L. M., Lucio, D., Mendes, P., Minch, E., Mjolsness, E. D., Nakayama, Y., Nelson, M. R., Nielsen, P. F., Sakurada, T., Schaff, J. C., Shapiro, B. E., Shimizu, T. S., Spence, H. D., Stelling, J., Takahashi, K., Tomita, M., Wagner, J. M., Wang, J., and the rest of the SBML Forum (2003b). The systems biology markup language (SBML): a medium for representation and exchange of biochemical network models. Bioinformatics, 19(4), 524–531. Hucka, M., Finney, A. M., Hoops, S., Keating, S. M., and Le Novère, N. (2007). Systems Biology Markup Language (SBML) Level 2: Structures and Facilities for Model Definitions. Technical Report 1. Hucka, M., Finney, A., Hoops, S., Keating, S. M., and Le Novère, N. (2008). Systems biology markup language (SBML) Level 2: structures and facilities for model definitions. Technical report, Nature Precedings. Hucka, M., Bergmann, F. T., Hoops, S., Keating, S. M., Sahle, S., Schaff, J. C., Smith, L., and Wilkinson, D. J. (2010). The Systems Biology Markup Language (SBML): Language Specification for Level 3 Version 1 Core. Technical report, Nature Precedings. Keller, R., Dörr, A., Tabira, A., Funahashi, A., Ziller, M. J., Adams, R., Rodriguez, N., Le Novère, N., Hiroi, N., Planatscher, H., Zell, A., and Dräger, A. (2013). The systems biology simulation core algorithm. BMC Syst Biol. Keller, R., Dörr, A., Zell, A., and Dräger, A. (2014). SBMLsimulator: a Java tool for model simulation and parameter estimation in systems biology. Bioinformatics. Under revision. Krebs, O., Golebiewski, M., Kania, R., Mir, S., Saric, J., Weidemann, A., Wittig, U., and Rojas, I. (2007). SABIO-RK: A data warehouse for biochemical reactions and their kinetics. Journal of Integrative Bioinformatics, 4(1). Laible, C. and Le Novère, N. (2007). MIRIAM Resources: tools to generate and resolve robust cross-references in Systems Biology. BMC Systems Biology, 13(58), 58–67. Le Novère, N., Finney, A., Hucka, M., Bhalla, U. S., Campagne, F., Collado-Vides, J., Crampin, E. J., Halstead, M., Klipp, E., Mendes, P., Nielsen, P., Sauro, H., Shapiro, B. E., Snoep, J. L., Spence, H. D., and Wanner, B. L. (2005). Minimum information requested in the annotation of biochemical models (MIRIAM). Nature Biotechnology, 23(12), 1509–1515. Le Novère, N., Courtot, M., and Laibe, C. (2006). Adding semantics in kinetics models of biochemical pathways. In C. Kettner and M. G. Hicks, editors, 2nd International ESCEC Workshop on Experimental Standard Conditions on Enzyme Characterizations. Beilstein Institut, Rüdesheim, Germany, pages 137–153, Rüdessheim/Rhein, Germany. ESEC. 84 Bibliography Le Novère, N., Hucka, M., Mi, H., Moodie, S., Schreiber, F., Sorokin, A., Demir, E., Wegner, K., Aladjem, M. I., Wimalaratne, S. M., Bergmann, F. T., Gauges, R., Ghazal, P., Kawaji, H., Li, L. M., Lu, Y., Villéger, A., Boyd, S. E., Calzone, L., Courtot, M., Dogrusoz, U., Freemann, T. C., Funahashi, A., Ghosh, S., Jouraku, A., Sohyoung, K., Kolpakov, F., Luna, A., Sahle, S., Schmidt, E., Watterson, S., Wu, G., Goryanin, I., Kell, D. B., Sander, C., Sauro, H., Snoep, J. L., Kohn, K., and Kitano, H. (2009). The Systems Biology Graphical Notation. Nature biotechnology, 27(8), 735–741. Li, C., Donizelli, M., Rodriguez, N., Dharuri, H., Endler, L., Chelliah, V., Li, L., He, E., Henry, A., Stefan, M. I., Snoep, J. L., Hucka, M., Le Novère, N., and Laibe, C. (2010). Biomodels database: An enhanced, curated and annotated resource for published quantitative kinetic models. BMC Syst Biol, 4, 92. Liebermeister, W. and Klipp, E. (2006). Bringing metabolic networks to life: convenience rate law and thermodynamic constraints. Theor Biol Med Model, 3(42), 41. Liebermeister, W., Uhlendorf, J., and Klipp, E. (2010). Modular rate laws for enzymatic reactions: thermodynamics, sensitivities, and implementation. submitted to Bioinformatics. Michaelis, L. and Menten, M. L. (1913). Kinetik der Invertinwirkung. Biochemische Zeitschrift, 49, 333–369. Radde, N. (2007). Modeling Non-Linear Dynamic Phenomena in Biochemical Networks. Ph.D. thesis, Faculty of Mathematics and Natural Sciences, University of Cologne, Germany. Radde, N. and Kaderali, L. (2007). Bayesian Inference of Gene Regulatory Networks Using Gene Expression Time Series Data, volume 4414/2007, chapter 1, pages 1–15. Springer Berlin/Heidelberg. Rojas, I., Golebiewski, M., Kania, R., Krebs, O., Mir, S., Weidemann, A., and Wittig, U. (2007). Storing and Annotating of Kinetic Data. In Silico Biology, 7, 37–44. Savageau, M. A. (1969). Biochemical systems analysis. I. Some mathematical properties of the rate law for the component enzymatic reactions. J Theor Biol, 25(3), 365–369. Segel, I. H. (1993). Enzyme Kinetics—Behavior and Analysis of Rapid Equilibrium and SteadyState Enzyme Systems. Wiley-Intersciennce, New York, NY, USA. Spieth, C., Streichert, F., Speer, N., and Zell, A. (2004). Optimizing Topology and Parameters of Gene Regulatory Network Models from Time-Series Experiments. In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO 2004), volume 3102 (Part I) of LNCS, pages 461–470. Spieth, C., Hassis, N., Streichert, F., Supper, J., Beyreuther, K., and Zell, A. (2006). Comparing Mathematical Models on the Problem of Network Inference. In Proceedings of the 8th annual 85 Bibliography conference on Genetic and evolutionary computation, GECCO ’06, pages 279–286, New York, NY, USA. ACM. Töpfer, S., Guthke, R., Driesch, D., Wötzel, D., and Pfaff, M. (2007). The NetGenerator Algorithm: reconstruction of gene regulatory networks. In K. Tuyls, R. Westra, Y. Saeys, and A. Nowé, editors, Knowledge Discovery and Emergent Complexity in Bioinformatics, volume 4366 of Lecture Notes in Computer Science. Tournier, L. (2005). Approximation of dynamical systems using s-systems theory: application to biological systems. In ISSAC ’05: Proceedings of the 2005 international symposium on Symbolic and algebraic computation, pages 317–324, New York, NY, USA. ACM press. Vu, T. T. and Vohradský, J. (2007). Nonlinear differential equation model for quantification of transcriptional regulation applied to microarray data of saccharomyces cerevisiae. Nucleic Acids Res, 35(1), 279–287. Weaver, D. C., Workman, C. T., and Stormo, G. D. (1999). Modeling regulatory networks with weight matrices. In Pacific Symposium on Biocomputing, volume 4, pages 112–123. World Scientific Publishing. Wittig, U., Golebiewski, M., Kania, R., Krebs, O., Mir, S., Weidemann, A., Anstein, S., Saric, J., and Rojas, I. (2006). SABIO-RK: Integration and Curation of Reaction Kinetics Data. In U. Leser, F. Naumann, and B. Eckmann, editors, Data Integration in the Life Sciences, pages 94–103. Springer Berlin/Heidelberg. Wittig, U., Kania, R., Golebiewski, M., Rey, M., Shi, L., Jong, L., Algaa, E., Weidemann, A., Sauer-Danzwith, H., Mir, S., Krebs, O., Bittkowski, M., Wetsch, E., Rojas, I., and Mller, W. (2012). SABIO-RK–database for biochemical reaction kinetics. Nucleic Acids Res, 40(Database issue), D790–D796. Wolf, J., Passarge, J., Somsen, O. J. G., Snoep, J. L., Heinrich, R., and Westerhoff, H. V. (2000). Transduction of intracellular and intercellular dynamics in yeast glycolytic oscillations. Biophys J, 78(3), 1145–1153. Wrzodek, C., Dräger, A., and Zell, A. (2011). KEGGtranslator: visualizing and converting the KEGG PATHWAY database to various formats. Bioinformatics, 27(16), 2314–2315. Wrzodek, C., Büchel, F., Ruff, M., Dräger, A., and Zell, A. (2013). Precise generation of systems biology models from kegg pathways. BMC Syst Biol, 7(1), 15. 86 Index Symbols G Application Programming Interface (API), 4, 6, 11, 21, 34–37, 39, 40, 72–74, 78 Biological Pathway Exchange Language (BioPAX), 3 Graphical User Interface (GUI), 4–6, 11, 14, 21, 25, 32, 38, 40–42, 54, 55, 73, 77–79 Integrated Development Environment (IDE), 36 Java™ Archive (JAR), 6–9, 41, 42 Java™ Development Kit (JDK), 7 Java™ Virtual Machine (JVM), 6–8, 42, 63 Kyoto Encyclopedia of Genes and Genomes (KEGG), 12, 24, 30, 39, 45, 62, 74 Minimal Information Required In the Annotation of Models (MIRIAM), 2, 24, 56, 74 Portable Document Format (PDF), 78 System for the Analysis of Biochemical Pathways – Reaction Kinetics (SABIO-RK), 3, 5, 6, 12, 14, 15, 21–25, 29, 32, 39–41, 44, 53, 54, 63, 67, 78 Systems Biology Graphical Notation (SBGN), 71 Systems Biology Ontology (SBO), 2, 9, 18, 37, 56, 60, 74 Extended HTML (XHTML), 33, 69 Extended Markup Language (XML), 31 Garuda, 3, 6, 10, 11, 16, 30, 59, 78 A ant, 9 B BioModels database, 16, 20, 21, 24, 25 BioPAX2SBML, 3 C CellDesigner, 3, 6, 9–11, 15–19, 21, 29, 30, 37, 70, 72–74, 78 E Eclipse, 36 J Java™, 3, 6–8, 11, 36, 42, 63, 64, 72, 75, 77 Java™ Web Start, 3, 6, 11, 77 JSBML, 3, 6, 8, 9, 15, 34, 37, 42, 43, 72, 74, 77, 78 JUnit, 78 K KEGGtranslator, 3, 30 L Language pack Chinese, 42, 66, 78 English, 42, 78 German, 42, 78 libSBML, 3, 6, 8, 11, 14, 37, 42, 43, 69, 72, 73, 77 M MathML, 2 N NetGenerator, 47–49, 61 O Operating System, 5–7, 9–12, 14, 16, 31, 35, 41, 78 Linux, 7–9, 11, 13–15, 25, 27, 41 LD LIBRARY PATH, 8 Ubuntu, 7 Mac OS X, 7–9, 11, 13–15, 19, 25, 27, 31, 41, 63, 64, 78 DYLD LIBRARY PATH, 8 Microsoft Windows, 7, 9, 11, 13–15, 25, 27, 41, 42 PATH, 8 Windows 7, 7 Unix, 8, 41 87 Index P S Path to models project, 4 SBML, 2–4, 6, 11, 14–16, 18, 21, 25, 27–34, 37– 39, 41–43, 46, 47, 55, 56, 59, 72–74, 76–79 SBML2LATEX, 2, 4, 5, 16, 32, 55, 56, 69, 73, 78 SBMLsimulator, 4, 30 R RNA, 45, 47, 71 88
Source Exif Data:
File Type : PDF File Type Extension : pdf MIME Type : application/pdf PDF Version : 1.5 Linearized : No Page Count : 93 Page Mode : UseOutlines Author : Andreas Dräger Title : SBMLsqueezer 2.0 Subject : User's Guide Creator : LaTeX with hyperref package Producer : pdfTeX-1.40.15 Keywords : kinetics, rate, law, enzyme, kinetics, SBML, equation, generation, automatic, generalized, mass, action, gmak, Michaelis-Menten, convenience, kinetics, SBMLsqueezer Create Date : 2014:06:29 22:04:59-07:00 Modify Date : 2014:06:29 22:04:59-07:00 Trapped : False PTEX Fullbanner : This is pdfTeX, Version 3.14159265-2.6-1.40.15 (TeX Live 2014) kpathsea version 6.2.0EXIF Metadata provided by EXIF.tools