diff --git a/conversion/src/main/java/edu/utah/ece/async/ibiosim/conversion/SBML2PRISM.java b/conversion/src/main/java/edu/utah/ece/async/ibiosim/conversion/SBML2PRISM.java index d3704d084..234565457 100644 --- a/conversion/src/main/java/edu/utah/ece/async/ibiosim/conversion/SBML2PRISM.java +++ b/conversion/src/main/java/edu/utah/ece/async/ibiosim/conversion/SBML2PRISM.java @@ -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,181 +74,356 @@ 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 compartmentList = new ArrayList(); + // 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 parameterList = new ArrayList(); + // 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 reactionList = new ArrayList(); + // 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 localParameterList = new ArrayList(); + // 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 UpdatedlocalParameterList = new ArrayList(); + 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 map = new HashMap(); + 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"); } out.close(); - writePRISMProperty(filename, model); + // writePRISMProperty(filename, model); } - /* - * 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("(? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + pBAD + + + + + + + kb + + + ko_f + ko_r + + + nr + + + + + + + + ka + + + kao_f + kao_r + + + nr + + + + + + + + ka_f + ka_r + + Ara_AraC_protein + + nc + + + + + + + + + 1 + + + + + ko_f + ko_r + + nr + + + + + + + + + kao_f + kao_r + + nr + + + + + + + + ka_f + ka_r + + Ara_AraC_protein + + nc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + pHlyIIR + ko + + + + ko_f + ko_r + + + nr + + + + + + 1 + + + + + ko_f + ko_r + + nr + + + + + + + + + kr_f + kr_r + + HlyIIR_protein + + nc + + + + + + + + + \ No newline at end of file diff --git a/prismtest/Circuit0x8E/AraCsensor_module.xml b/prismtest/Circuit0x8E/AraCsensor_module.xml new file mode 100644 index 000000000..947db0f31 --- /dev/null +++ b/prismtest/Circuit0x8E/AraCsensor_module.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/prismtest/Circuit0x8E/BetIpart_module.xml b/prismtest/Circuit0x8E/BetIpart_module.xml new file mode 100644 index 000000000..c17495544 --- /dev/null +++ b/prismtest/Circuit0x8E/BetIpart_module.xml @@ -0,0 +1,464 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + pHlyIIR + ko + + + + ko_f + ko_r + + + nr + + + + + + 1 + + + + + ko_f + ko_r + + nr + + + + + + + + + kr_f + kr_r + + HlyIIR_protein + + nc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + pTet + ko + + + + ko_f + ko_r + + + nr + + + + + + 1 + + + + + ko_f + ko_r + + nr + + + + + + + + + kr_f + kr_r + + TetR_protein + + nc + + + + + + + + + + \ No newline at end of file diff --git a/prismtest/Circuit0x8E/HlyIIRpart_module.xml b/prismtest/Circuit0x8E/HlyIIRpart_module.xml new file mode 100644 index 000000000..fb3c18ffb --- /dev/null +++ b/prismtest/Circuit0x8E/HlyIIRpart_module.xml @@ -0,0 +1,508 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + pTet + + + + + + + kb + + + ko_f + ko_r + + + nr + + + + + + + + ka + + + kao_f + kao_r + + + nr + + + + + + + + ka_f + ka_r + + Ara_AraC_protein + + nc + + + + + + + + + 1 + + + + + ko_f + ko_r + + nr + + + + + + + + + kao_f + kao_r + + nr + + + + + + + + ka_f + ka_r + + Ara_AraC_protein + + nc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + pBAD + ko + + + + ko_f + ko_r + + + nr + + + + + + 1 + + + + + ko_f + ko_r + + nr + + + + + + + + + kr_f + kr_r + + TetR_protein + + nc + + + + + + + + + + \ No newline at end of file diff --git a/prismtest/Circuit0x8E/LacIsensor_module.xml b/prismtest/Circuit0x8E/LacIsensor_module.xml new file mode 100644 index 000000000..834a13b1c --- /dev/null +++ b/prismtest/Circuit0x8E/LacIsensor_module.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/prismtest/Circuit0x8E/PhlFpart_module.xml b/prismtest/Circuit0x8E/PhlFpart_module.xml new file mode 100644 index 000000000..8bdf95547 --- /dev/null +++ b/prismtest/Circuit0x8E/PhlFpart_module.xml @@ -0,0 +1,464 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + pTac + ko + + + + ko_f + ko_r + + + nr + + + + + + 1 + + + + + ko_f + ko_r + + nr + + + + + + + + + kr_f + kr_r + + LacI_protein + + nc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + pAmtR + ko + + + + ko_f + ko_r + + + nr + + + + + + 1 + + + + + ko_f + ko_r + + nr + + + + + + + + + kr_f + kr_r + + AmtR_protein + + nc + + + + + + + + + + \ No newline at end of file diff --git a/prismtest/Circuit0x8E/TetRsensor_module.xml b/prismtest/Circuit0x8E/TetRsensor_module.xml new file mode 100644 index 000000000..b7828b22e --- /dev/null +++ b/prismtest/Circuit0x8E/TetRsensor_module.xml @@ -0,0 +1,41 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/prismtest/Circuit0x8E/YFPpart_module.xml b/prismtest/Circuit0x8E/YFPpart_module.xml new file mode 100644 index 000000000..2f853244a --- /dev/null +++ b/prismtest/Circuit0x8E/YFPpart_module.xml @@ -0,0 +1,464 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + pPhlF + ko + + + + ko_f + ko_r + + + nr + + + + + + 1 + + + + + ko_f + ko_r + + nr + + + + + + + + + kr_f + kr_r + + PhlF_protein + + nc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + pBetI + ko + + + + ko_f + ko_r + + + nr + + + + + + 1 + + + + + ko_f + ko_r + + nr + + + + + + + + + kr_f + kr_r + + BetI_protein + + nc + + + + + + + + + + \ No newline at end of file diff --git a/prismtest/Circuit0x8E/manifest.xml b/prismtest/Circuit0x8E/manifest.xml new file mode 100644 index 000000000..5175ad907 --- /dev/null +++ b/prismtest/Circuit0x8E/manifest.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + + + diff --git a/prismtest/Circuit0x8E/results.txt b/prismtest/Circuit0x8E/results.txt new file mode 100644 index 000000000..1543e6ca7 --- /dev/null +++ b/prismtest/Circuit0x8E/results.txt @@ -0,0 +1,2 @@ +0.0 +0.0010947156623888129 diff --git a/prismtest/Circuit0x8E/topModel.props b/prismtest/Circuit0x8E/topModel.props new file mode 100644 index 000000000..2ead6d057 --- /dev/null +++ b/prismtest/Circuit0x8E/topModel.props @@ -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) ] diff --git a/prismtest/Circuit0x8E/topModel.sm b/prismtest/Circuit0x8E/topModel.sm new file mode 100644 index 000000000..6de0a8c1e --- /dev/null +++ b/prismtest/Circuit0x8E/topModel.sm @@ -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 diff --git a/prismtest/Circuit0x8E/topModel.xml b/prismtest/Circuit0x8E/topModel.xml new file mode 100644 index 000000000..8485dba83 --- /dev/null +++ b/prismtest/Circuit0x8E/topModel.xml @@ -0,0 +1,1489 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + YFP_protein + 30 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + kd + AraC_protein + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + kc_f + + + TetR_protein + nc + + + + + aTc + nc + + + + + kc_r + aTc_TetR_protein + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + kd + TetR_protein + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + kd + Ara_AraC_protein + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + kd + IPTG_LacI_protein + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + kd + PhlF_protein + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + kd + aTc_TetR_protein + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + kc_f + + + IPTG + nc + + + + + LacI_protein + nc + + + + + kc_r + IPTG_LacI_protein + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + kd + YFP_protein + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + kd + LacI_protein + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + kc_f + + + AraC_protein + nc + + + + + Ara + nc + + + + + kc_r + Ara_AraC_protein + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + kd + HlyIIR_protein + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + kd + BetI_protein + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + kd + AmtR_protein + + + + + + + + \ No newline at end of file diff --git a/prismtest/Circuit0x8E_010to100.xml b/prismtest/Circuit0x8E_010to100.xml new file mode 100644 index 000000000..8ec591992 --- /dev/null +++ b/prismtest/Circuit0x8E_010to100.xml @@ -0,0 +1,2009 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + YFP_protein + 30 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + kd + PhlF_protein + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + kd + YFP_protein + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + kd + HlyIIR_protein + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + kd + BetI_protein + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + kd + AmtR_protein + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + + + + 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 + + + + + + + + topModel_AmtRpart_module_sub__ka_f + topModel_AmtRpart_module_sub__ka_r + + Ara_AraC_protein + + topModel_AmtRpart_module_sub__nc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + + + + + topModel_AmtRpart_module_sub__kr_f + topModel_AmtRpart_module_sub__kr_r + + HlyIIR_protein + + topModel_AmtRpart_module_sub__nc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + + + + + topModel_YFPpart_module_sub__kr_f + topModel_YFPpart_module_sub__kr_r + + PhlF_protein + + topModel_YFPpart_module_sub__nc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + + + + + topModel_YFPpart_module_sub__kr_f + topModel_YFPpart_module_sub__kr_r + + BetI_protein + + topModel_YFPpart_module_sub__nc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + + + + + topModel_BetIpart_module_sub__kr_f + topModel_BetIpart_module_sub__kr_r + + HlyIIR_protein + + topModel_BetIpart_module_sub__nc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + + + + + topModel_BetIpart_module_sub__kr_f + topModel_BetIpart_module_sub__kr_r + + TetR_protein + + topModel_BetIpart_module_sub__nc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + + + + + topModel_PhlFpart_module_sub__kr_f + topModel_PhlFpart_module_sub__kr_r + + LacI_protein + + topModel_PhlFpart_module_sub__nc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + + + + + topModel_PhlFpart_module_sub__kr_f + topModel_PhlFpart_module_sub__kr_r + + AmtR_protein + + topModel_PhlFpart_module_sub__nc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + + + + 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 + + + + + + + + topModel_HlyIIRpart_module_sub__ka_f + topModel_HlyIIRpart_module_sub__ka_r + + Ara_AraC_protein + + topModel_HlyIIRpart_module_sub__nc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + + + + + topModel_HlyIIRpart_module_sub__kr_f + topModel_HlyIIRpart_module_sub__kr_r + + TetR_protein + + topModel_HlyIIRpart_module_sub__nc + + + + + + + + + diff --git a/prismtest/Circuit0x8E_LHF_010to100.xml b/prismtest/Circuit0x8E_LHF_010to100.xml new file mode 100644 index 000000000..c1e2259fe --- /dev/null +++ b/prismtest/Circuit0x8E_LHF_010to100.xml @@ -0,0 +1,2103 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + YFP_protein + 30 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + kd + BM3R1_protein + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + kd + PhlF_protein + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + kd + YFP_protein + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + kd + HlyIIR_protein + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + kd + BetI_protein + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + + + + + topModel_BetIpart_module_sub__kr_f + topModel_BetIpart_module_sub__kr_r + + HlyIIR_protein + + topModel_BetIpart_module_sub__nc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + + + + + topModel_BetIpart_module_sub__kr_f + topModel_BetIpart_module_sub__kr_r + + TetR_protein + + topModel_BetIpart_module_sub__nc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + topModel_AmtRpart_module_sub__pBM3R1 + + + + + + + + + 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 + + + + + + + + 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 + + + + + + + + topModel_AmtRpart_module_sub__ka_f + topModel_AmtRpart_module_sub__ka_r + + Ara_AraC_protein + + topModel_AmtRpart_module_sub__nc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + topModel_AmtRpart_module_sub__pBAD + 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 + + + + + + + + + topModel_AmtRpart_module_sub__kr_f + topModel_AmtRpart_module_sub__kr_r + + BM3R1_protein + + topModel_AmtRpart_module_sub__nc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + topModel_Inverter2_module_sub__Inverter2_fc + topModel_Inverter2_module_sub__ko + + topModel_Inverter2_module_sub__ko_f + + topModel_Inverter2_module_sub__ko_r + + topModel_Inverter2_module_sub__nr + + + + + + 1 + + + + + topModel_Inverter2_module_sub__ko_f + topModel_Inverter2_module_sub__ko_r + + topModel_Inverter2_module_sub__nr + + + + + + + + + topModel_Inverter2_module_sub__kr_f + topModel_Inverter2_module_sub__kr_r + + TetR_protein + + topModel_Inverter2_module_sub__nc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + + + + + topModel_YFPpart_module_sub__kr_f + topModel_YFPpart_module_sub__kr_r + + PhlF_protein + + topModel_YFPpart_module_sub__nc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + + + + + topModel_YFPpart_module_sub__kr_f + topModel_YFPpart_module_sub__kr_r + + BetI_protein + + topModel_YFPpart_module_sub__nc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + topModel_Inverter1_module_sub__Inverter1_fc + + + + + + + + + topModel_Inverter1_module_sub__kb + topModel_Inverter1_module_sub__ko_f + + topModel_Inverter1_module_sub__ko_r + + topModel_Inverter1_module_sub__nr + + + + + + + + + + topModel_Inverter1_module_sub__ka + topModel_Inverter1_module_sub__kao_f + + topModel_Inverter1_module_sub__kao_r + + topModel_Inverter1_module_sub__nr + + + + + + + + topModel_Inverter1_module_sub__ka_f + topModel_Inverter1_module_sub__ka_r + + Ara_AraC_protein + + topModel_Inverter1_module_sub__nc + + + + + + + + + 1 + + + + + topModel_Inverter1_module_sub__ko_f + topModel_Inverter1_module_sub__ko_r + + topModel_Inverter1_module_sub__nr + + + + + + + + + topModel_Inverter1_module_sub__kao_f + topModel_Inverter1_module_sub__kao_r + + topModel_Inverter1_module_sub__nr + + + + + + + + topModel_Inverter1_module_sub__ka_f + topModel_Inverter1_module_sub__ka_r + + Ara_AraC_protein + + topModel_Inverter1_module_sub__nc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + + + + + topModel_PhlFpart_module_sub__kr_f + topModel_PhlFpart_module_sub__kr_r + + LacI_protein + + topModel_PhlFpart_module_sub__nc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 + + + + + + + + + topModel_PhlFpart_module_sub__kr_f + topModel_PhlFpart_module_sub__kr_r + + AmtR_protein + + topModel_PhlFpart_module_sub__nc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + kd + AmtR_protein + + + + + + + diff --git a/prismtest/Majority_10_10.xml b/prismtest/Majority_10_10.xml new file mode 100644 index 000000000..cc64d5775 --- /dev/null +++ b/prismtest/Majority_10_10.xml @@ -0,0 +1,1427 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + t + + + x + + + + + + t + + + + x + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + F + + + t + 2100 + + + + + + E + 40 + + + + C + 20 + + + + + + + + + + + + + + + + kd + C + + + + + + + + + + + + + kd + D + + + + + + + + + + + + + kd + E + + + + + + + + + + + + + kd + X + + + + + + + + + + + + + kd + Y + + + + + + + + + + + + + kd + Z + + + + + + + + + + + + + + + + + + + + + + + + + + P1 + ko + + ko_f + + ko_r + + nr + + + + + + 1 + + + + + ko_f + ko_r + + nr + + + + + + + + + kr_f + kr_r + + A + + nc + + + + + + + + + + + + + + + + + + + + + + + + + + + + P2 + ko + + ko_f + + ko_r + + nr + + + + + + 1 + + + + + ko_f + ko_r + + nr + + + + + + + + + kr_f + kr_r + + B + + nc + + + + + + + + + + + + + + + + + + + + + + + + + + P3 + ko + + + + ko_f + ko_r + + + nr + + + + + + 1 + + + + + ko_f + ko_r + + nr + + + + + + + + + kr_f + kr_r + + D + + nc + + + + + + + + + + + + + + + + + + + + + + + + + + + P4 + ko + + ko_f + + ko_r + + nr + + + + + + 1 + + + + + ko_f + ko_r + + nr + + + + + + + + + kr_f + kr_r + + X + + nc + + + + + + + + + + + + + + + + + + + + + + + + + + + P5 + ko + + ko_f + + ko_r + + nr + + + + + + 1 + + + + + ko_f + ko_r + + nr + + + + + + + + + kr_f + kr_r + + Y + + nc + + + + + + + + + + + + + + + + + + + + + + + + + P6 + ko + + + + ko_f + ko_r + + + nr + + + + + + 1 + + + + + ko_f + ko_r + + nr + + + + + + + + + kr_f + kr_r + + Z + + nc + + + + + + + + + + + + + + + + + + + + + + + + + + + P7 + ko + + ko_f + + ko_r + + nr + + + + + + 1 + + + + + ko_f + ko_r + + nr + + + + + + + + + kr_f + kr_r + + D + + nc + + + + + + + + + + + + + + + + + + + + + + + + + P8 + ko + + + + ko_f + ko_r + + + nr + + + + + + 1 + + + + + ko_f + ko_r + + nr + + + + + + + + + kr_f + kr_r + + E + + nc + + + + + + + + + diff --git a/prismtest/SimpleChem.props b/prismtest/SimpleChem.props new file mode 100644 index 000000000..3cf2a0d0e --- /dev/null +++ b/prismtest/SimpleChem.props @@ -0,0 +1,5 @@ +// File generated by SBML-to-PRISM converter +// Original file: SimpleChem.xml +// @GeneticLogicLab + +P=? [F<=100 (S2 > 8)] \ No newline at end of file diff --git a/prismtest/SimpleChem.sm b/prismtest/SimpleChem.sm new file mode 100644 index 000000000..5b2a5960b --- /dev/null +++ b/prismtest/SimpleChem.sm @@ -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 diff --git a/prismtest/SimpleChem.xml b/prismtest/SimpleChem.xml new file mode 100644 index 000000000..5d27c5bd8 --- /dev/null +++ b/prismtest/SimpleChem.xml @@ -0,0 +1,222 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + t + + + x + + + + + + t + + + + x + + + + + + + + + + + + + + + + + + + + + + F + + + t + 100 + + + + S2 + 8 + + + + + + + + + + + + + + + + + + + + + kf + S0 + + S1 + + + + + + + + + + + \ No newline at end of file diff --git a/prismtest/SimpleHierchyModel/DSensor.xml b/prismtest/SimpleHierchyModel/DSensor.xml new file mode 100644 index 000000000..b20f60271 --- /dev/null +++ b/prismtest/SimpleHierchyModel/DSensor.xml @@ -0,0 +1,263 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + P0 + + + + + + + + + kb + ko_f + + ko_r + + nr + + + + + + + + + + ka + kao_f + + kao_r + + nr + + + + + + + + ka_f + ka_r + + D + + nc + + + + + + + + + 1 + + + + + ko_f + ko_r + + nr + + + + + + + + + kao_f + kao_r + + nr + + + + + + + + ka_f + ka_r + + D + + nc + + + + + + + + + + + + + + + + + kd + S1 + + + + + + + + \ No newline at end of file diff --git a/prismtest/SimpleHierchyModel/manifest.xml b/prismtest/SimpleHierchyModel/manifest.xml new file mode 100644 index 000000000..c6a6be97e --- /dev/null +++ b/prismtest/SimpleHierchyModel/manifest.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/prismtest/SimpleHierchyModel/metadata.rdf b/prismtest/SimpleHierchyModel/metadata.rdf new file mode 100644 index 000000000..218b0511f --- /dev/null +++ b/prismtest/SimpleHierchyModel/metadata.rdf @@ -0,0 +1,2 @@ + + diff --git a/prismtest/SimpleHierchyModel/topModel.props b/prismtest/SimpleHierchyModel/topModel.props new file mode 100644 index 000000000..699e82d3e --- /dev/null +++ b/prismtest/SimpleHierchyModel/topModel.props @@ -0,0 +1,4 @@ +// File generated by SBML-to-PRISM converter +// Original file: SimpleHierchyModel/topModel.xml +// @GeneticLogicLab + diff --git a/prismtest/SimpleHierchyModel/topModel.sm b/prismtest/SimpleHierchyModel/topModel.sm new file mode 100644 index 000000000..75e042b33 --- /dev/null +++ b/prismtest/SimpleHierchyModel/topModel.sm @@ -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 diff --git a/prismtest/SimpleHierchyModel/topModel.xml b/prismtest/SimpleHierchyModel/topModel.xml new file mode 100644 index 000000000..99d9008af --- /dev/null +++ b/prismtest/SimpleHierchyModel/topModel.xml @@ -0,0 +1,132 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + kd + S3 + + + + + + + + \ No newline at end of file diff --git a/prismtest/SimplerChem.xml b/prismtest/SimplerChem.xml new file mode 100644 index 000000000..574cb3a03 --- /dev/null +++ b/prismtest/SimplerChem.xml @@ -0,0 +1,139 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + t + + + x + + + + + + t + + + + x + + + + + + + + + + + + + + + + + + + + F + + + t + 100 + + + + S0 + 1 + + + + + + + + + + + + + + + kd + S0 + + + + + + + \ No newline at end of file diff --git a/prismtest/Speed_Independent_10_10.xml b/prismtest/Speed_Independent_10_10.xml new file mode 100644 index 000000000..7b0a500b1 --- /dev/null +++ b/prismtest/Speed_Independent_10_10.xml @@ -0,0 +1,1770 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + t + + + x + + + + + + t + + + + x + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + F + + + t + 2100 + + + + + + S2 + 80 + + + + S3 + 20 + + + + + + + + + + + + + + + + kd + S4 + + + + + + + + + + + + + kd + S1 + + + + + + + + + + + + + kd + Z + + + + + + + + + + + + + kd + C + + + + + + + + + + + + + + + + + + + + + + + P10 + ko + + + + ko_f + ko_r + + + nr + + + + + + 1 + + + + + ko_f + ko_r + + nr + + + + + + + + + kr_f + kr_r + + S2 + + nc + + + + + + + + + + + + + + + + + + + + + + + + + + P1 + ko + + + + ko_f + ko_r + + + nr + + + + + + 1 + + + + + ko_f + ko_r + + nr + + + + + + + + + kr_f + kr_r + + A + + nc + + + + + + + + + + + + + + + + + + + + + + + + + + P2 + ko + + + + ko_f + ko_r + + + nr + + + + + + 1 + + + + + ko_f + ko_r + + nr + + + + + + + + + kr_f + kr_r + + B + + nc + + + + + + + + + + + + + + + + + + + + + + + + + + P3 + ko + + + + ko_f + ko_r + + + nr + + + + + + 1 + + + + + ko_f + ko_r + + nr + + + + + + + + + kr_f + kr_r + + S4 + + nc + + + + + + + + + + + + + + + + + + + + + + + + + P4 + ko + + + + ko_f + ko_r + + + nr + + + + + + 1 + + + + + ko_f + ko_r + + nr + + + + + + + + + kr_f + kr_r + + X + + nc + + + + + + + + + + + + + + + + + + + + + + + + + P5 + ko + + + + ko_f + ko_r + + + nr + + + + + + 1 + + + + + ko_f + ko_r + + nr + + + + + + + + + kr_f + kr_r + + S1 + + nc + + + + + + + + + + + + + + + + + + + + + + + + + P6 + ko + + + + ko_f + ko_r + + + nr + + + + + + 1 + + + + + ko_f + ko_r + + nr + + + + + + + + + kr_f + kr_r + + S2 + + nc + + + + + + + + + + + + + + + + + + + + + + + + + P7 + ko + + + + ko_f + ko_r + + + nr + + + + + + 1 + + + + + ko_f + ko_r + + nr + + + + + + + + + kr_f + kr_r + + Y + + nc + + + + + + + + + + + + + + + + + + + + + + + + + + P8 + ko + + + + ko_f + ko_r + + + nr + + + + + + 1 + + + + + ko_f + ko_r + + nr + + + + + + + + + kr_f + kr_r + + S3 + + nc + + + + + + + + + + + + + + + + + + + + + + + + + P9 + ko + + + + ko_f + ko_r + + + nr + + + + + + 1 + + + + + ko_f + ko_r + + nr + + + + + + + + + kr_f + kr_r + + Z + + nc + + + + + + + + + + + + + + + kd + X + + + + + + + + + + + + + kd + S2 + + + + + + + + + + + + + kd + S3 + + + + + + + + + + + + + kd + Y + + + + + + + diff --git a/prismtest/Toggle_10_10.props b/prismtest/Toggle_10_10.props new file mode 100644 index 000000000..4dd9df6ec --- /dev/null +++ b/prismtest/Toggle_10_10.props @@ -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))] \ No newline at end of file diff --git a/prismtest/Toggle_10_10.sm b/prismtest/Toggle_10_10.sm new file mode 100644 index 000000000..e86b8e68c --- /dev/null +++ b/prismtest/Toggle_10_10.sm @@ -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 diff --git a/prismtest/Toggle_10_10.xml b/prismtest/Toggle_10_10.xml new file mode 100644 index 000000000..59265dc8b --- /dev/null +++ b/prismtest/Toggle_10_10.xml @@ -0,0 +1,1478 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + t + + + x + + + + + + t + + + + x + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + F + + + t + 2100 + + + + + + Z + 80 + + + + Y + 40 + + + + + + + + + + + + + + + + + + + + + + + + + + + + P8 + ko + + ko_f + + ko_r + + nr + + + + + + 1 + + + + + ko_f + ko_r + + nr + + + + + + + + + kr_f + kr_r + + E + + nc + + + + + + + + + + + + + + + + + + + + + + + + + + + + P1 + ko + + ko_f + + ko_r + + nr + + + + + + 1 + + + + + ko_f + ko_r + + nr + + + + + + + + + kr_f + kr_r + + A + + nc + + + + + + + + + + + + + + + + + + + + + + + + + + + + P2 + ko + + ko_f + + ko_r + + nr + + + + + + 1 + + + + + ko_f + ko_r + + nr + + + + + + + + + kr_f + kr_r + + B + + nc + + + + + + + + + + + + + + + + + + + + + + + + + + + P3 + ko + + ko_f + + ko_r + + nr + + + + + + 1 + + + + + ko_f + ko_r + + nr + + + + + + + + + kr_f + kr_r + + X + + nc + + + + + + + + + + + + + + + + + + + + + + + + + + + P4 + ko + + ko_f + + ko_r + + nr + + + + + + 1 + + + + + ko_f + ko_r + + nr + + + + + + + + + kr_f + kr_r + + FF + + nc + + + + + + + + + + + + + + + + + + + + + + + + + + + + P5 + ko + + ko_f + + ko_r + + nr + + + + + + 1 + + + + + ko_f + ko_r + + nr + + + + + + + + + kr_f + kr_r + + Z + + nc + + + + + + + + + + + + + + + + + + + + + + + + + + + P6 + ko + + ko_f + + ko_r + + nr + + + + + + 1 + + + + + ko_f + ko_r + + nr + + + + + + + + + kr_f + kr_r + + Y + + nc + + + + + + + + + + + + + + + + + + + + + + + + + + + P7 + ko + + ko_f + + ko_r + + nr + + + + + + 1 + + + + + ko_f + ko_r + + nr + + + + + + + + + kr_f + kr_r + + D + + nc + + + + + + + + + + + + + + + kd + E + + + + + + + + + + + + + kd + C + + + + + + + + + + + + + kd + X + + + + + + + + + + + + + kd + D + + + + + + + + + + + + + kd + FF + + + + + + + + + + + + + kd + Y + + + + + + + + + + + + + kd + Z + + + + + + + diff --git a/prismtest/pro.csl b/prismtest/pro.csl new file mode 100644 index 000000000..e86fc37d7 --- /dev/null +++ b/prismtest/pro.csl @@ -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)) ] + diff --git a/prismtest/results.txt b/prismtest/results.txt new file mode 100644 index 000000000..7ec12848e --- /dev/null +++ b/prismtest/results.txt @@ -0,0 +1,2 @@ +0.0 +0.9997151321743104