on
모델링 - 파이썬으로 FvCB A-Ci 커브 그려보기
모델링 - 지난 글
목차
광합성에 대하여
광합성은 식물이 성장하기 위한 영양소를 만들어 내는 과정이라는 사실은 모두가 알고 있을 것이다. 조금 더 자세히 이야기 해 보도록 하자.
식물의 잎이 녹색으로 보이는 이유는 식물 잎 세포의 엽록체에 포함된 엽록소가 녹색 파장의 빛을 반사시키고 파란색과 붉은색 파장의 빛을 주로 흡수하기 때문이다. 녹색식물은 이렇게 태양으로부터 얻은 빛에너지를 이용하여 뿌리에서 흡수한 물, 잎의 기공을 통해 흡수한 이산화탄소를 재료로 하여 당류나 전분과 같은 탄수화물을 합성하는 탄소동화작용을 한다. 이와 같이 탄소동화작용이 고등식물에서 볼 수 있는 바와 같이 빛에너지에 의존하는 경우에 이를 광합성(photosynthesis)이라 한다.
광합성에 의해 만들어진 탄수화물이나 그밖에 변해서 생긴 여러 가지 유기물질 즉, 넓은 의미의 동화 생산물은 높은 화학적 에너지를 간직하고 있으므로 광합성은 태양의 빛에너지를 화학에너지로 바꾸어 식물체 내에 축적하는 과정이라 할 수 있다. 광합성의 결과 포도당을 포함한 6탄당과 전분이 만들어지며 주로 포도당이 주로 생성되기 때문에 광합성을 나타내는 반응식은 흔히 다음과 같이 나타낸다.
6CO2 + 12H2O + 빛 에너지 → C6H12O6 + 6H2O + 6O2 – 688kcal
광합성 과정
광합성에는 명반응과 암반응 두 단계로 진행된다.
명반응
- 엽록체의 틸라코이드 막에서 빛 에너지를 이용하여 물을 분해한다.
- 물의 광분해로 산소(O2)가 발생한다.
- 빛을 받은 색소가 빛을 흡수하여 고에너지 전자가 방출된다.
- 이 전자의 에너지로 ATP를 생성한다. (광인산화라고도 한다.)
- 물에서 방출한 전자는 최종적으로 NADP+에 흡수되어 NADPH를 생성한다.
암반응
- 스트로마에서 일어난다.
- 탄소(CO2)를 고정하고 포도당을 합성한다.
- 명반응의 결과 생성된 ATP와 NADPH를 이용하며, ADP와 NADP+를 내보낸다.
- 이러한 일련의 과정이 반복하는 사이클을 캘빈 사이클이라 한다.
정리하자면 명반응으로 부터 생성된 ATP와 NADPH을 에너지로 삼아 암반응에서 포도당을 생성할 수 있고, 암반응을 통해서 만들어진 ADP와 NADP+가 있어야 명반응이 계속해서 이루어 질 수 있다.
fvcb는 무엇인가
-
광합성을 모델링하려는 초기 시도 중 일부는 캐노피 내의 빛 차단과 분포를 설명하는 데 초점을 맞추었다. 잎 수준의 광합성 속도는 일반적으로 직사각형 쌍곡선 함수를 통해 다른 캐노피 층에서 흡수된 광 수준의 함수로 모델링되었다.
-
그 후, 여러 현장 관측은 바이오매스 축적이 흡수된 광량에 비례한다는 것을 보여주었다(Monteith).
-
특히, Monteith는 영국의 다양한 경제적으로 중요한 작물의 Dry-matter prodcution이 이상적인 성장 조건 하에서 흡수된 광과 어떻게 선형적으로 상관관계되는지 제시했으며, 광합성을 통한 작물의 탄소 생산은 성장기 동안 흡수된 햇빛의 양과 그것이 바이오매스로 전환되는 효율성에 따라 추정될 수 있다는 이론으로 이어졌다. 이 개념은 일반적으로 방사선 사용 효율(RUE)으로 알려져 있으며 우아함과 단순성으로 인해 많은 작물 시뮬레이션 모델에 채택되었다(White).
-
1980년, Farquhar와 동료들은 광합성의 자세한 메커니즘에 대한 확장된 이해를 통합하고 단순화하려고 시도한 C3 식물에 대한 생화학 모델을 발표했다. 바로 FvCB 모델이다. FvCB 모델은 Harley와 Sharkey(1991)에 의해 더 수정되었고, 나중에 von Caemmerer와 Furbank(1999)에 의해 C4 광합성을 위해 확장되었다.
-
거의 40년 전에 출판되었음에도 불구하고, FvCB 모델은 여전히 다른 환경 섭동에 대한 광합성 반응을 연구하는 데 가장 자주 사용되고 있다.
광합성량을 구하기 위한 수식
- Ac: 루비스코에 의해 촉매되는 카르복실화 (Co2 고정) 속도
- Aj: 광합성의 빛 의존 반응 내에서 전자 수송속도에 의해 제어되는 RuBP 재생 속도
- Ap: 광합성 최종 산물을 합성하는 속도로 주로 트리오스 인산염(TPU)를 수크로오스 (설탕)와 전분으로 변환하는 속도
Ac, Aj, Ap는 캘빈 사이클 내의 연속 구성 요소이기 때문에 가장 속도를 제한하는 프로세스가 순 광합성 속도를 결정할 것이다. (최소율의 법칙)
각 프로세스의 속도는 효소의 특성 뿐만 아니라 온도, 빛, Co2 및 O2와 같은 환경변수에 반응한다.
Ac
- Ac는 루비스코의 카르복실화 용량에 의해 제한된 광합성 속도
- 루비스코 역학을 기반으로 계산
- Vcmax는 루비스코의 최대 카르복실화 속도를 설명
- Kc는 Co2에 반응하는 Michaelis - Menten 상수
- Ko는 O2에 반응하는 Michaelis - Menten 상수
- Cc는 엽록체내에서의 Co2
- O는 엽록체내에서의 O2
- Γ*는 광합성을 통한 carbon (탄소) 흡수가 광호흡을 통해 방출되는 Co2에 의해 균형을 이루는 Co2농도 수준으로 정의 되는 Co2 보상점
- Rd는 광호흡을 제외한 Co2의 호흡기 방출인 잎수준의 daytime 호흡
Aj
- RuBP 재생에 의해 제한된 Co2 동화율을 설명하고 RuBP 재생에 연료를 공급하기 위해 ATP와 NADPH를 생산하는 광합성의 광반응 내의 전자 수송 속도를 기반으로 설명
- J는 모델링 된 광합성 활성 Radiation (PAR)에 흡수되는 빛의 함수인 전자 수송 속도를 설명
- Jmax는 전자 수송의 최대 용량
- Iabs는 흡수된 빛의 양
- aLL는 빛 제한 조건하에서의 전자 수송의 양자 수율
J는 Jmax, Iabs, aLL 하에서의 전자 수송의 양자 수율. J에서 Iabs 응답 곡선의 볼록성을 나타내는 경험적 (empirical) 매개변수 Θ (theta)에 의존
Ap
- TPU에 의해 제한된 광합성 속도를 나타냄
- 광합성 최종 산물이 엽록체에서 나와 활용되고 운반되는 속도
co2에 따른 광합성량 구하고 시각화하기
위의 수식을 활용해서 임의의 조건에서의 A-Ci 커브를 그려보자.
파이썬을 이용한 광합성 모델
import matplotlib.pyplot as plt
import numpy as np
- 먼저 수식 계산을 위해서 필요한 라이브러리인 numpy와 그래프를 그리기 위해 필요한 matplotlib을 불러오자.
##### Constants
KELVIN = 273.15 # Kelvin temperature
R = 8.314 # ideal gas constant
SBC = 5.6697e-8 # Stefan-Boltzmann constant W m-2 K-4
PSC = 6.66e-4 # psychrometer constant
Cp = 29.3 # specific heat of air J mol-1 C-1
LAMBDA = 44000. # Latent heat of vaporization at 25 C J mol-1
##### Parameters for light
scatt = 0.15 # leaf reflectance + transmittance
f = 0.15 # correction factor
conv = 4.57 # conversion from W m-2 to umol m-2 s-1
epsilon = 0.97 # leaf thermal emissivity
##### Other Common parameters
O2 = 210. # O2 partial pressure (mbar=20.5kPa)
Kc25 = 404.9 # MM constant of Rubisco for CO2 at 25 from Bernacchi et al. (2001)
Ko25 = 278.4 # MM constant of Rubisco for O2 at 25 from Bernacchi et al. (2001)
Eac = 79430. # Activation energy for Kc from Bernacchi et al. (2001)
Eao = 36380. # Activation energy for Ko from Bernacchi et al. (2001)
g0 = 0.036 # residual stomatal conductance, mol m-2 s-1
g1 = 10.0 # empirical coefficient of BWB model 이거
P = 1.013 # conversion factor from ppmv to ubar (= 1013000 / 1000000) = 101.3 kPa = 1013 mbar
##########################################################
##### Parameters for Chinese cabbage from Experiment 2015
##########################################################
theta = 0.7 # hyperbola parameter 이거
width = 0.1 # leaf width (m) 이거
Vcm25 = 152.5 # Vcmax of CC at 25 C 이거
Jm25 = 238.6 # Jmax of CC at 25 C 이거
TPU25 = 17.1 # 이거F
Rd25 = 1.7 # 이거
gamma25 = 42.8 #
Havcm = 65330 # Ha
Hajm = 57500 # Ha
Hdjm = 439800. # Hd
Svjm = 1400 # Sv
Ear = 46390. # Ha
Eagamma = 37830. # Ha
EaTPU = 47100. # Ha for TPU from Kim and Leith(2003)
- 배추에 맞게 피팅된 파라미터도 불러오자.
Ta = 25 # 온도 고정
Ic = 2000 # 광량 고정
Cinew = [] # 잎 내 Co2 농도
for i in range(1,1500):
Cinew.append(i)
- 이번 목표는 Co2의 변화에 따른 광합성량의 변화이다. 따라서 온도 (Ta)와 광량(Ic)은 고정해 주자.
- Cinew는 Co2 양으로 1에서 1500 µbar 까지의 변화에 따른 광합성량의 변화를 볼 것이다.
def tempParam1(k25, Ha, Hd, Sv, temp):
a = (1+np.exp((Sv*(25+KELVIN)-Hd)/(R*(25+KELVIN))))/(1+np.exp((Sv*(temp+KELVIN)- Hd)/(R*(temp+KELVIN))))
b = np.exp((Ha / (R * (25.+KELVIN))) * (1 - (25.+KELVIN) / (temp + KELVIN)))
return (k25 * b * a)
def tempParam2(k25, Ha, temp):
return k25 * np.exp((Ha / (R * (25.+KELVIN)) * (1 - (25.+KELVIN) / (KELVIN + temp)))) # --> arrhenius function
Vcmax = tempParam2(k25=Vcm25, Ha=Havcm, temp=Ta)
Jmax = tempParam1(k25=Jm25, Ha=Hajm, Hd=Hdjm, Sv=Svjm, temp=Ta)
GammaStar = tempParam2(k25=gamma25, Ha=Eagamma, temp=Ta)
Kc = tempParam2(k25=Kc25, Ha=Eac, temp=Ta)
Ko = tempParam2(k25=Ko25, Ha=Eao, temp=Ta)
TPU = tempParam2(k25=TPU25, Ha=EaTPU, temp=Ta)
Rd = tempParam2(k25=Rd25, Ha=Ear, temp=Ta)
- Michaelis - Menten의 효소 반응 속도론에 따른 광합성 속도를 정의하기 위해서 온도 의존성을 고려해야 한다. 이를 위해 Arrhenius equation을 이용한다.
J2 = Ic * (1 - scatt) * (1 - f) / 2
J = ((J2 + Jmax) - np.sqrt((J2 + Jmax) ** 2 - 4 * J2 * Jmax * theta)) / (2 * theta)
- 위에서 정의한 J에 대한 수식을 코드로 옮겼다.
## 광합성 모델식
Wc = []
Wj = []
Ws = []
Wp = []
W=[]
Rd = []
An = []
W_net = []
def minh(A, B, theta=0.7): # hyperbolic minimum
x = (A + B) * (A + B) - 4 * A * B * theta
if (x < 0):
res = min(A, B)
else:
res = ((A + B) - np.sqrt(x)) / (2 * theta)
return res
for i in range(len(Cinew)):
Wc.append(Vcmax * (Cinew[i] - GammaStar) / (Cinew[i] + Kc * (1 + O2 / Ko))) # Rubisco-limited
Wj.append(J * (Cinew[i] - GammaStar) / (4 * (Cinew[i] + 2 * GammaStar)))
Ws.append(3 * TPU)
Wp.append(minh(Wc[i], Wj[i], theta))
W_net.append(min(Wc[i],Wj[i],Ws[i]))
W.append(min(Wp[i], Ws[i])) # min(Wp, Ws)
Rd.append(0.015 * Vcmax) # Dark respiration from Collatz(1991)
An.append(W[i] - Rd)
- 위에서 정의한 FvCB 광합성 수식을 코드로 옮겼다. 각각 Wc, Wj, Ws는 Ac, Aj, Ap를 의미한다.
- Ac, Aj, Ap는 캘빈 사이클 내의 연속 구성 요소이기 때문에 가장 속도를 제한하는 프로세스가 순 광합성 속도를 결정 (최소율의 법칙)할 것이라 정의했다. 따라서 min()함수를 취한 W_net이 최종 광합성 속도를 의미할 것이다.
시각화
25°C
- 위 코드를 이용하여 시각화한 결과는 다음과 같다.
- 온도가 25°C 일 때의 A-Ci 커브이며, 빨간색 A-net이 최종적인 광합성 속도라 볼 수 있다.
10°C
- 다음은 온도가 10°C 일 때의 A-Ci 커브이다.
- 확실하게 광합성량이 줄어든 것을 확인할 수 있다.
45°C
- 다음은 온도가 45°C 일 때의 A-Ci 커브이다.
- 확실하게 광합성량이 줄어든 것을 확인할 수 있다.
참고 문헌
- Advances and improvements in modeling plant processes Soo-Hyung Kim and Jennifer Hsiao, University of Washington, USA; and Hannah Kinmonth- Schultz, University of Kansas, USA
다음 시간에는 Michaelis - Menten과 Arrhenius equation에 대하여 자세히 다루어 보자.