(* Generated by JWS Online *) (* This is an experimental feature of JWS Online. Please report any mistakes.*) (* Note that the following notable SBML entities or features are not supported in notebook outputyet: *) (* Events *) (* Constraints *) (* Units and UnitDefinitions *) (* AlgebraicRules *) (* conversionFactors *) variables = { A1[t], A2[t], C1[t], C2[t], IPTG[t] }; initialValues = { A1[0] == 0.1, A2[0] == 0.1, C1[0] == 20.0, C2[0] == 20.0, IPTG[0] == 5.0 }; rates = { J0, J1, J2, J3, J4, J5, J6, J7 }; rateEquations = { J0 -> environment*kc1*C1[t]*(1 - (C1[t] + C2[t])/Cm), J1 -> environment*(D + (d1*K1)/(K1 + A2[t]^2))*C1[t], J2 -> environment*kc2*C2[t]*(1 - (C1[t] + C2[t])/Cm), J3 -> environment*(D + (d2*A1[t]^2)/(K2 + A1[t]^2))*C2[t], J4 -> environment*kA1*C1[t], J5 -> (D + dAA1)*environment*A1[t], J6 -> environment*kA2*C2[t], J7 -> (D + dAA2)*environment*A2[t] }; parameters = { Cm -> 100.0, D -> 0.1125, K1 -> 10.0, K2 -> 10.0, d2 -> 0.3, dAA1 -> 0.017, dAA2 -> 0.11, kA1 -> 0.1, kc1 -> 0.8, kc2 -> 0.4, sink -> 0.0, source -> 0.0, environment -> 1.0 }; assignments = { kA2 -> 0.02 + (0.03*IPTG[t]^2)/(25 + IPTG[t]^2), d1 -> 0.5 + IPTG[t]^2/(25 + IPTG[t]^2) }; events = { }; speciesAnnotations = { A1[t]->"http://identifiers.org/chebi/CHEBI:56080", A2[t]->"http://identifiers.org/chebi/CHEBI:55474", A2[t]->"http://identifiers.org/kegg.compound/C18049", IPTG[t]->"http://identifiers.org/chebi/CHEBI:61448", IPTG[t]->"http://identifiers.org/pubchem.compound/656894" }; reactionAnnotations = { J2->"http://identifiers.org/go/GO:0008283", J6->"http://identifiers.org/go/GO:0009058", J6->"http://identifiers.org/ec-code/2.3.1.184" }; units = { {"time" -> "", "metabolite" -> "", "extent" -> ""} }; (* Time evolution *) odes = { A1'[t] == 1.0*J4 -1.0*J5, A2'[t] == 1.0*J6 -1.0*J7, C1'[t] == 1.0*J0 -1.0*J1, C2'[t] == 1.0*J2 -1.0*J3, IPTG'[t] == 0.0 }; timeCourse = NDSolve[Join[odes, initialValues]//.rateEquations//.assignments//.parameters, variables, {t, 0, 100}]; (* Steady-state solution initialized with result of time evolution *) findRootEquations = odes /.D[_[t],t]->0; findRootVariables = Partition[Flatten[{#, #/.timeCourse/.t->100} &/@variables],2]; steadyStateVariables = FindRoot[findRootEquations//.rateEquations//.assignments//.parameters, findRootVariables, MaxIterations->100] fluxes = #//.assignments//.parameters/.steadyStateVariables&/@rateEquations (* Plot the time evolution of the variables *) plotTable=Table[Plot[variables[[i]]/.parameters/.timeCourse,{t,0,100},PlotLegends->variables[[i]],PlotRange->Full],{i,Length[variables]}]