示例#1
0
    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
示例#2
0
    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
示例#3
0
    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
示例#4
0
    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
示例#5
0
文件: starter.py 项目: jsnel/npqmodel
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])
示例#6
0
    def vLeak(self, Hlf):
        """ transmembrane proton leak modelled by mass-action kinetics"""
        v = self.par.kLeak * (Hlf - pHinv(self.par.pHstroma))

        return v
示例#7
0
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])


示例#8
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)
示例#9
0
 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
示例#10
0
 def vLeak(self, Hlf):
     """ rate of leak of protons through the membrane """
     v = self.par.kLeak * (Hlf - pHinv(self.par.pHstroma))
     return v
示例#11
0
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)
示例#12
0
    def vLeak(self, Hlf):
        """ transmembrane proton leak modelled by mass-action kinetics"""
        v = self.par.kLeak * (Hlf - pHinv(self.par.pHstroma))

        return v