Compare commits

...

20 commits

Author SHA1 Message Date
cjmyers
a170e0e1e0
Merge pull request #643 from MyersResearchGroup/fixModelGen
Fix issues with model generation libraries
2025-12-23 10:00:18 -07:00
Chris Myers
9de95ab6eb Fix issues with model generation libraries 2025-12-23 09:59:23 -07:00
Chris Myers
d4d40a9084 Merge branch 'master' of https://github.com/MyersResearchGroup/iBioSim 2024-11-26 20:28:24 -07:00
Chris Myers
b11268ec9c Updated to suppot later Java versions 2024-11-26 20:27:58 -07:00
cjmyers
bd6703583f
Merge pull request #628 from MyersResearchGroup/UpdateREADME
Update README.md
2023-03-28 08:58:41 -06:00
cjmyers
d81e0d7532
Merge pull request #627 from MyersResearchGroup/sbml-to-prism
Merge of SBML2PRISM converter
2023-03-28 08:58:07 -06:00
cjmyers
484ae5d58e
Merge branch 'master' into sbml-to-prism 2023-03-28 08:57:59 -06:00
LukasBuecherl
a3623c4a34
Update README.md 2023-03-28 15:15:11 +01:00
LukasBuecherl
7e8f2e6f9f Print props file 2023-03-28 15:11:14 +01:00
LukasBuecherl
2674494894 Working 2023-03-06 12:20:29 +00:00
Chris Myers
040aa01d2f Address exception saving movie preferences 2022-10-09 04:00:37 -06:00
Chris Myers
f74c41aa59 Added a few null pointer checks 2022-10-02 16:59:34 -06:00
Chris Myers
88d02ca2d4 Fix default model conversion parameters 2022-06-23 17:12:47 -06:00
Chris Myers
518bbc1383 Update jsbml 2022-05-19 06:37:25 -06:00
Chris Myers
73196545f6 Updated JSBML 2022-04-21 16:25:26 -06:00
Chris Myers
6217a830fb Merge branch 'master' of https://github.com/MyersResearchGroup/iBioSim.git 2022-04-20 16:41:33 -06:00
Chris Myers
c4ac7ea0ed Added debug 2022-04-20 16:41:17 -06:00
Pedro Fontanarrosa
2adf6d6425 Update Converter.java
Fixed trying to read a document without specifying outputdir
Fixed code trying to read only .xml and not also .sbol files
2022-04-18 12:15:35 -04:00
Chris Myers
b6aa5bf573 Merge branch 'master' of https://github.com/MyersResearchGroup/iBioSim.git 2022-03-31 15:31:21 -06:00
Pedro Fontanarrosa
c2f67b7035 Update Converter.java 2022-03-18 12:18:26 -06:00
57 changed files with 15133 additions and 514 deletions

View file

@ -24,9 +24,9 @@ biology.
##### Video Demo: [Tools Workflow](https://www.youtube.com/watch?v=g4xayzlyC2Q)
##### Contact: Chris Myers (@cjmyers) myers@ece.utah.edu
Contributor(s): Nathan Barker, Pedro Fontanarrosa, Scott Glass, Kevin Jones, Hiroyuki Kuwahara, Curtis Madsen, Nam Nguyen, Tramy Nguyen, Tyler Patterson, Nicholas Roehner, Jason Stevens, Leandro Watanabe, Michael Zhang, Zhen Zhang, and Zach Zundel.
Contributor(s): Nathan Barker, Lukas Buecherl, Pedro Fontanarrosa, Scott Glass, Kevin Jones, Hiroyuki Kuwahara, Curtis Madsen, Nam Nguyen, Tramy Nguyen, Tyler Patterson, Nicholas Roehner, Jason Stevens, Leandro Watanabe, Michael Zhang, Zhen Zhang, and Zach Zundel.
Active Developer(s): Pedro Fontanarrosa, Chris Myers, Tramy Nguyen, Leandro Watanabe.
Active Developer(s): Lukas Buecherl, Pedro Fontanarrosa, Chris Myers.
## Running iBioSim
1. Download the iBioSim tool from the release page [here](https://github.com/MyersResearchGroup/iBioSim/releases):

View file

@ -1,65 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN" name="XMLConfigTest" packages="org.sbml.*">
<Properties>
<Property name="filename">jsbml.log</Property>
</Properties>
<ThresholdFilter level="trace"/>
<Appenders>
<Console name="console">
<PatternLayout pattern="%5p (%F:%L) - %m%n"/>
</Console>
<File name="file" fileName="${filename}">
<PatternLayout>
<pattern>%d %p %C{1.} [%t] %m%n</pattern>
</PatternLayout>
</File>
</Appenders>
<Loggers>
<Logger name="org.sbml" level="info" additivity="false">
<AppenderRef ref="console"/>
<AppenderRef ref="file"/>
</Logger>
<!--
<Logger name="org.sbml.jsbml.xml.stax.SBMLWriter" level="debug" additivity="false">
<AppenderRef ref="console"/>
<AppenderRef ref="file"/>
</Logger>
<Logger name="org.sbml.jsbml.xml.stax.SBMLReader" level="debug" additivity="false">
<AppenderRef ref="console"/>
<AppenderRef ref="file"/>
</Logger>
-->
<!--
# org.sbml.jsbml.test.SimpleSBaseChangeListener - DEBUG : it will display all add, remove or change event (lot of output when reading an SBML file)
# org.sbml.jsbml.xml.parsers.SBMLCoreParser - ERROR to DEBUG : anything related to problems when parsing the SBML core elements.
# org.sbml.jsbml.xml.parsers.StringParser - ERROR to DEBUG : (lot of output) display all the event when reading XHTML
# org.sbml.jsbml.xml.parsers.AnnotationParser - DEBUG : output when reading non RDF annotations.
# org.sbml.jsbml.xml.parsers.XMLNodeWriter - DEBUG : output events when writing XMLNode, so HTML block
# org.sbml.jsbml.xml.stax.SBMLReader - ERROR to DEBUG : (lot of output) display all the event when reading an SBML file
# org.sbml.jsbml.xml.stax.SBMLWriter - ERROR to DEBUG : (lot of output) display all the event when writing an SBML file
# org.sbml.jsbml.util.StringTools - WARN : warning when there is a problem with the conversion of a String into a number or boolean.
# org.sbml.jsbml.util.compilers.MathMLXMLStreamCompiler - WARN to DEBUG : (lot of output) display all the event when writing mathML
# org.sbml.jsbml.xml.parsers.MathMLStaxParser - ERROR to DEBUG : (lot of output) display all the event when reading a MathML block
# org.sbml.jsbml.SBMLDocument - ERROR to DEBUG : will display problems related to the checkConsistency call
# org.sbml.jsbml.validator.SBMLValidator - DEBUG : will print the xml result file from http://sbml.org/validator/ with few others checks when the parsing is done
# org.sbml.jsbml.util.SubModel - DEBUG : will print the details of the submodel building
# org.sbml.jsbml.ASTNode - ERROR to DEBUG
# org.sbml.jsbml.xml.parsers.AbstractReaderWriter - DEBUG : events when reading or writing L3 packages block (if the parser extends this abstract class)
# org.sbml.jsbml.xml.parsers.QualParser - DEBUG : events when reading/writing the qual package/extension.
# org.sbml.jsbml.ext.comp.CompModelPlugin - DEBUG: register and unregister debug output for the comp package id namespace
# org.sbml.jsbml.ext.comp.ArraysSBasePlugin - DEBUG: register and unregister debug output for the arrays package id namespace
# org.sbml.jsbml.Model - DEBUG: register and unregister debug output for the core package id namespace
# org.sbml.jsbml.xml.parsers.SBMLRDFAnnotationParser - DEBUG: debug output when reading and writing RDF annotations
-->
<Root level="info">
<AppenderRef ref="file"/>
</Root>
</Loggers>
</Configuration>

View file

@ -30,7 +30,7 @@
</configuration>
<phase>package</phase>
<goals>
<goal>assembly</goal>
<goal>single</goal>
</goals>
</execution>
</executions>

View file

@ -412,6 +412,7 @@ public class Analysis implements BioObserver
if (modelSource.indexOf("/")!=-1) {
modelSource = modelSource.substring(modelSource.lastIndexOf("/")+1);
}
System.out.println("Reading: " + root + File.separator + modelSource);
SBMLDocument sbmlDoc = SBMLReader.read(new File(root + File.separator + modelSource));
if (model.getListOfChanges().size() != 0) {
try {

View file

@ -47,6 +47,17 @@ public class PropertiesUtil {
algorithm = new Algorithm(GlobalConstants.KISAO_EULER);
} else if (sim.contains("rk8pd")) {
algorithm = new Algorithm(GlobalConstants.KISAO_RUNGE_KUTTA_PRINCE_DORMAND);
} else if (sim.contains("rk4imp")) {
algorithm = new Algorithm(GlobalConstants.KISAO_RUNGE_KUTTA_IMPLICIT);
} else if (sim.contains("gear1")||sim.contains("gear2")) {
algorithm = new Algorithm(GlobalConstants.KISAO_GEAR);
AlgorithmParameter order;
if (sim.contains("gear1")) {
order = new AlgorithmParameter(GlobalConstants.KISAO_ORDER, "1");
} else {
order = new AlgorithmParameter(GlobalConstants.KISAO_ORDER, "2");
}
algorithm.addAlgorithmParameter(order);
} else if (sim.contains("rkf45") || sim.contains("Runge-Kutta-Fehlberg")) {
algorithm = new Algorithm(GlobalConstants.KISAO_RUNGE_KUTTA_FEHLBERG);
para.setAttribute("method", sim);
@ -57,6 +68,10 @@ public class PropertiesUtil {
} else if (properties.isSsa()) {
if (sim.equals("gillespie")) {
algorithm = new Algorithm(GlobalConstants.KISAO_GILLESPIE_DIRECT);
} else if (sim.equals("bunker")) {
algorithm = new Algorithm(GlobalConstants.KISAO_BUNKER);
} else if (sim.equals("emc")) {
algorithm = new Algorithm(GlobalConstants.KISAO_EMC);
}
else if (sim.contains("Mixed")) {
@ -146,6 +161,12 @@ public class PropertiesUtil {
} else if (kisaoId.equals(GlobalConstants.KISAO_RUNGE_KUTTA_PRINCE_DORMAND)) {
properties.setOde();
properties.setSim("rk8pd");
} else if (kisaoId.equals(GlobalConstants.KISAO_BUNKER)) {
properties.setOde();
properties.setSim("bunker");
} else if (kisaoId.equals(GlobalConstants.KISAO_EMC)) {
properties.setOde();
properties.setSim("emc");
} else if (kisaoId.equals(GlobalConstants.KISAO_GILLESPIE) || kisaoId.equals(GlobalConstants.KISAO_GILLESPIE_DIRECT)) {
properties.setSsa();
properties.setSim("gillespie");

View file

@ -8,4 +8,4 @@ export PATH=$BIOSIM/bin:/usr/local/lib:$PATH
export DYLD_LIBRARY_PATH=/usr/local/lib:$DYLD_LIBRARY_PATH
export DDLD_LIBRARY_PATH=/usr/local/lib:$DDLD_LIBRARY_PATH
exec java -Xmx2048M -Xms2048M -Djava.library.path=/usr/local/lib -XX:+UseSerialGC -Dapple.laf.useScreenMenuBar=true -Xdock:name="iBioSim" -Xdock:icon=$BIOSIM/gui/src/main/resources/edu/utah/ece/async/ibiosim/gui/icons/iBioSim.jpg -jar iBioSim.jar
java --add-exports java.desktop/com.apple.eawt=ALL-UNNAMED -Xmx2048M -Xms2048M -Djava.library.path=/usr/local/lib -XX:+UseSerialGC -Dapple.laf.useScreenMenuBar=true -Xdock:name="iBioSim" -Xdock:icon=$BIOSIM/gui/src/main/resources/edu/utah/ece/async/ibiosim/gui/icons/iBioSim.jpg -jar iBioSim.jar

View file

@ -30,7 +30,7 @@
</configuration>
<phase>package</phase>
<goals>
<goal>assembly</goal>
<goal>single</goal>
</goals>
</execution>
</executions>
@ -62,13 +62,15 @@
</dependency>
<dependency>
<groupId>org.apache.jena</groupId>
<artifactId>jena-base</artifactId>
<artifactId>apache-jena-libs</artifactId>
<version>3.0.0</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.apache.jena</groupId>
<artifactId>jena-arq</artifactId>
<version>3.0.0</version>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.12.2</version>
</dependency>
</dependencies>
<repositories>

View file

@ -77,7 +77,6 @@ public class Converter {
+ "and can convert to/from SBOL 1.1, to/from SBML, GenBank, and FASTA formats.");
System.err.println();
System.err.println("Usage:");
//TODO PEDRO shouldnt this be conersion 3.0.0-SNAPSHOT?
System.err.println("\tjava -jar iBioSim-conversion-0.0.1-SNAPSHOT-jar-with-dependencies.jar [options] inputFile ");
System.err.println();
System.err.println("Convert SBOL to SBML Example:");
@ -554,6 +553,7 @@ public class Converter {
SBOLDocument sbolDoc = SBOLUtility.loadSBOLFile(fullInputFileName, URIPrefix);
String circuit_name = file.getName();
circuit_name = circuit_name.replace(".xml", "");
circuit_name = circuit_name.replace(".sbol", "");
String vpr_output = circuit_name + "_topModule";
if(!topLevelURIStr.isEmpty())
@ -610,9 +610,8 @@ public class Converter {
SBMLutilities.exportSBMLModels(models, outputDir, outputFileName, noOutput, sbmlOut, singleSBMLOutput);
}
}
if (topModelId != null) {
SBMLDocument topModel = SBMLutilities.readSBML(vpr_output+".xml", null, null);
SBMLDocument topModel = SBMLutilities.readSBML(outputDir + File.separator + vpr_output+ ".xml", null, null);
topModel.getModel().setId(topModelId);
SBMLWriter writer = new SBMLWriter();
try {
@ -629,7 +628,6 @@ public class Converter {
e.printStackTrace();
}
}
if (doVPR) {
if (topEnvir) {
SBMLDocument topEnvironment = SBMLutilities.readSBML(environment, null, null);

View file

@ -18,10 +18,12 @@ import java.io.FileWriter;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.sbml.jsbml.Compartment;
import org.sbml.jsbml.LocalParameter;
import org.sbml.jsbml.Model;
import org.sbml.jsbml.Parameter;
import org.sbml.jsbml.Reaction;
@ -31,7 +33,6 @@ import org.sbml.jsbml.SpeciesReference;
import edu.utah.ece.async.ibiosim.dataModels.biomodel.util.SBMLutilities;
/**
* Perform conversion from SBML to PRISM.
*
@ -57,8 +58,8 @@ public class SBML2PRISM {
* conversion/target/iBioSim-conversion-3.1.0-SNAPSHOT-jar-with-dependencies.jar
* -l PRISM YOURSBMLFILE.xml
*
* The function also allows the translation into a bound model by simply adding the flag
* -bound
* The function also allows the translation into a bound model by simply adding
* the flag -bound
*/
public static void convertSBML2PRISM(SBMLDocument sbmlDoc, String filename, boolean unbound) throws IOException {
@ -73,161 +74,340 @@ public class SBML2PRISM {
out.write("\n");
out.write("ctmc\n");
out.write("\n");
// Set bound limit if bound model is selected
if (unbound) {
out.write("// const int MAX_AMOUNT = ADD VALUE \n");
out.write("\n");
} else {
double maxAmount = 0.0;
for (int i = 0; i < model.getSpeciesCount(); i++) {
Species species = model.getSpecies(i);
if (species.getInitialAmount() > maxAmount) {
maxAmount = species.getInitialAmount();
}
}
out.write(" const int MAX_AMOUNT = " + (int) maxAmount + ";\n");
out.write("\n"); out.write("\n");
if (!unbound) {
System.err.println("Under Development");
/*
* double maxAmount = 0.0; for (int i = 0; i < model.getSpeciesCount(); i++) {
* Species species = model.getSpecies(i); if (species.getInitialAmount() >
* maxAmount) { maxAmount = species.getInitialAmount(); } }
* out.write(" const int MAX_AMOUNT = " + (int) maxAmount + ";\n");
*/
}
// Identify compartments and their size
out.write("// Compartment size\n");
// Declaration of new Compartment list
ArrayList<Compartment> compartmentList = new ArrayList<Compartment>();
// Iterating over Compartments
for (int i = 0; i < model.getCompartmentCount(); i++) {
Compartment compartment = model.getCompartment(i);
out.write("const double " + checkReservedKeywordPrism(compartment.getId()) + " = " + compartment.getSize()
+ ";\n");
compartmentList.add(compartment);
}
out.write("\n");
// System.err.println("Compartment List: " + compartmentList + "\n");
// Identify compartments and their size
if (!compartmentList.isEmpty()) {
out.write("// Compartment size\n");
}
for (int i = 0; i < compartmentList.size(); i++) {
String id = checkReservedKeywordPrism(compartmentList.get(i).getId());
// System.err.println("Id: " + id);
Double size = compartmentList.get(i).getSize();
// System.err.println("Size: " + size);
if (!Double.isNaN(size)) {
out.write("const double " + id + " = " + size + ";\n");
}
}
// Identify model parameters
out.write("// Model parameters\n");
// Declaration of new parameter list
ArrayList<Parameter> parameterList = new ArrayList<Parameter>();
// Iterating over Compartments
for (int i = 0; i < model.getParameterCount(); i++) {
Parameter parameter = model.getParameter(i);
out.write("const double " + checkReservedKeywordPrism(parameter.getId()) + " = " + parameter.getValue()
+ "; // " + parameter.getName() + "\n"); // if not null name
parameterList.add(parameter);
}
// System.err.println("Parameter List: " + parameterList + "\n");
if (!parameterList.isEmpty()) {
out.write("\n");
out.write("// Model parameters\n");
}
for (int i = 0; i < parameterList.size(); i++) {
String id = checkReservedKeywordPrism(parameterList.get(i).getId());
Double value = parameterList.get(i).getValue();
String name = parameterList.get(i).getName();
if (!Double.isNaN(value)) {
out.write("const double " + id + " = " + value + "; // " + name + "\n"); // if not null name
}
}
// Identify reactions
// Declaration of new reaction list
ArrayList<Reaction> reactionList = new ArrayList<Reaction>();
// Iterating over reactions
for (int i = 0; i < model.getReactionCount(); i++) {
Reaction reaction = model.getReaction(i);
reactionList.add(reaction);
}
// System.err.println("Reaction List: " + reactionList + "\n");
// Identify local model parameters
// Declaration of new local parameter list
ArrayList<LocalParameter> localParameterList = new ArrayList<LocalParameter>();
// Iterating over local parameters
for (int i = 0; i < reactionList.size(); i++) {
for (int j = 0; j < reactionList.get(i).getKineticLaw().getLocalParameterCount(); j++) {
LocalParameter localparameter = reactionList.get(i).getKineticLaw().getLocalParameter(j);
localParameterList.add(localparameter);
}
}
// while (localParameterList.remove(null));
// System.err.println("LocalParameterList: " + localParameterList + "\n");
ArrayList<LocalParameter> UpdatedlocalParameterList = new ArrayList<LocalParameter>();
for (int i = 0; i < reactionList.size(); i++) {
for (int j = 0; j < reactionList.get(i).getKineticLaw().getLocalParameterCount(); j++) {
LocalParameter localparameter = reactionList.get(i).getKineticLaw().getLocalParameter(j);
// System.err.println("localparameter: " + localparameter);
if (localparameter != null) {
if (localParameterList.contains(localparameter)) {
reactionList.get(i).getKineticLaw().getLocalParameter(j)
.setId("local_" + localparameter.getId() + "_" + i);
// System.err.println(
// "localparameter: " + reactionList.get(i).getKineticLaw().getLocalParameter(j)
// + "\n");
UpdatedlocalParameterList.add(reactionList.get(i).getKineticLaw().getLocalParameter(j));
}
}
}
}
for (int i = 0; i < reactionList.size(); i++) {
for (int j = 0; j < reactionList.get(i).getKineticLaw().getLocalParameterCount(); j++) {
// System.err.println("Reaction local parameter updated: "
// + reactionList.get(i).getKineticLaw().getLocalParameter(j));
}
}
if (!UpdatedlocalParameterList.isEmpty()) {
out.write("\n");
out.write("// Model local parameters\n");
}
for (int i = 0; i < UpdatedlocalParameterList.size(); i++) {
LocalParameter localparameter = UpdatedlocalParameterList.get(i);
String id = checkReservedKeywordPrism(localparameter.getId());
Double value = localparameter.getValue();
String name;
if (localparameter.getName() != null) {
name = localparameter.getName();
} else {
name = id;
}
out.write("const double " + id + " = " + value + "; // " + name + "\n"); // if not null name }
}
out.write("\n");
// System.err.println("Species Count: " + model.getSpeciesCount());
// System.err.println("Reaction Count: " + model.getReactionCount());
Map<String, String> map = new HashMap<String, String>();
for (int i = 0; i < reactionList.size(); i++) {
Reaction reaction = model.getReaction(i);
String SumReactant = "";
int reaStoch;
// System.err.println("Reaction: " + reaction);
// System.err.println("ReactantCount: " + reaction.getReactantCount());
for (int j = 0; j < reaction.getReactantCount(); j++) {
// System.err.println("Species: " + reaction.getReactant(j).getSpecies());
reaStoch = (int) reaction.getReactant(j).getStoichiometry() - 1;
// System.err.println("Stochiometry: " + reaStoch);
if (reaStoch == 0) {
SumReactant = SumReactant.concat(reaction.getReactant(j).getSpecies() + " >= " + reaStoch);
} else {
SumReactant = SumReactant.concat(reaction.getReactant(j).getSpecies() + " > " + reaStoch);
}
if (j < reaction.getReactantCount() - 1) {
SumReactant = SumReactant.concat(" & ");
}
// System.err.println(SumReactant);
}
map.put(reaction.getId(), SumReactant);
SumReactant = "";
}
// System.err.println(map);
// System.err.println(map.get("R0"));
// Identify model species
for (int i = 0; i < model.getSpeciesCount(); i++) {
// Write out syntax
// For function checkReservedKeywordPrism see below
Species species = model.getSpecies(i);
out.write("// Species " + checkReservedKeywordPrism(species.getId()) + "\n");
String id = checkReservedKeywordPrism(species.getId());
int inAmount = (int) species.getInitialAmount();
out.write("\n");
out.write("// Species " + id + "\n");
if (unbound) {
out.write("// const int " + checkReservedKeywordPrism(species.getId()) + "_MAX = MAX_AMOUNT;\n");
out.write("module " + checkReservedKeywordPrism(species.getId()) + "\n");
out.write("module " + id + "\n");
out.write("\n");
out.write(" // " + checkReservedKeywordPrism(species.getId()) + " : " + "[0.."
+ checkReservedKeywordPrism(species.getId()) + "_MAX] init " + (int) species.getInitialAmount()
+ ";\n");
out.write(" " + checkReservedKeywordPrism(species.getId()) + " : " + "int init "
+ (int) (species.getInitialAmount()) + ";\n");
out.write(" " + id + " : " + "int init " + inAmount + ";\n");
out.write("\n");
} else {
out.write("const int " + checkReservedKeywordPrism(species.getId()) + "_MAX = MAX_AMOUNT;\n");
out.write("module " + checkReservedKeywordPrism(species.getId()) + "\n");
out.write("\n");
out.write(" " + checkReservedKeywordPrism(species.getId()) + " : " + "[0.."
+ checkReservedKeywordPrism(species.getId()) + "_MAX] init " + (int) species.getInitialAmount()
+ ";\n");
out.write(" // " + checkReservedKeywordPrism(species.getId()) + " : " + "int init "
+ (int) (species.getInitialAmount()) + ";\n");
out.write("\n");
System.err.println("Under Development");
/*
* out.write("const int " + id + "_MAX = MAX_AMOUNT;\n"); out.write("module " +
* id + "\n"); out.write("\n"); out.write(" " + id + " : " + "[0.." + id +
* "_MAX] init " + inAmount + ";\n"); out.write(" // " + id + " : " +
* "int init " + inAmount + ";\n"); out.write("\n");
*/
}
// Iterate over reactions
for (int j = 0; j < model.getReactionCount(); j++) {
Reaction reaction = model.getReaction(j);
for (int j = 0; j < reactionList.size(); j++) {
Reaction reaction = reactionList.get(j);
// Identify reactants and products
SpeciesReference reactant = reaction.getReactantForSpecies(species.getId());
SpeciesReference product = reaction.getProductForSpecies(species.getId());
String reactionId = checkReservedKeywordPrism(reaction.getId());
String speciesId = checkReservedKeywordPrism(species.getId());
int stochi;
if (reactant != null) {
out.write(" // " + checkReservedKeywordPrism(reaction.getId()) + "\n");
out.write(" [" + checkReservedKeywordPrism(reaction.getId()) + "] "
+ checkReservedKeywordPrism(species.getId()) + " > "
+ (int) (reactant.getStoichiometry() - 1) + " -> ("
+ checkReservedKeywordPrism(species.getId()) + "\'="
+ checkReservedKeywordPrism(species.getId()) + "-" + (int) reactant.getStoichiometry()
+ ");\n");
} else if (product != null) {
if (unbound) {
out.write(" // " + checkReservedKeywordPrism(reaction.getId()) + "\n");
out.write(" [" + checkReservedKeywordPrism(reaction.getId()) + "] "
+ checkReservedKeywordPrism(species.getId()) + " >= " + "0 -> ("
+ checkReservedKeywordPrism(species.getId()) + "\'="
+ checkReservedKeywordPrism(species.getId()) + "+" + (int) product.getStoichiometry()
+ ");\n");
if (reactant != null && product != null) {
int reaStoch = (int) reactant.getStoichiometry();
int proStoch = (int) product.getStoichiometry();
// System.err.println("Check 1");
stochi = proStoch - reaStoch;
out.write(" // " + reactionId + "\n");
if (stochi >= 0) {
out.write(" [" + reactionId + "] ");
if (map.get(reactionId) != null) {
out.write(map.get(reactionId));
}
out.write(" -> (" + speciesId + "\' = " + speciesId + " + " + stochi + ");\n");
} else {
out.write(" // " + checkReservedKeywordPrism(reaction.getId()) + "\n");
out.write(" [" + checkReservedKeywordPrism(reaction.getId()) + "] "
+ checkReservedKeywordPrism(species.getId()) + " <= " + checkReservedKeywordPrism(species.getId()) + "_MAX-"
+ (int) product.getStoichiometry() + " -> ("
+ checkReservedKeywordPrism(species.getId()) + "\'="
+ checkReservedKeywordPrism(species.getId()) + "+" + (int) product.getStoichiometry()
+ ");\n");
}
out.write(" [" + reactionId + "] " + speciesId + " > 0 -> (" + speciesId + "\' = "
+ speciesId + " - " + Math.abs(stochi) + ");\n");
}
} else if (reactant == null && product != null) {
int proStoch = (int) product.getStoichiometry();
int reaStoch = 0;
// System.err.println("Check 2");
stochi = proStoch - reaStoch;
out.write(" // " + reactionId + "\n");
out.write(" [" + reactionId + "] ");
// System.err.println(reactionId);
// System.err.println(map.get(reactionId));
if (map.get(reactionId) != null && !"".equals(map.get(reactionId))) {
// System.err.println(map.get(reactionId) );
out.write(map.get(reactionId) + " -> (");
} else if ("".equals(map.get(reactionId))) {
out.write(speciesId + " >= 0 -> (");
}
out.write(speciesId + "\' = " + speciesId + " + " + stochi + ");\n");
} else if (reactant != null && product == null) {
int proStoch = 0;
int reaStoch = (int) reactant.getStoichiometry();
// System.err.println("Check 3");
stochi = proStoch - reaStoch;
out.write(" // " + reactionId + "\n");
out.write(" [" + reactionId + "] ");
if (map.get(reactionId) != null) {
out.write(map.get(reactionId));
}
out.write(" -> (" + speciesId + "\' = " + speciesId + " - " + Math.abs(stochi) + ");\n");
}
}
out.write("\n");
out.write("endmodule\n");
}
// Identify reaction rate
out.write("\n");
out.write("// Reaction rates\n");
out.write("module reaction_rates\n");
out.write("\n");
for (int i = 0; i < reactionList.size(); i++) {
Reaction reaction = reactionList.get(i);
String reactionId = checkReservedKeywordPrism(reaction.getId());
// Write state transitions
out.write(" // " + reactionId + ": ");
for (int j = 0; j < reaction.getReactantCount(); j++) {
if ((int) reaction.getReactant(j).getStoichiometry() > 1) {
out.write((int) reaction.getReactant(j).getStoichiometry() + " ");
}
// System.err.println(checkReservedKeywordPrism(reaction.getReactant(j).getSpecies()));
out.write(checkReservedKeywordPrism(reaction.getReactant(j).getSpecies()));
if (j < reaction.getReactantCount() - 1) {
out.write(" + ");
}
}
out.write(" -> ");
for (int j = 0; j < reaction.getProductCount(); j++) {
if ((int) reaction.getProduct(j).getStoichiometry() > 1) {
out.write((int) reaction.getProduct(j).getStoichiometry() + " ");
}
out.write(checkReservedKeywordPrism(reaction.getProduct(j).getSpecies()));
if (j < reaction.getProductCount() - 1) {
out.write(" + ");
}
}
out.write("\n");
out.write("endmodule\n");
out.write("\n");
}
String math = checkReserveKeywordMath(
SBMLutilities.convertMath2PrismProperty(reaction.getKineticLaw().getMath()), model);
// Identify reaction rate
out.write("// Reaction rates\n");
out.write("module reaction_rates\n");
out.write("\n");
// System.err.println(math);
// System.err.println(localParameterList);
for (int i = 0; i < model.getReactionCount(); i++) {
Reaction reaction = model.getReaction(i);
// Write state transitions
out.write(" // " + checkReservedKeywordPrism(reaction.getId()) + ": -> ");
for (int j = 0; j < reaction.getProductCount(); j++) {
out.write(checkReservedKeywordPrism(reaction.getProduct(j).getSpecies()) + " ");
for (int l = 0; l < reaction.getKineticLaw().getLocalParameterCount(); l++) {
String locPara = reaction.getKineticLaw().getLocalParameter(l).getId();
math = math.replace(locPara.replace("local_", "").replace("_" + i, ""), locPara);
}
out.write("\n");
// System.err.println(math);
// Get the math for the reaction rate
out.write(" [" + checkReservedKeywordPrism(reaction.getId()) + "] "
+ checkReserveKeywordMath(
SBMLutilities.convertMath2PrismProperty(reaction.getKineticLaw().getMath()), model)
+ " > 0 -> " + "("
+ checkReserveKeywordMath(
SBMLutilities.convertMath2PrismProperty(reaction.getKineticLaw().getMath()), model)
+ ") : true;\n");
out.write(" [" + reactionId + "] " + math + " > 0 -> " + math + " : true;\n");
out.write("\n");
}
out.write("endmodule\n");
out.write("\n");
// Identify rewards
out.write("\n");
out.write("// Reward structures (one per species)");
out.write("\n");
for (int i = 0; i < model.getSpeciesCount(); i++) {
Species species = model.getSpecies(i);
String speciesId = checkReservedKeywordPrism(species.getId().replace(" ", ""));
out.write("// Reward " + (i + 1) + ": " + checkReservedKeywordPrism(species.getId()) + "\n");
out.write("rewards " + "\"" + checkReservedKeywordPrism(species.getId()) + "\" true : "
+ checkReservedKeywordPrism(species.getId()) + "; endrewards\n");
out.write("// Reward " + (i + 1) + ": " + speciesId + "\n");
out.write("rewards " + "\"" + speciesId + "\" true : " + speciesId + "; endrewards\n");
}
@ -237,17 +417,13 @@ public class SBML2PRISM {
}
/*
* Writes PRISM property Input: (String) filename, (Model) model
* Output: void
* Writes PRISM property Input: (String) filename, (Model) model Output: void
*
* Function checks the constraints of a SBML model and translates it
* into the PRISM syntax. The properties are then written into a
* .props file.
* Function checks the constraints of a SBML model and translates it into the
* PRISM syntax. The properties are then written into a .props file.
*/
private static void writePRISMProperty(String filename, Model model) throws IOException
{
private static void writePRISMProperty(String filename, Model model) throws IOException {
// Write Properties File
File property = new File(filename.replace(".xml", ".props"));
FileWriter property_out = new FileWriter(property);
@ -332,15 +508,20 @@ public class SBML2PRISM {
if (speciesString.contains(keywords.get(i))) {
// Replace species in math equations
// In equations species names are lead by a space
String Target = " " + keywords.get(i);
// System.err.println(Target);
math = math.replace(Target, "_" + keywords.get(i));
// String Target = " " + keywords.get(i);
// System.err.println("Target " + Target);
// System.err.println(math);
// math = math.replace("(?<!\\S)" + keywords.get(i) + "(?!\\S)", "_" +
// keywords.get(i));
math = math.replace(" " + keywords.get(i) + " ", " _" + keywords.get(i));
math = math.replace(" " + keywords.get(i) + ")", " _" + keywords.get(i) + ")");
math = math.replace("(" + keywords.get(i) + " ", "( _" + keywords.get(i));
// System.err.println(math);
// Replace species names in property files
// In property files species names are lead by a (
String TargetProperty = "(" + keywords.get(i);
math = math.replace(TargetProperty, "(_" + keywords.get(i));
// String TargetProperty = "(" + keywords.get(i);
// math = math.replace(TargetProperty, "(_" + keywords.get(i));
}
}

View file

@ -16,21 +16,11 @@
<name>The JSBML Snapshot repository</name>
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
</repository>
<repository>
<id>ebi</id>
<name>ebi</name>
<url>http://www.ebi.ac.uk/intact/maven/nexus/content/repositories/ebi-repo/</url>
</repository>
<repository>
<repository>
<id>jboss</id>
<name>jboss</name>
<url>https://repository.jboss.org/nexus/content/repositories/thirdparty-releases/</url>
</repository>
<repository>
<id>netbeans</id>
<name>netbeans</name>
<url>http://bits.netbeans.org/maven2/</url>
</repository>
<repository>
<id>osgeo</id>
<name>osgeo</name>
@ -54,8 +44,26 @@
<groupId>jaxen</groupId>
<artifactId>jaxen</artifactId>
<version>1.1.4</version>
<exclusions>
<exclusion>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
</exclusion>
<exclusion>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
</exclusion>
<exclusion>
<groupId>xom</groupId>
<artifactId>xom</artifactId>
</exclusion>
<exclusion>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>xom</groupId>
<artifactId>xom</artifactId>
@ -71,7 +79,7 @@
<dependency>
<groupId>org.sbml.jsbml</groupId>
<artifactId>jsbml</artifactId>
<version>1.6-SNAPSHOT</version>
<version>1.7-SNAPSHOT</version>
</dependency>
<dependency>
@ -85,6 +93,20 @@
<groupId>org.sbolstandard</groupId>
<artifactId>libSBOLj</artifactId>
<version>2.4.1-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
</exclusion>
<exclusion>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
</exclusion>
<exclusion>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-math3 -->
@ -98,17 +120,56 @@
<groupId>org.jfree</groupId>
<artifactId>jfreechart</artifactId>
<version>1.0.14</version>
<exclusions>
<exclusion>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
</exclusion>
<exclusion>
<groupId>xml-apis</groupId>
<artifactId>xml-apis-ext</artifactId>
</exclusion>
<exclusion>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>batik-dom</artifactId>
<version>1.8</version>
<version>1.16</version>
<exclusions>
<exclusion>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
</exclusion>
<exclusion>
<groupId>xml-apis</groupId>
<artifactId>xml-apis-ext</artifactId>
</exclusion>
<exclusion>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>batik-svggen</artifactId>
<version>1.8</version>
<version>1.16</version>
<exclusions>
<exclusion>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
</exclusion>
<exclusion>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
@ -122,11 +183,29 @@
<artifactId>VectorGraphics2D</artifactId>
<version>0.13</version>
</dependency>
<dependency>
<groupId>org.jlibsedml</groupId>
<artifactId>jlibsedml</artifactId>
<version>2.3.0-SNAPSHOT</version>
<exclusions>
<exclusion>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
</exclusion>
<exclusion>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
</exclusion>
<exclusion>
<groupId>xom</groupId>
<artifactId>xom</artifactId>
</exclusion>
<exclusion>
<groupId>jaxen</groupId>
<artifactId>jaxen</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>

View file

@ -195,125 +195,125 @@ public class BioModel extends CoreObservable{
private void loadDefaultParameters() {
Preferences biosimrc = Preferences.userRoot();
createGlobalParameter(GlobalConstants.FORWARD_KREP_STRING, biosimrc.get("biosim.gcm.KREP_VALUE", ""));
createGlobalParameter(GlobalConstants.FORWARD_KREP_STRING, biosimrc.get("biosim.gcm.KREP_VALUE", GlobalConstants.KREP_VALUE));
createGlobalParameter(GlobalConstants.REVERSE_KREP_STRING, "1");
createGlobalParameter(GlobalConstants.FORWARD_KACT_STRING, biosimrc.get("biosim.gcm.KACT_VALUE", ""));
createGlobalParameter(GlobalConstants.FORWARD_KACT_STRING, biosimrc.get("biosim.gcm.KACT_VALUE", GlobalConstants.KACT_VALUE));
createGlobalParameter(GlobalConstants.REVERSE_KACT_STRING, "1");
createGlobalParameter(GlobalConstants.FORWARD_RNAP_BINDING_STRING, biosimrc.get("biosim.gcm.RNAP_BINDING_VALUE", ""));
createGlobalParameter(GlobalConstants.FORWARD_RNAP_BINDING_STRING, biosimrc.get("biosim.gcm.RNAP_BINDING_VALUE", GlobalConstants.RNAP_BINDING_VALUE));
createGlobalParameter(GlobalConstants.REVERSE_RNAP_BINDING_STRING, "1");
createGlobalParameter(GlobalConstants.FORWARD_ACTIVATED_RNAP_BINDING_STRING,
biosimrc.get("biosim.gcm.ACTIVATED_RNAP_BINDING_VALUE", ""));
biosimrc.get("biosim.gcm.ACTIVATED_RNAP_BINDING_VALUE", GlobalConstants.ACTIVATED_RNAP_BINDING_VALUE));
createGlobalParameter(GlobalConstants.REVERSE_ACTIVATED_RNAP_BINDING_STRING, "1");
createGlobalParameter(GlobalConstants.FORWARD_KCOMPLEX_STRING, biosimrc.get("biosim.gcm.KCOMPLEX_VALUE", ""));
createGlobalParameter(GlobalConstants.FORWARD_KCOMPLEX_STRING, biosimrc.get("biosim.gcm.KCOMPLEX_VALUE", GlobalConstants.KCOMPLEX_VALUE));
createGlobalParameter(GlobalConstants.REVERSE_KCOMPLEX_STRING, "1");
createGlobalParameter(GlobalConstants.FORWARD_MEMDIFF_STRING, biosimrc.get("biosim.gcm.FORWARD_MEMDIFF_VALUE", ""));
createGlobalParameter(GlobalConstants.REVERSE_MEMDIFF_STRING, biosimrc.get("biosim.gcm.REVERSE_MEMDIFF_VALUE", ""));
createGlobalParameter(GlobalConstants.FORWARD_MEMDIFF_STRING, biosimrc.get("biosim.gcm.FORWARD_MEMDIFF_VALUE", GlobalConstants.FORWARD_MEMDIFF_VALUE));
createGlobalParameter(GlobalConstants.REVERSE_MEMDIFF_STRING, biosimrc.get("biosim.gcm.REVERSE_MEMDIFF_VALUE", GlobalConstants.REVERSE_MEMDIFF_VALUE));
createGlobalParameter(GlobalConstants.KDECAY_STRING, biosimrc.get("biosim.gcm.KDECAY_VALUE", ""));
createGlobalParameter(GlobalConstants.KECDECAY_STRING, biosimrc.get("biosim.gcm.KECDECAY_VALUE", ""));
createGlobalParameter(GlobalConstants.COOPERATIVITY_STRING, biosimrc.get("biosim.gcm.COOPERATIVITY_VALUE", ""));
createGlobalParameter(GlobalConstants.RNAP_STRING, biosimrc.get("biosim.gcm.RNAP_VALUE", ""));
createGlobalParameter(GlobalConstants.OCR_STRING, biosimrc.get("biosim.gcm.OCR_VALUE", ""));
createGlobalParameter(GlobalConstants.KBASAL_STRING, biosimrc.get("biosim.gcm.KBASAL_VALUE", ""));
createGlobalParameter(GlobalConstants.PROMOTER_COUNT_STRING, biosimrc.get("biosim.gcm.PROMOTER_COUNT_VALUE", ""));
createGlobalParameter(GlobalConstants.STOICHIOMETRY_STRING, biosimrc.get("biosim.gcm.STOICHIOMETRY_VALUE", ""));
createGlobalParameter(GlobalConstants.ACTIVATED_STRING, biosimrc.get("biosim.gcm.ACTIVED_VALUE", ""));
createGlobalParameter(GlobalConstants.KECDIFF_STRING, biosimrc.get("biosim.gcm.KECDIFF_VALUE", ""));
createGlobalParameter(GlobalConstants.KDECAY_STRING, biosimrc.get("biosim.gcm.KDECAY_VALUE", GlobalConstants.KDECAY_VALUE));
createGlobalParameter(GlobalConstants.KECDECAY_STRING, biosimrc.get("biosim.gcm.KECDECAY_VALUE", GlobalConstants.KECDECAY_VALUE));
createGlobalParameter(GlobalConstants.COOPERATIVITY_STRING, biosimrc.get("biosim.gcm.COOPERATIVITY_VALUE", GlobalConstants.COOPERATIVITY_VALUE));
createGlobalParameter(GlobalConstants.RNAP_STRING, biosimrc.get("biosim.gcm.RNAP_VALUE", GlobalConstants.RNAP_VALUE));
createGlobalParameter(GlobalConstants.OCR_STRING, biosimrc.get("biosim.gcm.OCR_VALUE", GlobalConstants.OCR_VALUE));
createGlobalParameter(GlobalConstants.KBASAL_STRING, biosimrc.get("biosim.gcm.KBASAL_VALUE", GlobalConstants.KBASAL_VALUE));
createGlobalParameter(GlobalConstants.PROMOTER_COUNT_STRING, biosimrc.get("biosim.gcm.PROMOTER_COUNT_VALUE", GlobalConstants.PROMOTER_COUNT_VALUE));
createGlobalParameter(GlobalConstants.STOICHIOMETRY_STRING, biosimrc.get("biosim.gcm.STOICHIOMETRY_VALUE", GlobalConstants.STOICHIOMETRY_VALUE));
createGlobalParameter(GlobalConstants.ACTIVATED_STRING, biosimrc.get("biosim.gcm.ACTIVED_VALUE", GlobalConstants.ACTIVED_VALUE));
createGlobalParameter(GlobalConstants.KECDIFF_STRING, biosimrc.get("biosim.gcm.KECDIFF_VALUE", GlobalConstants.KECDIFF_VALUE));
}
private void loadDefaultParameterMap() {
Preferences biosimrc = Preferences.userRoot();
defaultParameters = new HashMap<String,String>();
defaultParameters.put(GlobalConstants.FORWARD_KREP_STRING, biosimrc.get("biosim.gcm.KREP_VALUE", ""));
defaultParameters.put(GlobalConstants.FORWARD_KREP_STRING, biosimrc.get("biosim.gcm.KREP_VALUE", GlobalConstants.KREP_VALUE));
defaultParameters.put(GlobalConstants.REVERSE_KREP_STRING, "1");
defaultParameters.put(GlobalConstants.FORWARD_KACT_STRING, biosimrc.get("biosim.gcm.KACT_VALUE", ""));
defaultParameters.put(GlobalConstants.FORWARD_KACT_STRING, biosimrc.get("biosim.gcm.KACT_VALUE", GlobalConstants.KACT_VALUE));
defaultParameters.put(GlobalConstants.REVERSE_KACT_STRING, "1");
defaultParameters.put(GlobalConstants.FORWARD_RNAP_BINDING_STRING, biosimrc.get("biosim.gcm.RNAP_BINDING_VALUE", ""));
defaultParameters.put(GlobalConstants.FORWARD_RNAP_BINDING_STRING, biosimrc.get("biosim.gcm.RNAP_BINDING_VALUE", GlobalConstants.ACTIVATED_RNAP_BINDING_VALUE));
defaultParameters.put(GlobalConstants.REVERSE_RNAP_BINDING_STRING, "1");
defaultParameters.put(GlobalConstants.FORWARD_ACTIVATED_RNAP_BINDING_STRING,
biosimrc.get("biosim.gcm.ACTIVATED_RNAP_BINDING_VALUE", ""));
biosimrc.get("biosim.gcm.ACTIVATED_RNAP_BINDING_VALUE", GlobalConstants.ACTIVATED_RNAP_BINDING_VALUE));
defaultParameters.put(GlobalConstants.REVERSE_ACTIVATED_RNAP_BINDING_STRING, "1");
defaultParameters.put(GlobalConstants.FORWARD_KCOMPLEX_STRING, biosimrc.get("biosim.gcm.KCOMPLEX_VALUE", ""));
defaultParameters.put(GlobalConstants.FORWARD_KCOMPLEX_STRING, biosimrc.get("biosim.gcm.KCOMPLEX_VALUE", GlobalConstants.KCOMPLEX_VALUE));
defaultParameters.put(GlobalConstants.REVERSE_KCOMPLEX_STRING, "1");
defaultParameters.put(GlobalConstants.FORWARD_MEMDIFF_STRING, biosimrc.get("biosim.gcm.FORWARD_MEMDIFF_VALUE", ""));
defaultParameters.put(GlobalConstants.REVERSE_MEMDIFF_STRING, biosimrc.get("biosim.gcm.REVERSE_MEMDIFF_VALUE", ""));
defaultParameters.put(GlobalConstants.FORWARD_MEMDIFF_STRING, biosimrc.get("biosim.gcm.FORWARD_MEMDIFF_VALUE", GlobalConstants.FORWARD_MEMDIFF_VALUE));
defaultParameters.put(GlobalConstants.REVERSE_MEMDIFF_STRING, biosimrc.get("biosim.gcm.REVERSE_MEMDIFF_VALUE", GlobalConstants.REVERSE_MEMDIFF_VALUE));
defaultParameters.put(GlobalConstants.KDECAY_STRING, biosimrc.get("biosim.gcm.KDECAY_VALUE", ""));
defaultParameters.put(GlobalConstants.KECDECAY_STRING, biosimrc.get("biosim.gcm.KECDECAY_VALUE", ""));
defaultParameters.put(GlobalConstants.COOPERATIVITY_STRING, biosimrc.get("biosim.gcm.COOPERATIVITY_VALUE", ""));
defaultParameters.put(GlobalConstants.RNAP_STRING, biosimrc.get("biosim.gcm.RNAP_VALUE", ""));
defaultParameters.put(GlobalConstants.OCR_STRING, biosimrc.get("biosim.gcm.OCR_VALUE", ""));
defaultParameters.put(GlobalConstants.KBASAL_STRING, biosimrc.get("biosim.gcm.KBASAL_VALUE", ""));
defaultParameters.put(GlobalConstants.PROMOTER_COUNT_STRING, biosimrc.get("biosim.gcm.PROMOTER_COUNT_VALUE", ""));
defaultParameters.put(GlobalConstants.STOICHIOMETRY_STRING, biosimrc.get("biosim.gcm.STOICHIOMETRY_VALUE", ""));
defaultParameters.put(GlobalConstants.ACTIVATED_STRING, biosimrc.get("biosim.gcm.ACTIVED_VALUE", ""));
defaultParameters.put(GlobalConstants.KECDIFF_STRING, biosimrc.get("biosim.gcm.KECDIFF_VALUE", ""));
defaultParameters.put(GlobalConstants.KDECAY_STRING, biosimrc.get("biosim.gcm.KDECAY_VALUE", GlobalConstants.KDECAY_VALUE));
defaultParameters.put(GlobalConstants.KECDECAY_STRING, biosimrc.get("biosim.gcm.KECDECAY_VALUE", GlobalConstants.KECDECAY_VALUE));
defaultParameters.put(GlobalConstants.COOPERATIVITY_STRING, biosimrc.get("biosim.gcm.COOPERATIVITY_VALUE", GlobalConstants.COOPERATIVITY_VALUE));
defaultParameters.put(GlobalConstants.RNAP_STRING, biosimrc.get("biosim.gcm.RNAP_VALUE", GlobalConstants.RNAP_VALUE));
defaultParameters.put(GlobalConstants.OCR_STRING, biosimrc.get("biosim.gcm.OCR_VALUE", GlobalConstants.OCR_VALUE));
defaultParameters.put(GlobalConstants.KBASAL_STRING, biosimrc.get("biosim.gcm.KBASAL_VALUE", GlobalConstants.KBASAL_VALUE));
defaultParameters.put(GlobalConstants.PROMOTER_COUNT_STRING, biosimrc.get("biosim.gcm.PROMOTER_COUNT_VALUE", GlobalConstants.PROMOTER_COUNT_VALUE));
defaultParameters.put(GlobalConstants.STOICHIOMETRY_STRING, biosimrc.get("biosim.gcm.STOICHIOMETRY_VALUE", GlobalConstants.STOICHIOMETRY_VALUE));
defaultParameters.put(GlobalConstants.ACTIVATED_STRING, biosimrc.get("biosim.gcm.ACTIVED_VALUE", GlobalConstants.ACTIVED_VALUE));
defaultParameters.put(GlobalConstants.KECDIFF_STRING, biosimrc.get("biosim.gcm.KECDIFF_VALUE", GlobalConstants.KECDIFF_VALUE));
}
private void createDegradationDefaultParameters() {
Preferences biosimrc = Preferences.userRoot();
createGlobalParameter(GlobalConstants.KDECAY_STRING, biosimrc.get("biosim.gcm.KDECAY_VALUE", ""));
createGlobalParameter(GlobalConstants.KDECAY_STRING, biosimrc.get("biosim.gcm.KDECAY_VALUE", GlobalConstants.KDECAY_VALUE));
}
private void createDiffusionDefaultParameters() {
Preferences biosimrc = Preferences.userRoot();
createGlobalParameter(GlobalConstants.FORWARD_MEMDIFF_STRING, biosimrc.get("biosim.gcm.FORWARD_MEMDIFF_VALUE", ""));
createGlobalParameter(GlobalConstants.REVERSE_MEMDIFF_STRING, biosimrc.get("biosim.gcm.REVERSE_MEMDIFF_VALUE", ""));
createGlobalParameter(GlobalConstants.KECDECAY_STRING, biosimrc.get("biosim.gcm.KECDECAY_VALUE", ""));
createGlobalParameter(GlobalConstants.KECDIFF_STRING, biosimrc.get("biosim.gcm.KECDIFF_VALUE", ""));
createGlobalParameter(GlobalConstants.FORWARD_MEMDIFF_STRING, biosimrc.get("biosim.gcm.FORWARD_MEMDIFF_VALUE", GlobalConstants.FORWARD_MEMDIFF_VALUE));
createGlobalParameter(GlobalConstants.REVERSE_MEMDIFF_STRING, biosimrc.get("biosim.gcm.REVERSE_MEMDIFF_VALUE", GlobalConstants.REVERSE_MEMDIFF_VALUE));
createGlobalParameter(GlobalConstants.KECDECAY_STRING, biosimrc.get("biosim.gcm.KECDECAY_VALUE", GlobalConstants.KECDECAY_VALUE));
createGlobalParameter(GlobalConstants.KECDIFF_STRING, biosimrc.get("biosim.gcm.KECDIFF_VALUE", GlobalConstants.KECDIFF_VALUE));
}
private void createComplexDefaultParameters() {
Preferences biosimrc = Preferences.userRoot();
createGlobalParameter(GlobalConstants.FORWARD_KCOMPLEX_STRING, biosimrc.get("biosim.gcm.KCOMPLEX_VALUE", ""));
createGlobalParameter(GlobalConstants.FORWARD_KCOMPLEX_STRING, biosimrc.get("biosim.gcm.KCOMPLEX_VALUE", GlobalConstants.KCOMPLEX_VALUE));
createGlobalParameter(GlobalConstants.REVERSE_KCOMPLEX_STRING, "1");
createGlobalParameter(GlobalConstants.COOPERATIVITY_STRING, biosimrc.get("biosim.gcm.COOPERATIVITY_VALUE", ""));
createGlobalParameter(GlobalConstants.COOPERATIVITY_STRING, biosimrc.get("biosim.gcm.COOPERATIVITY_VALUE", GlobalConstants.COOPERATIVITY_VALUE));
}
private void createConstitutiveDefaultParameters() {
Preferences biosimrc = Preferences.userRoot();
createGlobalParameter(GlobalConstants.STOICHIOMETRY_STRING, biosimrc.get("biosim.gcm.STOICHIOMETRY_VALUE", ""));
createGlobalParameter(GlobalConstants.OCR_STRING, biosimrc.get("biosim.gcm.OCR_VALUE", ""));
createGlobalParameter(GlobalConstants.STOICHIOMETRY_STRING, biosimrc.get("biosim.gcm.STOICHIOMETRY_VALUE", GlobalConstants.STOICHIOMETRY_VALUE));
createGlobalParameter(GlobalConstants.OCR_STRING, biosimrc.get("biosim.gcm.OCR_VALUE", GlobalConstants.OCR_VALUE));
}
private void createProductionDefaultParameters() {
Preferences biosimrc = Preferences.userRoot();
createGlobalParameter(GlobalConstants.FORWARD_KREP_STRING, biosimrc.get("biosim.gcm.KREP_VALUE", ""));
createGlobalParameter(GlobalConstants.FORWARD_KREP_STRING, biosimrc.get("biosim.gcm.KREP_VALUE", GlobalConstants.KREP_VALUE));
createGlobalParameter(GlobalConstants.REVERSE_KREP_STRING, "1");
createGlobalParameter(GlobalConstants.FORWARD_KACT_STRING, biosimrc.get("biosim.gcm.KACT_VALUE", ""));
createGlobalParameter(GlobalConstants.FORWARD_KACT_STRING, biosimrc.get("biosim.gcm.KACT_VALUE", GlobalConstants.KACT_VALUE));
createGlobalParameter(GlobalConstants.REVERSE_KACT_STRING, "1");
createGlobalParameter(GlobalConstants.FORWARD_RNAP_BINDING_STRING, biosimrc.get("biosim.gcm.RNAP_BINDING_VALUE", ""));
createGlobalParameter(GlobalConstants.FORWARD_RNAP_BINDING_STRING, biosimrc.get("biosim.gcm.RNAP_BINDING_VALUE", GlobalConstants.RNAP_BINDING_VALUE));
createGlobalParameter(GlobalConstants.REVERSE_RNAP_BINDING_STRING, "1");
createGlobalParameter(GlobalConstants.FORWARD_ACTIVATED_RNAP_BINDING_STRING,
biosimrc.get("biosim.gcm.ACTIVATED_RNAP_BINDING_VALUE", ""));
biosimrc.get("biosim.gcm.ACTIVATED_RNAP_BINDING_VALUE", GlobalConstants.ACTIVATED_RNAP_BINDING_VALUE));
createGlobalParameter(GlobalConstants.REVERSE_ACTIVATED_RNAP_BINDING_STRING, "1");
createGlobalParameter(GlobalConstants.COOPERATIVITY_STRING, biosimrc.get("biosim.gcm.COOPERATIVITY_VALUE", ""));
createGlobalParameter(GlobalConstants.RNAP_STRING, biosimrc.get("biosim.gcm.RNAP_VALUE", ""));
createGlobalParameter(GlobalConstants.OCR_STRING, biosimrc.get("biosim.gcm.OCR_VALUE", ""));
createGlobalParameter(GlobalConstants.KBASAL_STRING, biosimrc.get("biosim.gcm.KBASAL_VALUE", ""));
createGlobalParameter(GlobalConstants.PROMOTER_COUNT_STRING, biosimrc.get("biosim.gcm.PROMOTER_COUNT_VALUE", ""));
createGlobalParameter(GlobalConstants.STOICHIOMETRY_STRING, biosimrc.get("biosim.gcm.STOICHIOMETRY_VALUE", ""));
createGlobalParameter(GlobalConstants.ACTIVATED_STRING, biosimrc.get("biosim.gcm.ACTIVED_VALUE", ""));
createGlobalParameter(GlobalConstants.COOPERATIVITY_STRING, biosimrc.get("biosim.gcm.COOPERATIVITY_VALUE", GlobalConstants.COOPERATIVITY_VALUE));
createGlobalParameter(GlobalConstants.RNAP_STRING, biosimrc.get("biosim.gcm.RNAP_VALUE", GlobalConstants.RNAP_VALUE));
createGlobalParameter(GlobalConstants.OCR_STRING, biosimrc.get("biosim.gcm.OCR_VALUE", GlobalConstants.OCR_VALUE));
createGlobalParameter(GlobalConstants.KBASAL_STRING, biosimrc.get("biosim.gcm.KBASAL_VALUE", GlobalConstants.KBASAL_VALUE));
createGlobalParameter(GlobalConstants.PROMOTER_COUNT_STRING, biosimrc.get("biosim.gcm.PROMOTER_COUNT_VALUE", GlobalConstants.PROMOTER_COUNT_VALUE));
createGlobalParameter(GlobalConstants.STOICHIOMETRY_STRING, biosimrc.get("biosim.gcm.STOICHIOMETRY_VALUE", GlobalConstants.STOICHIOMETRY_VALUE));
createGlobalParameter(GlobalConstants.ACTIVATED_STRING, biosimrc.get("biosim.gcm.ACTIVED_VALUE", GlobalConstants.ACTIVED_VALUE));
}
public static boolean IsDefaultParameter(String paramId) {

View file

@ -461,6 +461,7 @@ public class SBMLutilities extends CoreObservable
}
public static void copyDimensionsToEdgeIndex(SBase source,SBase target,SBase edge,String attribute) {
if (source==null || target==null) return;
if (SBMLutilities.dimensionsMatch(source,target)) {
ArraysSBasePlugin sBasePlugin = SBMLutilities.getArraysSBasePlugin(source);
ArraysSBasePlugin sBasePluginEdge = SBMLutilities.getArraysSBasePlugin(edge);

View file

@ -19,8 +19,6 @@ import java.util.Scanner;
import javax.swing.JComboBox;
import org.apache.batik.dom.GenericDOMImplementation;
import org.apache.batik.svggen.SVGGraphics2D;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
@ -53,7 +51,8 @@ import org.jlibsedml.SEDMLDocument;
import org.jlibsedml.SedML;
import org.jlibsedml.Variable;
import org.jlibsedml.modelsupport.SBMLSupport;
import org.w3c.dom.DOMImplementation;
import org.apache.batik.svggen.SVGGraphics2D;
import org.apache.batik.dom.GenericDOMImplementation;
import com.lowagie.text.Document;
import com.lowagie.text.Rectangle;
@ -301,6 +300,7 @@ public class GraphData extends CoreObservable {
doc.writeTo(new FileOutputStream(file));
}
else if (output == 4) {
/*
DOMImplementation domImpl = GenericDOMImplementation.getDOMImplementation();
org.w3c.dom.Document document = domImpl.createDocument(null, "svg", null);
SVGGraphics2D svgGenerator = new SVGGraphics2D(document);
@ -311,6 +311,7 @@ public class GraphData extends CoreObservable {
svgGenerator.stream(out, useCSS);
out.close();
outStream.close();
*/
}
else if ((output == 5) || (output == 6) || (output == 7)) {
exportDataFile(file, output);

View file

@ -72,19 +72,25 @@ public class GlobalConstants {
public static final String TRANSCRIPTION_FACTOR = "transcription factor";
// public static final String KREP_VALUE = ".5";
// public static final String KACT_VALUE = ".0033";
// public static final String KBIO_VALUE = ".05";
// public static final String PROMOTER_COUNT_VALUE = "2";
// public static final String KASSOCIATION_VALUE = ".05";
// public static final String KBASAL_VALUE = ".0001";
// public static final String OCR_VALUE = ".05";
// public static final String KDECAY_VALUE = ".0075";
// public static final String RNAP_VALUE = "30";
// public static final String RNAP_BINDING_VALUE = ".033";
// public static final String STOICHIOMETRY_VALUE = "10";
// public static final String COOPERATIVITY_VALUE = "2";
// public static final String ACTIVED_VALUE = ".25";
public static final String KREP_VALUE = ".5";
public static final String KACT_VALUE = ".0033";
public static final String KBIO_VALUE = ".05";
public static final String PROMOTER_COUNT_VALUE = "2";
public static final String KASSOCIATION_VALUE = ".05";
public static final String KBASAL_VALUE = ".0001";
public static final String OCR_VALUE = ".05";
public static final String KDECAY_VALUE = ".0075";
public static final String KECDECAY_VALUE = ".005";
public static final String KCOMPLEX_VALUE = ".05";
public static final String RNAP_VALUE = "30";
public static final String RNAP_BINDING_VALUE = ".033";
public static final String STOICHIOMETRY_VALUE = "10";
public static final String COOPERATIVITY_VALUE = "2";
public static final String ACTIVED_VALUE = ".25";
public static final String ACTIVATED_RNAP_BINDING_VALUE = "1";
public static final String FORWARD_MEMDIFF_VALUE = "1";
public static final String REVERSE_MEMDIFF_VALUE = ".01";
public static final String KECDIFF_VALUE = "1.0";
public static final String ID = "ID";
public static final String COMPONENT = "Component";
@ -290,22 +296,27 @@ public class GlobalConstants {
public static final String KISAO_GILLESPIE = "KISAO:0000241";
public static final String KISAO_GILLESPIE_DIRECT = "KISAO:0000029";
public static final String KISAO_SSA_CR = "KISAO:0000329";
public static final String KISAO_BUNKER = "KISAO:0000618";
public static final String KISAO_EMC = "KISAO:0000619";
public static final String KISAO_EULER = "KISAO:0000030";
public static final String KISAO_GEAR = "KISAO:0000288";
public static final String KISAO_RUNGE_KUTTA_FEHLBERG = "KISAO:0000086";
public static final String KISAO_RUNGE_KUTTA_PRINCE_DORMAND = "KISAO:0000087";
public static final String KISAO_RUNGE_KUTTA_IMPLICIT = "KISAO:0000612";
public static final String KISAO_RUNGE_KUTTA_PRINCE_DORMAND = "KISAO:0000609";
public static final String KISAO_LSODA = "KISAO:0000088";
public static final String KISAO_FBA = "KISAO:0000437";
public static final String KISAO_MINIMUM_STEP_SIZE = "KISAO:0000485";
public static final String KISAO_MAXIMUM_STEP_SIZE = "KISAO:0000467";
public static final String KISAO_ABSOLUTE_TOLERANCE = "KISAO:0000211";
public static final String KISAO_RELATIVE_TOLERANCE = "KISAO:0000209";
public static final String KISAO_ORDER = "KISAO:0000594";
public static final String KISAO_SEED = "KISAO:0000488";
public static final String KISAO_SAMPLES = "KISAO:0000326";
public static final String KISAO_NUMBER_OF_RUNS = "KISAO:0000498";
public static final String KISAO_DFBA = "KISAO_0000499";
public static final String KISAO_DFBA_SOA = "KISAO:0000500";
public static final String KISAO_DFBA_DOA = "KISAO:0000501 ";
public static final String KISAO_DFBA_DA = "KISAO:0000501 ";
public static final String KISAO_DFBA_DOA = "KISAO:0000501";
public static final String KISAO_DFBA_DA = "KISAO:0000501";
public static final String TRUE = "true";
public static final String FALSE = "false";

View file

@ -282,55 +282,55 @@ public enum IBioSimPreferences {
modelPreferences.put(modelPreference, Preferences.userRoot().get(modelPreference, ""));
if (modelPreferences.get(modelPreference).equals("")) {
if (modelPreference.equals("biosim.gcm.KREP_VALUE")) {
modelPreferences.put("biosim.gcm.KREP_VALUE", ".5");
modelPreferences.put("biosim.gcm.KREP_VALUE", GlobalConstants.KREP_VALUE);
}
if (modelPreference.equals("biosim.gcm.KACT_VALUE")) {
modelPreferences.put("biosim.gcm.KACT_VALUE", ".0033");
modelPreferences.put("biosim.gcm.KACT_VALUE", GlobalConstants.KACT_VALUE);
}
if (modelPreference.equals("biosim.gcm.PROMOTER_COUNT_VALUE")) {
modelPreferences.put("biosim.gcm.PROMOTER_COUNT_VALUE", "2");
modelPreferences.put("biosim.gcm.PROMOTER_COUNT_VALUE", GlobalConstants.PROMOTER_COUNT_VALUE);
}
if (modelPreference.equals("biosim.gcm.KBASAL_VALUE")) {
modelPreferences.put("biosim.gcm.KBASAL_VALUE", ".0001");
modelPreferences.put("biosim.gcm.KBASAL_VALUE", GlobalConstants.KBASAL_VALUE);
}
if (modelPreference.equals("biosim.gcm.OCR_VALUE")) {
modelPreferences.put("biosim.gcm.OCR_VALUE", ".05");
modelPreferences.put("biosim.gcm.OCR_VALUE", GlobalConstants.OCR_VALUE);
}
if (modelPreference.equals("biosim.gcm.KDECAY_VALUE")) {
modelPreferences.put("biosim.gcm.KDECAY_VALUE", ".0075");
modelPreferences.put("biosim.gcm.KDECAY_VALUE", GlobalConstants.KDECAY_VALUE);
}
if (modelPreference.equals("biosim.gcm.KECDECAY_VALUE")) {
modelPreferences.put("biosim.gcm.KECDECAY_VALUE", ".005");
modelPreferences.put("biosim.gcm.KECDECAY_VALUE", GlobalConstants.KECDECAY_VALUE);
}
if (modelPreference.equals("biosim.gcm.RNAP_VALUE")) {
modelPreferences.put("biosim.gcm.RNAP_VALUE", "30");
modelPreferences.put("biosim.gcm.RNAP_VALUE", GlobalConstants.RNAP_VALUE);
}
if (modelPreference.equals("biosim.gcm.RNAP_BINDING_VALUE")) {
modelPreferences.put("biosim.gcm.RNAP_BINDING_VALUE", ".033");
modelPreferences.put("biosim.gcm.RNAP_BINDING_VALUE", GlobalConstants.RNAP_BINDING_VALUE);
}
if (modelPreference.equals("biosim.gcm.ACTIVATED_RNAP_BINDING_VALUE")) {
modelPreferences.put("biosim.gcm.ACTIVATED_RNAP_BINDING_VALUE", "1");
modelPreferences.put("biosim.gcm.ACTIVATED_RNAP_BINDING_VALUE", GlobalConstants.ACTIVATED_RNAP_BINDING_VALUE);
}
if (modelPreference.equals("biosim.gcm.STOICHIOMETRY_VALUE")) {
modelPreferences.put("biosim.gcm.STOICHIOMETRY_VALUE", "10");
modelPreferences.put("biosim.gcm.STOICHIOMETRY_VALUE", GlobalConstants.STOICHIOMETRY_VALUE);
}
if (modelPreference.equals("biosim.gcm.KCOMPLEX_VALUE")) {
modelPreferences.put("biosim.gcm.KCOMPLEX_VALUE", "0.05");
modelPreferences.put("biosim.gcm.KCOMPLEX_VALUE", GlobalConstants.KCOMPLEX_VALUE);
}
if (modelPreference.equals("biosim.gcm.COOPERATIVITY_VALUE")) {
modelPreferences.put("biosim.gcm.COOPERATIVITY_VALUE", "2");
modelPreferences.put("biosim.gcm.COOPERATIVITY_VALUE", GlobalConstants.COOPERATIVITY_VALUE);
}
if (modelPreference.equals("biosim.gcm.ACTIVED_VALUE")) {
modelPreferences.put("biosim.gcm.ACTIVED_VALUE", ".25");
modelPreferences.put("biosim.gcm.ACTIVED_VALUE", GlobalConstants.ACTIVED_VALUE);
}
if (modelPreference.equals("biosim.gcm.FORWARD_MEMDIFF_VALUE")) {
modelPreferences.put("biosim.gcm.FORWARD_MEMDIFF_VALUE", "1.0");
modelPreferences.put("biosim.gcm.FORWARD_MEMDIFF_VALUE", GlobalConstants.FORWARD_MEMDIFF_VALUE);
}
if (modelPreference.equals("biosim.gcm.REVERSE_MEMDIFF_VALUE")) {
modelPreferences.put("biosim.gcm.REVERSE_MEMDIFF_VALUE", "0.01");
modelPreferences.put("biosim.gcm.REVERSE_MEMDIFF_VALUE", GlobalConstants.REVERSE_MEMDIFF_VALUE);
}
if (modelPreference.equals("biosim.gcm.KECDIFF_VALUE")) {
modelPreferences.put("biosim.gcm.KECDIFF_VALUE", "1.0");
modelPreferences.put("biosim.gcm.KECDIFF_VALUE", GlobalConstants.KECDIFF_VALUE);
}
}
}

View file

@ -30,7 +30,7 @@
</configuration>
<phase>package</phase>
<goals>
<goal>assembly</goal>
<goal>single</goal>
</goals>
</execution>
</executions>
@ -38,31 +38,16 @@
</plugins>
</build>
<repositories>
<repository>
<id>staging</id>
<name>staging</name>
<url>https://oss.sonatype.org/service/local/staging/deploy/maven2</url>
</repository>
<repository>
<id>ossrh</id>
<name>ossrh</name>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
</repository>
<repository>
<id>ebi</id>
<name>ebi</name>
<url>https://www.ebi.ac.uk/intact/maven/nexus/content/repositories/ebi-repo/</url>
</repository>
<repository>
<id>jboss</id>
<name>jboss</name>
<url>https://repository.jboss.org/nexus/content/repositories/thirdparty-releases/</url>
</repository>
<repository>
<id>netbeans</id>
<name>netbeans</name>
<url>https://bits.netbeans.org/maven2/</url>
</repository>
<repository>
<id>osgeo</id>
<name>osgeo</name>
@ -92,6 +77,20 @@
<groupId>org.jfree</groupId>
<artifactId>jfreechart</artifactId>
<version>1.0.14</version>
<exclusions>
<exclusion>
<groupId>xml-apis</groupId>
<artifactId>xml-apis</artifactId>
</exclusion>
<exclusion>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
</exclusion>
<exclusion>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
@ -179,6 +178,12 @@
<artifactId>jdom2</artifactId>
<version>2.0.6</version>
</dependency>
<dependency>
<groupId>xerces</groupId>
<artifactId>xercesImpl</artifactId>
<version>2.12.2</version>
</dependency>
</dependencies>
</project>

View file

@ -36,6 +36,8 @@ import java.awt.event.MouseWheelEvent;
import java.awt.event.MouseWheelListener;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;
import java.awt.Desktop;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.ByteArrayOutputStream;
@ -210,7 +212,6 @@ import edu.utah.ece.async.ibiosim.gui.synthesisView.SynthesisView;
import edu.utah.ece.async.ibiosim.gui.synthesisView.SynthesisViewATACS;
import edu.utah.ece.async.ibiosim.gui.util.FileTree;
import edu.utah.ece.async.ibiosim.gui.util.Log;
import edu.utah.ece.async.ibiosim.gui.util.OSXHandlers;
import edu.utah.ece.async.ibiosim.gui.util.Utility;
import edu.utah.ece.async.ibiosim.gui.util.preferences.EditPreferences;
import edu.utah.ece.async.ibiosim.gui.util.preferences.PreferencesDialog;
@ -334,7 +335,7 @@ public class Gui implements BioObserver, MouseListener, ActionListener, MouseMot
public static Object ICON_COLLAPSE = UIManager.get("Tree.collapsedIcon");
protected static final String iBioSimVersion = "3.1.0";
protected static final String iBioSimVersion = "3.2.0";
protected SEDMLDocument sedmlDocument = null;
@ -882,9 +883,38 @@ public class Gui implements BioObserver, MouseListener, ActionListener, MouseMot
help.add(manual);
help.add(bugReport);
if (System.getProperty("os.name").toLowerCase().startsWith("mac os")) {
OSXHandlers osxHandlers = new OSXHandlers(this);
osxHandlers.addEventHandlers();
if (Desktop.isDesktopSupported()) {
Desktop desktop = Desktop.getDesktop();
if (desktop.isSupported(Desktop.Action.APP_ABOUT)) {
// Set the "About" menu handler
desktop.setAboutHandler(e -> {
about();
});
}
if (desktop.isSupported(Desktop.Action.APP_PREFERENCES)) {
// Set the "Preferences" menu handler
desktop.setPreferencesHandler(e -> {
PreferencesDialog.showPreferences(Gui.frame);
getFileTree().setExpandibleIcons(!IBioSimPreferences.INSTANCE.isPlusMinusIconsEnabled());
if (getSBOLDocument() != null) {
getSBOLDocument().setDefaultURIprefix(SBOLEditorPreferences.INSTANCE.getUserInfo().getURI().toString());
}
});
}
if (desktop.isSupported(Desktop.Action.APP_QUIT_HANDLER)) {
// Set the "Quit" menu handler
desktop.setQuitHandler((e, response) -> {
exit();
// If we have returned from the above call the user has decided not to quit
response.cancelQuit();
// Perform cleanup before exiting
//response.performQuit(); // or response.cancelQuit();
});
}
} else {
edit.addSeparator();
edit.add(pref);
@ -1040,7 +1070,7 @@ public class Gui implements BioObserver, MouseListener, ActionListener, MouseMot
final String developers;
name = new JLabel("iBioSim", SwingConstants.CENTER);
version = new JLabel("Version " + iBioSimVersion, SwingConstants.CENTER);
developers = "Nathan Barker\nScott Glass\nKevin Jones\nHiroyuki Kuwahara\n"
developers = "Nathan Barker\nLukas Buecherl\nPedro Fontanarrosa\nScott Glass\nKevin Jones\nHiroyuki Kuwahara\n"
+ "Curtis Madsen\nChris Myers\nNam Nguyen\nTramy Nguyen\nTyler Patterson\nNicholas Roehner\nJason Stevens\nLeandro Watanabe\nMichael Zhang\nZhen Zhang\nZach Zundel";
Font font = name.getFont();
font = font.deriveFont(Font.BOLD, 36.0f);
@ -2407,7 +2437,12 @@ public class Gui implements BioObserver, MouseListener, ActionListener, MouseMot
} else if (e.getSource().equals(importArchive)) {
importArchive();
} else if (e.getSource().equals(downloadSynBioHub)) {
downloadSynBioHub();
try {
downloadSynBioHub();
} catch (SBOLValidationException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
} else if (e.getSource() == downloadBioModel) {
downloadBioModel();
} else if (e.getSource() == downloadVirtualPart) {
@ -4524,7 +4559,7 @@ public class Gui implements BioObserver, MouseListener, ActionListener, MouseMot
}
}
public void createCombineArchive(File archiveFile, String filename) throws IOException, JDOMException, ParseException, CombineArchiveException, TransformerException {
public void createCombineArchive(File archiveFile, String filename) throws IOException, JDOMException, ParseException, CombineArchiveException {
CombineArchive archive = new CombineArchive(archiveFile);
File baseDir = new File(root);
if (filename == null) {
@ -4534,7 +4569,11 @@ public class Gui implements BioObserver, MouseListener, ActionListener, MouseMot
} else {
addFileToCombineArchive(archive,baseDir,filename);
}
archive.pack();
try {
archive.pack();
} catch (Exception e) {
e.printStackTrace();
}
archive.close();
}
@ -4569,8 +4608,7 @@ public class Gui implements BioObserver, MouseListener, ActionListener, MouseMot
try {
createCombineArchive(file,null);
}
catch (IOException | JDOMException | ParseException | CombineArchiveException
| TransformerException e) {
catch (IOException | JDOMException | ParseException | CombineArchiveException e) {
JOptionPane.showMessageDialog(frame, "Unable to export COMBINE Archive file.", "Error",
JOptionPane.ERROR_MESSAGE);
}
@ -4605,7 +4643,7 @@ public class Gui implements BioObserver, MouseListener, ActionListener, MouseMot
return null;
}
public void downloadSynBioHub() {
public void downloadSynBioHub() throws SBOLValidationException {
RegistryInputDialog registryInputDialog = new RegistryInputDialog(Gui.frame, RegistryInputDialog.ALL_PARTS,
edu.utah.ece.async.sboldesigner.sbol.SBOLUtils.Types.All_types, null, sbolDocument);
registryInputDialog.allowCollectionSelection();
@ -4638,7 +4676,7 @@ public class Gui implements BioObserver, MouseListener, ActionListener, MouseMot
getSBOLDocument().createCopy(selection);
writeSBOLDocument();
}
catch (SBOLValidationException | SynBioHubException | IOException e) {
catch (SynBioHubException | IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
JOptionPane.showMessageDialog(frame, "Unable to download from SynBioHub.", "Error Exporting to SynBioHub",

View file

@ -819,9 +819,18 @@ public class MovieContainer extends PanelObservable implements ActionListener {
public void savePreferences() {
Gson gson = new Gson();
String out = gson.toJson(this.movieScheme.getAllSpeciesSchemes());
String out;
String fullPath;
String fullPath = getPreferencesFullPath();
try {
out = gson.toJson(this.movieScheme.getAllSpeciesSchemes());
fullPath = getPreferencesFullPath();
}
catch (Exception e) {
e.printStackTrace();
JOptionPane.showMessageDialog(Gui.frame, "An error occured preparing to save movie preferences " + "\nmessage: " + e.getMessage());
return;
}
FileOutputStream fHandle;

View file

@ -209,10 +209,14 @@ public class BioGraph extends mxGraph {
// SBMLutilities.copyIndices(getGlyph(layout,GlobalConstants.GLYPH+"__"+product), speciesReferenceGlyph, "layout:speciesGlyph");
// SBMLutilities.copyIndices(reactionGlyph, speciesReferenceGlyph, "layout:id");
LineSegment lineSegment = speciesReferenceGlyph.createCurve().createLineSegment();
lineSegment.setStart(new Point(this.getSpeciesOrPromoterCell(reactant).getGeometry().getCenterX(),
this.getSpeciesOrPromoterCell(reactant).getGeometry().getCenterY()));
lineSegment.setEnd(new Point(this.getSpeciesOrPromoterCell(product).getGeometry().getCenterX(),
this.getSpeciesOrPromoterCell(product).getGeometry().getCenterY()));
if (this.getSpeciesOrPromoterCell(reactant)!=null) {
lineSegment.setStart(new Point(this.getSpeciesOrPromoterCell(reactant).getGeometry().getCenterX(),
this.getSpeciesOrPromoterCell(reactant).getGeometry().getCenterY()));
}
if (this.getSpeciesOrPromoterCell(product)!=null) {
lineSegment.setEnd(new Point(this.getSpeciesOrPromoterCell(product).getGeometry().getCenterX(),
this.getSpeciesOrPromoterCell(product).getGeometry().getCenterY()));
}
}
private static void addSpeciesReferenceGlyph(Layout layout,mxCell cell,ReactionGlyph reactionGlyph,String reactionId,String speciesId, String role) {
@ -223,8 +227,12 @@ public class BioGraph extends mxGraph {
// SBMLutilities.copyIndices(getGlyph(layout,GlobalConstants.GLYPH+"__"+speciesId), speciesReferenceGlyph, "layout:speciesGlyph");
// SBMLutilities.copyIndices(reactionGlyph, speciesReferenceGlyph, "layout:id");
LineSegment lineSegment = speciesReferenceGlyph.createCurve().createLineSegment();
lineSegment.setStart(new Point(cell.getSource().getGeometry().getCenterX(),cell.getSource().getGeometry().getCenterY()));
lineSegment.setEnd(new Point(cell.getTarget().getGeometry().getCenterX(),cell.getTarget().getGeometry().getCenterY()));
if (cell.getSource()!=null) {
lineSegment.setStart(new Point(cell.getSource().getGeometry().getCenterX(),cell.getSource().getGeometry().getCenterY()));
}
if (cell.getTarget()!=null) {
lineSegment.setEnd(new Point(cell.getTarget().getGeometry().getCenterX(),cell.getTarget().getGeometry().getCenterY()));
}
}
}

View file

@ -1,104 +0,0 @@
package edu.utah.ece.async.ibiosim.gui.util;
import java.io.File;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.util.List;
import javax.swing.JFrame;
import org.apache.commons.lang3.JavaVersion;
import com.apple.eawt.AboutHandler;
import com.apple.eawt.Application;
import com.apple.eawt.PreferencesHandler;
import com.apple.eawt.QuitHandler;
import com.apple.eawt.QuitResponse;
import com.apple.eawt.AppEvent.AboutEvent;
import com.apple.eawt.AppEvent.PreferencesEvent;
import com.apple.eawt.AppEvent.QuitEvent;
import edu.utah.ece.async.ibiosim.dataModels.util.IBioSimPreferences;
import edu.utah.ece.async.ibiosim.gui.Gui;
import edu.utah.ece.async.ibiosim.gui.util.preferences.PreferencesDialog;
import edu.utah.ece.async.sboldesigner.sbol.editor.SBOLEditorPreferences;
public class OSXHandlers implements InvocationHandler {
Gui gui;
public OSXHandlers(Gui gui) {
this.gui = gui;
}
public void addEventHandlers() throws ClassNotFoundException, NoSuchMethodException, IllegalAccessException,
InvocationTargetException, InstantiationException {
// using reflection to avoid Mac specific classes being required for compiling KSE on other platforms
Class<?> applicationClass = Class.forName("com.apple.eawt.Application");
Class<?> quitHandlerClass;
Class<?> aboutHandlerClass;
Class<?> openFilesHandlerClass;
Class<?> preferencesHandlerClass;
String version = System.getProperty("java.version");
String[] versionElements = version.split("\\.|_|-b");
if (Double.parseDouble(versionElements[0]) >= 9) {
quitHandlerClass = Class.forName("java.awt.desktop.QuitHandler");
aboutHandlerClass = Class.forName("java.awt.desktop.AboutHandler");
openFilesHandlerClass = Class.forName("java.awt.desktop.OpenFilesHandler");
preferencesHandlerClass = Class.forName("java.awt.desktop.PreferencesHandler");
} else {
quitHandlerClass = Class.forName("com.apple.eawt.QuitHandler");
aboutHandlerClass = Class.forName("com.apple.eawt.AboutHandler");
openFilesHandlerClass = Class.forName("com.apple.eawt.OpenFilesHandler");
preferencesHandlerClass = Class.forName("com.apple.eawt.PreferencesHandler");
}
Object application = applicationClass.getConstructor((Class[]) null).newInstance((Object[]) null);
Object proxy = Proxy.newProxyInstance(OSXHandlers.class.getClassLoader(), new Class<?>[]{
quitHandlerClass, aboutHandlerClass, openFilesHandlerClass, preferencesHandlerClass}, this);
applicationClass.getDeclaredMethod("setQuitHandler", quitHandlerClass).invoke(application, proxy);
applicationClass.getDeclaredMethod("setAboutHandler", aboutHandlerClass).invoke(application, proxy);
applicationClass.getDeclaredMethod("setOpenFileHandler", openFilesHandlerClass).invoke(application, proxy);
applicationClass.getDeclaredMethod("setPreferencesHandler", preferencesHandlerClass).invoke(application,
proxy);
}
@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
/*if ("openFiles".equals(method.getName())) {
if (args[0] != null) {
Object files = args[0].getClass().getMethod("getFiles").invoke(args[0]);
if (files instanceof List) {
OpenAction openAction = new OpenAction(kseFrame);
for (File file : (List<File>) files) {
openAction.openKeyStore(file);
}
}
}
} else */if ("handleQuitRequestWith".equals(method.getName())) {
gui.exit();
// If we have returned from the above call the user has decied not to quit
if (args[1] != null) {
args[1].getClass().getDeclaredMethod("cancelQuit").invoke(args[1]);
}
} else if ("handleAbout".equals(method.getName())) {
gui.about();
} else if ("handlePreferences".equals(method.getName())) {
PreferencesDialog.showPreferences(Gui.frame);
//EditPreferences editPreferences = new EditPreferences(frame, async);
//editPreferences.preferences();
gui.getFileTree().setExpandibleIcons(!IBioSimPreferences.INSTANCE.isPlusMinusIconsEnabled());
if (gui.getSBOLDocument() != null) {
gui.getSBOLDocument().setDefaultURIprefix(SBOLEditorPreferences.INSTANCE.getUserInfo().getURI().toString());
}
}
return null;
}
}

View file

@ -30,7 +30,7 @@
</configuration>
<phase>package</phase>
<goals>
<goal>assembly</goal>
<goal>single</goal>
</goals>
</execution>
</executions>

View file

@ -1,65 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN" name="XMLConfigTest" packages="org.sbml.*">
<Properties>
<Property name="filename">jsbml.log</Property>
</Properties>
<ThresholdFilter level="trace"/>
<Appenders>
<Console name="console">
<PatternLayout pattern="%5p (%F:%L) - %m%n"/>
</Console>
<File name="file" fileName="${filename}">
<PatternLayout>
<pattern>%d %p %C{1.} [%t] %m%n</pattern>
</PatternLayout>
</File>
</Appenders>
<Loggers>
<Logger name="org.sbml" level="info" additivity="false">
<AppenderRef ref="console"/>
<AppenderRef ref="file"/>
</Logger>
<!--
<Logger name="org.sbml.jsbml.xml.stax.SBMLWriter" level="debug" additivity="false">
<AppenderRef ref="console"/>
<AppenderRef ref="file"/>
</Logger>
<Logger name="org.sbml.jsbml.xml.stax.SBMLReader" level="debug" additivity="false">
<AppenderRef ref="console"/>
<AppenderRef ref="file"/>
</Logger>
-->
<!--
# org.sbml.jsbml.test.SimpleSBaseChangeListener - DEBUG : it will display all add, remove or change event (lot of output when reading an SBML file)
# org.sbml.jsbml.xml.parsers.SBMLCoreParser - ERROR to DEBUG : anything related to problems when parsing the SBML core elements.
# org.sbml.jsbml.xml.parsers.StringParser - ERROR to DEBUG : (lot of output) display all the event when reading XHTML
# org.sbml.jsbml.xml.parsers.AnnotationParser - DEBUG : output when reading non RDF annotations.
# org.sbml.jsbml.xml.parsers.XMLNodeWriter - DEBUG : output events when writing XMLNode, so HTML block
# org.sbml.jsbml.xml.stax.SBMLReader - ERROR to DEBUG : (lot of output) display all the event when reading an SBML file
# org.sbml.jsbml.xml.stax.SBMLWriter - ERROR to DEBUG : (lot of output) display all the event when writing an SBML file
# org.sbml.jsbml.util.StringTools - WARN : warning when there is a problem with the conversion of a String into a number or boolean.
# org.sbml.jsbml.util.compilers.MathMLXMLStreamCompiler - WARN to DEBUG : (lot of output) display all the event when writing mathML
# org.sbml.jsbml.xml.parsers.MathMLStaxParser - ERROR to DEBUG : (lot of output) display all the event when reading a MathML block
# org.sbml.jsbml.SBMLDocument - ERROR to DEBUG : will display problems related to the checkConsistency call
# org.sbml.jsbml.validator.SBMLValidator - DEBUG : will print the xml result file from http://sbml.org/validator/ with few others checks when the parsing is done
# org.sbml.jsbml.util.SubModel - DEBUG : will print the details of the submodel building
# org.sbml.jsbml.ASTNode - ERROR to DEBUG
# org.sbml.jsbml.xml.parsers.AbstractReaderWriter - DEBUG : events when reading or writing L3 packages block (if the parser extends this abstract class)
# org.sbml.jsbml.xml.parsers.QualParser - DEBUG : events when reading/writing the qual package/extension.
# org.sbml.jsbml.ext.comp.CompModelPlugin - DEBUG: register and unregister debug output for the comp package id namespace
# org.sbml.jsbml.ext.comp.ArraysSBasePlugin - DEBUG: register and unregister debug output for the arrays package id namespace
# org.sbml.jsbml.Model - DEBUG: register and unregister debug output for the core package id namespace
# org.sbml.jsbml.xml.parsers.SBMLRDFAnnotationParser - DEBUG: debug output when reading and writing RDF annotations
-->
<Root level="info">
<AppenderRef ref="file"/>
</Root>
</Loggers>
</Configuration>

View file

@ -72,10 +72,10 @@
<plugin>
<!-- settings for javac. -->
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
<source>11</source>
<target>11</target>
<testExcludes>
<exclude>edu/utah/ece/async/ibiosim/conversion/gcm2sbml/*.java</exclude>

View file

@ -0,0 +1,380 @@
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<sbml xmlns="http://www.sbml.org/sbml/level3/version2/core" comp:required="true" layout:required="false" level="3" version="2" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" xmlns:layout="http://www.sbml.org/sbml/level3/version1/layout/version1">
<model id="AmtRpart_module" metaid="iBioSim1">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim1">
<mts:ModuleDefinitions>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/AmtRpart_module/1"/></rdf:Bag></mts:ModuleDefinitions></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
<comp:listOfPorts xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1">
<comp:port comp:id="compartment__Cell" comp:idRef="Cell"/>
<comp:port comp:id="output__AmtR_protein" comp:idRef="AmtR_protein" sboTerm="SBO:0000601"/>
<comp:port comp:id="input__HlyIIR_protein" comp:idRef="HlyIIR_protein" sboTerm="SBO:0000600"/>
<comp:port comp:id="input__Ara_AraC_protein" comp:idRef="Ara_AraC_protein" sboTerm="SBO:0000600"/>
</comp:listOfPorts>
<layout:listOfLayouts xmlns:layout="http://www.sbml.org/sbml/level3/version1/layout/version1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<layout:layout layout:id="iBioSim">
<layout:dimensions layout:depth="0" layout:height="29" layout:width="99"/>
<layout:listOfSpeciesGlyphs>
<layout:speciesGlyph layout:id="Glyph__pBAD" layout:species="pBAD">
<layout:boundingBox>
<layout:position layout:x="-1" layout:y="-1"/>
<layout:dimensions layout:height="30" layout:width="100"/>
</layout:boundingBox>
</layout:speciesGlyph>
<layout:speciesGlyph layout:id="Glyph__pHlyIIR" layout:species="pHlyIIR">
<layout:boundingBox>
<layout:position layout:x="-1" layout:y="-1"/>
<layout:dimensions layout:height="30" layout:width="100"/>
</layout:boundingBox>
</layout:speciesGlyph>
</layout:listOfSpeciesGlyphs>
<layout:listOfTextGlyphs>
<layout:textGlyph layout:graphicalObject="Glyph__pBAD" layout:id="TextGlyph__pBAD" layout:text="pBAD">
<layout:boundingBox>
<layout:position layout:x="-1" layout:y="-1"/>
<layout:dimensions layout:height="30" layout:width="100"/>
</layout:boundingBox>
</layout:textGlyph>
<layout:textGlyph layout:graphicalObject="Glyph__pHlyIIR" layout:id="TextGlyph__pHlyIIR" layout:text="pHlyIIR">
<layout:boundingBox>
<layout:position layout:x="-1" layout:y="-1"/>
<layout:dimensions layout:height="30" layout:width="100"/>
</layout:boundingBox>
</layout:textGlyph>
</layout:listOfTextGlyphs>
</layout:layout>
</layout:listOfLayouts>
<listOfCompartments>
<compartment constant="true" id="Cell" size="1" spatialDimensions="3"/>
</listOfCompartments>
<listOfSpecies>
<species boundaryCondition="false" compartment="Cell" constant="false" hasOnlySubstanceUnits="true" id="AmtR_protein" initialAmount="0" metaid="iBioSim2" sboTerm="SBO:0000252">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim2">
<mts:ComponentDefinitions>
<rdf:Bag>
<rdf:li rdf:resource="https://synbiohub.programmingbiology.org/public/Eco1C1G1T1/AmtR_protein/1"/></rdf:Bag></mts:ComponentDefinitions><mts:FunctionalComponents>
<rdf:Bag>
<rdf:li rdf:resource="https://synbiohub.programmingbiology.org/public/Eco1C1G1T1/AmtR_protein/1"/></rdf:Bag></mts:FunctionalComponents><mts:DNAComponents>
<rdf:Seq>
<rdf:li rdf:resource="http://www.async.utah.edu/AmtRpart/1"/></rdf:Seq></mts:DNAComponents><mts:Strand>+</mts:Strand></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</species>
<species boundaryCondition="true" compartment="Cell" constant="false" hasOnlySubstanceUnits="true" id="HlyIIR_protein" initialAmount="0" metaid="iBioSim3" sboTerm="SBO:0000252">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim3">
<mts:ComponentDefinitions>
<rdf:Bag>
<rdf:li rdf:resource="https://synbiohub.programmingbiology.org/public/Eco1C1G1T1/HlyIIR_protein/1"/></rdf:Bag></mts:ComponentDefinitions><mts:FunctionalComponents>
<rdf:Bag>
<rdf:li rdf:resource="https://synbiohub.programmingbiology.org/public/Eco1C1G1T1/HlyIIR_protein/1"/></rdf:Bag></mts:FunctionalComponents></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</species>
<species boundaryCondition="true" compartment="Cell" constant="false" hasOnlySubstanceUnits="true" id="Ara_AraC_protein" initialAmount="0" metaid="iBioSim4" sboTerm="SBO:0000253">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim4">
<mts:ComponentDefinitions>
<rdf:Bag>
<rdf:li rdf:resource="https://synbiohub.programmingbiology.org/public/Eco1C1G1T1/Ara_AraC_protein/1"/></rdf:Bag></mts:ComponentDefinitions><mts:FunctionalComponents>
<rdf:Bag>
<rdf:li rdf:resource="https://synbiohub.programmingbiology.org/public/Eco1C1G1T1/Ara_AraC_protein/1"/></rdf:Bag></mts:FunctionalComponents></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</species>
<species boundaryCondition="false" compartment="Cell" constant="false" hasOnlySubstanceUnits="true" id="pBAD" initialAmount="2" metaid="iBioSim5" sboTerm="SBO:0000590">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim5">
<mts:ComponentDefinitions>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/AmtRpart/1"/></rdf:Bag></mts:ComponentDefinitions><mts:FunctionalComponents>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/AmtRpart/1"/></rdf:Bag></mts:FunctionalComponents><mts:DNAComponents>
<rdf:Seq>
<rdf:li rdf:resource="http://www.async.utah.edu/AmtRpart/1"/></rdf:Seq></mts:DNAComponents><mts:Strand>+</mts:Strand></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</species>
<species boundaryCondition="false" compartment="Cell" constant="false" hasOnlySubstanceUnits="true" id="pHlyIIR" initialAmount="2" metaid="iBioSim6" sboTerm="SBO:0000590">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim6">
<mts:ComponentDefinitions>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/AmtRpart/1"/></rdf:Bag></mts:ComponentDefinitions><mts:FunctionalComponents>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/AmtRpart/1"/></rdf:Bag></mts:FunctionalComponents><mts:DNAComponents>
<rdf:Seq>
<rdf:li rdf:resource="http://www.async.utah.edu/AmtRpart/1"/></rdf:Seq></mts:DNAComponents><mts:Strand>+</mts:Strand></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</species>
</listOfSpecies>
<listOfParameters>
<parameter constant="true" id="kr_f" name="Forward repression binding rate" value="0.5"/>
<parameter constant="true" id="kr_r" name="Reverse repression binding rate" value="1"/>
<parameter constant="true" id="ka_f" name="Forward activation binding rate" value="0.0033"/>
<parameter constant="true" id="ka_r" name="Reverse activation binding rate" value="1"/>
<parameter constant="true" id="ko_f" name="Forward RNAP binding rate" value="0.033"/>
<parameter constant="true" id="ko_r" name="Reverse RNAP binding rate" value="1"/>
<parameter constant="true" id="kao_f" name="Forward activated RNAP binding rate" value="1"/>
<parameter constant="true" id="kao_r" name="Reverse activated RNAP binding rate" value="1"/>
<parameter constant="true" id="nc" name="Stoichiometry of binding" value="2"/>
<parameter constant="true" id="nr" name="Initial RNAP count" value="30"/>
<parameter constant="true" id="ko" name="Open complex production rate" value="0.05"/>
<parameter constant="true" id="kb" name="Basal production rate" value="0.0001"/>
<parameter constant="true" id="ng" name="Initial promoter count" value="2"/>
<parameter constant="true" id="np" name="Stoichiometry of production" value="10"/>
<parameter constant="true" id="ka" name="Activated production rate" value="0.25"/>
</listOfParameters>
<listOfReactions>
<reaction compartment="Cell" id="AmtR_protein_interaction_0" metaid="iBioSim7" reversible="false" sboTerm="SBO:0000589">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim7">
<mts:Interactions>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/AmtRpart_module/AmtR_protein_interaction/1"/><rdf:li rdf:resource="http://www.async.utah.edu/AmtRpart_module/Ara_AraC_protein_pBAD_activation/1"/><rdf:li rdf:resource="http://www.async.utah.edu/AmtRpart_module/HlyIIR_protein_pHlyIIR_repression/1"/></rdf:Bag></mts:Interactions></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
<listOfProducts>
<speciesReference constant="true" metaid="iBioSim9" species="AmtR_protein" stoichiometry="10">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim9">
<mts:Participations>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/AmtRpart_module/AmtR_protein/1"/></rdf:Bag></mts:Participations></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</speciesReference>
</listOfProducts>
<listOfModifiers>
<modifierSpeciesReference sboTerm="SBO:0000598" species="pBAD">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#">
<mts:Participations>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/AmtRpart_module/Ara_AraC_protein_pBAD_activation/AmtRpart_fc/1"/><rdf:li rdf:resource="http://www.async.utah.edu/AmtRpart_module/AmtR_protein_interaction/AmtRpart_fc/1"/><rdf:li rdf:resource="http://www.async.utah.edu/AmtRpart_module/HlyIIR_protein_pHlyIIR_repression/AmtRpart_fc/1"/></rdf:Bag></mts:Participations></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</modifierSpeciesReference>
<modifierSpeciesReference metaid="iBioSim8" sboTerm="SBO:0000459" species="Ara_AraC_protein">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim8">
<mts:Participations>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/AmtRpart_module/Ara_AraC_protein/1"/></rdf:Bag></mts:Participations></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</modifierSpeciesReference>
</listOfModifiers>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<divide/>
<apply>
<times/>
<ci> pBAD </ci>
<apply>
<plus/>
<apply>
<times/>
<apply>
<times/>
<ci> kb </ci>
<apply>
<divide/>
<ci> ko_f </ci>
<ci> ko_r </ci>
</apply>
</apply>
<ci> nr </ci>
</apply>
<apply>
<times/>
<apply>
<times/>
<apply>
<times/>
<ci> ka </ci>
<apply>
<divide/>
<ci> kao_f </ci>
<ci> kao_r </ci>
</apply>
</apply>
<ci> nr </ci>
</apply>
<apply>
<power/>
<apply>
<times/>
<apply>
<divide/>
<ci> ka_f </ci>
<ci> ka_r </ci>
</apply>
<ci> Ara_AraC_protein </ci>
</apply>
<ci> nc </ci>
</apply>
</apply>
</apply>
</apply>
<apply>
<plus/>
<apply>
<plus/>
<cn type="integer"> 1 </cn>
<apply>
<times/>
<apply>
<divide/>
<ci> ko_f </ci>
<ci> ko_r </ci>
</apply>
<ci> nr </ci>
</apply>
</apply>
<apply>
<times/>
<apply>
<times/>
<apply>
<divide/>
<ci> kao_f </ci>
<ci> kao_r </ci>
</apply>
<ci> nr </ci>
</apply>
<apply>
<power/>
<apply>
<times/>
<apply>
<divide/>
<ci> ka_f </ci>
<ci> ka_r </ci>
</apply>
<ci> Ara_AraC_protein </ci>
</apply>
<ci> nc </ci>
</apply>
</apply>
</apply>
</apply>
</math>
</kineticLaw>
</reaction>
<reaction compartment="Cell" id="AmtR_protein_interaction_1" metaid="iBioSim10" reversible="false" sboTerm="SBO:0000589">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim10">
<mts:Interactions>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/AmtRpart_module/AmtR_protein_interaction/1"/><rdf:li rdf:resource="http://www.async.utah.edu/AmtRpart_module/Ara_AraC_protein_pBAD_activation/1"/><rdf:li rdf:resource="http://www.async.utah.edu/AmtRpart_module/HlyIIR_protein_pHlyIIR_repression/1"/></rdf:Bag></mts:Interactions></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
<listOfProducts>
<speciesReference constant="true" metaid="iBioSim12" species="AmtR_protein" stoichiometry="10">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim12">
<mts:Participations>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/AmtRpart_module/AmtR_protein/1"/></rdf:Bag></mts:Participations></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</speciesReference>
</listOfProducts>
<listOfModifiers>
<modifierSpeciesReference sboTerm="SBO:0000598" species="pHlyIIR">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#">
<mts:Participations>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/AmtRpart_module/Ara_AraC_protein_pBAD_activation/AmtRpart_fc/1"/><rdf:li rdf:resource="http://www.async.utah.edu/AmtRpart_module/AmtR_protein_interaction/AmtRpart_fc/1"/><rdf:li rdf:resource="http://www.async.utah.edu/AmtRpart_module/HlyIIR_protein_pHlyIIR_repression/AmtRpart_fc/1"/></rdf:Bag></mts:Participations></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</modifierSpeciesReference>
<modifierSpeciesReference metaid="iBioSim11" sboTerm="SBO:0000020" species="HlyIIR_protein">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim11">
<mts:Participations>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/AmtRpart_module/HlyIIR_protein/1"/></rdf:Bag></mts:Participations></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</modifierSpeciesReference>
</listOfModifiers>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<divide/>
<apply>
<times/>
<apply>
<times/>
<apply>
<times/>
<ci> pHlyIIR </ci>
<ci> ko </ci>
</apply>
<apply>
<divide/>
<ci> ko_f </ci>
<ci> ko_r </ci>
</apply>
</apply>
<ci> nr </ci>
</apply>
<apply>
<plus/>
<apply>
<plus/>
<cn type="integer"> 1 </cn>
<apply>
<times/>
<apply>
<divide/>
<ci> ko_f </ci>
<ci> ko_r </ci>
</apply>
<ci> nr </ci>
</apply>
</apply>
<apply>
<power/>
<apply>
<times/>
<apply>
<divide/>
<ci> kr_f </ci>
<ci> kr_r </ci>
</apply>
<ci> HlyIIR_protein </ci>
</apply>
<ci> nc </ci>
</apply>
</apply>
</apply>
</math>
</kineticLaw>
</reaction>
</listOfReactions>
</model>
</sbml>

View file

@ -0,0 +1,41 @@
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<sbml xmlns="http://www.sbml.org/sbml/level3/version2/core" comp:required="true" layout:required="false" level="3" version="2" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" xmlns:layout="http://www.sbml.org/sbml/level3/version1/layout/version1">
<model id="AraCsensor_module" metaid="iBioSim1">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim1">
<mts:ModuleDefinitions>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/AraCsensor_module/1"/></rdf:Bag></mts:ModuleDefinitions></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
<comp:listOfPorts xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1">
<comp:port comp:id="compartment__Cell" comp:idRef="Cell"/>
<comp:port comp:id="output__AraC_protein" comp:idRef="AraC_protein" sboTerm="SBO:0000601"/>
</comp:listOfPorts>
<layout:listOfLayouts xmlns:layout="http://www.sbml.org/sbml/level3/version1/layout/version1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<layout:layout layout:id="iBioSim">
<layout:dimensions layout:depth="0" layout:height="0" layout:width="0"/>
</layout:layout>
</layout:listOfLayouts>
<listOfCompartments>
<compartment constant="true" id="Cell" size="1" spatialDimensions="3"/>
</listOfCompartments>
<listOfSpecies>
<species boundaryCondition="false" compartment="Cell" constant="false" hasOnlySubstanceUnits="true" id="AraC_protein" initialAmount="0" metaid="iBioSim2" sboTerm="SBO:0000252">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim2">
<mts:ComponentDefinitions>
<rdf:Bag>
<rdf:li rdf:resource="https://synbiohub.programmingbiology.org/public/Eco1C1G1T1/AraC_protein/1"/></rdf:Bag></mts:ComponentDefinitions><mts:FunctionalComponents>
<rdf:Bag>
<rdf:li rdf:resource="https://synbiohub.programmingbiology.org/public/Eco1C1G1T1/AraC_protein/1"/></rdf:Bag></mts:FunctionalComponents><mts:DNAComponents>
<rdf:Seq>
<rdf:li rdf:resource="http://www.async.utah.edu/AraCsensor/1"/></rdf:Seq></mts:DNAComponents><mts:Strand>+</mts:Strand></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</species>
</listOfSpecies>
</model>
</sbml>

View file

@ -0,0 +1,464 @@
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<sbml xmlns="http://www.sbml.org/sbml/level3/version2/core" comp:required="true" layout:required="false" level="3" version="2" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" xmlns:layout="http://www.sbml.org/sbml/level3/version1/layout/version1">
<model id="BetIpart_module" metaid="iBioSim13">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim1">
<mts:ModuleDefinitions>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/BetIpart_module/1"/></rdf:Bag></mts:ModuleDefinitions></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
<comp:listOfPorts xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1">
<comp:port comp:id="compartment__Cell" comp:idRef="Cell" sboTerm="SBO:0000601"/>
<comp:port comp:id="input__HlyIIR_protein" comp:idRef="HlyIIR_protein" sboTerm="SBO:0000600"/>
<comp:port comp:id="output__BetI_protein" comp:idRef="BetI_protein" sboTerm="SBO:0000601"/>
<comp:port comp:id="input__TetR_protein" comp:idRef="TetR_protein" sboTerm="SBO:0000600"/>
</comp:listOfPorts>
<layout:listOfLayouts xmlns:layout="http://www.sbml.org/sbml/level3/version1/layout/version1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<layout:layout layout:id="iBioSim">
<layout:dimensions layout:depth="0" layout:height="425" layout:width="1070"/>
<layout:listOfCompartmentGlyphs>
<layout:compartmentGlyph layout:compartment="Cell" layout:id="Glyph__Cell">
<layout:boundingBox>
<layout:position layout:x="0" layout:y="0"/>
<layout:dimensions layout:height="425" layout:width="1070"/>
</layout:boundingBox>
</layout:compartmentGlyph>
</layout:listOfCompartmentGlyphs>
<layout:listOfSpeciesGlyphs>
<layout:speciesGlyph layout:id="Glyph__pHlyIIR" layout:species="pHlyIIR">
<layout:boundingBox>
<layout:position layout:x="0" layout:y="90"/>
<layout:dimensions layout:height="30" layout:width="100"/>
</layout:boundingBox>
</layout:speciesGlyph>
<layout:speciesGlyph layout:id="Glyph__pTet" layout:species="pTet">
<layout:boundingBox>
<layout:position layout:x="130" layout:y="90"/>
<layout:dimensions layout:height="30" layout:width="100"/>
</layout:boundingBox>
</layout:speciesGlyph>
<layout:speciesGlyph layout:id="Glyph__HlyIIR_protein" layout:species="HlyIIR_protein">
<layout:boundingBox>
<layout:position layout:x="30" layout:y="0"/>
<layout:dimensions layout:height="40" layout:width="40"/>
</layout:boundingBox>
</layout:speciesGlyph>
<layout:speciesGlyph layout:id="Glyph__BetI_protein" layout:species="BetI_protein">
<layout:boundingBox>
<layout:position layout:x="95" layout:y="194.4775390625"/>
<layout:dimensions layout:height="40" layout:width="40"/>
</layout:boundingBox>
</layout:speciesGlyph>
<layout:speciesGlyph layout:id="Glyph__TetR_protein" layout:species="TetR_protein">
<layout:boundingBox>
<layout:position layout:x="160" layout:y="0"/>
<layout:dimensions layout:height="40" layout:width="40"/>
</layout:boundingBox>
</layout:speciesGlyph>
</layout:listOfSpeciesGlyphs>
<layout:listOfReactionGlyphs>
<layout:reactionGlyph layout:id="Glyph__pHlyIIR__Production__BetI_protein">
<layout:boundingBox>
<layout:position layout:x="115" layout:y="214.4775390625"/>
<layout:dimensions layout:height="0" layout:width="0"/>
</layout:boundingBox>
<layout:listOfSpeciesReferenceGlyphs>
<layout:speciesReferenceGlyph layout:id="ReferenceGlyph__pHlyIIR__Production__BetI_protein" layout:role="product" layout:speciesGlyph="Glyph__BetI_protein">
<layout:curve>
<layout:listOfCurveSegments>
<layout:curveSegment xsi:type="LineSegment">
<layout:start layout:x="50" layout:y="105"/>
<layout:end layout:x="115" layout:y="214.4775390625"/>
</layout:curveSegment>
</layout:listOfCurveSegments>
</layout:curve>
</layout:speciesReferenceGlyph>
</layout:listOfSpeciesReferenceGlyphs>
</layout:reactionGlyph>
<layout:reactionGlyph layout:id="Glyph__HlyIIR_protein__repression__pHlyIIR">
<layout:boundingBox>
<layout:position layout:x="50" layout:y="105"/>
<layout:dimensions layout:height="0" layout:width="0"/>
</layout:boundingBox>
<layout:listOfSpeciesReferenceGlyphs>
<layout:speciesReferenceGlyph layout:id="ReferenceGlyph__HlyIIR_protein__repression__pHlyIIR" layout:role="product" layout:speciesGlyph="Glyph__pHlyIIR">
<layout:curve>
<layout:listOfCurveSegments>
<layout:curveSegment xsi:type="LineSegment">
<layout:start layout:x="50" layout:y="20"/>
<layout:end layout:x="50" layout:y="105"/>
</layout:curveSegment>
</layout:listOfCurveSegments>
</layout:curve>
</layout:speciesReferenceGlyph>
</layout:listOfSpeciesReferenceGlyphs>
</layout:reactionGlyph>
<layout:reactionGlyph layout:id="Glyph__pTet__Production__BetI_protein">
<layout:boundingBox>
<layout:position layout:x="115" layout:y="214.4775390625"/>
<layout:dimensions layout:height="0" layout:width="0"/>
</layout:boundingBox>
<layout:listOfSpeciesReferenceGlyphs>
<layout:speciesReferenceGlyph layout:id="ReferenceGlyph__pTet__Production__BetI_protein" layout:role="product" layout:speciesGlyph="Glyph__BetI_protein">
<layout:curve>
<layout:listOfCurveSegments>
<layout:curveSegment xsi:type="LineSegment">
<layout:start layout:x="180" layout:y="105"/>
<layout:end layout:x="115" layout:y="214.4775390625"/>
</layout:curveSegment>
</layout:listOfCurveSegments>
</layout:curve>
</layout:speciesReferenceGlyph>
</layout:listOfSpeciesReferenceGlyphs>
</layout:reactionGlyph>
<layout:reactionGlyph layout:id="Glyph__TetR_protein__repression__pTet">
<layout:boundingBox>
<layout:position layout:x="180" layout:y="105"/>
<layout:dimensions layout:height="0" layout:width="0"/>
</layout:boundingBox>
<layout:listOfSpeciesReferenceGlyphs>
<layout:speciesReferenceGlyph layout:id="ReferenceGlyph__TetR_protein__repression__pTet" layout:role="product" layout:speciesGlyph="Glyph__pTet">
<layout:curve>
<layout:listOfCurveSegments>
<layout:curveSegment xsi:type="LineSegment">
<layout:start layout:x="180" layout:y="20"/>
<layout:end layout:x="180" layout:y="105"/>
</layout:curveSegment>
</layout:listOfCurveSegments>
</layout:curve>
</layout:speciesReferenceGlyph>
</layout:listOfSpeciesReferenceGlyphs>
</layout:reactionGlyph>
</layout:listOfReactionGlyphs>
<layout:listOfTextGlyphs>
<layout:textGlyph layout:graphicalObject="Glyph__pHlyIIR" layout:id="TextGlyph__pHlyIIR" layout:text="pHlyIIR">
<layout:boundingBox>
<layout:position layout:x="0" layout:y="90"/>
<layout:dimensions layout:height="30" layout:width="100"/>
</layout:boundingBox>
</layout:textGlyph>
<layout:textGlyph layout:graphicalObject="Glyph__pTet" layout:id="TextGlyph__pTet" layout:text="pTet">
<layout:boundingBox>
<layout:position layout:x="130" layout:y="90"/>
<layout:dimensions layout:height="30" layout:width="100"/>
</layout:boundingBox>
</layout:textGlyph>
<layout:textGlyph layout:graphicalObject="Glyph__Cell" layout:id="TextGlyph__Cell" layout:text="Cell">
<layout:boundingBox>
<layout:position layout:x="0" layout:y="0"/>
<layout:dimensions layout:height="425" layout:width="1070"/>
</layout:boundingBox>
</layout:textGlyph>
<layout:textGlyph layout:graphicalObject="Glyph__HlyIIR_protein" layout:id="TextGlyph__HlyIIR_protein" layout:text="HlyIIR_protein">
<layout:boundingBox>
<layout:position layout:x="30" layout:y="0"/>
<layout:dimensions layout:height="40" layout:width="40"/>
</layout:boundingBox>
</layout:textGlyph>
<layout:textGlyph layout:graphicalObject="Glyph__BetI_protein" layout:id="TextGlyph__BetI_protein" layout:text="BetI_protein">
<layout:boundingBox>
<layout:position layout:x="95" layout:y="194.4775390625"/>
<layout:dimensions layout:height="40" layout:width="40"/>
</layout:boundingBox>
</layout:textGlyph>
<layout:textGlyph layout:graphicalObject="Glyph__TetR_protein" layout:id="TextGlyph__TetR_protein" layout:text="TetR_protein">
<layout:boundingBox>
<layout:position layout:x="160" layout:y="0"/>
<layout:dimensions layout:height="40" layout:width="40"/>
</layout:boundingBox>
</layout:textGlyph>
</layout:listOfTextGlyphs>
</layout:layout>
</layout:listOfLayouts>
<listOfFunctionDefinitions/>
<listOfUnitDefinitions/>
<listOfCompartments>
<compartment constant="true" id="Cell" size="1" spatialDimensions="3"/>
</listOfCompartments>
<listOfSpecies>
<species boundaryCondition="true" compartment="Cell" constant="false" hasOnlySubstanceUnits="true" id="HlyIIR_protein" initialAmount="0" metaid="iBioSim2" sboTerm="SBO:0000252">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim2">
<mts:ComponentDefinitions>
<rdf:Bag>
<rdf:li rdf:resource="https://synbiohub.programmingbiology.org/public/Eco1C1G1T1/HlyIIR_protein/1"/></rdf:Bag></mts:ComponentDefinitions><mts:FunctionalComponents>
<rdf:Bag>
<rdf:li rdf:resource="https://synbiohub.programmingbiology.org/public/Eco1C1G1T1/HlyIIR_protein/1"/></rdf:Bag></mts:FunctionalComponents></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</species>
<species boundaryCondition="false" compartment="Cell" constant="false" hasOnlySubstanceUnits="true" id="pHlyIIR" initialAmount="2" metaid="iBioSim3" sboTerm="SBO:0000590">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim3">
<mts:ComponentDefinitions>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/BetIpart/1"/></rdf:Bag></mts:ComponentDefinitions><mts:FunctionalComponents>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/BetIpart/1"/></rdf:Bag></mts:FunctionalComponents><mts:DNAComponents>
<rdf:Seq>
<rdf:li rdf:resource="http://www.async.utah.edu/BetIpart/1"/></rdf:Seq></mts:DNAComponents><mts:Strand>+</mts:Strand></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</species>
<species boundaryCondition="false" compartment="Cell" constant="false" hasOnlySubstanceUnits="true" id="pTet" initialAmount="2" metaid="iBioSim4" sboTerm="SBO:0000590">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim4">
<mts:ComponentDefinitions>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/BetIpart/1"/></rdf:Bag></mts:ComponentDefinitions><mts:FunctionalComponents>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/BetIpart/1"/></rdf:Bag></mts:FunctionalComponents><mts:DNAComponents>
<rdf:Seq>
<rdf:li rdf:resource="http://www.async.utah.edu/BetIpart/1"/></rdf:Seq></mts:DNAComponents><mts:Strand>+</mts:Strand></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</species>
<species boundaryCondition="false" compartment="Cell" constant="false" hasOnlySubstanceUnits="true" id="BetI_protein" initialAmount="0" metaid="iBioSim5" sboTerm="SBO:0000252">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim5">
<mts:ComponentDefinitions>
<rdf:Bag>
<rdf:li rdf:resource="https://synbiohub.programmingbiology.org/public/Eco1C1G1T1/BetI_protein/1"/></rdf:Bag></mts:ComponentDefinitions><mts:FunctionalComponents>
<rdf:Bag>
<rdf:li rdf:resource="https://synbiohub.programmingbiology.org/public/Eco1C1G1T1/BetI_protein/1"/></rdf:Bag></mts:FunctionalComponents><mts:DNAComponents>
<rdf:Seq>
<rdf:li rdf:resource="http://www.async.utah.edu/BetIpart/1"/></rdf:Seq></mts:DNAComponents><mts:Strand>+</mts:Strand></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</species>
<species boundaryCondition="true" compartment="Cell" constant="false" hasOnlySubstanceUnits="true" id="TetR_protein" initialAmount="0" metaid="iBioSim6" sboTerm="SBO:0000252">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim6">
<mts:ComponentDefinitions>
<rdf:Bag>
<rdf:li rdf:resource="https://synbiohub.programmingbiology.org/public/Eco1C1G1T1/TetR_protein/1"/></rdf:Bag></mts:ComponentDefinitions><mts:FunctionalComponents>
<rdf:Bag>
<rdf:li rdf:resource="https://synbiohub.programmingbiology.org/public/Eco1C1G1T1/TetR_protein/1"/></rdf:Bag></mts:FunctionalComponents></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</species>
</listOfSpecies>
<listOfParameters>
<parameter constant="true" id="kr_f" metaid="iBioSim1" name="Forward repression binding rate" value="0.5"/>
<parameter constant="true" id="kr_r" metaid="iBioSim14" name="Reverse repression binding rate" value="1"/>
<parameter constant="true" id="ka_f" metaid="iBioSim15" name="Forward activation binding rate" value="0.0033"/>
<parameter constant="true" id="ka_r" metaid="iBioSim16" name="Reverse activation binding rate" value="1"/>
<parameter constant="true" id="ko_f" metaid="iBioSim17" name="Forward RNAP binding rate" value="0.033"/>
<parameter constant="true" id="ko_r" metaid="iBioSim18" name="Reverse RNAP binding rate" value="1"/>
<parameter constant="true" id="kao_f" metaid="iBioSim19" name="Forward activated RNAP binding rate" value="1"/>
<parameter constant="true" id="kao_r" metaid="iBioSim20" name="Reverse activated RNAP binding rate" value="1"/>
<parameter constant="true" id="nc" metaid="iBioSim21" name="Stoichiometry of binding" value="2"/>
<parameter constant="true" id="nr" metaid="iBioSim22" name="Initial RNAP count" value="30"/>
<parameter constant="true" id="ko" metaid="iBioSim23" name="Open complex production rate" value="0.05"/>
<parameter constant="true" id="kb" metaid="iBioSim24" name="Basal production rate" value="0.0001"/>
<parameter constant="true" id="ng" metaid="iBioSim25" name="Initial promoter count" value="2"/>
<parameter constant="true" id="np" metaid="iBioSim26" name="Stoichiometry of production" value="10"/>
<parameter constant="true" id="ka" metaid="iBioSim27" name="Activated production rate" value="0.25"/>
</listOfParameters>
<listOfConstraints/>
<listOfReactions>
<reaction compartment="Cell" id="BetI_protein_interaction_0" metaid="iBioSim7" reversible="false" sboTerm="SBO:0000589">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim7">
<mts:Interactions>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/BetIpart_module/BetI_protein_interaction/1"/><rdf:li rdf:resource="http://www.async.utah.edu/BetIpart_module/HlyIIR_protein_pHlyIIR_repression/1"/><rdf:li rdf:resource="http://www.async.utah.edu/BetIpart_module/TetR_protein_pTet_repression/1"/></rdf:Bag></mts:Interactions></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
<listOfProducts>
<speciesReference constant="true" metaid="iBioSim9" species="BetI_protein" stoichiometry="10">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim9">
<mts:Participations>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/BetIpart_module/BetI_protein/1"/></rdf:Bag></mts:Participations></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</speciesReference>
</listOfProducts>
<listOfModifiers>
<modifierSpeciesReference sboTerm="SBO:0000598" species="pHlyIIR">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#">
<mts:Participations>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/BetIpart_module/HlyIIR_protein_pHlyIIR_repression/BetIpart_fc/1"/><rdf:li rdf:resource="http://www.async.utah.edu/BetIpart_module/TetR_protein_pTet_repression/BetIpart_fc/1"/><rdf:li rdf:resource="http://www.async.utah.edu/BetIpart_module/BetI_protein_interaction/BetIpart_fc/1"/></rdf:Bag></mts:Participations></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</modifierSpeciesReference>
<modifierSpeciesReference metaid="iBioSim8" sboTerm="SBO:0000020" species="HlyIIR_protein">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim8">
<mts:Participations>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/BetIpart_module/HlyIIR_protein/1"/></rdf:Bag></mts:Participations></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</modifierSpeciesReference>
</listOfModifiers>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<divide/>
<apply>
<times/>
<apply>
<times/>
<apply>
<times/>
<ci> pHlyIIR </ci>
<ci> ko </ci>
</apply>
<apply>
<divide/>
<ci> ko_f </ci>
<ci> ko_r </ci>
</apply>
</apply>
<ci> nr </ci>
</apply>
<apply>
<plus/>
<apply>
<plus/>
<cn type="integer"> 1 </cn>
<apply>
<times/>
<apply>
<divide/>
<ci> ko_f </ci>
<ci> ko_r </ci>
</apply>
<ci> nr </ci>
</apply>
</apply>
<apply>
<power/>
<apply>
<times/>
<apply>
<divide/>
<ci> kr_f </ci>
<ci> kr_r </ci>
</apply>
<ci> HlyIIR_protein </ci>
</apply>
<ci> nc </ci>
</apply>
</apply>
</apply>
</math>
</kineticLaw>
</reaction>
<reaction compartment="Cell" id="BetI_protein_interaction_1" metaid="iBioSim10" reversible="false" sboTerm="SBO:0000589">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim10">
<mts:Interactions>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/BetIpart_module/BetI_protein_interaction/1"/><rdf:li rdf:resource="http://www.async.utah.edu/BetIpart_module/HlyIIR_protein_pHlyIIR_repression/1"/><rdf:li rdf:resource="http://www.async.utah.edu/BetIpart_module/TetR_protein_pTet_repression/1"/></rdf:Bag></mts:Interactions></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
<listOfProducts>
<speciesReference constant="true" metaid="iBioSim12" species="BetI_protein" stoichiometry="10">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim12">
<mts:Participations>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/BetIpart_module/BetI_protein/1"/></rdf:Bag></mts:Participations></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</speciesReference>
</listOfProducts>
<listOfModifiers>
<modifierSpeciesReference sboTerm="SBO:0000598" species="pTet">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#">
<mts:Participations>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/BetIpart_module/HlyIIR_protein_pHlyIIR_repression/BetIpart_fc/1"/><rdf:li rdf:resource="http://www.async.utah.edu/BetIpart_module/TetR_protein_pTet_repression/BetIpart_fc/1"/><rdf:li rdf:resource="http://www.async.utah.edu/BetIpart_module/BetI_protein_interaction/BetIpart_fc/1"/></rdf:Bag></mts:Participations></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</modifierSpeciesReference>
<modifierSpeciesReference metaid="iBioSim11" sboTerm="SBO:0000020" species="TetR_protein">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim11">
<mts:Participations>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/BetIpart_module/TetR_protein/1"/></rdf:Bag></mts:Participations></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</modifierSpeciesReference>
</listOfModifiers>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<divide/>
<apply>
<times/>
<apply>
<times/>
<apply>
<times/>
<ci> pTet </ci>
<ci> ko </ci>
</apply>
<apply>
<divide/>
<ci> ko_f </ci>
<ci> ko_r </ci>
</apply>
</apply>
<ci> nr </ci>
</apply>
<apply>
<plus/>
<apply>
<plus/>
<cn type="integer"> 1 </cn>
<apply>
<times/>
<apply>
<divide/>
<ci> ko_f </ci>
<ci> ko_r </ci>
</apply>
<ci> nr </ci>
</apply>
</apply>
<apply>
<power/>
<apply>
<times/>
<apply>
<divide/>
<ci> kr_f </ci>
<ci> kr_r </ci>
</apply>
<ci> TetR_protein </ci>
</apply>
<ci> nc </ci>
</apply>
</apply>
</apply>
</math>
</kineticLaw>
</reaction>
</listOfReactions>
<listOfEvents/>
</model>
</sbml>

View file

@ -0,0 +1,508 @@
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<sbml xmlns="http://www.sbml.org/sbml/level3/version2/core" comp:required="true" layout:required="false" level="3" version="2" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" xmlns:layout="http://www.sbml.org/sbml/level3/version1/layout/version1">
<model id="HlyIIRpart_module" metaid="iBioSim13">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim1">
<mts:ModuleDefinitions>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/HlyIIRpart_module/1"/></rdf:Bag></mts:ModuleDefinitions></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
<comp:listOfPorts xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1">
<comp:port comp:id="compartment__Cell" comp:idRef="Cell" sboTerm="SBO:0000601"/>
<comp:port comp:id="output__HlyIIR_protein" comp:idRef="HlyIIR_protein" sboTerm="SBO:0000601"/>
<comp:port comp:id="input__TetR_protein" comp:idRef="TetR_protein" sboTerm="SBO:0000600"/>
<comp:port comp:id="input__Ara_AraC_protein" comp:idRef="Ara_AraC_protein" sboTerm="SBO:0000600"/>
</comp:listOfPorts>
<layout:listOfLayouts xmlns:layout="http://www.sbml.org/sbml/level3/version1/layout/version1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<layout:layout layout:id="iBioSim">
<layout:dimensions layout:depth="0" layout:height="425" layout:width="1070"/>
<layout:listOfCompartmentGlyphs>
<layout:compartmentGlyph layout:compartment="Cell" layout:id="Glyph__Cell">
<layout:boundingBox>
<layout:position layout:x="0" layout:y="0"/>
<layout:dimensions layout:height="425" layout:width="1070"/>
</layout:boundingBox>
</layout:compartmentGlyph>
</layout:listOfCompartmentGlyphs>
<layout:listOfSpeciesGlyphs>
<layout:speciesGlyph layout:id="Glyph__pTet" layout:species="pTet">
<layout:boundingBox>
<layout:position layout:x="130" layout:y="90"/>
<layout:dimensions layout:height="30" layout:width="100"/>
</layout:boundingBox>
</layout:speciesGlyph>
<layout:speciesGlyph layout:id="Glyph__pBAD" layout:species="pBAD">
<layout:boundingBox>
<layout:position layout:x="0" layout:y="90"/>
<layout:dimensions layout:height="30" layout:width="100"/>
</layout:boundingBox>
</layout:speciesGlyph>
<layout:speciesGlyph layout:id="Glyph__HlyIIR_protein" layout:species="HlyIIR_protein">
<layout:boundingBox>
<layout:position layout:x="95" layout:y="194.4775390625"/>
<layout:dimensions layout:height="40" layout:width="40"/>
</layout:boundingBox>
</layout:speciesGlyph>
<layout:speciesGlyph layout:id="Glyph__TetR_protein" layout:species="TetR_protein">
<layout:boundingBox>
<layout:position layout:x="28" layout:y="0"/>
<layout:dimensions layout:height="40" layout:width="40"/>
</layout:boundingBox>
</layout:speciesGlyph>
<layout:speciesGlyph layout:id="Glyph__Ara_AraC_protein" layout:species="Ara_AraC_protein">
<layout:boundingBox>
<layout:position layout:x="130" layout:y="5"/>
<layout:dimensions layout:height="30" layout:width="100"/>
</layout:boundingBox>
</layout:speciesGlyph>
</layout:listOfSpeciesGlyphs>
<layout:listOfReactionGlyphs>
<layout:reactionGlyph layout:id="Glyph__pTet__Production__HlyIIR_protein">
<layout:boundingBox>
<layout:position layout:x="115" layout:y="214.4775390625"/>
<layout:dimensions layout:height="0" layout:width="0"/>
</layout:boundingBox>
<layout:listOfSpeciesReferenceGlyphs>
<layout:speciesReferenceGlyph layout:id="ReferenceGlyph__pTet__Production__HlyIIR_protein" layout:role="product" layout:speciesGlyph="Glyph__HlyIIR_protein">
<layout:curve>
<layout:listOfCurveSegments>
<layout:curveSegment xsi:type="LineSegment">
<layout:start layout:x="180" layout:y="105"/>
<layout:end layout:x="115" layout:y="214.4775390625"/>
</layout:curveSegment>
</layout:listOfCurveSegments>
</layout:curve>
</layout:speciesReferenceGlyph>
</layout:listOfSpeciesReferenceGlyphs>
</layout:reactionGlyph>
<layout:reactionGlyph layout:id="Glyph__Ara_AraC_protein__activation__pTet">
<layout:boundingBox>
<layout:position layout:x="180" layout:y="105"/>
<layout:dimensions layout:height="0" layout:width="0"/>
</layout:boundingBox>
<layout:listOfSpeciesReferenceGlyphs>
<layout:speciesReferenceGlyph layout:id="ReferenceGlyph__Ara_AraC_protein__activation__pTet" layout:role="product" layout:speciesGlyph="Glyph__pTet">
<layout:curve>
<layout:listOfCurveSegments>
<layout:curveSegment xsi:type="LineSegment">
<layout:start layout:x="180" layout:y="20"/>
<layout:end layout:x="180" layout:y="105"/>
</layout:curveSegment>
</layout:listOfCurveSegments>
</layout:curve>
</layout:speciesReferenceGlyph>
</layout:listOfSpeciesReferenceGlyphs>
</layout:reactionGlyph>
<layout:reactionGlyph layout:id="Glyph__pBAD__Production__HlyIIR_protein">
<layout:boundingBox>
<layout:position layout:x="115" layout:y="214.4775390625"/>
<layout:dimensions layout:height="0" layout:width="0"/>
</layout:boundingBox>
<layout:listOfSpeciesReferenceGlyphs>
<layout:speciesReferenceGlyph layout:id="ReferenceGlyph__pBAD__Production__HlyIIR_protein" layout:role="product" layout:speciesGlyph="Glyph__HlyIIR_protein">
<layout:curve>
<layout:listOfCurveSegments>
<layout:curveSegment xsi:type="LineSegment">
<layout:start layout:x="50" layout:y="105"/>
<layout:end layout:x="115" layout:y="214.4775390625"/>
</layout:curveSegment>
</layout:listOfCurveSegments>
</layout:curve>
</layout:speciesReferenceGlyph>
</layout:listOfSpeciesReferenceGlyphs>
</layout:reactionGlyph>
<layout:reactionGlyph layout:id="Glyph__TetR_protein__repression__pBAD">
<layout:boundingBox>
<layout:position layout:x="50" layout:y="105"/>
<layout:dimensions layout:height="0" layout:width="0"/>
</layout:boundingBox>
<layout:listOfSpeciesReferenceGlyphs>
<layout:speciesReferenceGlyph layout:id="ReferenceGlyph__TetR_protein__repression__pBAD" layout:role="product" layout:speciesGlyph="Glyph__pBAD">
<layout:curve>
<layout:listOfCurveSegments>
<layout:curveSegment xsi:type="LineSegment">
<layout:start layout:x="48" layout:y="20"/>
<layout:end layout:x="50" layout:y="105"/>
</layout:curveSegment>
</layout:listOfCurveSegments>
</layout:curve>
</layout:speciesReferenceGlyph>
</layout:listOfSpeciesReferenceGlyphs>
</layout:reactionGlyph>
</layout:listOfReactionGlyphs>
<layout:listOfTextGlyphs>
<layout:textGlyph layout:graphicalObject="Glyph__pTet" layout:id="TextGlyph__pTet" layout:text="pTet">
<layout:boundingBox>
<layout:position layout:x="130" layout:y="90"/>
<layout:dimensions layout:height="30" layout:width="100"/>
</layout:boundingBox>
</layout:textGlyph>
<layout:textGlyph layout:graphicalObject="Glyph__pBAD" layout:id="TextGlyph__pBAD" layout:text="pBAD">
<layout:boundingBox>
<layout:position layout:x="0" layout:y="90"/>
<layout:dimensions layout:height="30" layout:width="100"/>
</layout:boundingBox>
</layout:textGlyph>
<layout:textGlyph layout:graphicalObject="Glyph__Cell" layout:id="TextGlyph__Cell" layout:text="Cell">
<layout:boundingBox>
<layout:position layout:x="0" layout:y="0"/>
<layout:dimensions layout:height="425" layout:width="1070"/>
</layout:boundingBox>
</layout:textGlyph>
<layout:textGlyph layout:graphicalObject="Glyph__HlyIIR_protein" layout:id="TextGlyph__HlyIIR_protein" layout:text="HlyIIR_protein">
<layout:boundingBox>
<layout:position layout:x="95" layout:y="194.4775390625"/>
<layout:dimensions layout:height="40" layout:width="40"/>
</layout:boundingBox>
</layout:textGlyph>
<layout:textGlyph layout:graphicalObject="Glyph__TetR_protein" layout:id="TextGlyph__TetR_protein" layout:text="TetR_protein">
<layout:boundingBox>
<layout:position layout:x="28" layout:y="0"/>
<layout:dimensions layout:height="40" layout:width="40"/>
</layout:boundingBox>
</layout:textGlyph>
<layout:textGlyph layout:graphicalObject="Glyph__Ara_AraC_protein" layout:id="TextGlyph__Ara_AraC_protein" layout:text="Ara_AraC_protein">
<layout:boundingBox>
<layout:position layout:x="130" layout:y="5"/>
<layout:dimensions layout:height="30" layout:width="100"/>
</layout:boundingBox>
</layout:textGlyph>
</layout:listOfTextGlyphs>
</layout:layout>
</layout:listOfLayouts>
<listOfFunctionDefinitions/>
<listOfUnitDefinitions/>
<listOfCompartments>
<compartment constant="true" id="Cell" size="1" spatialDimensions="3"/>
</listOfCompartments>
<listOfSpecies>
<species boundaryCondition="false" compartment="Cell" constant="false" hasOnlySubstanceUnits="true" id="HlyIIR_protein" initialAmount="0" metaid="iBioSim2" sboTerm="SBO:0000252">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim2">
<mts:ComponentDefinitions>
<rdf:Bag>
<rdf:li rdf:resource="https://synbiohub.programmingbiology.org/public/Eco1C1G1T1/HlyIIR_protein/1"/></rdf:Bag></mts:ComponentDefinitions><mts:FunctionalComponents>
<rdf:Bag>
<rdf:li rdf:resource="https://synbiohub.programmingbiology.org/public/Eco1C1G1T1/HlyIIR_protein/1"/></rdf:Bag></mts:FunctionalComponents><mts:DNAComponents>
<rdf:Seq>
<rdf:li rdf:resource="http://www.async.utah.edu/HlyIIRpart/1"/></rdf:Seq></mts:DNAComponents><mts:Strand>+</mts:Strand></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</species>
<species boundaryCondition="true" compartment="Cell" constant="false" hasOnlySubstanceUnits="true" id="TetR_protein" initialAmount="0" metaid="iBioSim3" sboTerm="SBO:0000252">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim3">
<mts:ComponentDefinitions>
<rdf:Bag>
<rdf:li rdf:resource="https://synbiohub.programmingbiology.org/public/Eco1C1G1T1/TetR_protein/1"/></rdf:Bag></mts:ComponentDefinitions><mts:FunctionalComponents>
<rdf:Bag>
<rdf:li rdf:resource="https://synbiohub.programmingbiology.org/public/Eco1C1G1T1/TetR_protein/1"/></rdf:Bag></mts:FunctionalComponents></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</species>
<species boundaryCondition="false" compartment="Cell" constant="false" hasOnlySubstanceUnits="true" id="pTet" initialAmount="2" metaid="iBioSim4" sboTerm="SBO:0000590">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim4">
<mts:ComponentDefinitions>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/HlyIIRpart/1"/></rdf:Bag></mts:ComponentDefinitions><mts:FunctionalComponents>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/HlyIIRpart/1"/></rdf:Bag></mts:FunctionalComponents><mts:DNAComponents>
<rdf:Seq>
<rdf:li rdf:resource="http://www.async.utah.edu/HlyIIRpart/1"/></rdf:Seq></mts:DNAComponents><mts:Strand>+</mts:Strand></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</species>
<species boundaryCondition="false" compartment="Cell" constant="false" hasOnlySubstanceUnits="true" id="pBAD" initialAmount="2" metaid="iBioSim5" sboTerm="SBO:0000590">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim5">
<mts:ComponentDefinitions>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/HlyIIRpart/1"/></rdf:Bag></mts:ComponentDefinitions><mts:FunctionalComponents>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/HlyIIRpart/1"/></rdf:Bag></mts:FunctionalComponents><mts:DNAComponents>
<rdf:Seq>
<rdf:li rdf:resource="http://www.async.utah.edu/HlyIIRpart/1"/></rdf:Seq></mts:DNAComponents><mts:Strand>+</mts:Strand></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</species>
<species boundaryCondition="true" compartment="Cell" constant="false" hasOnlySubstanceUnits="true" id="Ara_AraC_protein" initialAmount="0" metaid="iBioSim6" sboTerm="SBO:0000253">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim6">
<mts:ComponentDefinitions>
<rdf:Bag>
<rdf:li rdf:resource="https://synbiohub.programmingbiology.org/public/Eco1C1G1T1/Ara_AraC_protein/1"/></rdf:Bag></mts:ComponentDefinitions><mts:FunctionalComponents>
<rdf:Bag>
<rdf:li rdf:resource="https://synbiohub.programmingbiology.org/public/Eco1C1G1T1/Ara_AraC_protein/1"/></rdf:Bag></mts:FunctionalComponents></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</species>
</listOfSpecies>
<listOfParameters>
<parameter constant="true" id="kr_f" metaid="iBioSim1" name="Forward repression binding rate" value="0.5"/>
<parameter constant="true" id="kr_r" metaid="iBioSim14" name="Reverse repression binding rate" value="1"/>
<parameter constant="true" id="ka_f" metaid="iBioSim15" name="Forward activation binding rate" value="0.0033"/>
<parameter constant="true" id="ka_r" metaid="iBioSim16" name="Reverse activation binding rate" value="1"/>
<parameter constant="true" id="ko_f" metaid="iBioSim17" name="Forward RNAP binding rate" value="0.033"/>
<parameter constant="true" id="ko_r" metaid="iBioSim18" name="Reverse RNAP binding rate" value="1"/>
<parameter constant="true" id="kao_f" metaid="iBioSim19" name="Forward activated RNAP binding rate" value="1"/>
<parameter constant="true" id="kao_r" metaid="iBioSim20" name="Reverse activated RNAP binding rate" value="1"/>
<parameter constant="true" id="nc" metaid="iBioSim21" name="Stoichiometry of binding" value="2"/>
<parameter constant="true" id="nr" metaid="iBioSim22" name="Initial RNAP count" value="30"/>
<parameter constant="true" id="ko" metaid="iBioSim23" name="Open complex production rate" value="0.05"/>
<parameter constant="true" id="kb" metaid="iBioSim24" name="Basal production rate" value="0.0001"/>
<parameter constant="true" id="ng" metaid="iBioSim25" name="Initial promoter count" value="2"/>
<parameter constant="true" id="np" metaid="iBioSim26" name="Stoichiometry of production" value="10"/>
<parameter constant="true" id="ka" metaid="iBioSim27" name="Activated production rate" value="0.25"/>
</listOfParameters>
<listOfConstraints/>
<listOfReactions>
<reaction compartment="Cell" id="HlyIIR_protein_interaction_0" metaid="iBioSim7" reversible="false" sboTerm="SBO:0000589">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim7">
<mts:Interactions>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/HlyIIRpart_module/HlyIIR_protein_interaction/1"/><rdf:li rdf:resource="http://www.async.utah.edu/HlyIIRpart_module/Ara_AraC_protein_pBAD_activation/1"/><rdf:li rdf:resource="http://www.async.utah.edu/HlyIIRpart_module/TetR_protein_pTet_repression/1"/></rdf:Bag></mts:Interactions></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
<listOfProducts>
<speciesReference constant="true" metaid="iBioSim9" species="HlyIIR_protein" stoichiometry="10">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim9">
<mts:Participations>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/HlyIIRpart_module/HlyIIR_protein/1"/></rdf:Bag></mts:Participations></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</speciesReference>
</listOfProducts>
<listOfModifiers>
<modifierSpeciesReference sboTerm="SBO:0000598" species="pTet">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#">
<mts:Participations>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/HlyIIRpart_module/TetR_protein_pTet_repression/HlyIIRpart_fc/1"/><rdf:li rdf:resource="http://www.async.utah.edu/HlyIIRpart_module/HlyIIR_protein_interaction/HlyIIRpart_fc/1"/><rdf:li rdf:resource="http://www.async.utah.edu/HlyIIRpart_module/Ara_AraC_protein_pBAD_activation/HlyIIRpart_fc/1"/></rdf:Bag></mts:Participations></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</modifierSpeciesReference>
<modifierSpeciesReference metaid="iBioSim8" sboTerm="SBO:0000459" species="Ara_AraC_protein">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim8">
<mts:Participations>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/HlyIIRpart_module/Ara_AraC_protein/1"/></rdf:Bag></mts:Participations></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</modifierSpeciesReference>
</listOfModifiers>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<divide/>
<apply>
<times/>
<ci> pTet </ci>
<apply>
<plus/>
<apply>
<times/>
<apply>
<times/>
<ci> kb </ci>
<apply>
<divide/>
<ci> ko_f </ci>
<ci> ko_r </ci>
</apply>
</apply>
<ci> nr </ci>
</apply>
<apply>
<times/>
<apply>
<times/>
<apply>
<times/>
<ci> ka </ci>
<apply>
<divide/>
<ci> kao_f </ci>
<ci> kao_r </ci>
</apply>
</apply>
<ci> nr </ci>
</apply>
<apply>
<power/>
<apply>
<times/>
<apply>
<divide/>
<ci> ka_f </ci>
<ci> ka_r </ci>
</apply>
<ci> Ara_AraC_protein </ci>
</apply>
<ci> nc </ci>
</apply>
</apply>
</apply>
</apply>
<apply>
<plus/>
<apply>
<plus/>
<cn type="integer"> 1 </cn>
<apply>
<times/>
<apply>
<divide/>
<ci> ko_f </ci>
<ci> ko_r </ci>
</apply>
<ci> nr </ci>
</apply>
</apply>
<apply>
<times/>
<apply>
<times/>
<apply>
<divide/>
<ci> kao_f </ci>
<ci> kao_r </ci>
</apply>
<ci> nr </ci>
</apply>
<apply>
<power/>
<apply>
<times/>
<apply>
<divide/>
<ci> ka_f </ci>
<ci> ka_r </ci>
</apply>
<ci> Ara_AraC_protein </ci>
</apply>
<ci> nc </ci>
</apply>
</apply>
</apply>
</apply>
</math>
</kineticLaw>
</reaction>
<reaction compartment="Cell" id="HlyIIR_protein_interaction_1" metaid="iBioSim10" reversible="false" sboTerm="SBO:0000589">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim10">
<mts:Interactions>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/HlyIIRpart_module/HlyIIR_protein_interaction/1"/><rdf:li rdf:resource="http://www.async.utah.edu/HlyIIRpart_module/Ara_AraC_protein_pBAD_activation/1"/><rdf:li rdf:resource="http://www.async.utah.edu/HlyIIRpart_module/TetR_protein_pTet_repression/1"/></rdf:Bag></mts:Interactions></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
<listOfProducts>
<speciesReference constant="true" metaid="iBioSim12" species="HlyIIR_protein" stoichiometry="10">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim12">
<mts:Participations>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/HlyIIRpart_module/HlyIIR_protein/1"/></rdf:Bag></mts:Participations></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</speciesReference>
</listOfProducts>
<listOfModifiers>
<modifierSpeciesReference sboTerm="SBO:0000598" species="pBAD">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#">
<mts:Participations>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/HlyIIRpart_module/TetR_protein_pTet_repression/HlyIIRpart_fc/1"/><rdf:li rdf:resource="http://www.async.utah.edu/HlyIIRpart_module/HlyIIR_protein_interaction/HlyIIRpart_fc/1"/><rdf:li rdf:resource="http://www.async.utah.edu/HlyIIRpart_module/Ara_AraC_protein_pBAD_activation/HlyIIRpart_fc/1"/></rdf:Bag></mts:Participations></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</modifierSpeciesReference>
<modifierSpeciesReference metaid="iBioSim11" sboTerm="SBO:0000020" species="TetR_protein">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim11">
<mts:Participations>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/HlyIIRpart_module/TetR_protein/1"/></rdf:Bag></mts:Participations></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</modifierSpeciesReference>
</listOfModifiers>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<divide/>
<apply>
<times/>
<apply>
<times/>
<apply>
<times/>
<ci> pBAD </ci>
<ci> ko </ci>
</apply>
<apply>
<divide/>
<ci> ko_f </ci>
<ci> ko_r </ci>
</apply>
</apply>
<ci> nr </ci>
</apply>
<apply>
<plus/>
<apply>
<plus/>
<cn type="integer"> 1 </cn>
<apply>
<times/>
<apply>
<divide/>
<ci> ko_f </ci>
<ci> ko_r </ci>
</apply>
<ci> nr </ci>
</apply>
</apply>
<apply>
<power/>
<apply>
<times/>
<apply>
<divide/>
<ci> kr_f </ci>
<ci> kr_r </ci>
</apply>
<ci> TetR_protein </ci>
</apply>
<ci> nc </ci>
</apply>
</apply>
</apply>
</math>
</kineticLaw>
</reaction>
</listOfReactions>
<listOfEvents/>
</model>
</sbml>

View file

@ -0,0 +1,41 @@
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<sbml xmlns="http://www.sbml.org/sbml/level3/version2/core" comp:required="true" layout:required="false" level="3" version="2" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" xmlns:layout="http://www.sbml.org/sbml/level3/version1/layout/version1">
<model id="LacIsensor_module" metaid="iBioSim1">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim1">
<mts:ModuleDefinitions>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/LacIsensor_module/1"/></rdf:Bag></mts:ModuleDefinitions></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
<comp:listOfPorts xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1">
<comp:port comp:id="compartment__Cell" comp:idRef="Cell"/>
<comp:port comp:id="output__LacI_protein" comp:idRef="LacI_protein" sboTerm="SBO:0000601"/>
</comp:listOfPorts>
<layout:listOfLayouts xmlns:layout="http://www.sbml.org/sbml/level3/version1/layout/version1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<layout:layout layout:id="iBioSim">
<layout:dimensions layout:depth="0" layout:height="0" layout:width="0"/>
</layout:layout>
</layout:listOfLayouts>
<listOfCompartments>
<compartment constant="true" id="Cell" size="1" spatialDimensions="3"/>
</listOfCompartments>
<listOfSpecies>
<species boundaryCondition="false" compartment="Cell" constant="false" hasOnlySubstanceUnits="true" id="LacI_protein" initialAmount="0" metaid="iBioSim2" sboTerm="SBO:0000252">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim2">
<mts:ComponentDefinitions>
<rdf:Bag>
<rdf:li rdf:resource="https://synbiohub.programmingbiology.org/public/Eco1C1G1T1/LacI_protein/1"/></rdf:Bag></mts:ComponentDefinitions><mts:FunctionalComponents>
<rdf:Bag>
<rdf:li rdf:resource="https://synbiohub.programmingbiology.org/public/Eco1C1G1T1/LacI_protein/1"/></rdf:Bag></mts:FunctionalComponents><mts:DNAComponents>
<rdf:Seq>
<rdf:li rdf:resource="http://www.async.utah.edu/LacIsensor/1"/></rdf:Seq></mts:DNAComponents><mts:Strand>+</mts:Strand></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</species>
</listOfSpecies>
</model>
</sbml>

View file

@ -0,0 +1,464 @@
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<sbml xmlns="http://www.sbml.org/sbml/level3/version2/core" comp:required="true" layout:required="false" level="3" version="2" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" xmlns:layout="http://www.sbml.org/sbml/level3/version1/layout/version1">
<model id="PhlFpart_module" metaid="iBioSim13">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim1">
<mts:ModuleDefinitions>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/PhlFpart_module/1"/></rdf:Bag></mts:ModuleDefinitions></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
<comp:listOfPorts xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1">
<comp:port comp:id="compartment__Cell" comp:idRef="Cell" sboTerm="SBO:0000601"/>
<comp:port comp:id="output__PhlF_protein" comp:idRef="PhlF_protein" sboTerm="SBO:0000601"/>
<comp:port comp:id="input__AmtR_protein" comp:idRef="AmtR_protein" sboTerm="SBO:0000600"/>
<comp:port comp:id="input__LacI_protein" comp:idRef="LacI_protein" sboTerm="SBO:0000600"/>
</comp:listOfPorts>
<layout:listOfLayouts xmlns:layout="http://www.sbml.org/sbml/level3/version1/layout/version1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<layout:layout layout:id="iBioSim">
<layout:dimensions layout:depth="0" layout:height="425" layout:width="1070"/>
<layout:listOfCompartmentGlyphs>
<layout:compartmentGlyph layout:compartment="Cell" layout:id="Glyph__Cell">
<layout:boundingBox>
<layout:position layout:x="0" layout:y="0"/>
<layout:dimensions layout:height="425" layout:width="1070"/>
</layout:boundingBox>
</layout:compartmentGlyph>
</layout:listOfCompartmentGlyphs>
<layout:listOfSpeciesGlyphs>
<layout:speciesGlyph layout:id="Glyph__pTac" layout:species="pTac">
<layout:boundingBox>
<layout:position layout:x="130" layout:y="90"/>
<layout:dimensions layout:height="30" layout:width="100"/>
</layout:boundingBox>
</layout:speciesGlyph>
<layout:speciesGlyph layout:id="Glyph__pAmtR" layout:species="pAmtR">
<layout:boundingBox>
<layout:position layout:x="0" layout:y="90"/>
<layout:dimensions layout:height="30" layout:width="100"/>
</layout:boundingBox>
</layout:speciesGlyph>
<layout:speciesGlyph layout:id="Glyph__PhlF_protein" layout:species="PhlF_protein">
<layout:boundingBox>
<layout:position layout:x="95" layout:y="194.4775390625"/>
<layout:dimensions layout:height="40" layout:width="40"/>
</layout:boundingBox>
</layout:speciesGlyph>
<layout:speciesGlyph layout:id="Glyph__AmtR_protein" layout:species="AmtR_protein">
<layout:boundingBox>
<layout:position layout:x="30" layout:y="0"/>
<layout:dimensions layout:height="40" layout:width="40"/>
</layout:boundingBox>
</layout:speciesGlyph>
<layout:speciesGlyph layout:id="Glyph__LacI_protein" layout:species="LacI_protein">
<layout:boundingBox>
<layout:position layout:x="160" layout:y="0"/>
<layout:dimensions layout:height="40" layout:width="40"/>
</layout:boundingBox>
</layout:speciesGlyph>
</layout:listOfSpeciesGlyphs>
<layout:listOfReactionGlyphs>
<layout:reactionGlyph layout:id="Glyph__pTac__Production__PhlF_protein">
<layout:boundingBox>
<layout:position layout:x="115" layout:y="214.4775390625"/>
<layout:dimensions layout:height="0" layout:width="0"/>
</layout:boundingBox>
<layout:listOfSpeciesReferenceGlyphs>
<layout:speciesReferenceGlyph layout:id="ReferenceGlyph__pTac__Production__PhlF_protein" layout:role="product" layout:speciesGlyph="Glyph__PhlF_protein">
<layout:curve>
<layout:listOfCurveSegments>
<layout:curveSegment xsi:type="LineSegment">
<layout:start layout:x="180" layout:y="105"/>
<layout:end layout:x="115" layout:y="214.4775390625"/>
</layout:curveSegment>
</layout:listOfCurveSegments>
</layout:curve>
</layout:speciesReferenceGlyph>
</layout:listOfSpeciesReferenceGlyphs>
</layout:reactionGlyph>
<layout:reactionGlyph layout:id="Glyph__LacI_protein__repression__pTac">
<layout:boundingBox>
<layout:position layout:x="180" layout:y="105"/>
<layout:dimensions layout:height="0" layout:width="0"/>
</layout:boundingBox>
<layout:listOfSpeciesReferenceGlyphs>
<layout:speciesReferenceGlyph layout:id="ReferenceGlyph__LacI_protein__repression__pTac" layout:role="product" layout:speciesGlyph="Glyph__pTac">
<layout:curve>
<layout:listOfCurveSegments>
<layout:curveSegment xsi:type="LineSegment">
<layout:start layout:x="180" layout:y="20"/>
<layout:end layout:x="180" layout:y="105"/>
</layout:curveSegment>
</layout:listOfCurveSegments>
</layout:curve>
</layout:speciesReferenceGlyph>
</layout:listOfSpeciesReferenceGlyphs>
</layout:reactionGlyph>
<layout:reactionGlyph layout:id="Glyph__pAmtR__Production__PhlF_protein">
<layout:boundingBox>
<layout:position layout:x="115" layout:y="214.4775390625"/>
<layout:dimensions layout:height="0" layout:width="0"/>
</layout:boundingBox>
<layout:listOfSpeciesReferenceGlyphs>
<layout:speciesReferenceGlyph layout:id="ReferenceGlyph__pAmtR__Production__PhlF_protein" layout:role="product" layout:speciesGlyph="Glyph__PhlF_protein">
<layout:curve>
<layout:listOfCurveSegments>
<layout:curveSegment xsi:type="LineSegment">
<layout:start layout:x="50" layout:y="105"/>
<layout:end layout:x="115" layout:y="214.4775390625"/>
</layout:curveSegment>
</layout:listOfCurveSegments>
</layout:curve>
</layout:speciesReferenceGlyph>
</layout:listOfSpeciesReferenceGlyphs>
</layout:reactionGlyph>
<layout:reactionGlyph layout:id="Glyph__AmtR_protein__repression__pAmtR">
<layout:boundingBox>
<layout:position layout:x="50" layout:y="105"/>
<layout:dimensions layout:height="0" layout:width="0"/>
</layout:boundingBox>
<layout:listOfSpeciesReferenceGlyphs>
<layout:speciesReferenceGlyph layout:id="ReferenceGlyph__AmtR_protein__repression__pAmtR" layout:role="product" layout:speciesGlyph="Glyph__pAmtR">
<layout:curve>
<layout:listOfCurveSegments>
<layout:curveSegment xsi:type="LineSegment">
<layout:start layout:x="50" layout:y="20"/>
<layout:end layout:x="50" layout:y="105"/>
</layout:curveSegment>
</layout:listOfCurveSegments>
</layout:curve>
</layout:speciesReferenceGlyph>
</layout:listOfSpeciesReferenceGlyphs>
</layout:reactionGlyph>
</layout:listOfReactionGlyphs>
<layout:listOfTextGlyphs>
<layout:textGlyph layout:graphicalObject="Glyph__pTac" layout:id="TextGlyph__pTac" layout:text="pTac">
<layout:boundingBox>
<layout:position layout:x="130" layout:y="90"/>
<layout:dimensions layout:height="30" layout:width="100"/>
</layout:boundingBox>
</layout:textGlyph>
<layout:textGlyph layout:graphicalObject="Glyph__pAmtR" layout:id="TextGlyph__pAmtR" layout:text="pAmtR">
<layout:boundingBox>
<layout:position layout:x="0" layout:y="90"/>
<layout:dimensions layout:height="30" layout:width="100"/>
</layout:boundingBox>
</layout:textGlyph>
<layout:textGlyph layout:graphicalObject="Glyph__Cell" layout:id="TextGlyph__Cell" layout:text="Cell">
<layout:boundingBox>
<layout:position layout:x="0" layout:y="0"/>
<layout:dimensions layout:height="425" layout:width="1070"/>
</layout:boundingBox>
</layout:textGlyph>
<layout:textGlyph layout:graphicalObject="Glyph__PhlF_protein" layout:id="TextGlyph__PhlF_protein" layout:text="PhlF_protein">
<layout:boundingBox>
<layout:position layout:x="95" layout:y="194.4775390625"/>
<layout:dimensions layout:height="40" layout:width="40"/>
</layout:boundingBox>
</layout:textGlyph>
<layout:textGlyph layout:graphicalObject="Glyph__AmtR_protein" layout:id="TextGlyph__AmtR_protein" layout:text="AmtR_protein">
<layout:boundingBox>
<layout:position layout:x="30" layout:y="0"/>
<layout:dimensions layout:height="40" layout:width="40"/>
</layout:boundingBox>
</layout:textGlyph>
<layout:textGlyph layout:graphicalObject="Glyph__LacI_protein" layout:id="TextGlyph__LacI_protein" layout:text="LacI_protein">
<layout:boundingBox>
<layout:position layout:x="160" layout:y="0"/>
<layout:dimensions layout:height="40" layout:width="40"/>
</layout:boundingBox>
</layout:textGlyph>
</layout:listOfTextGlyphs>
</layout:layout>
</layout:listOfLayouts>
<listOfFunctionDefinitions/>
<listOfUnitDefinitions/>
<listOfCompartments>
<compartment constant="true" id="Cell" size="1" spatialDimensions="3"/>
</listOfCompartments>
<listOfSpecies>
<species boundaryCondition="false" compartment="Cell" constant="false" hasOnlySubstanceUnits="true" id="PhlF_protein" initialAmount="0" metaid="iBioSim2" sboTerm="SBO:0000252">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim2">
<mts:ComponentDefinitions>
<rdf:Bag>
<rdf:li rdf:resource="https://synbiohub.programmingbiology.org/public/Eco1C1G1T1/PhlF_protein/1"/></rdf:Bag></mts:ComponentDefinitions><mts:FunctionalComponents>
<rdf:Bag>
<rdf:li rdf:resource="https://synbiohub.programmingbiology.org/public/Eco1C1G1T1/PhlF_protein/1"/></rdf:Bag></mts:FunctionalComponents><mts:DNAComponents>
<rdf:Seq>
<rdf:li rdf:resource="http://www.async.utah.edu/PhlFpart/1"/></rdf:Seq></mts:DNAComponents><mts:Strand>+</mts:Strand></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</species>
<species boundaryCondition="true" compartment="Cell" constant="false" hasOnlySubstanceUnits="true" id="AmtR_protein" initialAmount="0" metaid="iBioSim3" sboTerm="SBO:0000252">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim3">
<mts:ComponentDefinitions>
<rdf:Bag>
<rdf:li rdf:resource="https://synbiohub.programmingbiology.org/public/Eco1C1G1T1/AmtR_protein/1"/></rdf:Bag></mts:ComponentDefinitions><mts:FunctionalComponents>
<rdf:Bag>
<rdf:li rdf:resource="https://synbiohub.programmingbiology.org/public/Eco1C1G1T1/AmtR_protein/1"/></rdf:Bag></mts:FunctionalComponents></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</species>
<species boundaryCondition="true" compartment="Cell" constant="false" hasOnlySubstanceUnits="true" id="LacI_protein" initialAmount="0" metaid="iBioSim4" sboTerm="SBO:0000252">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim4">
<mts:ComponentDefinitions>
<rdf:Bag>
<rdf:li rdf:resource="https://synbiohub.programmingbiology.org/public/Eco1C1G1T1/LacI_protein/1"/></rdf:Bag></mts:ComponentDefinitions><mts:FunctionalComponents>
<rdf:Bag>
<rdf:li rdf:resource="https://synbiohub.programmingbiology.org/public/Eco1C1G1T1/LacI_protein/1"/></rdf:Bag></mts:FunctionalComponents></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</species>
<species boundaryCondition="false" compartment="Cell" constant="false" hasOnlySubstanceUnits="true" id="pTac" initialAmount="2" metaid="iBioSim5" sboTerm="SBO:0000590">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim5">
<mts:ComponentDefinitions>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/PhlFpart/1"/></rdf:Bag></mts:ComponentDefinitions><mts:FunctionalComponents>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/PhlFpart/1"/></rdf:Bag></mts:FunctionalComponents><mts:DNAComponents>
<rdf:Seq>
<rdf:li rdf:resource="http://www.async.utah.edu/PhlFpart/1"/></rdf:Seq></mts:DNAComponents><mts:Strand>+</mts:Strand></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</species>
<species boundaryCondition="false" compartment="Cell" constant="false" hasOnlySubstanceUnits="true" id="pAmtR" initialAmount="2" metaid="iBioSim6" sboTerm="SBO:0000590">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim6">
<mts:ComponentDefinitions>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/PhlFpart/1"/></rdf:Bag></mts:ComponentDefinitions><mts:FunctionalComponents>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/PhlFpart/1"/></rdf:Bag></mts:FunctionalComponents><mts:DNAComponents>
<rdf:Seq>
<rdf:li rdf:resource="http://www.async.utah.edu/PhlFpart/1"/></rdf:Seq></mts:DNAComponents><mts:Strand>+</mts:Strand></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</species>
</listOfSpecies>
<listOfParameters>
<parameter constant="true" id="kr_f" metaid="iBioSim1" name="Forward repression binding rate" value="0.5"/>
<parameter constant="true" id="kr_r" metaid="iBioSim14" name="Reverse repression binding rate" value="1"/>
<parameter constant="true" id="ka_f" metaid="iBioSim15" name="Forward activation binding rate" value="0.0033"/>
<parameter constant="true" id="ka_r" metaid="iBioSim16" name="Reverse activation binding rate" value="1"/>
<parameter constant="true" id="ko_f" metaid="iBioSim17" name="Forward RNAP binding rate" value="0.033"/>
<parameter constant="true" id="ko_r" metaid="iBioSim18" name="Reverse RNAP binding rate" value="1"/>
<parameter constant="true" id="kao_f" metaid="iBioSim19" name="Forward activated RNAP binding rate" value="1"/>
<parameter constant="true" id="kao_r" metaid="iBioSim20" name="Reverse activated RNAP binding rate" value="1"/>
<parameter constant="true" id="nc" metaid="iBioSim21" name="Stoichiometry of binding" value="2"/>
<parameter constant="true" id="nr" metaid="iBioSim22" name="Initial RNAP count" value="30"/>
<parameter constant="true" id="ko" metaid="iBioSim23" name="Open complex production rate" value="0.05"/>
<parameter constant="true" id="kb" metaid="iBioSim24" name="Basal production rate" value="0.0001"/>
<parameter constant="true" id="ng" metaid="iBioSim25" name="Initial promoter count" value="2"/>
<parameter constant="true" id="np" metaid="iBioSim26" name="Stoichiometry of production" value="10"/>
<parameter constant="true" id="ka" metaid="iBioSim27" name="Activated production rate" value="0.25"/>
</listOfParameters>
<listOfConstraints/>
<listOfReactions>
<reaction compartment="Cell" id="PhlF_protein_interaction_0" metaid="iBioSim7" reversible="false" sboTerm="SBO:0000589">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim7">
<mts:Interactions>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/PhlFpart_module/PhlF_protein_interaction/1"/><rdf:li rdf:resource="http://www.async.utah.edu/PhlFpart_module/LacI_protein_pTac_repression/1"/><rdf:li rdf:resource="http://www.async.utah.edu/PhlFpart_module/AmtR_protein_pAmtR_repression/1"/></rdf:Bag></mts:Interactions></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
<listOfProducts>
<speciesReference constant="true" metaid="iBioSim9" species="PhlF_protein" stoichiometry="10">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim9">
<mts:Participations>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/PhlFpart_module/PhlF_protein/1"/></rdf:Bag></mts:Participations></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</speciesReference>
</listOfProducts>
<listOfModifiers>
<modifierSpeciesReference sboTerm="SBO:0000598" species="pTac">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#">
<mts:Participations>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/PhlFpart_module/PhlF_protein_interaction/PhlFpart_fc/1"/><rdf:li rdf:resource="http://www.async.utah.edu/PhlFpart_module/LacI_protein_pTac_repression/PhlFpart_fc/1"/><rdf:li rdf:resource="http://www.async.utah.edu/PhlFpart_module/AmtR_protein_pAmtR_repression/PhlFpart_fc/1"/></rdf:Bag></mts:Participations></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</modifierSpeciesReference>
<modifierSpeciesReference metaid="iBioSim8" sboTerm="SBO:0000020" species="LacI_protein">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim8">
<mts:Participations>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/PhlFpart_module/LacI_protein/1"/></rdf:Bag></mts:Participations></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</modifierSpeciesReference>
</listOfModifiers>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<divide/>
<apply>
<times/>
<apply>
<times/>
<apply>
<times/>
<ci> pTac </ci>
<ci> ko </ci>
</apply>
<apply>
<divide/>
<ci> ko_f </ci>
<ci> ko_r </ci>
</apply>
</apply>
<ci> nr </ci>
</apply>
<apply>
<plus/>
<apply>
<plus/>
<cn type="integer"> 1 </cn>
<apply>
<times/>
<apply>
<divide/>
<ci> ko_f </ci>
<ci> ko_r </ci>
</apply>
<ci> nr </ci>
</apply>
</apply>
<apply>
<power/>
<apply>
<times/>
<apply>
<divide/>
<ci> kr_f </ci>
<ci> kr_r </ci>
</apply>
<ci> LacI_protein </ci>
</apply>
<ci> nc </ci>
</apply>
</apply>
</apply>
</math>
</kineticLaw>
</reaction>
<reaction compartment="Cell" id="PhlF_protein_interaction_1" metaid="iBioSim10" reversible="false" sboTerm="SBO:0000589">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim10">
<mts:Interactions>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/PhlFpart_module/PhlF_protein_interaction/1"/><rdf:li rdf:resource="http://www.async.utah.edu/PhlFpart_module/LacI_protein_pTac_repression/1"/><rdf:li rdf:resource="http://www.async.utah.edu/PhlFpart_module/AmtR_protein_pAmtR_repression/1"/></rdf:Bag></mts:Interactions></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
<listOfProducts>
<speciesReference constant="true" metaid="iBioSim12" species="PhlF_protein" stoichiometry="10">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim12">
<mts:Participations>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/PhlFpart_module/PhlF_protein/1"/></rdf:Bag></mts:Participations></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</speciesReference>
</listOfProducts>
<listOfModifiers>
<modifierSpeciesReference sboTerm="SBO:0000598" species="pAmtR">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#">
<mts:Participations>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/PhlFpart_module/PhlF_protein_interaction/PhlFpart_fc/1"/><rdf:li rdf:resource="http://www.async.utah.edu/PhlFpart_module/LacI_protein_pTac_repression/PhlFpart_fc/1"/><rdf:li rdf:resource="http://www.async.utah.edu/PhlFpart_module/AmtR_protein_pAmtR_repression/PhlFpart_fc/1"/></rdf:Bag></mts:Participations></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</modifierSpeciesReference>
<modifierSpeciesReference metaid="iBioSim11" sboTerm="SBO:0000020" species="AmtR_protein">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim11">
<mts:Participations>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/PhlFpart_module/AmtR_protein/1"/></rdf:Bag></mts:Participations></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</modifierSpeciesReference>
</listOfModifiers>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<divide/>
<apply>
<times/>
<apply>
<times/>
<apply>
<times/>
<ci> pAmtR </ci>
<ci> ko </ci>
</apply>
<apply>
<divide/>
<ci> ko_f </ci>
<ci> ko_r </ci>
</apply>
</apply>
<ci> nr </ci>
</apply>
<apply>
<plus/>
<apply>
<plus/>
<cn type="integer"> 1 </cn>
<apply>
<times/>
<apply>
<divide/>
<ci> ko_f </ci>
<ci> ko_r </ci>
</apply>
<ci> nr </ci>
</apply>
</apply>
<apply>
<power/>
<apply>
<times/>
<apply>
<divide/>
<ci> kr_f </ci>
<ci> kr_r </ci>
</apply>
<ci> AmtR_protein </ci>
</apply>
<ci> nc </ci>
</apply>
</apply>
</apply>
</math>
</kineticLaw>
</reaction>
</listOfReactions>
<listOfEvents/>
</model>
</sbml>

View file

@ -0,0 +1,41 @@
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<sbml xmlns="http://www.sbml.org/sbml/level3/version2/core" comp:required="true" layout:required="false" level="3" version="2" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" xmlns:layout="http://www.sbml.org/sbml/level3/version1/layout/version1">
<model id="TetRsensor_module" metaid="iBioSim1">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim1">
<mts:ModuleDefinitions>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/TetRsensor_module/1"/></rdf:Bag></mts:ModuleDefinitions></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
<comp:listOfPorts xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1">
<comp:port comp:id="compartment__Cell" comp:idRef="Cell"/>
<comp:port comp:id="output__TetR_protein" comp:idRef="TetR_protein" sboTerm="SBO:0000601"/>
</comp:listOfPorts>
<layout:listOfLayouts xmlns:layout="http://www.sbml.org/sbml/level3/version1/layout/version1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<layout:layout layout:id="iBioSim">
<layout:dimensions layout:depth="0" layout:height="0" layout:width="0"/>
</layout:layout>
</layout:listOfLayouts>
<listOfCompartments>
<compartment constant="true" id="Cell" size="1" spatialDimensions="3"/>
</listOfCompartments>
<listOfSpecies>
<species boundaryCondition="false" compartment="Cell" constant="false" hasOnlySubstanceUnits="true" id="TetR_protein" initialAmount="0" metaid="iBioSim2" sboTerm="SBO:0000252">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim2">
<mts:ComponentDefinitions>
<rdf:Bag>
<rdf:li rdf:resource="https://synbiohub.programmingbiology.org/public/Eco1C1G1T1/TetR_protein/1"/></rdf:Bag></mts:ComponentDefinitions><mts:FunctionalComponents>
<rdf:Bag>
<rdf:li rdf:resource="https://synbiohub.programmingbiology.org/public/Eco1C1G1T1/TetR_protein/1"/></rdf:Bag></mts:FunctionalComponents><mts:DNAComponents>
<rdf:Seq>
<rdf:li rdf:resource="http://www.async.utah.edu/TetRsensor/1"/></rdf:Seq></mts:DNAComponents><mts:Strand>+</mts:Strand></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</species>
</listOfSpecies>
</model>
</sbml>

View file

@ -0,0 +1,464 @@
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<sbml xmlns="http://www.sbml.org/sbml/level3/version2/core" comp:required="true" layout:required="false" level="3" version="2" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" xmlns:layout="http://www.sbml.org/sbml/level3/version1/layout/version1">
<model id="YFPpart_module" metaid="iBioSim13">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim1">
<mts:ModuleDefinitions>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/YFPpart_module/1"/></rdf:Bag></mts:ModuleDefinitions></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
<comp:listOfPorts xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1">
<comp:port comp:id="compartment__Cell" comp:idRef="Cell" sboTerm="SBO:0000601"/>
<comp:port comp:id="output__YFP_protein" comp:idRef="YFP_protein" sboTerm="SBO:0000601"/>
<comp:port comp:id="input__BetI_protein" comp:idRef="BetI_protein" sboTerm="SBO:0000600"/>
<comp:port comp:id="input__PhlF_protein" comp:idRef="PhlF_protein" sboTerm="SBO:0000600"/>
</comp:listOfPorts>
<layout:listOfLayouts xmlns:layout="http://www.sbml.org/sbml/level3/version1/layout/version1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<layout:layout layout:id="iBioSim">
<layout:dimensions layout:depth="0" layout:height="425" layout:width="1070"/>
<layout:listOfCompartmentGlyphs>
<layout:compartmentGlyph layout:compartment="Cell" layout:id="Glyph__Cell">
<layout:boundingBox>
<layout:position layout:x="0" layout:y="0"/>
<layout:dimensions layout:height="425" layout:width="1070"/>
</layout:boundingBox>
</layout:compartmentGlyph>
</layout:listOfCompartmentGlyphs>
<layout:listOfSpeciesGlyphs>
<layout:speciesGlyph layout:id="Glyph__pPhlF" layout:species="pPhlF">
<layout:boundingBox>
<layout:position layout:x="130" layout:y="90"/>
<layout:dimensions layout:height="30" layout:width="100"/>
</layout:boundingBox>
</layout:speciesGlyph>
<layout:speciesGlyph layout:id="Glyph__pBetI" layout:species="pBetI">
<layout:boundingBox>
<layout:position layout:x="0" layout:y="90"/>
<layout:dimensions layout:height="30" layout:width="100"/>
</layout:boundingBox>
</layout:speciesGlyph>
<layout:speciesGlyph layout:id="Glyph__YFP_protein" layout:species="YFP_protein">
<layout:boundingBox>
<layout:position layout:x="95" layout:y="194.4775390625"/>
<layout:dimensions layout:height="40" layout:width="40"/>
</layout:boundingBox>
</layout:speciesGlyph>
<layout:speciesGlyph layout:id="Glyph__BetI_protein" layout:species="BetI_protein">
<layout:boundingBox>
<layout:position layout:x="30" layout:y="0"/>
<layout:dimensions layout:height="40" layout:width="40"/>
</layout:boundingBox>
</layout:speciesGlyph>
<layout:speciesGlyph layout:id="Glyph__PhlF_protein" layout:species="PhlF_protein">
<layout:boundingBox>
<layout:position layout:x="160" layout:y="0"/>
<layout:dimensions layout:height="40" layout:width="40"/>
</layout:boundingBox>
</layout:speciesGlyph>
</layout:listOfSpeciesGlyphs>
<layout:listOfReactionGlyphs>
<layout:reactionGlyph layout:id="Glyph__pPhlF__Production__YFP_protein">
<layout:boundingBox>
<layout:position layout:x="115" layout:y="214.4775390625"/>
<layout:dimensions layout:height="0" layout:width="0"/>
</layout:boundingBox>
<layout:listOfSpeciesReferenceGlyphs>
<layout:speciesReferenceGlyph layout:id="ReferenceGlyph__pPhlF__Production__YFP_protein" layout:role="product" layout:speciesGlyph="Glyph__YFP_protein">
<layout:curve>
<layout:listOfCurveSegments>
<layout:curveSegment xsi:type="LineSegment">
<layout:start layout:x="180" layout:y="105"/>
<layout:end layout:x="115" layout:y="214.4775390625"/>
</layout:curveSegment>
</layout:listOfCurveSegments>
</layout:curve>
</layout:speciesReferenceGlyph>
</layout:listOfSpeciesReferenceGlyphs>
</layout:reactionGlyph>
<layout:reactionGlyph layout:id="Glyph__PhlF_protein__repression__pPhlF">
<layout:boundingBox>
<layout:position layout:x="180" layout:y="105"/>
<layout:dimensions layout:height="0" layout:width="0"/>
</layout:boundingBox>
<layout:listOfSpeciesReferenceGlyphs>
<layout:speciesReferenceGlyph layout:id="ReferenceGlyph__PhlF_protein__repression__pPhlF" layout:role="product" layout:speciesGlyph="Glyph__pPhlF">
<layout:curve>
<layout:listOfCurveSegments>
<layout:curveSegment xsi:type="LineSegment">
<layout:start layout:x="180" layout:y="20"/>
<layout:end layout:x="180" layout:y="105"/>
</layout:curveSegment>
</layout:listOfCurveSegments>
</layout:curve>
</layout:speciesReferenceGlyph>
</layout:listOfSpeciesReferenceGlyphs>
</layout:reactionGlyph>
<layout:reactionGlyph layout:id="Glyph__pBetI__Production__YFP_protein">
<layout:boundingBox>
<layout:position layout:x="115" layout:y="214.4775390625"/>
<layout:dimensions layout:height="0" layout:width="0"/>
</layout:boundingBox>
<layout:listOfSpeciesReferenceGlyphs>
<layout:speciesReferenceGlyph layout:id="ReferenceGlyph__pBetI__Production__YFP_protein" layout:role="product" layout:speciesGlyph="Glyph__YFP_protein">
<layout:curve>
<layout:listOfCurveSegments>
<layout:curveSegment xsi:type="LineSegment">
<layout:start layout:x="50" layout:y="105"/>
<layout:end layout:x="115" layout:y="214.4775390625"/>
</layout:curveSegment>
</layout:listOfCurveSegments>
</layout:curve>
</layout:speciesReferenceGlyph>
</layout:listOfSpeciesReferenceGlyphs>
</layout:reactionGlyph>
<layout:reactionGlyph layout:id="Glyph__BetI_protein__repression__pBetI">
<layout:boundingBox>
<layout:position layout:x="50" layout:y="105"/>
<layout:dimensions layout:height="0" layout:width="0"/>
</layout:boundingBox>
<layout:listOfSpeciesReferenceGlyphs>
<layout:speciesReferenceGlyph layout:id="ReferenceGlyph__BetI_protein__repression__pBetI" layout:role="product" layout:speciesGlyph="Glyph__pBetI">
<layout:curve>
<layout:listOfCurveSegments>
<layout:curveSegment xsi:type="LineSegment">
<layout:start layout:x="50" layout:y="20"/>
<layout:end layout:x="50" layout:y="105"/>
</layout:curveSegment>
</layout:listOfCurveSegments>
</layout:curve>
</layout:speciesReferenceGlyph>
</layout:listOfSpeciesReferenceGlyphs>
</layout:reactionGlyph>
</layout:listOfReactionGlyphs>
<layout:listOfTextGlyphs>
<layout:textGlyph layout:graphicalObject="Glyph__pPhlF" layout:id="TextGlyph__pPhlF" layout:text="pPhlF">
<layout:boundingBox>
<layout:position layout:x="130" layout:y="90"/>
<layout:dimensions layout:height="30" layout:width="100"/>
</layout:boundingBox>
</layout:textGlyph>
<layout:textGlyph layout:graphicalObject="Glyph__pBetI" layout:id="TextGlyph__pBetI" layout:text="pBetI">
<layout:boundingBox>
<layout:position layout:x="0" layout:y="90"/>
<layout:dimensions layout:height="30" layout:width="100"/>
</layout:boundingBox>
</layout:textGlyph>
<layout:textGlyph layout:graphicalObject="Glyph__Cell" layout:id="TextGlyph__Cell" layout:text="Cell">
<layout:boundingBox>
<layout:position layout:x="0" layout:y="0"/>
<layout:dimensions layout:height="425" layout:width="1070"/>
</layout:boundingBox>
</layout:textGlyph>
<layout:textGlyph layout:graphicalObject="Glyph__YFP_protein" layout:id="TextGlyph__YFP_protein" layout:text="YFP_protein">
<layout:boundingBox>
<layout:position layout:x="95" layout:y="194.4775390625"/>
<layout:dimensions layout:height="40" layout:width="40"/>
</layout:boundingBox>
</layout:textGlyph>
<layout:textGlyph layout:graphicalObject="Glyph__BetI_protein" layout:id="TextGlyph__BetI_protein" layout:text="BetI_protein">
<layout:boundingBox>
<layout:position layout:x="30" layout:y="0"/>
<layout:dimensions layout:height="40" layout:width="40"/>
</layout:boundingBox>
</layout:textGlyph>
<layout:textGlyph layout:graphicalObject="Glyph__PhlF_protein" layout:id="TextGlyph__PhlF_protein" layout:text="PhlF_protein">
<layout:boundingBox>
<layout:position layout:x="160" layout:y="0"/>
<layout:dimensions layout:height="40" layout:width="40"/>
</layout:boundingBox>
</layout:textGlyph>
</layout:listOfTextGlyphs>
</layout:layout>
</layout:listOfLayouts>
<listOfFunctionDefinitions/>
<listOfUnitDefinitions/>
<listOfCompartments>
<compartment constant="true" id="Cell" size="1" spatialDimensions="3"/>
</listOfCompartments>
<listOfSpecies>
<species boundaryCondition="false" compartment="Cell" constant="false" hasOnlySubstanceUnits="true" id="YFP_protein" initialAmount="0" metaid="iBioSim2" sboTerm="SBO:0000252">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim2">
<mts:ComponentDefinitions>
<rdf:Bag>
<rdf:li rdf:resource="https://synbiohub.programmingbiology.org/public/Eco1C1G1T1/YFP_protein/1"/></rdf:Bag></mts:ComponentDefinitions><mts:FunctionalComponents>
<rdf:Bag>
<rdf:li rdf:resource="https://synbiohub.programmingbiology.org/public/Eco1C1G1T1/YFP_protein/1"/></rdf:Bag></mts:FunctionalComponents><mts:DNAComponents>
<rdf:Seq>
<rdf:li rdf:resource="http://www.async.utah.edu/YFPpart/1"/></rdf:Seq></mts:DNAComponents><mts:Strand>+</mts:Strand></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</species>
<species boundaryCondition="true" compartment="Cell" constant="false" hasOnlySubstanceUnits="true" id="BetI_protein" initialAmount="0" metaid="iBioSim3" sboTerm="SBO:0000252">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim3">
<mts:ComponentDefinitions>
<rdf:Bag>
<rdf:li rdf:resource="https://synbiohub.programmingbiology.org/public/Eco1C1G1T1/BetI_protein/1"/></rdf:Bag></mts:ComponentDefinitions><mts:FunctionalComponents>
<rdf:Bag>
<rdf:li rdf:resource="https://synbiohub.programmingbiology.org/public/Eco1C1G1T1/BetI_protein/1"/></rdf:Bag></mts:FunctionalComponents></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</species>
<species boundaryCondition="false" compartment="Cell" constant="false" hasOnlySubstanceUnits="true" id="pPhlF" initialAmount="2" metaid="iBioSim4" sboTerm="SBO:0000590">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim4">
<mts:ComponentDefinitions>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/YFPpart/1"/></rdf:Bag></mts:ComponentDefinitions><mts:FunctionalComponents>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/YFPpart/1"/></rdf:Bag></mts:FunctionalComponents><mts:DNAComponents>
<rdf:Seq>
<rdf:li rdf:resource="http://www.async.utah.edu/YFPpart/1"/></rdf:Seq></mts:DNAComponents><mts:Strand>+</mts:Strand></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</species>
<species boundaryCondition="false" compartment="Cell" constant="false" hasOnlySubstanceUnits="true" id="pBetI" initialAmount="2" metaid="iBioSim5" sboTerm="SBO:0000590">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim5">
<mts:ComponentDefinitions>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/YFPpart/1"/></rdf:Bag></mts:ComponentDefinitions><mts:FunctionalComponents>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/YFPpart/1"/></rdf:Bag></mts:FunctionalComponents><mts:DNAComponents>
<rdf:Seq>
<rdf:li rdf:resource="http://www.async.utah.edu/YFPpart/1"/></rdf:Seq></mts:DNAComponents><mts:Strand>+</mts:Strand></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</species>
<species boundaryCondition="true" compartment="Cell" constant="false" hasOnlySubstanceUnits="true" id="PhlF_protein" initialAmount="0" metaid="iBioSim6" sboTerm="SBO:0000252">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim6">
<mts:ComponentDefinitions>
<rdf:Bag>
<rdf:li rdf:resource="https://synbiohub.programmingbiology.org/public/Eco1C1G1T1/PhlF_protein/1"/></rdf:Bag></mts:ComponentDefinitions><mts:FunctionalComponents>
<rdf:Bag>
<rdf:li rdf:resource="https://synbiohub.programmingbiology.org/public/Eco1C1G1T1/PhlF_protein/1"/></rdf:Bag></mts:FunctionalComponents></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</species>
</listOfSpecies>
<listOfParameters>
<parameter constant="true" id="kr_f" metaid="iBioSim1" name="Forward repression binding rate" value="0.5"/>
<parameter constant="true" id="kr_r" metaid="iBioSim14" name="Reverse repression binding rate" value="1"/>
<parameter constant="true" id="ka_f" metaid="iBioSim15" name="Forward activation binding rate" value="0.0033"/>
<parameter constant="true" id="ka_r" metaid="iBioSim16" name="Reverse activation binding rate" value="1"/>
<parameter constant="true" id="ko_f" metaid="iBioSim17" name="Forward RNAP binding rate" value="0.033"/>
<parameter constant="true" id="ko_r" metaid="iBioSim18" name="Reverse RNAP binding rate" value="1"/>
<parameter constant="true" id="kao_f" metaid="iBioSim19" name="Forward activated RNAP binding rate" value="1"/>
<parameter constant="true" id="kao_r" metaid="iBioSim20" name="Reverse activated RNAP binding rate" value="1"/>
<parameter constant="true" id="nc" metaid="iBioSim21" name="Stoichiometry of binding" value="2"/>
<parameter constant="true" id="nr" metaid="iBioSim22" name="Initial RNAP count" value="30"/>
<parameter constant="true" id="ko" metaid="iBioSim23" name="Open complex production rate" value="0.05"/>
<parameter constant="true" id="kb" metaid="iBioSim24" name="Basal production rate" value="0.0001"/>
<parameter constant="true" id="ng" metaid="iBioSim25" name="Initial promoter count" value="2"/>
<parameter constant="true" id="np" metaid="iBioSim26" name="Stoichiometry of production" value="10"/>
<parameter constant="true" id="ka" metaid="iBioSim27" name="Activated production rate" value="0.25"/>
</listOfParameters>
<listOfConstraints/>
<listOfReactions>
<reaction compartment="Cell" id="YFP_protein_interaction_0" metaid="iBioSim7" reversible="false" sboTerm="SBO:0000589">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim7">
<mts:Interactions>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/YFPpart_module/YFP_protein_interaction/1"/><rdf:li rdf:resource="http://www.async.utah.edu/YFPpart_module/PhlF_protein_pPhlF_repression/1"/><rdf:li rdf:resource="http://www.async.utah.edu/YFPpart_module/BetI_protein_pBetI_repression/1"/></rdf:Bag></mts:Interactions></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
<listOfProducts>
<speciesReference constant="true" metaid="iBioSim9" species="YFP_protein" stoichiometry="10">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim9">
<mts:Participations>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/YFPpart_module/YFP_protein/1"/></rdf:Bag></mts:Participations></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</speciesReference>
</listOfProducts>
<listOfModifiers>
<modifierSpeciesReference sboTerm="SBO:0000598" species="pPhlF">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#">
<mts:Participations>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/YFPpart_module/PhlF_protein_pPhlF_repression/YFPpart_fc/1"/><rdf:li rdf:resource="http://www.async.utah.edu/YFPpart_module/YFP_protein_interaction/YFPpart_fc/1"/><rdf:li rdf:resource="http://www.async.utah.edu/YFPpart_module/BetI_protein_pBetI_repression/YFPpart_fc/1"/></rdf:Bag></mts:Participations></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</modifierSpeciesReference>
<modifierSpeciesReference metaid="iBioSim8" sboTerm="SBO:0000020" species="PhlF_protein">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim8">
<mts:Participations>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/YFPpart_module/PhlF_protein/1"/></rdf:Bag></mts:Participations></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</modifierSpeciesReference>
</listOfModifiers>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<divide/>
<apply>
<times/>
<apply>
<times/>
<apply>
<times/>
<ci> pPhlF </ci>
<ci> ko </ci>
</apply>
<apply>
<divide/>
<ci> ko_f </ci>
<ci> ko_r </ci>
</apply>
</apply>
<ci> nr </ci>
</apply>
<apply>
<plus/>
<apply>
<plus/>
<cn type="integer"> 1 </cn>
<apply>
<times/>
<apply>
<divide/>
<ci> ko_f </ci>
<ci> ko_r </ci>
</apply>
<ci> nr </ci>
</apply>
</apply>
<apply>
<power/>
<apply>
<times/>
<apply>
<divide/>
<ci> kr_f </ci>
<ci> kr_r </ci>
</apply>
<ci> PhlF_protein </ci>
</apply>
<ci> nc </ci>
</apply>
</apply>
</apply>
</math>
</kineticLaw>
</reaction>
<reaction compartment="Cell" id="YFP_protein_interaction_1" metaid="iBioSim10" reversible="false" sboTerm="SBO:0000589">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim10">
<mts:Interactions>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/YFPpart_module/YFP_protein_interaction/1"/><rdf:li rdf:resource="http://www.async.utah.edu/YFPpart_module/PhlF_protein_pPhlF_repression/1"/><rdf:li rdf:resource="http://www.async.utah.edu/YFPpart_module/BetI_protein_pBetI_repression/1"/></rdf:Bag></mts:Interactions></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
<listOfProducts>
<speciesReference constant="true" metaid="iBioSim12" species="YFP_protein" stoichiometry="10">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim12">
<mts:Participations>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/YFPpart_module/YFP_protein/1"/></rdf:Bag></mts:Participations></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</speciesReference>
</listOfProducts>
<listOfModifiers>
<modifierSpeciesReference sboTerm="SBO:0000598" species="pBetI">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#">
<mts:Participations>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/YFPpart_module/PhlF_protein_pPhlF_repression/YFPpart_fc/1"/><rdf:li rdf:resource="http://www.async.utah.edu/YFPpart_module/YFP_protein_interaction/YFPpart_fc/1"/><rdf:li rdf:resource="http://www.async.utah.edu/YFPpart_module/BetI_protein_pBetI_repression/YFPpart_fc/1"/></rdf:Bag></mts:Participations></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</modifierSpeciesReference>
<modifierSpeciesReference metaid="iBioSim11" sboTerm="SBO:0000020" species="BetI_protein">
<annotation>
<ModelToSBOL xmlns="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:mts="http://sbolstandard.org/modeltosbol/1.0#">
<rdf:Description rdf:about="#iBioSim11">
<mts:Participations>
<rdf:Bag>
<rdf:li rdf:resource="http://www.async.utah.edu/YFPpart_module/BetI_protein/1"/></rdf:Bag></mts:Participations></rdf:Description></rdf:RDF></ModelToSBOL>
</annotation>
</modifierSpeciesReference>
</listOfModifiers>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<divide/>
<apply>
<times/>
<apply>
<times/>
<apply>
<times/>
<ci> pBetI </ci>
<ci> ko </ci>
</apply>
<apply>
<divide/>
<ci> ko_f </ci>
<ci> ko_r </ci>
</apply>
</apply>
<ci> nr </ci>
</apply>
<apply>
<plus/>
<apply>
<plus/>
<cn type="integer"> 1 </cn>
<apply>
<times/>
<apply>
<divide/>
<ci> ko_f </ci>
<ci> ko_r </ci>
</apply>
<ci> nr </ci>
</apply>
</apply>
<apply>
<power/>
<apply>
<times/>
<apply>
<divide/>
<ci> kr_f </ci>
<ci> kr_r </ci>
</apply>
<ci> BetI_protein </ci>
</apply>
<ci> nc </ci>
</apply>
</apply>
</apply>
</math>
</kineticLaw>
</reaction>
</listOfReactions>
<listOfEvents/>
</model>
</sbml>

View file

@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<omexManifest xmlns="http://identifiers.org/combine.specifications/omex-manifest">
<content location="." format="http://identifiers.org/combine.specifications/omex" />
<content location="./manifest.xml" format="http://identifiers.org/combine.specifications/omex-manifest" />
<content location="./topModelFlat.xml" format="http://identifiers.org/combine.specifications/sbml.level-3.version-2.core" />
<content location="./PhlFpart_module.xml" format="http://identifiers.org/combine.specifications/sbml.level-3.version-2.core" />
<content location="./LacIsensor_module.xml" format="http://identifiers.org/combine.specifications/sbml.level-3.version-2.core" />
<content location="./HlyIIRpart_module.xml" format="http://identifiers.org/combine.specifications/sbml.level-3.version-2.core" />
<content location="./TetRsensor_module.xml" format="http://identifiers.org/combine.specifications/sbml.level-3.version-2.core" />
<content location="./AraCsensor_module.xml" format="http://identifiers.org/combine.specifications/sbml.level-3.version-2.core" />
<content location="./Circuit0x8E_normal.sedml" format="http://identifiers.org/combine.specifications/sed-ml.level-1.version-2" master="true" />
<content location="./YFPpart_module.xml" format="http://identifiers.org/combine.specifications/sbml.level-3.version-2.core" />
<content location="./BetIpart_module.xml" format="http://identifiers.org/combine.specifications/sbml.level-3.version-2.core" />
<content location="./Circuit0x8E_normal.sbol" format="http://identifiers.org/combine.specifications/sbol.version-2" />
<content location="./topModel.xml" format="http://identifiers.org/combine.specifications/sbml.level-3.version-2.core" />
<content location="./AmtRpart_module.xml" format="http://identifiers.org/combine.specifications/sbml.level-3.version-2.core" />
<content location="./metadata.rdf" format="http://identifiers.org/combine.specifications/omex-metadata" />
</omexManifest>

View file

@ -0,0 +1,2 @@
0.0
0.0010947156623888129

View file

@ -0,0 +1,5 @@
// File generated by SBML-to-PRISM converter
// Original file: Circuit0x8E/topModel.xml
// @GeneticLogicLab
P=? [ true U[0,1000] (YFP_protein >= 30) ]

View file

@ -0,0 +1,518 @@
// File generated by SBML-to-PRISM converter
// Original file: Circuit0x8E/topModel.xml
// @GeneticLogicLab
ctmc
const int MAX_AMOUNT = 70;
// Compartment size
const double Cell = 1.0;
// Model parameters
const double kd = 0.0075; // Degradation rate
const double kc_f = 0.05; // Forward complex formation rate
const double kc_r = 1.0; // Reverse complex formation rate
const double nc = 2.0; // Stoichiometry of binding
const double topModel_AmtRpart_module_sub__kr_f = 0.5; // Forward repression binding rate
const double topModel_AmtRpart_module_sub__kr_r = 1.0; // Reverse repression binding rate
const double topModel_AmtRpart_module_sub__ka_f = 0.0033; // Forward activation binding rate
const double topModel_AmtRpart_module_sub__ka_r = 1.0; // Reverse activation binding rate
const double topModel_AmtRpart_module_sub__ko_f = 0.033; // Forward RNAP binding rate
const double topModel_AmtRpart_module_sub__ko_r = 1.0; // Reverse RNAP binding rate
const double topModel_AmtRpart_module_sub__kao_f = 1.0; // Forward activated RNAP binding rate
const double topModel_AmtRpart_module_sub__kao_r = 1.0; // Reverse activated RNAP binding rate
const double topModel_AmtRpart_module_sub__nc = 2.0; // Stoichiometry of binding
const double topModel_AmtRpart_module_sub__nr = 30.0; // Initial RNAP count
const double topModel_AmtRpart_module_sub__ko = 0.05; // Open complex production rate
const double topModel_AmtRpart_module_sub__kb = 1.0E-4; // Basal production rate
const double topModel_AmtRpart_module_sub__ng = 2.0; // Initial promoter count
const double topModel_AmtRpart_module_sub__np = 10.0; // Stoichiometry of production
const double topModel_AmtRpart_module_sub__ka = 0.25; // Activated production rate
const double topModel_YFPpart_module_sub__kr_f = 0.5; // Forward repression binding rate
const double topModel_YFPpart_module_sub__kr_r = 1.0; // Reverse repression binding rate
const double topModel_YFPpart_module_sub__ka_f = 0.0033; // Forward activation binding rate
const double topModel_YFPpart_module_sub__ka_r = 1.0; // Reverse activation binding rate
const double topModel_YFPpart_module_sub__ko_f = 0.033; // Forward RNAP binding rate
const double topModel_YFPpart_module_sub__ko_r = 1.0; // Reverse RNAP binding rate
const double topModel_YFPpart_module_sub__kao_f = 1.0; // Forward activated RNAP binding rate
const double topModel_YFPpart_module_sub__kao_r = 1.0; // Reverse activated RNAP binding rate
const double topModel_YFPpart_module_sub__nc = 2.0; // Stoichiometry of binding
const double topModel_YFPpart_module_sub__nr = 30.0; // Initial RNAP count
const double topModel_YFPpart_module_sub__ko = 0.05; // Open complex production rate
const double topModel_YFPpart_module_sub__kb = 1.0E-4; // Basal production rate
const double topModel_YFPpart_module_sub__ng = 2.0; // Initial promoter count
const double topModel_YFPpart_module_sub__np = 10.0; // Stoichiometry of production
const double topModel_YFPpart_module_sub__ka = 0.25; // Activated production rate
const double topModel_BetIpart_module_sub__kr_f = 0.5; // Forward repression binding rate
const double topModel_BetIpart_module_sub__kr_r = 1.0; // Reverse repression binding rate
const double topModel_BetIpart_module_sub__ka_f = 0.0033; // Forward activation binding rate
const double topModel_BetIpart_module_sub__ka_r = 1.0; // Reverse activation binding rate
const double topModel_BetIpart_module_sub__ko_f = 0.033; // Forward RNAP binding rate
const double topModel_BetIpart_module_sub__ko_r = 1.0; // Reverse RNAP binding rate
const double topModel_BetIpart_module_sub__kao_f = 1.0; // Forward activated RNAP binding rate
const double topModel_BetIpart_module_sub__kao_r = 1.0; // Reverse activated RNAP binding rate
const double topModel_BetIpart_module_sub__nc = 2.0; // Stoichiometry of binding
const double topModel_BetIpart_module_sub__nr = 30.0; // Initial RNAP count
const double topModel_BetIpart_module_sub__ko = 0.05; // Open complex production rate
const double topModel_BetIpart_module_sub__kb = 1.0E-4; // Basal production rate
const double topModel_BetIpart_module_sub__ng = 2.0; // Initial promoter count
const double topModel_BetIpart_module_sub__np = 10.0; // Stoichiometry of production
const double topModel_BetIpart_module_sub__ka = 0.25; // Activated production rate
const double topModel_PhlFpart_module_sub__kr_f = 0.5; // Forward repression binding rate
const double topModel_PhlFpart_module_sub__kr_r = 1.0; // Reverse repression binding rate
const double topModel_PhlFpart_module_sub__ka_f = 0.0033; // Forward activation binding rate
const double topModel_PhlFpart_module_sub__ka_r = 1.0; // Reverse activation binding rate
const double topModel_PhlFpart_module_sub__ko_f = 0.033; // Forward RNAP binding rate
const double topModel_PhlFpart_module_sub__ko_r = 1.0; // Reverse RNAP binding rate
const double topModel_PhlFpart_module_sub__kao_f = 1.0; // Forward activated RNAP binding rate
const double topModel_PhlFpart_module_sub__kao_r = 1.0; // Reverse activated RNAP binding rate
const double topModel_PhlFpart_module_sub__nc = 2.0; // Stoichiometry of binding
const double topModel_PhlFpart_module_sub__nr = 30.0; // Initial RNAP count
const double topModel_PhlFpart_module_sub__ko = 0.05; // Open complex production rate
const double topModel_PhlFpart_module_sub__kb = 1.0E-4; // Basal production rate
const double topModel_PhlFpart_module_sub__ng = 2.0; // Initial promoter count
const double topModel_PhlFpart_module_sub__np = 10.0; // Stoichiometry of production
const double topModel_PhlFpart_module_sub__ka = 0.25; // Activated production rate
const double topModel_HlyIIRpart_module_sub__kr_f = 0.5; // Forward repression binding rate
const double topModel_HlyIIRpart_module_sub__kr_r = 1.0; // Reverse repression binding rate
const double topModel_HlyIIRpart_module_sub__ka_f = 0.0033; // Forward activation binding rate
const double topModel_HlyIIRpart_module_sub__ka_r = 1.0; // Reverse activation binding rate
const double topModel_HlyIIRpart_module_sub__ko_f = 0.033; // Forward RNAP binding rate
const double topModel_HlyIIRpart_module_sub__ko_r = 1.0; // Reverse RNAP binding rate
const double topModel_HlyIIRpart_module_sub__kao_f = 1.0; // Forward activated RNAP binding rate
const double topModel_HlyIIRpart_module_sub__kao_r = 1.0; // Reverse activated RNAP binding rate
const double topModel_HlyIIRpart_module_sub__nc = 2.0; // Stoichiometry of binding
const double topModel_HlyIIRpart_module_sub__nr = 30.0; // Initial RNAP count
const double topModel_HlyIIRpart_module_sub__ko = 0.05; // Open complex production rate
const double topModel_HlyIIRpart_module_sub__kb = 1.0E-4; // Basal production rate
const double topModel_HlyIIRpart_module_sub__ng = 2.0; // Initial promoter count
const double topModel_HlyIIRpart_module_sub__np = 10.0; // Stoichiometry of production
const double topModel_HlyIIRpart_module_sub__ka = 0.25; // Activated production rate
// Species AmtR_protein
const int AmtR_protein_MAX = MAX_AMOUNT;
module AmtR_protein
AmtR_protein : [0..AmtR_protein_MAX] init 70;
// AmtR_protein : int init 70;
// AmtR_degradation_interaction
[AmtR_degradation_interaction] AmtR_protein > 0 -> (AmtR_protein'=AmtR_protein-1);
// topModel_AmtRpart_module_sub__AmtR_protein_interaction_0
[topModel_AmtRpart_module_sub__AmtR_protein_interaction_0] AmtR_protein <= AmtR_protein_MAX-10 -> (AmtR_protein'=AmtR_protein+10);
// topModel_AmtRpart_module_sub__AmtR_protein_interaction_1
[topModel_AmtRpart_module_sub__AmtR_protein_interaction_1] AmtR_protein <= AmtR_protein_MAX-10 -> (AmtR_protein'=AmtR_protein+10);
endmodule
// Species IPTG
const int IPTG_MAX = MAX_AMOUNT;
module IPTG
IPTG : [0..IPTG_MAX] init 0;
// IPTG : int init 0;
// Complex_IPTG_LacI_protein
[Complex_IPTG_LacI_protein] IPTG > 1 -> (IPTG'=IPTG-2);
endmodule
// Species Ara_AraC_protein
const int Ara_AraC_protein_MAX = MAX_AMOUNT;
module Ara_AraC_protein
Ara_AraC_protein : [0..Ara_AraC_protein_MAX] init 0;
// Ara_AraC_protein : int init 0;
// Ara_AraC_protein_degradation_interaction
[Ara_AraC_protein_degradation_interaction] Ara_AraC_protein > 0 -> (Ara_AraC_protein'=Ara_AraC_protein-1);
// Complex_Ara_AraC_protein
[Complex_Ara_AraC_protein] Ara_AraC_protein <= Ara_AraC_protein_MAX-1 -> (Ara_AraC_protein'=Ara_AraC_protein+1);
endmodule
// Species TetR_protein
const int TetR_protein_MAX = MAX_AMOUNT;
module TetR_protein
TetR_protein : [0..TetR_protein_MAX] init 0;
// TetR_protein : int init 0;
// Complex_aTc_TetR_protein
[Complex_aTc_TetR_protein] TetR_protein > 1 -> (TetR_protein'=TetR_protein-2);
// TetR_degradation_interaction
[TetR_degradation_interaction] TetR_protein > 0 -> (TetR_protein'=TetR_protein-1);
endmodule
// Species LacI_protein
const int LacI_protein_MAX = MAX_AMOUNT;
module LacI_protein
LacI_protein : [0..LacI_protein_MAX] init 0;
// LacI_protein : int init 0;
// Complex_IPTG_LacI_protein
[Complex_IPTG_LacI_protein] LacI_protein > 1 -> (LacI_protein'=LacI_protein-2);
// LacI_degradation_interaction
[LacI_degradation_interaction] LacI_protein > 0 -> (LacI_protein'=LacI_protein-1);
endmodule
// Species aTc_TetR_protein
const int aTc_TetR_protein_MAX = MAX_AMOUNT;
module aTc_TetR_protein
aTc_TetR_protein : [0..aTc_TetR_protein_MAX] init 0;
// aTc_TetR_protein : int init 0;
// Complex_aTc_TetR_protein
[Complex_aTc_TetR_protein] aTc_TetR_protein <= aTc_TetR_protein_MAX-1 -> (aTc_TetR_protein'=aTc_TetR_protein+1);
// aTc_TetR_protein_degradation_interaction
[aTc_TetR_protein_degradation_interaction] aTc_TetR_protein > 0 -> (aTc_TetR_protein'=aTc_TetR_protein-1);
endmodule
// Species AraC_protein
const int AraC_protein_MAX = MAX_AMOUNT;
module AraC_protein
AraC_protein : [0..AraC_protein_MAX] init 0;
// AraC_protein : int init 0;
// AraC_degradation_interaction
[AraC_degradation_interaction] AraC_protein > 0 -> (AraC_protein'=AraC_protein-1);
// Complex_Ara_AraC_protein
[Complex_Ara_AraC_protein] AraC_protein > 1 -> (AraC_protein'=AraC_protein-2);
endmodule
// Species IPTG_LacI_protein
const int IPTG_LacI_protein_MAX = MAX_AMOUNT;
module IPTG_LacI_protein
IPTG_LacI_protein : [0..IPTG_LacI_protein_MAX] init 0;
// IPTG_LacI_protein : int init 0;
// IPTG_LacI_protein_degradation_interaction
[IPTG_LacI_protein_degradation_interaction] IPTG_LacI_protein > 0 -> (IPTG_LacI_protein'=IPTG_LacI_protein-1);
// Complex_IPTG_LacI_protein
[Complex_IPTG_LacI_protein] IPTG_LacI_protein <= IPTG_LacI_protein_MAX-1 -> (IPTG_LacI_protein'=IPTG_LacI_protein+1);
endmodule
// Species aTc
const int aTc_MAX = MAX_AMOUNT;
module aTc
aTc : [0..aTc_MAX] init 0;
// aTc : int init 0;
// Complex_aTc_TetR_protein
[Complex_aTc_TetR_protein] aTc > 1 -> (aTc'=aTc-2);
endmodule
// Species BetI_protein
const int BetI_protein_MAX = MAX_AMOUNT;
module BetI_protein
BetI_protein : [0..BetI_protein_MAX] init 70;
// BetI_protein : int init 70;
// BetI_degradation_interaction
[BetI_degradation_interaction] BetI_protein > 0 -> (BetI_protein'=BetI_protein-1);
// topModel_BetIpart_module_sub__BetI_protein_interaction_0
[topModel_BetIpart_module_sub__BetI_protein_interaction_0] BetI_protein <= BetI_protein_MAX-10 -> (BetI_protein'=BetI_protein+10);
// topModel_BetIpart_module_sub__BetI_protein_interaction_1
[topModel_BetIpart_module_sub__BetI_protein_interaction_1] BetI_protein <= BetI_protein_MAX-10 -> (BetI_protein'=BetI_protein+10);
endmodule
// Species HlyIIR_protein
const int HlyIIR_protein_MAX = MAX_AMOUNT;
module HlyIIR_protein
HlyIIR_protein : [0..HlyIIR_protein_MAX] init 0;
// HlyIIR_protein : int init 0;
// HlyIIR_degradation_interaction
[HlyIIR_degradation_interaction] HlyIIR_protein > 0 -> (HlyIIR_protein'=HlyIIR_protein-1);
// topModel_HlyIIRpart_module_sub__HlyIIR_protein_interaction_0
[topModel_HlyIIRpart_module_sub__HlyIIR_protein_interaction_0] HlyIIR_protein <= HlyIIR_protein_MAX-10 -> (HlyIIR_protein'=HlyIIR_protein+10);
// topModel_HlyIIRpart_module_sub__HlyIIR_protein_interaction_1
[topModel_HlyIIRpart_module_sub__HlyIIR_protein_interaction_1] HlyIIR_protein <= HlyIIR_protein_MAX-10 -> (HlyIIR_protein'=HlyIIR_protein+10);
endmodule
// Species PhlF_protein
const int PhlF_protein_MAX = MAX_AMOUNT;
module PhlF_protein
PhlF_protein : [0..PhlF_protein_MAX] init 70;
// PhlF_protein : int init 70;
// PhlF_degradation_interaction
[PhlF_degradation_interaction] PhlF_protein > 0 -> (PhlF_protein'=PhlF_protein-1);
// topModel_PhlFpart_module_sub__PhlF_protein_interaction_0
[topModel_PhlFpart_module_sub__PhlF_protein_interaction_0] PhlF_protein <= PhlF_protein_MAX-10 -> (PhlF_protein'=PhlF_protein+10);
// topModel_PhlFpart_module_sub__PhlF_protein_interaction_1
[topModel_PhlFpart_module_sub__PhlF_protein_interaction_1] PhlF_protein <= PhlF_protein_MAX-10 -> (PhlF_protein'=PhlF_protein+10);
endmodule
// Species YFP_protein
const int YFP_protein_MAX = MAX_AMOUNT;
module YFP_protein
YFP_protein : [0..YFP_protein_MAX] init 0;
// YFP_protein : int init 0;
// YFP_degradation_interaction
[YFP_degradation_interaction] YFP_protein > 0 -> (YFP_protein'=YFP_protein-1);
// topModel_YFPpart_module_sub__YFP_protein_interaction_0
[topModel_YFPpart_module_sub__YFP_protein_interaction_0] YFP_protein <= YFP_protein_MAX-10 -> (YFP_protein'=YFP_protein+10);
// topModel_YFPpart_module_sub__YFP_protein_interaction_1
[topModel_YFPpart_module_sub__YFP_protein_interaction_1] YFP_protein <= YFP_protein_MAX-10 -> (YFP_protein'=YFP_protein+10);
endmodule
// Species Ara
const int Ara_MAX = MAX_AMOUNT;
module Ara
Ara : [0..Ara_MAX] init 60;
// Ara : int init 60;
// Complex_Ara_AraC_protein
[Complex_Ara_AraC_protein] Ara > 1 -> (Ara'=Ara-2);
endmodule
// Species topModel_AmtRpart_module_sub__pBAD
const int topModel_AmtRpart_module_sub__pBAD_MAX = MAX_AMOUNT;
module topModel_AmtRpart_module_sub__pBAD
topModel_AmtRpart_module_sub__pBAD : [0..topModel_AmtRpart_module_sub__pBAD_MAX] init 2;
// topModel_AmtRpart_module_sub__pBAD : int init 2;
endmodule
// Species topModel_AmtRpart_module_sub__pHlyIIR
const int topModel_AmtRpart_module_sub__pHlyIIR_MAX = MAX_AMOUNT;
module topModel_AmtRpart_module_sub__pHlyIIR
topModel_AmtRpart_module_sub__pHlyIIR : [0..topModel_AmtRpart_module_sub__pHlyIIR_MAX] init 2;
// topModel_AmtRpart_module_sub__pHlyIIR : int init 2;
endmodule
// Species topModel_YFPpart_module_sub__pPhlF
const int topModel_YFPpart_module_sub__pPhlF_MAX = MAX_AMOUNT;
module topModel_YFPpart_module_sub__pPhlF
topModel_YFPpart_module_sub__pPhlF : [0..topModel_YFPpart_module_sub__pPhlF_MAX] init 2;
// topModel_YFPpart_module_sub__pPhlF : int init 2;
endmodule
// Species topModel_YFPpart_module_sub__pBetI
const int topModel_YFPpart_module_sub__pBetI_MAX = MAX_AMOUNT;
module topModel_YFPpart_module_sub__pBetI
topModel_YFPpart_module_sub__pBetI : [0..topModel_YFPpart_module_sub__pBetI_MAX] init 2;
// topModel_YFPpart_module_sub__pBetI : int init 2;
endmodule
// Species topModel_BetIpart_module_sub__pHlyIIR
const int topModel_BetIpart_module_sub__pHlyIIR_MAX = MAX_AMOUNT;
module topModel_BetIpart_module_sub__pHlyIIR
topModel_BetIpart_module_sub__pHlyIIR : [0..topModel_BetIpart_module_sub__pHlyIIR_MAX] init 2;
// topModel_BetIpart_module_sub__pHlyIIR : int init 2;
endmodule
// Species topModel_BetIpart_module_sub__pTet
const int topModel_BetIpart_module_sub__pTet_MAX = MAX_AMOUNT;
module topModel_BetIpart_module_sub__pTet
topModel_BetIpart_module_sub__pTet : [0..topModel_BetIpart_module_sub__pTet_MAX] init 2;
// topModel_BetIpart_module_sub__pTet : int init 2;
endmodule
// Species topModel_PhlFpart_module_sub__pTac
const int topModel_PhlFpart_module_sub__pTac_MAX = MAX_AMOUNT;
module topModel_PhlFpart_module_sub__pTac
topModel_PhlFpart_module_sub__pTac : [0..topModel_PhlFpart_module_sub__pTac_MAX] init 2;
// topModel_PhlFpart_module_sub__pTac : int init 2;
endmodule
// Species topModel_PhlFpart_module_sub__pAmtR
const int topModel_PhlFpart_module_sub__pAmtR_MAX = MAX_AMOUNT;
module topModel_PhlFpart_module_sub__pAmtR
topModel_PhlFpart_module_sub__pAmtR : [0..topModel_PhlFpart_module_sub__pAmtR_MAX] init 2;
// topModel_PhlFpart_module_sub__pAmtR : int init 2;
endmodule
// Species topModel_HlyIIRpart_module_sub__pTet
const int topModel_HlyIIRpart_module_sub__pTet_MAX = MAX_AMOUNT;
module topModel_HlyIIRpart_module_sub__pTet
topModel_HlyIIRpart_module_sub__pTet : [0..topModel_HlyIIRpart_module_sub__pTet_MAX] init 2;
// topModel_HlyIIRpart_module_sub__pTet : int init 2;
endmodule
// Species topModel_HlyIIRpart_module_sub__pBAD
const int topModel_HlyIIRpart_module_sub__pBAD_MAX = MAX_AMOUNT;
module topModel_HlyIIRpart_module_sub__pBAD
topModel_HlyIIRpart_module_sub__pBAD : [0..topModel_HlyIIRpart_module_sub__pBAD_MAX] init 2;
// topModel_HlyIIRpart_module_sub__pBAD : int init 2;
endmodule
// Reaction rates
module reaction_rates
// AraC_degradation_interaction: ->
[AraC_degradation_interaction] (kd * AraC_protein) > 0 -> ((kd * AraC_protein)) : true;
// Complex_aTc_TetR_protein: -> aTc_TetR_protein
[Complex_aTc_TetR_protein] (((kc_f * pow(TetR_protein , nc)) * pow(aTc , nc)) - (kc_r * aTc_TetR_protein)) > 0 -> ((((kc_f * pow(TetR_protein , nc)) * pow(aTc , nc)) - (kc_r * aTc_TetR_protein))) : true;
// TetR_degradation_interaction: ->
[TetR_degradation_interaction] (kd * TetR_protein) > 0 -> ((kd * TetR_protein)) : true;
// Ara_AraC_protein_degradation_interaction: ->
[Ara_AraC_protein_degradation_interaction] (kd * Ara_AraC_protein) > 0 -> ((kd * Ara_AraC_protein)) : true;
// IPTG_LacI_protein_degradation_interaction: ->
[IPTG_LacI_protein_degradation_interaction] (kd * IPTG_LacI_protein) > 0 -> ((kd * IPTG_LacI_protein)) : true;
// PhlF_degradation_interaction: ->
[PhlF_degradation_interaction] (kd * PhlF_protein) > 0 -> ((kd * PhlF_protein)) : true;
// aTc_TetR_protein_degradation_interaction: ->
[aTc_TetR_protein_degradation_interaction] (kd * aTc_TetR_protein) > 0 -> ((kd * aTc_TetR_protein)) : true;
// Complex_IPTG_LacI_protein: -> IPTG_LacI_protein
[Complex_IPTG_LacI_protein] (((kc_f * pow(IPTG , nc)) * pow(LacI_protein , nc)) - (kc_r * IPTG_LacI_protein)) > 0 -> ((((kc_f * pow(IPTG , nc)) * pow(LacI_protein , nc)) - (kc_r * IPTG_LacI_protein))) : true;
// YFP_degradation_interaction: ->
[YFP_degradation_interaction] (kd * YFP_protein) > 0 -> ((kd * YFP_protein)) : true;
// LacI_degradation_interaction: ->
[LacI_degradation_interaction] (kd * LacI_protein) > 0 -> ((kd * LacI_protein)) : true;
// Complex_Ara_AraC_protein: -> Ara_AraC_protein
[Complex_Ara_AraC_protein] (((kc_f * pow(AraC_protein , nc)) * pow(Ara , nc)) - (kc_r * Ara_AraC_protein)) > 0 -> ((((kc_f * pow(AraC_protein , nc)) * pow(Ara , nc)) - (kc_r * Ara_AraC_protein))) : true;
// HlyIIR_degradation_interaction: ->
[HlyIIR_degradation_interaction] (kd * HlyIIR_protein) > 0 -> ((kd * HlyIIR_protein)) : true;
// BetI_degradation_interaction: ->
[BetI_degradation_interaction] (kd * BetI_protein) > 0 -> ((kd * BetI_protein)) : true;
// AmtR_degradation_interaction: ->
[AmtR_degradation_interaction] (kd * AmtR_protein) > 0 -> ((kd * AmtR_protein)) : true;
// topModel_AmtRpart_module_sub__AmtR_protein_interaction_0: -> AmtR_protein
[topModel_AmtRpart_module_sub__AmtR_protein_interaction_0] ((topModel_AmtRpart_module_sub__pBAD * ((((topModel_AmtRpart_module_sub__kb * topModel_AmtRpart_module_sub__ko_f) / topModel_AmtRpart_module_sub__ko_r) * topModel_AmtRpart_module_sub__nr) + ((((topModel_AmtRpart_module_sub__ka * topModel_AmtRpart_module_sub__kao_f) / topModel_AmtRpart_module_sub__kao_r) * topModel_AmtRpart_module_sub__nr) * pow(((topModel_AmtRpart_module_sub__ka_f / topModel_AmtRpart_module_sub__ka_r) * Ara_AraC_protein) , topModel_AmtRpart_module_sub__nc)))) / ((1 + ((topModel_AmtRpart_module_sub__ko_f / topModel_AmtRpart_module_sub__ko_r) * topModel_AmtRpart_module_sub__nr)) + (((topModel_AmtRpart_module_sub__kao_f / topModel_AmtRpart_module_sub__kao_r) * topModel_AmtRpart_module_sub__nr) * pow(((topModel_AmtRpart_module_sub__ka_f / topModel_AmtRpart_module_sub__ka_r) * Ara_AraC_protein) , topModel_AmtRpart_module_sub__nc)))) > 0 -> (((topModel_AmtRpart_module_sub__pBAD * ((((topModel_AmtRpart_module_sub__kb * topModel_AmtRpart_module_sub__ko_f) / topModel_AmtRpart_module_sub__ko_r) * topModel_AmtRpart_module_sub__nr) + ((((topModel_AmtRpart_module_sub__ka * topModel_AmtRpart_module_sub__kao_f) / topModel_AmtRpart_module_sub__kao_r) * topModel_AmtRpart_module_sub__nr) * pow(((topModel_AmtRpart_module_sub__ka_f / topModel_AmtRpart_module_sub__ka_r) * Ara_AraC_protein) , topModel_AmtRpart_module_sub__nc)))) / ((1 + ((topModel_AmtRpart_module_sub__ko_f / topModel_AmtRpart_module_sub__ko_r) * topModel_AmtRpart_module_sub__nr)) + (((topModel_AmtRpart_module_sub__kao_f / topModel_AmtRpart_module_sub__kao_r) * topModel_AmtRpart_module_sub__nr) * pow(((topModel_AmtRpart_module_sub__ka_f / topModel_AmtRpart_module_sub__ka_r) * Ara_AraC_protein) , topModel_AmtRpart_module_sub__nc))))) : true;
// topModel_AmtRpart_module_sub__AmtR_protein_interaction_1: -> AmtR_protein
[topModel_AmtRpart_module_sub__AmtR_protein_interaction_1] (((((topModel_AmtRpart_module_sub__pHlyIIR * topModel_AmtRpart_module_sub__ko) * topModel_AmtRpart_module_sub__ko_f) / topModel_AmtRpart_module_sub__ko_r) * topModel_AmtRpart_module_sub__nr) / ((1 + ((topModel_AmtRpart_module_sub__ko_f / topModel_AmtRpart_module_sub__ko_r) * topModel_AmtRpart_module_sub__nr)) + pow(((topModel_AmtRpart_module_sub__kr_f / topModel_AmtRpart_module_sub__kr_r) * HlyIIR_protein) , topModel_AmtRpart_module_sub__nc))) > 0 -> ((((((topModel_AmtRpart_module_sub__pHlyIIR * topModel_AmtRpart_module_sub__ko) * topModel_AmtRpart_module_sub__ko_f) / topModel_AmtRpart_module_sub__ko_r) * topModel_AmtRpart_module_sub__nr) / ((1 + ((topModel_AmtRpart_module_sub__ko_f / topModel_AmtRpart_module_sub__ko_r) * topModel_AmtRpart_module_sub__nr)) + pow(((topModel_AmtRpart_module_sub__kr_f / topModel_AmtRpart_module_sub__kr_r) * HlyIIR_protein) , topModel_AmtRpart_module_sub__nc)))) : true;
// topModel_YFPpart_module_sub__YFP_protein_interaction_0: -> YFP_protein
[topModel_YFPpart_module_sub__YFP_protein_interaction_0] (((((topModel_YFPpart_module_sub__pPhlF * topModel_YFPpart_module_sub__ko) * topModel_YFPpart_module_sub__ko_f) / topModel_YFPpart_module_sub__ko_r) * topModel_YFPpart_module_sub__nr) / ((1 + ((topModel_YFPpart_module_sub__ko_f / topModel_YFPpart_module_sub__ko_r) * topModel_YFPpart_module_sub__nr)) + pow(((topModel_YFPpart_module_sub__kr_f / topModel_YFPpart_module_sub__kr_r) * PhlF_protein) , topModel_YFPpart_module_sub__nc))) > 0 -> ((((((topModel_YFPpart_module_sub__pPhlF * topModel_YFPpart_module_sub__ko) * topModel_YFPpart_module_sub__ko_f) / topModel_YFPpart_module_sub__ko_r) * topModel_YFPpart_module_sub__nr) / ((1 + ((topModel_YFPpart_module_sub__ko_f / topModel_YFPpart_module_sub__ko_r) * topModel_YFPpart_module_sub__nr)) + pow(((topModel_YFPpart_module_sub__kr_f / topModel_YFPpart_module_sub__kr_r) * PhlF_protein) , topModel_YFPpart_module_sub__nc)))) : true;
// topModel_YFPpart_module_sub__YFP_protein_interaction_1: -> YFP_protein
[topModel_YFPpart_module_sub__YFP_protein_interaction_1] (((((topModel_YFPpart_module_sub__pBetI * topModel_YFPpart_module_sub__ko) * topModel_YFPpart_module_sub__ko_f) / topModel_YFPpart_module_sub__ko_r) * topModel_YFPpart_module_sub__nr) / ((1 + ((topModel_YFPpart_module_sub__ko_f / topModel_YFPpart_module_sub__ko_r) * topModel_YFPpart_module_sub__nr)) + pow(((topModel_YFPpart_module_sub__kr_f / topModel_YFPpart_module_sub__kr_r) * BetI_protein) , topModel_YFPpart_module_sub__nc))) > 0 -> ((((((topModel_YFPpart_module_sub__pBetI * topModel_YFPpart_module_sub__ko) * topModel_YFPpart_module_sub__ko_f) / topModel_YFPpart_module_sub__ko_r) * topModel_YFPpart_module_sub__nr) / ((1 + ((topModel_YFPpart_module_sub__ko_f / topModel_YFPpart_module_sub__ko_r) * topModel_YFPpart_module_sub__nr)) + pow(((topModel_YFPpart_module_sub__kr_f / topModel_YFPpart_module_sub__kr_r) * BetI_protein) , topModel_YFPpart_module_sub__nc)))) : true;
// topModel_BetIpart_module_sub__BetI_protein_interaction_0: -> BetI_protein
[topModel_BetIpart_module_sub__BetI_protein_interaction_0] (((((topModel_BetIpart_module_sub__pHlyIIR * topModel_BetIpart_module_sub__ko) * topModel_BetIpart_module_sub__ko_f) / topModel_BetIpart_module_sub__ko_r) * topModel_BetIpart_module_sub__nr) / ((1 + ((topModel_BetIpart_module_sub__ko_f / topModel_BetIpart_module_sub__ko_r) * topModel_BetIpart_module_sub__nr)) + pow(((topModel_BetIpart_module_sub__kr_f / topModel_BetIpart_module_sub__kr_r) * HlyIIR_protein) , topModel_BetIpart_module_sub__nc))) > 0 -> ((((((topModel_BetIpart_module_sub__pHlyIIR * topModel_BetIpart_module_sub__ko) * topModel_BetIpart_module_sub__ko_f) / topModel_BetIpart_module_sub__ko_r) * topModel_BetIpart_module_sub__nr) / ((1 + ((topModel_BetIpart_module_sub__ko_f / topModel_BetIpart_module_sub__ko_r) * topModel_BetIpart_module_sub__nr)) + pow(((topModel_BetIpart_module_sub__kr_f / topModel_BetIpart_module_sub__kr_r) * HlyIIR_protein) , topModel_BetIpart_module_sub__nc)))) : true;
// topModel_BetIpart_module_sub__BetI_protein_interaction_1: -> BetI_protein
[topModel_BetIpart_module_sub__BetI_protein_interaction_1] (((((topModel_BetIpart_module_sub__pTet * topModel_BetIpart_module_sub__ko) * topModel_BetIpart_module_sub__ko_f) / topModel_BetIpart_module_sub__ko_r) * topModel_BetIpart_module_sub__nr) / ((1 + ((topModel_BetIpart_module_sub__ko_f / topModel_BetIpart_module_sub__ko_r) * topModel_BetIpart_module_sub__nr)) + pow(((topModel_BetIpart_module_sub__kr_f / topModel_BetIpart_module_sub__kr_r) * TetR_protein) , topModel_BetIpart_module_sub__nc))) > 0 -> ((((((topModel_BetIpart_module_sub__pTet * topModel_BetIpart_module_sub__ko) * topModel_BetIpart_module_sub__ko_f) / topModel_BetIpart_module_sub__ko_r) * topModel_BetIpart_module_sub__nr) / ((1 + ((topModel_BetIpart_module_sub__ko_f / topModel_BetIpart_module_sub__ko_r) * topModel_BetIpart_module_sub__nr)) + pow(((topModel_BetIpart_module_sub__kr_f / topModel_BetIpart_module_sub__kr_r) * TetR_protein) , topModel_BetIpart_module_sub__nc)))) : true;
// topModel_PhlFpart_module_sub__PhlF_protein_interaction_0: -> PhlF_protein
[topModel_PhlFpart_module_sub__PhlF_protein_interaction_0] (((((topModel_PhlFpart_module_sub__pTac * topModel_PhlFpart_module_sub__ko) * topModel_PhlFpart_module_sub__ko_f) / topModel_PhlFpart_module_sub__ko_r) * topModel_PhlFpart_module_sub__nr) / ((1 + ((topModel_PhlFpart_module_sub__ko_f / topModel_PhlFpart_module_sub__ko_r) * topModel_PhlFpart_module_sub__nr)) + pow(((topModel_PhlFpart_module_sub__kr_f / topModel_PhlFpart_module_sub__kr_r) * LacI_protein) , topModel_PhlFpart_module_sub__nc))) > 0 -> ((((((topModel_PhlFpart_module_sub__pTac * topModel_PhlFpart_module_sub__ko) * topModel_PhlFpart_module_sub__ko_f) / topModel_PhlFpart_module_sub__ko_r) * topModel_PhlFpart_module_sub__nr) / ((1 + ((topModel_PhlFpart_module_sub__ko_f / topModel_PhlFpart_module_sub__ko_r) * topModel_PhlFpart_module_sub__nr)) + pow(((topModel_PhlFpart_module_sub__kr_f / topModel_PhlFpart_module_sub__kr_r) * LacI_protein) , topModel_PhlFpart_module_sub__nc)))) : true;
// topModel_PhlFpart_module_sub__PhlF_protein_interaction_1: -> PhlF_protein
[topModel_PhlFpart_module_sub__PhlF_protein_interaction_1] (((((topModel_PhlFpart_module_sub__pAmtR * topModel_PhlFpart_module_sub__ko) * topModel_PhlFpart_module_sub__ko_f) / topModel_PhlFpart_module_sub__ko_r) * topModel_PhlFpart_module_sub__nr) / ((1 + ((topModel_PhlFpart_module_sub__ko_f / topModel_PhlFpart_module_sub__ko_r) * topModel_PhlFpart_module_sub__nr)) + pow(((topModel_PhlFpart_module_sub__kr_f / topModel_PhlFpart_module_sub__kr_r) * AmtR_protein) , topModel_PhlFpart_module_sub__nc))) > 0 -> ((((((topModel_PhlFpart_module_sub__pAmtR * topModel_PhlFpart_module_sub__ko) * topModel_PhlFpart_module_sub__ko_f) / topModel_PhlFpart_module_sub__ko_r) * topModel_PhlFpart_module_sub__nr) / ((1 + ((topModel_PhlFpart_module_sub__ko_f / topModel_PhlFpart_module_sub__ko_r) * topModel_PhlFpart_module_sub__nr)) + pow(((topModel_PhlFpart_module_sub__kr_f / topModel_PhlFpart_module_sub__kr_r) * AmtR_protein) , topModel_PhlFpart_module_sub__nc)))) : true;
// topModel_HlyIIRpart_module_sub__HlyIIR_protein_interaction_0: -> HlyIIR_protein
[topModel_HlyIIRpart_module_sub__HlyIIR_protein_interaction_0] ((topModel_HlyIIRpart_module_sub__pTet * ((((topModel_HlyIIRpart_module_sub__kb * topModel_HlyIIRpart_module_sub__ko_f) / topModel_HlyIIRpart_module_sub__ko_r) * topModel_HlyIIRpart_module_sub__nr) + ((((topModel_HlyIIRpart_module_sub__ka * topModel_HlyIIRpart_module_sub__kao_f) / topModel_HlyIIRpart_module_sub__kao_r) * topModel_HlyIIRpart_module_sub__nr) * pow(((topModel_HlyIIRpart_module_sub__ka_f / topModel_HlyIIRpart_module_sub__ka_r) * Ara_AraC_protein) , topModel_HlyIIRpart_module_sub__nc)))) / ((1 + ((topModel_HlyIIRpart_module_sub__ko_f / topModel_HlyIIRpart_module_sub__ko_r) * topModel_HlyIIRpart_module_sub__nr)) + (((topModel_HlyIIRpart_module_sub__kao_f / topModel_HlyIIRpart_module_sub__kao_r) * topModel_HlyIIRpart_module_sub__nr) * pow(((topModel_HlyIIRpart_module_sub__ka_f / topModel_HlyIIRpart_module_sub__ka_r) * Ara_AraC_protein) , topModel_HlyIIRpart_module_sub__nc)))) > 0 -> (((topModel_HlyIIRpart_module_sub__pTet * ((((topModel_HlyIIRpart_module_sub__kb * topModel_HlyIIRpart_module_sub__ko_f) / topModel_HlyIIRpart_module_sub__ko_r) * topModel_HlyIIRpart_module_sub__nr) + ((((topModel_HlyIIRpart_module_sub__ka * topModel_HlyIIRpart_module_sub__kao_f) / topModel_HlyIIRpart_module_sub__kao_r) * topModel_HlyIIRpart_module_sub__nr) * pow(((topModel_HlyIIRpart_module_sub__ka_f / topModel_HlyIIRpart_module_sub__ka_r) * Ara_AraC_protein) , topModel_HlyIIRpart_module_sub__nc)))) / ((1 + ((topModel_HlyIIRpart_module_sub__ko_f / topModel_HlyIIRpart_module_sub__ko_r) * topModel_HlyIIRpart_module_sub__nr)) + (((topModel_HlyIIRpart_module_sub__kao_f / topModel_HlyIIRpart_module_sub__kao_r) * topModel_HlyIIRpart_module_sub__nr) * pow(((topModel_HlyIIRpart_module_sub__ka_f / topModel_HlyIIRpart_module_sub__ka_r) * Ara_AraC_protein) , topModel_HlyIIRpart_module_sub__nc))))) : true;
// topModel_HlyIIRpart_module_sub__HlyIIR_protein_interaction_1: -> HlyIIR_protein
[topModel_HlyIIRpart_module_sub__HlyIIR_protein_interaction_1] (((((topModel_HlyIIRpart_module_sub__pBAD * topModel_HlyIIRpart_module_sub__ko) * topModel_HlyIIRpart_module_sub__ko_f) / topModel_HlyIIRpart_module_sub__ko_r) * topModel_HlyIIRpart_module_sub__nr) / ((1 + ((topModel_HlyIIRpart_module_sub__ko_f / topModel_HlyIIRpart_module_sub__ko_r) * topModel_HlyIIRpart_module_sub__nr)) + pow(((topModel_HlyIIRpart_module_sub__kr_f / topModel_HlyIIRpart_module_sub__kr_r) * TetR_protein) , topModel_HlyIIRpart_module_sub__nc))) > 0 -> ((((((topModel_HlyIIRpart_module_sub__pBAD * topModel_HlyIIRpart_module_sub__ko) * topModel_HlyIIRpart_module_sub__ko_f) / topModel_HlyIIRpart_module_sub__ko_r) * topModel_HlyIIRpart_module_sub__nr) / ((1 + ((topModel_HlyIIRpart_module_sub__ko_f / topModel_HlyIIRpart_module_sub__ko_r) * topModel_HlyIIRpart_module_sub__nr)) + pow(((topModel_HlyIIRpart_module_sub__kr_f / topModel_HlyIIRpart_module_sub__kr_r) * TetR_protein) , topModel_HlyIIRpart_module_sub__nc)))) : true;
endmodule
// Reward structures (one per species)
// Reward 1: AmtR_protein
rewards "AmtR_protein" true : AmtR_protein; endrewards
// Reward 2: IPTG
rewards "IPTG" true : IPTG; endrewards
// Reward 3: Ara_AraC_protein
rewards "Ara_AraC_protein" true : Ara_AraC_protein; endrewards
// Reward 4: TetR_protein
rewards "TetR_protein" true : TetR_protein; endrewards
// Reward 5: LacI_protein
rewards "LacI_protein" true : LacI_protein; endrewards
// Reward 6: aTc_TetR_protein
rewards "aTc_TetR_protein" true : aTc_TetR_protein; endrewards
// Reward 7: AraC_protein
rewards "AraC_protein" true : AraC_protein; endrewards
// Reward 8: IPTG_LacI_protein
rewards "IPTG_LacI_protein" true : IPTG_LacI_protein; endrewards
// Reward 9: aTc
rewards "aTc" true : aTc; endrewards
// Reward 10: BetI_protein
rewards "BetI_protein" true : BetI_protein; endrewards
// Reward 11: HlyIIR_protein
rewards "HlyIIR_protein" true : HlyIIR_protein; endrewards
// Reward 12: PhlF_protein
rewards "PhlF_protein" true : PhlF_protein; endrewards
// Reward 13: YFP_protein
rewards "YFP_protein" true : YFP_protein; endrewards
// Reward 14: Ara
rewards "Ara" true : Ara; endrewards
// Reward 15: topModel_AmtRpart_module_sub__pBAD
rewards "topModel_AmtRpart_module_sub__pBAD" true : topModel_AmtRpart_module_sub__pBAD; endrewards
// Reward 16: topModel_AmtRpart_module_sub__pHlyIIR
rewards "topModel_AmtRpart_module_sub__pHlyIIR" true : topModel_AmtRpart_module_sub__pHlyIIR; endrewards
// Reward 17: topModel_YFPpart_module_sub__pPhlF
rewards "topModel_YFPpart_module_sub__pPhlF" true : topModel_YFPpart_module_sub__pPhlF; endrewards
// Reward 18: topModel_YFPpart_module_sub__pBetI
rewards "topModel_YFPpart_module_sub__pBetI" true : topModel_YFPpart_module_sub__pBetI; endrewards
// Reward 19: topModel_BetIpart_module_sub__pHlyIIR
rewards "topModel_BetIpart_module_sub__pHlyIIR" true : topModel_BetIpart_module_sub__pHlyIIR; endrewards
// Reward 20: topModel_BetIpart_module_sub__pTet
rewards "topModel_BetIpart_module_sub__pTet" true : topModel_BetIpart_module_sub__pTet; endrewards
// Reward 21: topModel_PhlFpart_module_sub__pTac
rewards "topModel_PhlFpart_module_sub__pTac" true : topModel_PhlFpart_module_sub__pTac; endrewards
// Reward 22: topModel_PhlFpart_module_sub__pAmtR
rewards "topModel_PhlFpart_module_sub__pAmtR" true : topModel_PhlFpart_module_sub__pAmtR; endrewards
// Reward 23: topModel_HlyIIRpart_module_sub__pTet
rewards "topModel_HlyIIRpart_module_sub__pTet" true : topModel_HlyIIRpart_module_sub__pTet; endrewards
// Reward 24: topModel_HlyIIRpart_module_sub__pBAD
rewards "topModel_HlyIIRpart_module_sub__pBAD" true : topModel_HlyIIRpart_module_sub__pBAD; endrewards

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

1427
prismtest/Majority_10_10.xml Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,5 @@
// File generated by SBML-to-PRISM converter
// Original file: SimpleChem.xml
// @GeneticLogicLab
P=? [F<=100 (S2 > 8)]

65
prismtest/SimpleChem.sm Normal file
View file

@ -0,0 +1,65 @@
// File generated by SBML-to-PRISM converter
// Original file: SimpleChem.xml
// @GeneticLogicLab
ctmc
// const int MAX_AMOUNT = ADD VALUE
// Compartment size
const double Cell = 1.0;
// Model parameters
const double kd = 0.0075; // Degradation rate
// Species S0
// const int S0_MAX = MAX_AMOUNT;
module S0
// S0 : [0..S0_MAX] init 10;
S0 : int init 10;
// R0
[R0] S0 > 0 -> (S0'=S0-1);
endmodule
// Species S1
// const int S1_MAX = MAX_AMOUNT;
module S1
// S1 : [0..S1_MAX] init 10;
S1 : int init 10;
// R0
[R0] S1 > 0 -> (S1'=S1-1);
endmodule
// Species S2
// const int S2_MAX = MAX_AMOUNT;
module S2
// S2 : [0..S2_MAX] init 0;
S2 : int init 0;
// R0
[R0] S2 >= 0 -> (S2'=S2+1);
endmodule
// Reaction rates
module reaction_rates
// R0: -> S2
[R0] ((kf * S0) * S1) > 0 -> (((kf * S0) * S1)) : true;
endmodule
// Reward structures (one per species)
// Reward 1: S0
rewards "S0" true : S0; endrewards
// Reward 2: S1
rewards "S1" true : S1; endrewards
// Reward 3: S2
rewards "S2" true : S2; endrewards

222
prismtest/SimpleChem.xml Normal file
View file

@ -0,0 +1,222 @@
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<sbml xmlns="http://www.sbml.org/sbml/level3/version2/core" comp:required="true" fbc:required="false" layout:required="false" level="3" version="2" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:layout="http://www.sbml.org/sbml/level3/version1/layout/version1">
<model id="SimpleChem" metaid="iBioSim6">
<comp:listOfPorts xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1">
<comp:port comp:id="compartment__Cell" comp:idRef="Cell" sboTerm="SBO:0000601"/>
</comp:listOfPorts>
<layout:listOfLayouts xmlns:layout="http://www.sbml.org/sbml/level3/version1/layout/version1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<layout:layout layout:id="iBioSim">
<layout:dimensions layout:depth="0" layout:height="425" layout:width="1070"/>
<layout:listOfAdditionalGraphicalObjects>
<layout:generalGlyph layout:id="Glyph__c0" layout:metaidRef="c0">
<layout:boundingBox>
<layout:position layout:x="657" layout:y="179"/>
<layout:dimensions layout:height="40" layout:width="50"/>
</layout:boundingBox>
<layout:listOfReferenceGlyphs>
<layout:referenceGlyph layout:glyph="Glyph__S2" layout:id="Glyph__c0__substrate__S2" layout:role="substrate">
<layout:curve>
<layout:listOfCurveSegments>
<layout:curveSegment xsi:type="LineSegment">
<layout:start layout:x="480" layout:y="175"/>
<layout:end layout:x="682" layout:y="199"/>
</layout:curveSegment>
</layout:listOfCurveSegments>
</layout:curve>
</layout:referenceGlyph>
</layout:listOfReferenceGlyphs>
</layout:generalGlyph>
</layout:listOfAdditionalGraphicalObjects>
<layout:listOfCompartmentGlyphs>
<layout:compartmentGlyph layout:compartment="Cell" layout:id="Glyph__Cell">
<layout:boundingBox>
<layout:position layout:x="0" layout:y="0"/>
<layout:dimensions layout:height="425" layout:width="1070"/>
</layout:boundingBox>
</layout:compartmentGlyph>
</layout:listOfCompartmentGlyphs>
<layout:listOfSpeciesGlyphs>
<layout:speciesGlyph layout:id="Glyph__S0" layout:species="S0">
<layout:boundingBox>
<layout:position layout:x="104" layout:y="93"/>
<layout:dimensions layout:height="30" layout:width="100"/>
</layout:boundingBox>
</layout:speciesGlyph>
<layout:speciesGlyph layout:id="Glyph__S1" layout:species="S1">
<layout:boundingBox>
<layout:position layout:x="128" layout:y="248"/>
<layout:dimensions layout:height="30" layout:width="100"/>
</layout:boundingBox>
</layout:speciesGlyph>
<layout:speciesGlyph layout:id="Glyph__S2" layout:species="S2">
<layout:boundingBox>
<layout:position layout:x="430" layout:y="160"/>
<layout:dimensions layout:height="30" layout:width="100"/>
</layout:boundingBox>
</layout:speciesGlyph>
</layout:listOfSpeciesGlyphs>
<layout:listOfReactionGlyphs>
<layout:reactionGlyph layout:id="Glyph__R0" layout:reaction="R0">
<layout:boundingBox>
<layout:position layout:x="306" layout:y="178"/>
<layout:dimensions layout:height="20" layout:width="20"/>
</layout:boundingBox>
<layout:listOfSpeciesReferenceGlyphs>
<layout:speciesReferenceGlyph layout:id="Glyph__R0__substrate__S0" layout:role="substrate" layout:speciesGlyph="Glyph__S0">
<layout:curve>
<layout:listOfCurveSegments>
<layout:curveSegment xsi:type="LineSegment">
<layout:start layout:x="154" layout:y="108"/>
<layout:end layout:x="316" layout:y="188"/>
</layout:curveSegment>
</layout:listOfCurveSegments>
</layout:curve>
</layout:speciesReferenceGlyph>
<layout:speciesReferenceGlyph layout:id="Glyph__R0__substrate__S1" layout:role="substrate" layout:speciesGlyph="Glyph__S1">
<layout:curve>
<layout:listOfCurveSegments>
<layout:curveSegment xsi:type="LineSegment">
<layout:start layout:x="178" layout:y="263"/>
<layout:end layout:x="316" layout:y="188"/>
</layout:curveSegment>
</layout:listOfCurveSegments>
</layout:curve>
</layout:speciesReferenceGlyph>
<layout:speciesReferenceGlyph layout:id="Glyph__R0__product__S2" layout:role="product" layout:speciesGlyph="Glyph__S2">
<layout:curve>
<layout:listOfCurveSegments>
<layout:curveSegment xsi:type="LineSegment">
<layout:start layout:x="316" layout:y="188"/>
<layout:end layout:x="480" layout:y="175"/>
</layout:curveSegment>
</layout:listOfCurveSegments>
</layout:curve>
</layout:speciesReferenceGlyph>
</layout:listOfSpeciesReferenceGlyphs>
</layout:reactionGlyph>
</layout:listOfReactionGlyphs>
<layout:listOfTextGlyphs>
<layout:textGlyph layout:graphicalObject="Glyph__Cell" layout:id="TextGlyph__Cell" layout:text="Cell">
<layout:boundingBox>
<layout:position layout:x="0" layout:y="0"/>
<layout:dimensions layout:height="425" layout:width="1070"/>
</layout:boundingBox>
</layout:textGlyph>
<layout:textGlyph layout:graphicalObject="Glyph__S0" layout:id="TextGlyph__S0" layout:text="S0">
<layout:boundingBox>
<layout:position layout:x="104" layout:y="93"/>
<layout:dimensions layout:height="30" layout:width="100"/>
</layout:boundingBox>
</layout:textGlyph>
<layout:textGlyph layout:graphicalObject="Glyph__S1" layout:id="TextGlyph__S1" layout:text="S1">
<layout:boundingBox>
<layout:position layout:x="128" layout:y="248"/>
<layout:dimensions layout:height="30" layout:width="100"/>
</layout:boundingBox>
</layout:textGlyph>
<layout:textGlyph layout:graphicalObject="Glyph__R0" layout:id="TextGlyph__R0" layout:text="R0">
<layout:boundingBox>
<layout:position layout:x="306" layout:y="178"/>
<layout:dimensions layout:height="20" layout:width="20"/>
</layout:boundingBox>
</layout:textGlyph>
<layout:textGlyph layout:graphicalObject="Glyph__S2" layout:id="TextGlyph__S2" layout:text="S2">
<layout:boundingBox>
<layout:position layout:x="430" layout:y="160"/>
<layout:dimensions layout:height="30" layout:width="100"/>
</layout:boundingBox>
</layout:textGlyph>
<layout:textGlyph layout:graphicalObject="Glyph__c0" layout:id="TextGlyph__c0" layout:text="c0">
<layout:boundingBox>
<layout:position layout:x="657" layout:y="179"/>
<layout:dimensions layout:height="40" layout:width="50"/>
</layout:boundingBox>
</layout:textGlyph>
</layout:listOfTextGlyphs>
</layout:layout>
</layout:listOfLayouts>
<listOfFunctionDefinitions>
<functionDefinition id="F" name="Eventually Property">
<math xmlns="http://www.w3.org/1998/Math/MathML">
<lambda>
<bvar>
<ci> t </ci>
</bvar>
<bvar>
<ci> x </ci>
</bvar>
<apply>
<or/>
<apply>
<not/>
<ci> t </ci>
</apply>
<apply>
<not/>
<ci> x </ci>
</apply>
</apply>
</lambda>
</math>
</functionDefinition>
</listOfFunctionDefinitions>
<listOfCompartments>
<compartment constant="true" id="Cell" size="1" spatialDimensions="3"/>
</listOfCompartments>
<listOfSpecies>
<species boundaryCondition="false" compartment="Cell" constant="false" hasOnlySubstanceUnits="true" id="S0" initialAmount="10" metaid="iBioSim1"/>
<species boundaryCondition="false" compartment="Cell" constant="false" hasOnlySubstanceUnits="true" id="S1" initialAmount="10" metaid="iBioSim3"/>
<species boundaryCondition="false" compartment="Cell" constant="false" hasOnlySubstanceUnits="true" id="S2" initialAmount="0" metaid="iBioSim5"/>
</listOfSpecies>
<listOfParameters>
<parameter constant="true" id="kd" metaid="iBioSim2" name="Degradation rate" value="0.0075"/>
</listOfParameters>
<listOfConstraints>
<constraint metaid="c0">
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<ci> F </ci>
<apply>
<leq/>
<csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> t </csymbol>
<cn type="integer"> 100 </cn>
</apply>
<apply>
<gt/>
<ci> S2 </ci>
<cn type="integer"> 8 </cn>
</apply>
</apply>
</math>
</constraint>
</listOfConstraints>
<listOfReactions>
<reaction compartment="Cell" id="R0" metaid="iBioSim4" reversible="false">
<listOfReactants>
<speciesReference constant="true" species="S0" stoichiometry="1"/>
<speciesReference constant="true" species="S1" stoichiometry="1"/>
</listOfReactants>
<listOfProducts>
<speciesReference constant="true" species="S2" stoichiometry="1"/>
</listOfProducts>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<times/>
<apply>
<times/>
<ci> kf </ci>
<ci> S0 </ci>
</apply>
<ci> S1 </ci>
</apply>
</math>
<listOfLocalParameters>
<localParameter id="kf" value="0.1"/>
<localParameter id="kr" value="1"/>
</listOfLocalParameters>
</kineticLaw>
</reaction>
</listOfReactions>
</model>
</sbml>

View file

@ -0,0 +1,263 @@
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<sbml xmlns="http://www.sbml.org/sbml/level3/version2/core" comp:required="true" fbc:required="false" layout:required="false" level="3" version="2" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:layout="http://www.sbml.org/sbml/level3/version1/layout/version1">
<model id="DSensor" metaid="iBioSim6">
<comp:listOfPorts xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1">
<comp:port comp:id="compartment__Cell" comp:idRef="Cell" sboTerm="SBO:0000601"/>
<comp:port comp:id="output__S1" comp:idRef="S1" sboTerm="SBO:0000601"/>
<comp:port comp:id="Degradation_S1" comp:idRef="Degradation_S1" sboTerm="SBO:0000601"/>
<comp:port comp:id="input__D" comp:idRef="D" sboTerm="SBO:0000600"/>
</comp:listOfPorts>
<layout:listOfLayouts xmlns:layout="http://www.sbml.org/sbml/level3/version1/layout/version1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<layout:layout layout:id="iBioSim">
<layout:dimensions layout:depth="0" layout:height="425" layout:width="1070"/>
<layout:listOfCompartmentGlyphs>
<layout:compartmentGlyph layout:compartment="Cell" layout:id="Glyph__Cell">
<layout:boundingBox>
<layout:position layout:x="0" layout:y="0"/>
<layout:dimensions layout:height="425" layout:width="1070"/>
</layout:boundingBox>
</layout:compartmentGlyph>
</layout:listOfCompartmentGlyphs>
<layout:listOfSpeciesGlyphs>
<layout:speciesGlyph layout:id="Glyph__D" layout:species="D">
<layout:boundingBox>
<layout:position layout:x="120" layout:y="127"/>
<layout:dimensions layout:height="30" layout:width="100"/>
</layout:boundingBox>
</layout:speciesGlyph>
<layout:speciesGlyph layout:id="Glyph__S1" layout:species="S1">
<layout:boundingBox>
<layout:position layout:x="490" layout:y="130"/>
<layout:dimensions layout:height="30" layout:width="100"/>
</layout:boundingBox>
</layout:speciesGlyph>
<layout:speciesGlyph layout:id="Glyph__P0" layout:species="P0">
<layout:boundingBox>
<layout:position layout:x="303" layout:y="151"/>
<layout:dimensions layout:height="30" layout:width="100"/>
</layout:boundingBox>
</layout:speciesGlyph>
</layout:listOfSpeciesGlyphs>
<layout:listOfReactionGlyphs>
<layout:reactionGlyph layout:id="Glyph__P0__Production__S1">
<layout:boundingBox>
<layout:position layout:x="540" layout:y="145"/>
<layout:dimensions layout:height="0" layout:width="0"/>
</layout:boundingBox>
<layout:listOfSpeciesReferenceGlyphs>
<layout:speciesReferenceGlyph layout:id="ReferenceGlyph__P0__Production__S1" layout:role="product" layout:speciesGlyph="Glyph__S1">
<layout:curve>
<layout:listOfCurveSegments>
<layout:curveSegment xsi:type="LineSegment">
<layout:start layout:x="353" layout:y="166"/>
<layout:end layout:x="540" layout:y="145"/>
</layout:curveSegment>
</layout:listOfCurveSegments>
</layout:curve>
</layout:speciesReferenceGlyph>
</layout:listOfSpeciesReferenceGlyphs>
</layout:reactionGlyph>
<layout:reactionGlyph layout:id="Glyph__D__activation__P0">
<layout:boundingBox>
<layout:position layout:x="353" layout:y="166"/>
<layout:dimensions layout:height="0" layout:width="0"/>
</layout:boundingBox>
<layout:listOfSpeciesReferenceGlyphs>
<layout:speciesReferenceGlyph layout:id="ReferenceGlyph__D__activation__P0" layout:role="product" layout:speciesGlyph="Glyph__P0">
<layout:curve>
<layout:listOfCurveSegments>
<layout:curveSegment xsi:type="LineSegment">
<layout:start layout:x="170" layout:y="142"/>
<layout:end layout:x="353" layout:y="166"/>
</layout:curveSegment>
</layout:listOfCurveSegments>
</layout:curve>
</layout:speciesReferenceGlyph>
</layout:listOfSpeciesReferenceGlyphs>
</layout:reactionGlyph>
</layout:listOfReactionGlyphs>
<layout:listOfTextGlyphs>
<layout:textGlyph layout:graphicalObject="Glyph__Cell" layout:id="TextGlyph__Cell" layout:text="Cell">
<layout:boundingBox>
<layout:position layout:x="0" layout:y="0"/>
<layout:dimensions layout:height="425" layout:width="1070"/>
</layout:boundingBox>
</layout:textGlyph>
<layout:textGlyph layout:graphicalObject="Glyph__D" layout:id="TextGlyph__D" layout:text="D">
<layout:boundingBox>
<layout:position layout:x="120" layout:y="127"/>
<layout:dimensions layout:height="30" layout:width="100"/>
</layout:boundingBox>
</layout:textGlyph>
<layout:textGlyph layout:graphicalObject="Glyph__S1" layout:id="TextGlyph__S1" layout:text="S1">
<layout:boundingBox>
<layout:position layout:x="490" layout:y="130"/>
<layout:dimensions layout:height="30" layout:width="100"/>
</layout:boundingBox>
</layout:textGlyph>
<layout:textGlyph layout:graphicalObject="Glyph__P0" layout:id="TextGlyph__P0" layout:text="P0">
<layout:boundingBox>
<layout:position layout:x="303" layout:y="151"/>
<layout:dimensions layout:height="30" layout:width="100"/>
</layout:boundingBox>
</layout:textGlyph>
</layout:listOfTextGlyphs>
</layout:layout>
</layout:listOfLayouts>
<listOfFunctionDefinitions/>
<listOfUnitDefinitions/>
<listOfCompartments>
<compartment constant="true" id="Cell" size="1" spatialDimensions="3"/>
</listOfCompartments>
<listOfSpecies>
<species boundaryCondition="true" compartment="Cell" constant="false" hasOnlySubstanceUnits="true" id="D" initialAmount="60" metaid="iBioSim1"/>
<species boundaryCondition="false" compartment="Cell" constant="false" hasOnlySubstanceUnits="true" id="S1" initialAmount="0" metaid="iBioSim3"/>
<species boundaryCondition="false" compartment="Cell" constant="false" hasOnlySubstanceUnits="true" id="P0" initialAmount="2" metaid="iBioSim4" sboTerm="SBO:0000590"/>
</listOfSpecies>
<listOfParameters>
<parameter constant="true" id="kr_f" metaid="iBioSim2" name="Forward repression binding rate" value="0.5"/>
<parameter constant="true" id="kr_r" metaid="iBioSim7" name="Reverse repression binding rate" value="1"/>
<parameter constant="true" id="ka_f" metaid="iBioSim8" name="Forward activation binding rate" value="0.0033"/>
<parameter constant="true" id="ka_r" metaid="iBioSim9" name="Reverse activation binding rate" value="1"/>
<parameter constant="true" id="ko_f" metaid="iBioSim10" name="Forward RNAP binding rate" value="0.033"/>
<parameter constant="true" id="ko_r" metaid="iBioSim11" name="Reverse RNAP binding rate" value="1"/>
<parameter constant="true" id="kao_f" metaid="iBioSim12" name="Forward activated RNAP binding rate" value="1"/>
<parameter constant="true" id="kao_r" metaid="iBioSim13" name="Reverse activated RNAP binding rate" value="1"/>
<parameter constant="true" id="nc" metaid="iBioSim14" name="Stoichiometry of binding" value="2"/>
<parameter constant="true" id="nr" metaid="iBioSim15" name="Initial RNAP count" value="30"/>
<parameter constant="true" id="ko" metaid="iBioSim16" name="Open complex production rate" value="0.05"/>
<parameter constant="true" id="kb" metaid="iBioSim17" name="Basal production rate" value="0.0001"/>
<parameter constant="true" id="ng" metaid="iBioSim18" name="Initial promoter count" value="2"/>
<parameter constant="true" id="np" metaid="iBioSim19" name="Stoichiometry of production" value="10"/>
<parameter constant="true" id="ka" metaid="iBioSim20" name="Activated production rate" value="0.25"/>
<parameter constant="true" id="kd" metaid="iBioSim21" name="Degradation rate" value="0.0075"/>
</listOfParameters>
<listOfInitialAssignments/>
<listOfConstraints/>
<listOfReactions>
<reaction compartment="Cell" id="Production_P0" metaid="iBioSim5" reversible="false" sboTerm="SBO:0000589">
<listOfReactants/>
<listOfProducts>
<speciesReference constant="true" species="S1" stoichiometry="10"/>
</listOfProducts>
<listOfModifiers>
<modifierSpeciesReference sboTerm="SBO:0000598" species="P0"/>
<modifierSpeciesReference sboTerm="SBO:0000459" species="D"/>
</listOfModifiers>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<divide/>
<apply>
<times/>
<ci> P0 </ci>
<apply>
<plus/>
<apply>
<times/>
<apply>
<divide/>
<apply>
<times/>
<ci> kb </ci>
<ci> ko_f </ci>
</apply>
<ci> ko_r </ci>
</apply>
<ci> nr </ci>
</apply>
<apply>
<times/>
<apply>
<times/>
<apply>
<divide/>
<apply>
<times/>
<ci> ka </ci>
<ci> kao_f </ci>
</apply>
<ci> kao_r </ci>
</apply>
<ci> nr </ci>
</apply>
<apply>
<power/>
<apply>
<times/>
<apply>
<divide/>
<ci> ka_f </ci>
<ci> ka_r </ci>
</apply>
<ci> D </ci>
</apply>
<ci> nc </ci>
</apply>
</apply>
</apply>
</apply>
<apply>
<plus/>
<apply>
<plus/>
<cn type="integer"> 1 </cn>
<apply>
<times/>
<apply>
<divide/>
<ci> ko_f </ci>
<ci> ko_r </ci>
</apply>
<ci> nr </ci>
</apply>
</apply>
<apply>
<times/>
<apply>
<times/>
<apply>
<divide/>
<ci> kao_f </ci>
<ci> kao_r </ci>
</apply>
<ci> nr </ci>
</apply>
<apply>
<power/>
<apply>
<times/>
<apply>
<divide/>
<ci> ka_f </ci>
<ci> ka_r </ci>
</apply>
<ci> D </ci>
</apply>
<ci> nc </ci>
</apply>
</apply>
</apply>
</apply>
</math>
<listOfLocalParameters/>
</kineticLaw>
</reaction>
<reaction compartment="Cell" id="Degradation_S1" metaid="iBioSim22" reversible="false" sboTerm="SBO:0000179">
<listOfReactants>
<speciesReference constant="true" species="S1" stoichiometry="1"/>
</listOfReactants>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<times/>
<ci> kd </ci>
<ci> S1 </ci>
</apply>
</math>
</kineticLaw>
</reaction>
</listOfReactions>
<listOfEvents/>
</model>
</sbml>

View file

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<omexManifest xmlns="http://identifiers.org/combine.specifications/omex-manifest">
<content location="." format="http://identifiers.org/combine.specifications/omex" />
<content location="./manifest.xml" format="http://identifiers.org/combine.specifications/omex-manifest" />
<content location="./SimpleHierachyModel.sbol" format="http://identifiers.org/combine.specifications/sbol.version-2" />
<content location="./DSensor.xml" format="http://identifiers.org/combine.specifications/sbml.level-3.version-2.core" />
<content location="./SimpleHierachyModel.sedml" format="http://identifiers.org/combine.specifications/sed-ml.level-1.version-2" master="true" />
<content location="./topModel.xml" format="http://identifiers.org/combine.specifications/sbml.level-3.version-2.core" />
<content location="./metadata.rdf" format="http://identifiers.org/combine.specifications/omex-metadata" />
</omexManifest>

View file

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dcterms="http://purl.org/dc/terms/" xmlns:vCard="http://www.w3.org/2006/vcard/ns#" />

View file

@ -0,0 +1,4 @@
// File generated by SBML-to-PRISM converter
// Original file: SimpleHierchyModel/topModel.xml
// @GeneticLogicLab

View file

@ -0,0 +1,97 @@
// File generated by SBML-to-PRISM converter
// Original file: SimpleHierchyModel/topModel.xml
// @GeneticLogicLab
ctmc
// const int MAX_AMOUNT = ADD VALUE
// Compartment size
const double Cell = 1.0;
// Model parameters
const double kr_f = 0.5; // Forward repression binding rate
const double kr_r = 1.0; // Reverse repression binding rate
const double ka_f = 0.0033; // Forward activation binding rate
const double ka_r = 1.0; // Reverse activation binding rate
const double ko_f = 0.033; // Forward RNAP binding rate
const double ko_r = 1.0; // Reverse RNAP binding rate
const double kao_f = 1.0; // Forward activated RNAP binding rate
const double kao_r = 1.0; // Reverse activated RNAP binding rate
const double nc = 2.0; // Stoichiometry of binding
const double nr = 30.0; // Initial RNAP count
const double ko = 0.05; // Open complex production rate
const double kb = 1.0E-4; // Basal production rate
const double ng = 2.0; // Initial promoter count
const double np = 10.0; // Stoichiometry of production
const double ka = 0.25; // Activated production rate
const double kd = 0.0075; // Degradation rate
const double C1__kr_f = 0.5; // Forward repression binding rate
const double C1__kr_r = 1.0; // Reverse repression binding rate
const double C1__ka_f = 0.0033; // Forward activation binding rate
const double C1__ka_r = 1.0; // Reverse activation binding rate
const double C1__ko_f = 0.033; // Forward RNAP binding rate
const double C1__ko_r = 1.0; // Reverse RNAP binding rate
const double C1__kao_f = 1.0; // Forward activated RNAP binding rate
const double C1__kao_r = 1.0; // Reverse activated RNAP binding rate
const double C1__nc = 2.0; // Stoichiometry of binding
const double C1__nr = 30.0; // Initial RNAP count
const double C1__ko = 0.05; // Open complex production rate
const double C1__kb = 1.0E-4; // Basal production rate
const double C1__ng = 2.0; // Initial promoter count
const double C1__np = 10.0; // Stoichiometry of production
const double C1__ka = 0.25; // Activated production rate
const double C1__kd = 0.0075; // Degradation rate
// Species S2
// const int S2_MAX = MAX_AMOUNT;
module S2
// S2 : [0..S2_MAX] init 60;
S2 : int init 60;
endmodule
// Species S3
// const int S3_MAX = MAX_AMOUNT;
module S3
// S3 : [0..S3_MAX] init 0;
S3 : int init 0;
// C1__Production_P0
[C1__Production_P0] S3 >= 0 -> (S3'=S3+10);
// Degradation_S3
[Degradation_S3] S3 > 0 -> (S3'=S3-1);
endmodule
// Species C1__P0
// const int C1__P0_MAX = MAX_AMOUNT;
module C1__P0
// C1__P0 : [0..C1__P0_MAX] init 2;
C1__P0 : int init 2;
endmodule
// Reaction rates
module reaction_rates
// C1__Production_P0: -> S3
[C1__Production_P0] ((C1__P0 * ((((C1__kb * C1__ko_f) / C1__ko_r) * C1__nr) + ((((C1__ka * C1__kao_f) / C1__kao_r) * C1__nr) * pow(((C1__ka_f / C1__ka_r) * S2) , C1__nc)))) / ((1 + ((C1__ko_f / C1__ko_r) * C1__nr)) + (((C1__kao_f / C1__kao_r) * C1__nr) * pow(((C1__ka_f / C1__ka_r) * S2) , C1__nc)))) > 0 -> (((C1__P0 * ((((C1__kb * C1__ko_f) / C1__ko_r) * C1__nr) + ((((C1__ka * C1__kao_f) / C1__kao_r) * C1__nr) * pow(((C1__ka_f / C1__ka_r) * S2) , C1__nc)))) / ((1 + ((C1__ko_f / C1__ko_r) * C1__nr)) + (((C1__kao_f / C1__kao_r) * C1__nr) * pow(((C1__ka_f / C1__ka_r) * S2) , C1__nc))))) : true;
// Degradation_S3: ->
[Degradation_S3] (C1__kd * S3) > 0 -> ((C1__kd * S3)) : true;
endmodule
// Reward structures (one per species)
// Reward 1: S2
rewards "S2" true : S2; endrewards
// Reward 2: S3
rewards "S3" true : S3; endrewards
// Reward 3: C1__P0
rewards "C1__P0" true : C1__P0; endrewards

View file

@ -0,0 +1,132 @@
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<sbml xmlns="http://www.sbml.org/sbml/level3/version2/core" comp:required="true" layout:required="false" level="3" version="2" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" xmlns:layout="http://www.sbml.org/sbml/level3/version1/layout/version1">
<comp:listOfExternalModelDefinitions xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1">
<comp:externalModelDefinition comp:id="DSensor" comp:md5="2b2abc20e4c21f932e52e1ff6c71104c" comp:source="DSensor.xml"/>
</comp:listOfExternalModelDefinitions>
<model id="topModel" metaid="iBioSim1">
<comp:listOfSubmodels xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1">
<comp:submodel comp:id="C1" comp:modelRef="DSensor" metaid="iBioSim17"/>
</comp:listOfSubmodels>
<comp:listOfPorts xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1">
<comp:port comp:id="compartment__Cell" comp:idRef="Cell" sboTerm="SBO:0000601"/>
</comp:listOfPorts>
<layout:listOfLayouts xmlns:layout="http://www.sbml.org/sbml/level3/version1/layout/version1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<layout:layout layout:id="iBioSim">
<layout:dimensions layout:depth="0" layout:height="425" layout:width="1070"/>
<layout:listOfAdditionalGraphicalObjects>
<layout:generalGlyph layout:id="Glyph__C1" layout:reference="C1">
<layout:boundingBox>
<layout:position layout:x="350" layout:y="160"/>
<layout:dimensions layout:height="40" layout:width="80"/>
</layout:boundingBox>
</layout:generalGlyph>
</layout:listOfAdditionalGraphicalObjects>
<layout:listOfCompartmentGlyphs>
<layout:compartmentGlyph layout:compartment="Cell" layout:id="Glyph__Cell">
<layout:boundingBox>
<layout:position layout:x="0" layout:y="0"/>
<layout:dimensions layout:height="425" layout:width="1070"/>
</layout:boundingBox>
</layout:compartmentGlyph>
</layout:listOfCompartmentGlyphs>
<layout:listOfSpeciesGlyphs>
<layout:speciesGlyph layout:id="Glyph__S2" layout:species="S2">
<layout:boundingBox>
<layout:position layout:x="160" layout:y="140"/>
<layout:dimensions layout:height="30" layout:width="100"/>
</layout:boundingBox>
</layout:speciesGlyph>
<layout:speciesGlyph layout:id="Glyph__S3" layout:species="S3">
<layout:boundingBox>
<layout:position layout:x="553" layout:y="143"/>
<layout:dimensions layout:height="30" layout:width="100"/>
</layout:boundingBox>
</layout:speciesGlyph>
</layout:listOfSpeciesGlyphs>
<layout:listOfTextGlyphs>
<layout:textGlyph layout:graphicalObject="Glyph__Cell" layout:id="TextGlyph__Cell" layout:text="Cell">
<layout:boundingBox>
<layout:position layout:x="0" layout:y="0"/>
<layout:dimensions layout:height="425" layout:width="1070"/>
</layout:boundingBox>
</layout:textGlyph>
<layout:textGlyph layout:graphicalObject="Glyph__C1" layout:id="TextGlyph__C1" layout:text="C1">
<layout:boundingBox>
<layout:position layout:x="350" layout:y="160"/>
<layout:dimensions layout:height="40" layout:width="80"/>
</layout:boundingBox>
</layout:textGlyph>
<layout:textGlyph layout:graphicalObject="Glyph__S2" layout:id="TextGlyph__S2" layout:text="S2">
<layout:boundingBox>
<layout:position layout:x="160" layout:y="140"/>
<layout:dimensions layout:height="30" layout:width="100"/>
</layout:boundingBox>
</layout:textGlyph>
<layout:textGlyph layout:graphicalObject="Glyph__S3" layout:id="TextGlyph__S3" layout:text="S3">
<layout:boundingBox>
<layout:position layout:x="553" layout:y="143"/>
<layout:dimensions layout:height="30" layout:width="100"/>
</layout:boundingBox>
</layout:textGlyph>
</layout:listOfTextGlyphs>
</layout:layout>
</layout:listOfLayouts>
<listOfFunctionDefinitions/>
<listOfUnitDefinitions/>
<listOfCompartments>
<compartment constant="true" id="Cell" size="1" spatialDimensions="3">
<comp:listOfReplacedElements xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1">
<comp:replacedElement comp:portRef="compartment__Cell" comp:submodelRef="C1"/>
</comp:listOfReplacedElements>
</compartment>
</listOfCompartments>
<listOfSpecies>
<species boundaryCondition="true" compartment="Cell" constant="false" hasOnlySubstanceUnits="true" id="S2" initialAmount="60" metaid="iBioSim18">
<comp:listOfReplacedElements xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1">
<comp:replacedElement comp:portRef="input__D" comp:submodelRef="C1"/>
</comp:listOfReplacedElements>
</species>
<species boundaryCondition="false" compartment="Cell" constant="false" hasOnlySubstanceUnits="true" id="S3" initialAmount="0" metaid="iBioSim19">
<comp:replacedBy xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" comp:portRef="output__S1" comp:submodelRef="C1"/>
</species>
</listOfSpecies>
<listOfParameters>
<parameter constant="true" id="kr_f" metaid="iBioSim2" name="Forward repression binding rate" value="0.5"/>
<parameter constant="true" id="kr_r" metaid="iBioSim3" name="Reverse repression binding rate" value="1"/>
<parameter constant="true" id="ka_f" metaid="iBioSim4" name="Forward activation binding rate" value="0.0033"/>
<parameter constant="true" id="ka_r" metaid="iBioSim5" name="Reverse activation binding rate" value="1"/>
<parameter constant="true" id="ko_f" metaid="iBioSim6" name="Forward RNAP binding rate" value="0.033"/>
<parameter constant="true" id="ko_r" metaid="iBioSim7" name="Reverse RNAP binding rate" value="1"/>
<parameter constant="true" id="kao_f" metaid="iBioSim8" name="Forward activated RNAP binding rate" value="1"/>
<parameter constant="true" id="kao_r" metaid="iBioSim9" name="Reverse activated RNAP binding rate" value="1"/>
<parameter constant="true" id="nc" metaid="iBioSim10" name="Stoichiometry of binding" value="2"/>
<parameter constant="true" id="nr" metaid="iBioSim11" name="Initial RNAP count" value="30"/>
<parameter constant="true" id="ko" metaid="iBioSim12" name="Open complex production rate" value="0.05"/>
<parameter constant="true" id="kb" metaid="iBioSim13" name="Basal production rate" value="0.0001"/>
<parameter constant="true" id="ng" metaid="iBioSim14" name="Initial promoter count" value="2"/>
<parameter constant="true" id="np" metaid="iBioSim15" name="Stoichiometry of production" value="10"/>
<parameter constant="true" id="ka" metaid="iBioSim16" name="Activated production rate" value="0.25"/>
<parameter constant="true" id="kd" name="Degradation rate" value="0.0075"/>
</listOfParameters>
<listOfInitialAssignments/>
<listOfConstraints/>
<listOfReactions>
<reaction compartment="Cell" id="Degradation_S3" reversible="false" sboTerm="SBO:0000179">
<comp:replacedBy xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" comp:portRef="Degradation_S1" comp:submodelRef="C1"/>
<listOfReactants>
<speciesReference constant="true" species="S3" stoichiometry="1"/>
</listOfReactants>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<times/>
<ci> kd </ci>
<ci> S3 </ci>
</apply>
</math>
</kineticLaw>
</reaction>
</listOfReactions>
<listOfEvents/>
</model>
</sbml>

139
prismtest/SimplerChem.xml Normal file
View file

@ -0,0 +1,139 @@
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
<sbml xmlns="http://www.sbml.org/sbml/level3/version2/core" comp:required="true" fbc:required="false" layout:required="false" level="3" version="2" xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1" xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2" xmlns:layout="http://www.sbml.org/sbml/level3/version1/layout/version1">
<model id="SimplerChem" metaid="iBioSim3">
<comp:listOfPorts xmlns:comp="http://www.sbml.org/sbml/level3/version1/comp/version1">
<comp:port comp:id="compartment__Cell" comp:idRef="Cell" sboTerm="SBO:0000601"/>
</comp:listOfPorts>
<fbc:listOfObjectives xmlns:fbc="http://www.sbml.org/sbml/level3/version1/fbc/version2"/>
<layout:listOfLayouts xmlns:layout="http://www.sbml.org/sbml/level3/version1/layout/version1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<layout:layout layout:id="iBioSim">
<layout:dimensions layout:depth="0" layout:height="425" layout:width="1070"/>
<layout:listOfAdditionalGraphicalObjects>
<layout:generalGlyph layout:id="Glyph__c0" layout:metaidRef="c0">
<layout:boundingBox>
<layout:position layout:x="659" layout:y="175"/>
<layout:dimensions layout:height="40" layout:width="50"/>
</layout:boundingBox>
<layout:listOfReferenceGlyphs>
<layout:referenceGlyph layout:glyph="Glyph__S0" layout:id="Glyph__c0__substrate__S0" layout:role="substrate">
<layout:curve>
<layout:listOfCurveSegments>
<layout:curveSegment xsi:type="LineSegment">
<layout:start layout:x="421" layout:y="226"/>
<layout:end layout:x="684" layout:y="195"/>
</layout:curveSegment>
</layout:listOfCurveSegments>
</layout:curve>
</layout:referenceGlyph>
</layout:listOfReferenceGlyphs>
</layout:generalGlyph>
</layout:listOfAdditionalGraphicalObjects>
<layout:listOfCompartmentGlyphs>
<layout:compartmentGlyph layout:compartment="Cell" layout:id="Glyph__Cell">
<layout:boundingBox>
<layout:position layout:x="0" layout:y="0"/>
<layout:dimensions layout:height="425" layout:width="1070"/>
</layout:boundingBox>
</layout:compartmentGlyph>
</layout:listOfCompartmentGlyphs>
<layout:listOfSpeciesGlyphs>
<layout:speciesGlyph layout:id="Glyph__S0" layout:species="S0">
<layout:boundingBox>
<layout:position layout:x="371" layout:y="211"/>
<layout:dimensions layout:height="30" layout:width="100"/>
</layout:boundingBox>
</layout:speciesGlyph>
</layout:listOfSpeciesGlyphs>
<layout:listOfTextGlyphs>
<layout:textGlyph layout:graphicalObject="Glyph__Cell" layout:id="TextGlyph__Cell" layout:text="Cell">
<layout:boundingBox>
<layout:position layout:x="0" layout:y="0"/>
<layout:dimensions layout:height="425" layout:width="1070"/>
</layout:boundingBox>
</layout:textGlyph>
<layout:textGlyph layout:graphicalObject="Glyph__S0" layout:id="TextGlyph__S0" layout:text="S0">
<layout:boundingBox>
<layout:position layout:x="371" layout:y="211"/>
<layout:dimensions layout:height="30" layout:width="100"/>
</layout:boundingBox>
</layout:textGlyph>
<layout:textGlyph layout:graphicalObject="Glyph__c0" layout:id="TextGlyph__c0" layout:text="c0">
<layout:boundingBox>
<layout:position layout:x="659" layout:y="175"/>
<layout:dimensions layout:height="40" layout:width="50"/>
</layout:boundingBox>
</layout:textGlyph>
</layout:listOfTextGlyphs>
</layout:layout>
</layout:listOfLayouts>
<listOfFunctionDefinitions>
<functionDefinition id="F" name="Eventually Property">
<math xmlns="http://www.w3.org/1998/Math/MathML">
<lambda>
<bvar>
<ci> t </ci>
</bvar>
<bvar>
<ci> x </ci>
</bvar>
<apply>
<or/>
<apply>
<not/>
<ci> t </ci>
</apply>
<apply>
<not/>
<ci> x </ci>
</apply>
</apply>
</lambda>
</math>
</functionDefinition>
</listOfFunctionDefinitions>
<listOfCompartments>
<compartment constant="true" id="Cell" size="1" spatialDimensions="3"/>
</listOfCompartments>
<listOfSpecies>
<species boundaryCondition="false" compartment="Cell" constant="false" hasOnlySubstanceUnits="true" id="S0" initialAmount="50" metaid="iBioSim1"/>
</listOfSpecies>
<listOfParameters>
<parameter constant="true" id="kd" metaid="iBioSim2" name="Degradation rate" value="0.0075"/>
</listOfParameters>
<listOfConstraints>
<constraint metaid="c0">
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<ci> F </ci>
<apply>
<leq/>
<csymbol encoding="text" definitionURL="http://www.sbml.org/sbml/symbols/time"> t </csymbol>
<cn type="integer"> 100 </cn>
</apply>
<apply>
<lt/>
<ci> S0 </ci>
<cn type="integer"> 1 </cn>
</apply>
</apply>
</math>
</constraint>
</listOfConstraints>
<listOfReactions>
<reaction compartment="Cell" id="Degradation_S0" metaid="iBioSim4" reversible="false" sboTerm="SBO:0000179">
<listOfReactants>
<speciesReference constant="true" species="S0" stoichiometry="1"/>
</listOfReactants>
<kineticLaw>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<apply>
<times/>
<ci> kd </ci>
<ci> S0 </ci>
</apply>
</math>
</kineticLaw>
</reaction>
</listOfReactions>
</model>
</sbml>

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,5 @@
// File generated by SBML-to-PRISM converter
// Original file: Toggle_10_10.xml
// @GeneticLogicLab
P=? [F<=2100 ((Z > 80) & (Y < 40))]

320
prismtest/Toggle_10_10.sm Normal file
View file

@ -0,0 +1,320 @@
// File generated by SBML-to-PRISM converter
// Original file: Toggle_10_10.xml
// @GeneticLogicLab
ctmc
// const int MAX_AMOUNT = ADD VALUE
// Compartment size
const double Cell = 1.0;
// Model parameters
const double kr_f = 0.5; // Forward repression binding rate
const double kr_r = 1.0; // Reverse repression binding rate
const double ka_f = 0.0033; // Forward activation binding rate
const double ka_r = 1.0; // Reverse activation binding rate
const double ko_f = 0.033; // Forward RNAP binding rate
const double ko_r = 1.0; // Reverse RNAP binding rate
const double kao_f = 1.0; // Forward activated RNAP binding rate
const double kao_r = 1.0; // Reverse activated RNAP binding rate
const double nc = 2.0; // Stoichiometry of binding
const double nr = 30.0; // Initial RNAP count
const double ko = 0.05; // Open complex production rate
const double kb = 1.0E-4; // Basal production rate
const double ng = 2.0; // Initial promoter count
const double np = 10.0; // Stoichiometry of production
const double ka = 0.25; // Activated production rate
const double kd = 7.5E-4; // Degradation rate
// Species _A
// const int _A_MAX = MAX_AMOUNT;
module _A
// _A : [0.._A_MAX] init 0;
_A : int init 0;
endmodule
// Species D
// const int D_MAX = MAX_AMOUNT;
module D
// D : [0..D_MAX] init 70;
D : int init 70;
// Production_P1
[Production_P1] D >= 0 -> (D'=D+10);
// Degradation_D
[Degradation_D] D > 9 -> (D'=D-10);
endmodule
// Species B
// const int B_MAX = MAX_AMOUNT;
module B
// B : [0..B_MAX] init 120;
B : int init 120;
endmodule
// Species Y
// const int Y_MAX = MAX_AMOUNT;
module Y
// Y : [0..Y_MAX] init 70;
Y : int init 70;
// Production_P3
[Production_P3] Y >= 0 -> (Y'=Y+10);
// Production_P5
[Production_P5] Y >= 0 -> (Y'=Y+10);
// Degradation_Y
[Degradation_Y] Y > 9 -> (Y'=Y-10);
endmodule
// Species _E
// const int _E_MAX = MAX_AMOUNT;
module _E
// _E : [0.._E_MAX] init 0;
_E : int init 0;
// Production_P2
[Production_P2] _E >= 0 -> (_E'=_E+10);
// Degradation_E
[Degradation_E] _E > 9 -> (_E'=_E-10);
endmodule
// Species _X
// const int _X_MAX = MAX_AMOUNT;
module _X
// _X : [0.._X_MAX] init 70;
_X : int init 70;
// Production_P1
[Production_P1] _X >= 0 -> (_X'=_X+10);
// Production_P2
[Production_P2] _X >= 0 -> (_X'=_X+10);
// Degradation_X
[Degradation_X] _X > 9 -> (_X'=_X-10);
endmodule
// Species FF
// const int FF_MAX = MAX_AMOUNT;
module FF
// FF : [0..FF_MAX] init 70;
FF : int init 70;
// Production_P8
[Production_P8] FF >= 0 -> (FF'=FF+10);
// Production_P7
[Production_P7] FF >= 0 -> (FF'=FF+10);
// Degradation_FF
[Degradation_FF] FF > 9 -> (FF'=FF-10);
endmodule
// Species Z
// const int Z_MAX = MAX_AMOUNT;
module Z
// Z : [0..Z_MAX] init 0;
Z : int init 0;
// Production_P4
[Production_P4] Z >= 0 -> (Z'=Z+10);
// Production_P6
[Production_P6] Z >= 0 -> (Z'=Z+10);
// Degradation_Z
[Degradation_Z] Z > 9 -> (Z'=Z-10);
endmodule
// Species _C
// const int _C_MAX = MAX_AMOUNT;
module _C
// _C : [0.._C_MAX] init 70;
_C : int init 70;
// Production_P5
[Production_P5] _C >= 0 -> (_C'=_C+10);
// Degradation_C
[Degradation_C] _C > 9 -> (_C'=_C-10);
endmodule
// Species P8
// const int P8_MAX = MAX_AMOUNT;
module P8
// P8 : [0..P8_MAX] init 2;
P8 : int init 2;
endmodule
// Species P1
// const int P1_MAX = MAX_AMOUNT;
module P1
// P1 : [0..P1_MAX] init 2;
P1 : int init 2;
endmodule
// Species P2
// const int P2_MAX = MAX_AMOUNT;
module P2
// P2 : [0..P2_MAX] init 2;
P2 : int init 2;
endmodule
// Species P3
// const int P3_MAX = MAX_AMOUNT;
module P3
// P3 : [0..P3_MAX] init 2;
P3 : int init 2;
endmodule
// Species P4
// const int P4_MAX = MAX_AMOUNT;
module P4
// P4 : [0..P4_MAX] init 2;
P4 : int init 2;
endmodule
// Species P5
// const int P5_MAX = MAX_AMOUNT;
module P5
// P5 : [0..P5_MAX] init 2;
P5 : int init 2;
endmodule
// Species P6
// const int P6_MAX = MAX_AMOUNT;
module P6
// P6 : [0..P6_MAX] init 2;
P6 : int init 2;
endmodule
// Species P7
// const int P7_MAX = MAX_AMOUNT;
module P7
// P7 : [0..P7_MAX] init 2;
P7 : int init 2;
endmodule
// Reaction rates
module reaction_rates
// Production_P8: -> FF
[Production_P8] (((((P8 * ko) * ko_f) / ko_r) * nr) / ((1 + ((ko_f / ko_r) * nr)) + pow(((kr_f / kr_r) *_E) , nc))) > 0 -> ((((((P8 * ko) * ko_f) / ko_r) * nr) / ((1 + ((ko_f / ko_r) * nr)) + pow(((kr_f / kr_r) *_E) , nc)))) : true;
// Production_P1: -> D _X
[Production_P1] (((((P1 * ko) * ko_f) / ko_r) * nr) / ((1 + ((ko_f / ko_r) * nr)) + pow(((kr_f / kr_r) *_A) , nc))) > 0 -> ((((((P1 * ko) * ko_f) / ko_r) * nr) / ((1 + ((ko_f / ko_r) * nr)) + pow(((kr_f / kr_r) *_A) , nc)))) : true;
// Production_P2: -> _E _X
[Production_P2] (((((P2 * ko) * ko_f) / ko_r) * nr) / ((1 + ((ko_f / ko_r) * nr)) + pow(((kr_f / kr_r) * B) , nc))) > 0 -> ((((((P2 * ko) * ko_f) / ko_r) * nr) / ((1 + ((ko_f / ko_r) * nr)) + pow(((kr_f / kr_r) * B) , nc)))) : true;
// Production_P3: -> Y
[Production_P3] (((((P3 * ko) * ko_f) / ko_r) * nr) / ((1 + ((ko_f / ko_r) * nr)) + pow(((kr_f / kr_r) *_X) , nc))) > 0 -> ((((((P3 * ko) * ko_f) / ko_r) * nr) / ((1 + ((ko_f / ko_r) * nr)) + pow(((kr_f / kr_r) *_X) , nc)))) : true;
// Production_P4: -> Z
[Production_P4] (((((P4 * ko) * ko_f) / ko_r) * nr) / ((1 + ((ko_f / ko_r) * nr)) + pow(((kr_f / kr_r) * FF) , nc))) > 0 -> ((((((P4 * ko) * ko_f) / ko_r) * nr) / ((1 + ((ko_f / ko_r) * nr)) + pow(((kr_f / kr_r) * FF) , nc)))) : true;
// Production_P5: -> _C Y
[Production_P5] (((((P5 * ko) * ko_f) / ko_r) * nr) / ((1 + ((ko_f / ko_r) * nr)) + pow(((kr_f / kr_r) * Z) , nc))) > 0 -> ((((((P5 * ko) * ko_f) / ko_r) * nr) / ((1 + ((ko_f / ko_r) * nr)) + pow(((kr_f / kr_r) * Z) , nc)))) : true;
// Production_P6: -> Z
[Production_P6] (((((P6 * ko) * ko_f) / ko_r) * nr) / ((1 + ((ko_f / ko_r) * nr)) + pow(((kr_f / kr_r) * Y) , nc))) > 0 -> ((((((P6 * ko) * ko_f) / ko_r) * nr) / ((1 + ((ko_f / ko_r) * nr)) + pow(((kr_f / kr_r) * Y) , nc)))) : true;
// Production_P7: -> FF
[Production_P7] (((((P7 * ko) * ko_f) / ko_r) * nr) / ((1 + ((ko_f / ko_r) * nr)) + pow(((kr_f / kr_r) * D) , nc))) > 0 -> ((((((P7 * ko) * ko_f) / ko_r) * nr) / ((1 + ((ko_f / ko_r) * nr)) + pow(((kr_f / kr_r) * D) , nc)))) : true;
// Degradation_E: ->
[Degradation_E] (kd *_E) > 0 -> ((kd *_E)) : true;
// Degradation_C: ->
[Degradation_C] (kd *_C) > 0 -> ((kd *_C)) : true;
// Degradation_X: ->
[Degradation_X] (kd *_X) > 0 -> ((kd *_X)) : true;
// Degradation_D: ->
[Degradation_D] (kd * D) > 0 -> ((kd * D)) : true;
// Degradation_FF: ->
[Degradation_FF] (kd * FF) > 0 -> ((kd * FF)) : true;
// Degradation_Y: ->
[Degradation_Y] (kd * Y) > 0 -> ((kd * Y)) : true;
// Degradation_Z: ->
[Degradation_Z] (kd * Z) > 0 -> ((kd * Z)) : true;
endmodule
// Reward structures (one per species)
// Reward 1: _A
rewards "_A" true : _A; endrewards
// Reward 2: D
rewards "D" true : D; endrewards
// Reward 3: B
rewards "B" true : B; endrewards
// Reward 4: Y
rewards "Y" true : Y; endrewards
// Reward 5: _E
rewards "_E" true : _E; endrewards
// Reward 6: _X
rewards "_X" true : _X; endrewards
// Reward 7: FF
rewards "FF" true : FF; endrewards
// Reward 8: Z
rewards "Z" true : Z; endrewards
// Reward 9: _C
rewards "_C" true : _C; endrewards
// Reward 10: P8
rewards "P8" true : P8; endrewards
// Reward 11: P1
rewards "P1" true : P1; endrewards
// Reward 12: P2
rewards "P2" true : P2; endrewards
// Reward 13: P3
rewards "P3" true : P3; endrewards
// Reward 14: P4
rewards "P4" true : P4; endrewards
// Reward 15: P5
rewards "P5" true : P5; endrewards
// Reward 16: P6
rewards "P6" true : P6; endrewards
// Reward 17: P7
rewards "P7" true : P7; endrewards

1478
prismtest/Toggle_10_10.xml Normal file

File diff suppressed because it is too large Load diff

10
prismtest/pro.csl Normal file
View file

@ -0,0 +1,10 @@
// Hazard for transitions where YFP should remain low: the probability that YFP reaches 30 or above molecules
P=? [ true U[0,1000] (YFP_protein >= 30) ]
//P=? [ true U[0,1000] (YFP_protein > 30) ]
// // For 010to111 and 100to111
// P=? [!(true U[0,1000] (YFP_protein > 30)) ]

2
prismtest/results.txt Normal file
View file

@ -0,0 +1,2 @@
0.0
0.9997151321743104

View file

@ -124,7 +124,7 @@
</configuration>
<phase>package</phase>
<goals>
<goal>assembly</goal>
<goal>single</goal>
</goals>
</execution>
</executions>

View file

@ -30,7 +30,7 @@
</configuration>
<phase>package</phase>
<goals>
<goal>assembly</goal>
<goal>single</goal>
</goals>
</execution>
</executions>