def vPsbS(self, L, V, Hlf): """ activity of PsbS protein protonation. vf: protonation modelled by Hill kinetics vf: deprotonation """ nH = self.par.kHillL # shall be changed, for now =5; also half saturation of pH could be change vf = self.par.kProtonationL * ((Hlf ** nH)/ (Hlf ** nH + pHinv(self.par.kphSatLHC) ** nH)) * L vr = self.par.kDeprotonation * (self.par.PsbStot - L) return vf - vr
def vPsbS(self, L, V, Hlf): """ activity of PsbS protein protonation. vf: protonation modelled by Hill kinetics vf: deprotonation """ nH = self.par.kHillL # shall be changed, for now =5; also half saturation of pH could be change vf = self.par.kProtonationL * ( (Hlf**nH) / (Hlf**nH + pHinv(self.par.kphSatLHC)**nH)) * L vr = self.par.kDeprotonation * (self.par.PsbStot - L) return vf - vr
def vXcyc(self, V, Hlf): """ activity of xantophyll cycle. vf: de-epoxidation of violaxanthin, modelled by Hill kinetics vf: epoxidation """ nH = self.par.kHillX vf = self.par.kDeepoxV * ((Hlf ** nH)/ (Hlf ** nH + pHinv(self.par.kphSat) ** nH)) * V #vr = self.par.kEpoxZ *((Hlf ** nH)/ (Hlf ** nH + pHinv(kphSat) ** nH)) * (self.par.Xtot - V) vr = self.par.kEpoxZ * (self.par.Xtot - V) return vf - vr
def vXcyc(self, V, Hlf): """ activity of xantophyll cycle. vf: de-epoxidation of violaxanthin, modelled by Hill kinetics vf: epoxidation """ nH = self.par.kHillX vf = self.par.kDeepoxV * ((Hlf**nH) / (Hlf**nH + pHinv(self.par.kphSat)**nH)) * V #vr = self.par.kEpoxZ *((Hlf ** nH)/ (Hlf ** nH + pHinv(kphSat) ** nH)) * (self.par.Xtot - V) vr = self.par.kEpoxZ * (self.par.Xtot - V) return vf - vr
You should have received a copy of the GNU General Public License along with this program (license.txt). If not, see <http://www.gnu.org/licenses/>. """ import numpy as np import matplotlib.pyplot as plt import scipy.optimize import parameters import npqModel import npqResults import simulate import misc import dataAnalysis import visualizeexperiment db = dataAnalysis.DB() # =============================================================== # # load parameters and create model object # # =============================================================== # p = parameters.NPQmodelParameterSet() m = npqModel.NPQModel(p) s = simulate.Sim(m) # =============================================================== # # initial concentrations corresponding to a dark adapted organism # # =============================================================== # y0 = np.array([0., p.bH * misc.pHinv(p.pHstroma), 0, 1, 1, 0])
def vLeak(self, Hlf): """ transmembrane proton leak modelled by mass-action kinetics""" v = self.par.kLeak * (Hlf - pHinv(self.par.pHstroma)) return v
along with this program (license.txt). If not, see <http://www.gnu.org/licenses/>. """ import numpy as np import matplotlib.pyplot as plt import scipy.optimize import parameters import npqModel import npqResults import simulate import misc import dataAnalysis import visualizeexperiment db = dataAnalysis.DB() # =============================================================== # # load parameters and create model object # # =============================================================== # p = parameters.NPQmodelParameterSet() m = npqModel.NPQModel(p) s = simulate.Sim(m) # =============================================================== # # initial concentrations corresponding to a dark adapted organism # # =============================================================== # y0 = np.array([0., p.bH*misc.pHinv(p.pHstroma), 0, 1, 1, 0])
import numpy as np import matplotlib.pyplot as plt import parameters import npqModel import simulate import npqResults import misc as misc import lightProtocol p = parameters.NPQmodelParameterSet() col = misc.load_colours() PFDs = [20, 50, 100, 120, 140, 160, 180, 200, 220, 240, 260, 280, 300, 320, 340, 360, 400, 600, 900] T = np.linspace(0,500,1000) y0 = np.array([0, p.bH*misc.pHinv(p.pHstroma), p.APtot/2, 1, 1., 0]) # Y = [Q, pH, PQ, Fs] Pref = [p.gamma0, p.gamma1, p.gamma2, p.gamma3] Xref = np.zeros([len(PFDs), 4]) for i in range(len(PFDs)): m = npqModel.NPQModel(p, 2) s = simulate.Sim(m) s.clearResults() l = lightProtocol.LightProtocol({'prot':'const', 'PFD':PFDs[i]}) s.timeCourse(l, T, y0)
def quencher(self, Q, H): vNPQdyn = H**self.par.nH / (H ** self.par.nH + pHinv(self.par.NPQsw)**self.par.nH) v = (1-Q) * self.par.kNh * vNPQdyn - self.par.kNr * Q return v
def vLeak(self, Hlf): """ rate of leak of protons through the membrane """ v = self.par.kLeak * (Hlf - pHinv(self.par.pHstroma)) return v
import npqModel import simulate import npqResults import misc as misc import lightProtocol p = parameters.NPQmodelParameterSet() col = misc.load_colours() PFDs = [ 20, 50, 100, 120, 140, 160, 180, 200, 220, 240, 260, 280, 300, 320, 340, 360, 400, 600, 900 ] T = np.linspace(0, 500, 1000) y0 = np.array([0, p.bH * misc.pHinv(p.pHstroma), p.APtot / 2, 1, 1., 0]) # Y = [Q, pH, PQ, Fs] Pref = [p.gamma0, p.gamma1, p.gamma2, p.gamma3] Xref = np.zeros([len(PFDs), 4]) for i in range(len(PFDs)): m = npqModel.NPQModel(p, 2) s = simulate.Sim(m) s.clearResults() l = lightProtocol.LightProtocol({'prot': 'const', 'PFD': PFDs[i]}) s.timeCourse(l, T, y0)