Research Article pubs.acs.org/synthbio
A Converter from the Systems Biology Markup Language to the Synthetic Biology Open Language Tramy Nguyen,*,‡ Nicholas Roehner,§ Zach Zundel,∥ and Chris J. Myers‡ ‡
Department of Electrical and Computer Engineering, and ∥Department of Bioengineering, University of Utah, Salt Lake City, Utah 84112, United States § Department of Electrical and Computer Engineering, Boston University, Boston, Massachusetts 02215, United States
Downloaded via UNIV OF TOLEDO on June 30, 2018 at 09:49:58 (UTC). See https://pubs.acs.org/sharingguidelines for options on how to legitimately share published articles.
S Supporting Information *
ABSTRACT: Standards are important to synthetic biology because they enable exchange and reproducibility of genetic designs. This paper describes a procedure for converting between two standards: the Systems Biology Markup Language (SBML) and the Synthetic Biology Open Language (SBOL). SBML is a standard for behavioral models of biological systems at the molecular level. SBOL describes structural and basic qualitative behavioral aspects of a biological design. Converting SBML to SBOL enables a consistent connection between behavioral and structural information for a biological design. The conversion process described in this paper leverages Systems Biology Ontology (SBO) annotations to enable inference of a designs qualitative function. KEYWORDS: SBOL, SBML, standards, modeling, genetic design automation
S
activation, and degradation. To be more precise, these annotations enable species to be identified as promoters, mRNA, or proteins; reactions to be identified as degradations, complex formations, or genetic productions; and reaction modifiers to be identified as activators or inhibitors. SBOL describes structural and basic qualitative behavioral aspects of a biological design and is currently supported by over 20 tools and repositories. There are two versions of SBOL: version 1.14 and version 2.0.3 SBOL version 1.1 specifies the hierarchical composition of DNA components. SBOL version 2.0 adds generalized components, interactions between them, and modules for hierarchically describing genetic designs. Data encoded according to the SBOL standard can be archived in several repositories, such as iGEM,14 SBPkb,15 JBEI-ICE,16 SBOL Stack,17 and VirtualParts.18 Annotations. When tool developers want to provide additional information that is not directly supported by standards, they can make use of annotations. In iBioSim, SBML objects are annotated in two different ways. The first use of annotations gives more information on reactions and species using SBO terms. For example, a species is annotated with SBO terms to indicate whether it is a promoter or a protein. A reaction can be annotated to specify whether it is a degradation, complex formation, or genetic production reaction. Through the use of these annotations, our converter can produce a more detailed and precise SBOL representation. The second type of annotation associates an SBML object with SBOL. Since SBML models lack genetic information,
tandards are an important feature of the systems and synthetic biology fields because they enable exchange and reproducibility of genetic designs. The Systems Biology Markup Language (SBML)1,2 and Synthetic Biology Open Language (SBOL)3−5 are examples of standards that are used by many research groups in the systems and synthetic biology fields. Converting SBML to SBOL enables a consistent connection between behavioral and structural information about a biological design. Previously, a converter from SBOL to annotated SBML models was developed.6 The converter discussed in this paper takes an SBML model as input with Systems Biology Ontology (SBO)7 annotations and infers the structure and qualitative function to produce an SBOL data file. Both of these converters are now integrated within the iBioSim8 Genetic Design Automation (GDA) tool. The iBioSim tool is freely available for download at http://www.async.ece.utah.edu/index. php/tools/ibiosim. Standards. SBML is a standard for behavioral models of biological systems at the molecular level and is supported by more than 280 tools, enabling researchers to create, annotate, simulate, and visualize biological models that can be archived in the BioModels database.9 A typical SBML model is primarily used for reaction-based models that are composed of a number of chemical species (i.e., proteins, genes, etc.) and reactions that transform these species. SBML Level 3 version 12 has package extensions, such as layout,10 hierarchical model composition,11 flux balance constraints,12 and qualitative models,13 that generalizes the use of the standard even further. There are, however, no packages for genetic design in SBML. To compensate for this, iBioSim adds high-level constructs to represent some genetic designs. These high-level genetic designs use species, reactions, and annotations from the SBO. This enables the specification of genetic behavior such as repression, © 2015 American Chemical Society
Special Issue: IWBDA 2015 Received: October 21, 2015 Published: December 22, 2015 479
DOI: 10.1021/acssynbio.5b00212 ACS Synth. Biol. 2016, 5, 479−486
Research Article
ACS Synthetic Biology
Figure 1. Visualizations of the LacI Inverter in (a) SBML and (b) SBOL. The SBOL is visualized using SBOL Visual.21 The LacI Inverter has four SBML species that map to four FunctionalComponents in the corresponding SBOL ModuleDefinition. Three of the FunctionalComponents are proteins represented as circles: LacI, TetR, and GFP. One of the FunctionalComponents represents the DNA for the circuit. The dashed arrows pointing away from TetR and GFP and toward LacI specify the direction (in or out) of the FunctionalComponents. The LacI Inverter ModuleDefinition contains two Interactions. One Interaction is expressed as a repression arc from the LacI FunctionalComponent to the pLac promoter. The second Interaction is expressed as two solid arrows pointing from the gene containing the pLac promoter to the TetR and GFP FunctionalComponents.
models can be annotated with SBOL to provide such details. For example, a species can be annotated with its corresponding SBOL ComponentDefinition.19 In this case, a species is annotated with its corresponding SBOL Component Definition. This form of annotation allows the conversion to refer to existing SBOL objects rather than creating new template objects. When the conversion walks through each species and encounters a species that has an SBOL annotation for this SBML object, the converter refers to that SBOL object’s ComponentDefinition for that species. This form of annotation makes it possible to link the generated SBOL to detailed sequence and structural information already provided in SBOL form.
Figure 2. Visualizations of the TetR Inverter in (a) SBML and (b) SBOL. The TetR Inverter has three SBML species that map to three FunctionalComponents in the corresponding SBOL ModuleDefinition. Two FunctionalComponents are proteins represented as circles: LacI and TetR. The third FunctionalComponent which has been annotated with SBOL represents the DNA. The dashed arrows pointing away from LacI and toward TetR specify their direction (in or out). The repression arc from TetR to the pTet promoter and the solid arrow pointing from the gene containing the pTet promoter to the LacI FunctionalComponent represent the Interactions.
■
RESULTS AND DISCUSSION To illustrate how the SBML to SBOL converter works, a Genetic Toggle Switch similar to the one constructed by Gardner et al.20 is built in SBML and is used as an example throughout this paper. The Genetic Toggle Switch is used because it incorporates many aspects of the SBML standard. Namely, this model uses SBML core constructs such as compartments, species, reactions, parameters, and also package extensions such as the hierarchical model composition package. The conversion is able to represent most of these aspects in SBOL. The Genetic Toggle Switch is composed of two modules: a LacI inverter and a TetR inverter. Figure 1a shows an example of an SBML model constructed in iBioSim for the LacI inverter. The LacI inverter model includes one input species (LacI) and two output species (TetR and GFP). This model includes a pLac promoter, which is also represented as a species in SBML. This model shows that the LacI input species represses the pLac promoter which, in turn, initiates the production of TetR and GFP. In SBML, this behavior is represented as a reaction in which the LacI species is a repressing modifier (indicated by an SBO term) and GFP and TetR are products. This reaction is annotated with an SBO term that indicates that it is a genetic production reaction. Following the annotation style in ref 19, the pLac promoter is annotated with a Uniform Resource Identif ier (URI) that points to a SBOL DNA ComponentDefinition for this gene. The TetR Inverter model, shown in Figure 2a, contains one input species, TetR, and one output species, LacI. The TetR Inverter contains a pTet promoter, which is also represented as a species in SBML. The TetR input species is repressing the pTet promoter, which initiates the production of LacI. This is
represented in SBML as a genetic production reaction in which the TetR input species is a repressing modifier to the pTet promoter and LacI is the product. Again, this reaction and its modifiers are annotated with SBO terms. The top-level SBML model for the Genetic Toggle Switch is shown in Figure 3a. This model is a hierarchical model that includes the TetR Inverter and LacI Inverter models instantiated as submodels. The submodels are represented as green squares in the figure. The LacI Inverter submodel takes in one input species, LacI, and it produces two output species, TetR and GFP. Conversely, the TetR Inverter takes in one input species, TetR, and it produces one output species, LacI. In SBML, connections between submodels are made using replacement and replacedBy objects. These SBML objects indicate that the same species is used at different levels of hierarchy. In SBML, replacements and replacedBys define which model determines the attributes of the object. A replacement indicates that all references to a species within the submodel should be replaced with the top-level species. A replacedBy indicates a species in the top-level model should be replaced by a species in the corresponding submodel. The TetR species in the top-level is replacing the TetR species in the TetR Inverter submodel and it is replaced by the TetR species in the LacI Inverter. Likewise, the LacI species in the top-level is 480
DOI: 10.1021/acssynbio.5b00212 ACS Synth. Biol. 2016, 5, 479−486
Research Article
ACS Synthetic Biology
Figure 3. Visualizations of the Genetic Toggle Switch in (a) SBML and (b) SBOL. The TetR Inverter and the LacI Inverter submodels are SBOL Modules in the GeneticToggleSwitch ModuleDefinition. The species aTc, aTc-TetR, TetR, LacI, IPTG-LacI, IPTG, and GFP are mapped to FunctionalComponents. The aTc and IPTG FunctionalComponents have a direction of in while GFP has a direction of out. Five Interactions are created within the Genetic Toggle Switch ModuleDefinition. The arrows pointing to aTc-TetR and IPTG-LacI represent noncovalent binding Interactions. The arrows pointing away from LacI, TetR, and GFP FunctionalComponents each represent a degradation Interaction. Dashed arrows connecting the two LacI Inverter and TetR Inverter modules represent MapsTo objects. The direction of the arrow indicates whether the refinement has a value of useLocal or useRemote.
replacing the LacI species in the LacI Inverter submodel and it is replaced by the LacI species in the TetR Inverter. Finally, in this model, the TetR and aTc species form a complex (indicated by dashed arrows). Similarly, LacI and IPTG form a complex. Once a complete annotated model has been created in SBML, it can be converted into SBOL. The first step in the converter is to create template ComponentDefinition(s) for the species that are not already annotated with SBOL ComponentDefinitions. In SBOL 2.0, ComponentDefinitions are used to describe the structure of DNA, RNA, and small molecules and how they interact with one another. If a species is a promoter (indicated by an SBO term), then a ComponentDefinition of type DNA and role promoter is created and added to the SBOL document. Otherwise, a ComponentDefinition of type protein and role transcription factor is added to the SBOL document. Let us consider again our Genetic Toggle Switch example. For the LacI Inverter, the pLac promoter has been annotated with an SBOL ComponentDefinition, so the pLac promoter did not require creating a ComponentDefinition. Template ComponentDefinitions are only created for the LacI, TetR, and GFP species. These ComponentDefinitions are given type
protein and role transcription factor. The TetR Inverter requires no additional ComponentDefinitions. The top-level model though requires four additional ComponentDefinitions to be created for IPTG, aTc, and their complexes. The next step in the conversion takes all models referenced within a top-level SBML model and converts them into SBOL ModuleDefinitions. ModuleDefinitions can be composed hierarchically to form more complex ModuleDefinitions. ModuleDefinitions can also reference external models written in, for example, SBML, using the SBOL Model class. In our example, as shown in Figure 1b, Figure 2b, and Figure 3b, the models for the LacI Inverter, TetR Inverter, and top-level Genetic Toggle Switch are each converted into an SBOL ModuleDefinition that references the SBML model from which it is derived. Next, a FunctionalComponent is created within the ModuleDefinition for each species. A FunctionalComponent in SBOL is an instance of a ComponentDefinition within a ModuleDefinition. FunctionalComponents are used to represent functional relationships within a collection of components. The definition for a FunctionalComponent is a reference to a corresponding ComponentDefinition for the species. The 481
DOI: 10.1021/acssynbio.5b00212 ACS Synth. Biol. 2016, 5, 479−486
Research Article
ACS Synthetic Biology
Figure 4. Visualizations of the four-input AND gate in (a) SBML and (b) SBOL. The SBML model is created in iBioSim. The DNA ComponentDefinitions for the four sensors and three two-input AND gates are built using SBOL Designer. The promoters in the submodels are annotated with these ComponentDefinitions. The complete SBOL is then generated using the SBML to SBOL converter described in this paper.
accessType. As for the TetR Inverter shown in Figure 2a, three FunctionalComponents are created: two for the proteins LacI and TetR, and one for the DNA. In Figure 2b, LacI contains an out direction and TetR has an in direction. The top-level Genetic Toggle Switch, shown in Figure 3b, has FunctionalComponents for LacI, TetR, GFP, aTc, IPTG, aTc-TetR, and IPTG-LacI. Both IPTG and aTc have an in direction whereas GFP has an out direction. These are also the only ones with public accessType. Each SBML reaction is converted into one or more SBOL Interactions. A reaction can be a genetic production reaction, complex formation reaction, a degradation reaction, or an ordinary chemical reaction. Depending on what type of SBML reaction
direction for the FunctionalComponent in, out, or none, which is inferred from the SBO terms on the SBML ports referencing the corresponding species. If a FunctionalComponent has an in or out direction, it is given a public accessType. For the LacI Inverter, shown in Figure 1b, the converter creates four FunctionalComponents that are instantiated within the LacI Inverter ModuleDefinition: three that reference the template ComponentDefinitions for the LacI, TetR, and GFP proteins, and one that references the ComponentDefinition for the DNA. The LacI FunctionalComponent has its direction set to in, and the TetR and GFP FunctionalComponents have their direction set to out. These all have public accessType while the DNA has private 482
DOI: 10.1021/acssynbio.5b00212 ACS Synth. Biol. 2016, 5, 479−486
Research Article
ACS Synthetic Biology
FunctionalComponents in Figure 3b. In particular, there is a MapsTo with refinementType useLocal that connects the LacI FunctionalComponent in the TetR Inverter to the LacI FunctionalComponent in the top-level. There is another MapsTo with refinementType useRemote that connects the TetR FunctionalComponent in the LacI Inverter to the LacI FunctionalComponent in the top-level. There are similar MapsTo elements created for TetR and GFP. Four-Input AND Gate. As a larger example, consider the conversion of the four-input AND gate described in ref 22. A hierarchical SBML model for this circuit is shown in Figure 4a. This design includes an Ara sensor, IPTG sensor, 3OC6 sensor, and an aTc sensor. It also includes three two-input AND gates to create the four-input AND function. Each of these submodels behavior is described in SBML using constructs similar to those described above for the genetic inverter designs. The DNA ComponentDefinitions for these designs are constructed using the genetic circuit editor SBOL Designer.23 As above, we annotate the promoters in the models with the corresponding DNA constructs. By making use of these annotations, this four-input AND gate can now be converted using the procedure described in this paper into the SBOL shown visually in Figure 4b, and provided in the Supporting Information. Discussion. Standards are an important feature of synthetic biology to help overcome the challenges to reproduce designs and reuse published work. While SBML is used to create biochemical models for simulation, SBOL can be used for the structural design of genetic circuits. This paper describes a conversion method from SBML to SBOL that extracts the structural and qualitative behavioral information. This converter is capable of converting any SBML model including curated models from the BioModels database, though any SBML constructs other than species and reactions are dropped. However, if the model is not annotated or not properly annotated, then the conversion does not contain detailed information about the model and the resulting SBOL is constructed from generic templates. This approach can lead to a workflow where the generated templates can then be used to add more information when it becomes available during the design process. This converter enables the generation of complete genetic designs. One of the challenges for the conversion is due to the standards being designed for different purposes. SBML can represent detailed mathematical models of the behavior and basic structural aspects of biological designs. Because SBML and SBOL can represent different information, the lossy conversion is a necessary heuristic. However, SBML lacks the ability to fully represent detailed structural information, such as the sequence for a DNA component. SBOL, on the other hand, can represent this detailed structural information, but it is unable to represent detailed mathematical models. There is, however, some overlap in that SBOL can represent basic qualitative behavioral information. Thus, having a conversion from SBML to SBOL is advantageous, since both standards have mutually exclusive goals. This conversion forms a connection between the two standards, such that the standard representations remain consistent with respect to each other. In addition, this conversion enables SBML tools to be used during the initial design process before detailed genetic details are available. Previously, a converter from SBOL data to SBML models was reported.6 Using this converter and the one described in this paper, if properly annotated, it is possible to round-trip the conversion from an SBML model to an SBOL data file back to
(inferred by its SBO term), one or more SBOL Interactions are created between the corresponding FunctionalComponents. Interactions are used for functional relationships between the reactants, products, and modifiers of the reactions. If the reaction is a genetic production reaction, then an Interaction is created for each activator or repressor and the promoter, and it creates one production Interaction for each promoter with its products. If the reaction is a complex formation reaction, then an Interaction is created that includes the separate proteins as reactants and the complex as a product. The reactants and the products are each represented as a Participant for its Interaction. If the reaction is a degradation reaction, then an Interaction is created that includes the degraded protein as a Participant. If the reaction is not a genetic production reaction, complex formation reaction, or a degradation reaction, then the reaction is classified as an ordinary chemical reaction. For an ordinary chemical reaction, an Interaction is created that includes all reactants, products, and modifiers as Participants. As shown in Figure 1b, there are two Interactions that are created within the LacI Inverter. The first is a repression Interaction that has the LacI protein as a repressor Participant and the DNA that includes the pLac promoter as the promoter Participant. The second is a genetic production Interaction that has the DNA that includes the pLac promoter as a promoter Participant, and the proteins TetR and GFP as product Participants. As for the TetR Inverter, shown in Figure 2b, there is a repression Interaction that includes LacI as the repressor Participant and the pTet promoter as the promoter Participant, and a genetic production Interaction that includes the pTet promoter as the promoter Participant and the TetR protein as the product Participant. Finally, for the Genetic Toggle Switch, shown in Figure 3b, three degradation Interactions are created with TetR, LacI, and GFP as reactant Participants. There is also two complex formation Interactions created in the Genetic Toggle Switch. One has TetR and aTc as reactant Participants and aTc-TetR as a product Participant. The other has LacI and IPTG as reactant Participants and IPTG-LacI as a product Participant. The last step of the conversion is to connect the ModuleDefinitions following the hierarchy specified in the SBML model. A Module is created within the ModuleDefinition for each submodel used in the corresponding SBML model. Multiple instances of the Module can exist within the same ModuleDefinition. Furthermore, a Module contains a definition that references the corresponding ModuleDefinition for the submodel. The replacement and replacedBy elements are converted to MapsTo elements in SBOL. MapsTo in SBOL 2.0 is used to indicate that a local FunctionalComponent is the same object as the remote FunctionalComponent within a Module. For a replacement, the MapsTo object has a refinementType of useLocal indicating that the properties of this object should be taken from the FunctionalComponent in the top-level ModuleDefinition. For a replacedBy, the MapsTo object has a RefinementType of useRemote indicating that the properties of this object should be taken from the referenced ModuleDefinition. In our example, shown in Figure 3b, two Modules are created in the Genetic Toggle Switch ModuleDefinition for the LacI Inverter and TetR Inverter. The MapsTo elements are represented as dashed arrows between the TetR Inverter and LacI Inverter Modules, and LacI, TetR, and GFP 483
DOI: 10.1021/acssynbio.5b00212 ACS Synth. Biol. 2016, 5, 479−486
Research Article
ACS Synthetic Biology its original SBML model. Thus, as a future goal, we plan to attach as annotations quantitative information present in SBML models, such as reaction rate constants, species initial amounts, stoichiometry, etc. to the SBOL file, to allow a lossless conversion. This round-trip conversion will facilitate model comparison. Finally, we plan to support different levels of abstractions. Currently, the conversion has a one-to-one correspondence. This means that the current converter has a direct translation from one SBML object to one SBOL data object. However, it would be useful to convert between different levels of detail. This would enable, for example, models at higher-levels of abstraction to be converted to detailed SBOL genetic circuit realizations.
Table 5. FunctionalComponent AccessType
Table 1. ComponentDefinition Types URI
RNA protein small molecule
http://www.biopax.org/release/biopax-level3. owl#DnaRegion http://www.biopax.org/release/biopax-level3. owl#RnaRegion http://www.biopax.org/release/biopax-level3.owl#Protein http://www.biopax.org/release/biopax-level3. owl#SmallMolecule
Table 2. Systems Biology Ontology Terms for Interactions Interaction type
URI for SBO terms
biochemical reaction degradation inhibition genetic production stimulation noncovalent binding
http://identifiers.org/biomodels.sbo/SBO:0000176 http://identifiers.org/biomodels.sbo/SBO:0000179 http://identifiers.org/biomodels.sbo/SBO:0000169 http://identifiers.org/biomodels.sbo/SBO:0000589 http://identifiers.org/biomodels.sbo/SBO:0000170 http://identifiers.org/biomodels.sbo/SBO:0000177
Table 3. Systems Biology Ontology Terms for Participations Participation Role
URI for SBO terms
inhibitor modifier product promoter reactant stimulator
http://identifiers.org/biomodels.sbo/SBO:0000020 http://identifiers.org/biomodels.sbo/SBO:0000019 http://identifiers.org/biomodels.sbo/SBO:0000011 http://identifiers.org/biomodels.sbo/SBO:0000598 http://identifiers.org/biomodels.sbo/SBO:0000010 http://identifiers.org/biomodels.sbo/SBO:0000459
Table 4. FunctionalComponent Direction directionType
URI
in out inout none
http://sbols.org/v2#in http://sbols.org/v2#out http://sbols.org/v2#inout http://sbols.org/v2#none
http://sbols.org/v2#public http://sbols.org/v2#private
refinementType
URI
useRemote useLocal verifyIdentical merge
http://sbols.org/v2#useRemote http://sbols.org/v2#useLocal http://sbols.org/v2#verifyIdentical http://sbols.org/v2#merge
1. For each species in an SBML document that has not been annotated with a ComponentDefinition: (a) Create an SBOL ComponentDefinition. (b) Set the ComponentDefinition’s type by inferring from the SBO term associated with the species. 2. For all models referenced within a top level SBML model: (a) Create an SBOL ModuleDefinition. (b) For each ModuleDefinition, create an SBOL Model to reference its SBML model. 3. For each species used in the corresponding SBML model: (a) Create a FunctionalComponent within the ModuleDefinition. (b) Infer from the SBO terms on the SBML ports referencing the corresponding species to set the FunctionalComponent direction to one of the following: i. direction is in if the FunctionalComponent is an input within the SBML model. ii. direction is out if the FunctionalComponent is an output within the SBML model. iii. direction is none if the FunctionalComponent is neither an input nor an output within the SBML model. (c) Set FunctionalComponent’s accessType to one of the following: i. accessType is public if direction is in or out. ii. Otherwise, accessType is private. 4. For each SBML reaction, consider its SBO term: (a) If it is a genetic production reaction: i. Create an Interaction for each activator. A. Set the Interaction type to stimulation. B. Create a Participation for the activator with role stimulator. C. Create a Participation for the promoter with role promoter. ii. Create an Interaction for each repressor. A. Set the Interaction type to inhibition. B. Create a Participation for the activator with role inhibitor. C. Create a Participation for the promoter with role promoter. iii. Create an Interaction for production. A. Set the Interaction type to genetic production B. Create a Participation for the promoter with role promoter. C. Create a Participation for each product with role product.
METHODS The following steps illustrate how the conversion takes an annotated SBML model and converts it into SBOL data. The ontology terms used in the conversion are summarized in Tables 1, 2, and 3. All quantitative information such as rate constants, kinetic laws, species initial amounts, etc. are currently dropped by the conversion. Table 4 gives the functional component direction, Table 5 gives the functional component type, and Table 6 gives the MapsTo refinement type.
DNA
URI
public private
Table 6. MapsTo RefinementType
■
Type
accessType
484
DOI: 10.1021/acssynbio.5b00212 ACS Synth. Biol. 2016, 5, 479−486
ACS Synthetic Biology
■
(b) If it is a complex formation reaction: i. Create an Interaction of type noncovalent binding. ii. For each reactant, create a Participation with role reactant. iii. For the product, create a Participation with role product. (c) If it is a degradation reaction: i. Create an Interaction of type degradation. ii. For the reactant, create a Participation with role reactant. (d) Otherwise, it is an ordinary chemical reaction: i. Create an Interaction of type biochemical reaction. ii. For each reactant, create a Participation with role reactant. iii. For each modifier, create a Participation with role modifier. iV. For each product, create a Participation with role product. 5. For each subModel used in the corresponding SBML model: (a) Create a Module within the ModuleDefinition. (b) Set the Module’s definition to reference the corresponding ModuleDefinition for the subModel. 6. For each SBML replacement: (a) Create a MapsTo object with local referencing the FunctionalComponent corresponding to the toplevel species, and remote referencing the FunctionalComponent corresponding to the species in the subModel. (b) Set the refinementType in the MapsTo object to useLocal to indicate that the properties of this object should be taken from the FunctionalComponent in the top-level object. 7. For each SBML replacedBy: (a) Create a MapsTo object with local referencing the FunctionalComponent corresponding to the toplevel species, and remote referencing the FunctionalComponent corresponding to the species in the subModel. (b) Set the refinementType in the MapsTo object to useRemote to indicate that the properties of this object should be taken from the FunctionalComponent in the instantiated Module.
■
ACKNOWLEDGMENTS
■
REFERENCES
This material is based upon work supported by the National Science Foundation under Grant No. DBI-1356041. Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.
(1) Hucka, M., et al. (2003) The Systems Biology Markup Language (SBML): a medium for representation and exchange of biochemical network models. Bioinformatics 19, 524−531. (2) Hucka, M., Bergmann, F. T., Hoops, S., Keating, S. M., Sahle, S., Schaff, J. C., Smith, L. P., and Wilkinson, D. J. (2015) The Systems Biology Markup Language (SBML): Language Specification for Level 3 Version 1 Core. J. Integrat. Bioinf. 12, 266. (3) Bartley, B., Beal, J., Clancy, K., Misirli, G., Roehner, N., Oberortner, E., Pocock, M., Bissell, M., Madsen, C., Nguyen, T., Zhang, Z., Gennari, J. H., Myers, C., Wipat, A., and Sauro, H. (2015) Synthetic Biology Open Language (SBOL) Version 2.0.0. J. Integrat. Bioinf. 12, 272. (4) Galdzicki, M., et al. (2014) The Synthetic Biology Open Language (SBOL) provides a community standard for communicating designs in synthetic biology. Nat. Biotechnol. 32, 545−550. (5) Roehner, N., Oberortner, E., Pocock, M., Beal, J., Clancy, K., Madsen, C., Misirli, G., Wipat, A., Sauro, H., and Myers, C. J. (2015) Proposed Data Model for the Next Version of the Synthetic Biology Open Language. ACS Synth. Biol. 4, 57−71. (6) Roehner, N., Zhang, Z., Nguyen, T., and Myers, C. J. (2015) Generating Systems Biology Markup Language Models from the Synthetic Biology Open Language. ACS Synth. Biol. 4, 873−879. (7) Courtot, M., et al. (2011) Controlled vocabularies and semantics in systems biology. Mol. Syst. Biol. 7, 543. (8) Madsen, C., Myers, C., Patterson, T., Roehner, N., Stevens, J., and Winstead, C. (2012) Design and test of genetic circuits using iBioSim. IEEE Des. Test Comput. 29, 32−39. (9) Chelliah, V., Laibe, C., and Le Novère, N. (2013) BioModels Database: A Repository of Mathematical Models of Biological Processes. Methods Mol. Biol. 1021, 189−199. (10) Gauges, R., Rost, U., Sahle, S., Wengler, K., and Bergmann, F. T. (2015) The Systems Biology Markup Language (SBML) Level 3 Package: Layout, Version 1 Core. J. Integrat Bioinf. 12, 267. (11) Smith, L. P., Hucka, M., Hoops, S., Finney, A., Ginkel, M., Myers, C. J., Moraru, I., and Liebermeister, W. (2015) SBML Level 3 package: Hierarchical Model Composition, Version 1 Release 3. J. Integrat. Bioinf. 12, 268. (12) Olivier, B. G., and Bergmann, F. T. (2015) The Systems Biology Markup Language (SBML) Level 3 Package: Flux Balance Constraints. J. Integrat. Bioinf. 12, 269. (13) Chaouiya, C., Keating, S. M., Berenguier, D., Naldi, A., Thieffry, D., van Iersel, M. P., Novère, N. L., and Helikar, T. (2015) The Systems Biology Markup Language (SBML) Level 3 Package: Qualitative Models, Version 1, Release 1. J. Integrat. Bioinf. 12, 270. (14) iGEM Registry of Standard Biological Parts: version 6.0. 2013; http://parts.igem.org (accessed Sept. 30, 2014). (15) Galdzicki, M., Rodriguez, C., Chandran, D., Sauro, H. M., and Gennari, J. H. (2011) Standard Biological Parts Knowledgebase. PLoS One 6, e17005. (16) Ham, T. S., Dmytriv, Z., Plahar, H., Chen, J., Hillson, N. J., and Keasling, J. D. (2012) Design, implementation and practice of JBEIICE: an open source biological part registry platform and tools. Nucleic Acids Res. 40, e141 DOI: 10.1093/nar/gks531. (17) Madsen, C., Misirli, G., Misirli, G., Hallinan, J., Wipat, A. SBOL Stack: The One-stop-shop for Storing and Publishing Synthetic Biology Designs. 7th International Workshop on Bio-Design Automation; Seattle, Washington, August 20−21, 2015. (18) Cooling, M. T., Rouilly, V., Misirli, G., Lawson, J., Yu, T., Hallinan, J., and Wipat, A. (2010) Standard virtual biological parts: a
ASSOCIATED CONTENT
* Supporting Information S
The Supporting Information is available free of charge on the ACS Publications website at DOI: 10.1021/acssynbio.5b00212. Genetic Toggle Switch (ZIP) iBioSim prc for the four-input AND gate (ZIP)
■
Research Article
AUTHOR INFORMATION
Corresponding Author
*E-mail:
[email protected]. Notes
The authors declare no competing financial interest. 485
DOI: 10.1021/acssynbio.5b00212 ACS Synth. Biol. 2016, 5, 479−486
Research Article
ACS Synthetic Biology repository of modular modeling components for synthetic biology. Bioinformatics 26, 925−931. (19) Roehner, N., and Myers, C. J. (2014) A methodology to annotate Systems Biology Markup Language Models with the Synthetic Biology Open Language. ACS Synth. Biol. 3, 57−66. (20) Gardner, T. S., Cantor, C. R., and Collins, J. J. (2000) Construction of a genetic toggle switch in Escherichia coli. Nature 403, 339−342. (21) Quinn, J. Y., et al. (2015) SBOL Visual: A Graphical Language for Genetic Designs. PLoS Biol. 13, e1002310. (22) Moon, T. S., Lou, C., Tamsir, A., Stanton, B. C., and Voigt, C. A. (2012) Genetic programs constructed from layered logic gates in single cells. Nature 491, 249−253. (23) SBOL Designer. 2015. http://clarkparsia.github.io/sbol/ (accessed on Dec. 22, 2015).
486
DOI: 10.1021/acssynbio.5b00212 ACS Synth. Biol. 2016, 5, 479−486