
書記が数学やるだけ#903 酵素の反応速度論
酵素の反応速度論について簡単に確認する。
問題

説明
ミカエリス・メンテン式は、酵素反応速度論に大きな業績を残したレオノール・ミカエリスとモード・レオノーラ・メンテンにちなんで名づけられた、酵素反応の速度論を記述する基本的なモデルである。この式は、酵素が1分子の基質と単純に結合して生成物を生じる反応に適用され、反応速度が基質濃度に依存して漸近的に飽和する様子を示す。

ヒルの式は、アーチボルド・ヒルがヘモグロビンへの酸素結合における協同効果を説明するために導入した経験式であり、協同効果をもつ酵素や受容体の反応を記述する経験的な拡張式である。複数の基質分子が酵素に結合する際、それらの結合が互いに影響し合う場合に適用される。

解答
この反応式は、酵素 E と基質 Xが可逆的に複合体 EX を形成し、これが生成物 X* を生じる反応機構に基づく。定常状態近似、すなわち EX の生成速度と分解速度が釣り合っていると仮定すると、反応速度 は基質濃度 [X] の関数として表される。得られる式は、反応速度が基質濃度に対して双曲線的に増加し、飽和に近づく挙動を示す。これは酵素の活性部位が基質によって占有される割合に対応している。

この反応式は、2つの基質分子が正の協同的に結合することを意味し、反応速度はシグモイド型の曲線を描く。基質の結合が進むにつれて酵素の活性が急激に上昇し、ある濃度を超えると急速に飽和に達する特徴を示す。

ヒルの式をいくつかのヒル係数で可視化すると、n = 1 の場合はミカエリス・メンテン式と一致する。ヒル係数が大きくなるほど、反応速度が基質濃度に対して急激に上昇するようになる。
import numpy as np
import matplotlib.pyplot as plt
# パラメータ設定
Vmax = 1.0 # 最大反応速度
K_half = 1.0 # ヒル式のK0.5(基質濃度)
# 基質濃度の範囲
S = np.linspace(0, 5, 200)
# ヒルの式を定義
def hill_equation(S, n, Vmax=1.0, K_half=1.0):
return Vmax * (S**n) / (K_half**n + S**n)
# 各n値に対する反応速度を計算
v_n1 = hill_equation(S, n=1)
v_n2 = hill_equation(S, n=2)
v_n4 = hill_equation(S, n=4)
# グラフ描画
plt.figure(figsize=(7, 5))
plt.plot(S, v_n1, label="n = 1 (no cooperativity)", linewidth=2)
plt.plot(S, v_n2, label="n = 2 (moderate cooperativity)", linewidth=2, linestyle='--')
plt.plot(S, v_n4, label="n = 4 (strong cooperativity)", linewidth=2, linestyle=':')
# 軸ラベル・タイトル
plt.xlabel("Substrate concentration [S]", fontsize=12)
plt.ylabel("Reaction rate v", fontsize=12)
plt.title("Hill equation with varying Hill coefficients", fontsize=13)
plt.legend()
plt.grid(True)
plt.tight_layout()
plt.show()
競合阻害は、阻害剤 I が酵素の基質結合部位に競合的に結合し、基質の結合を妨げる場合に生じる。このとき、酵素の最大反応速度 Vmax は変化しないが、見かけのミカエリス定数 Km が増加する。すなわち、より高濃度の基質が存在しない限り、同じ反応速度を得ることができない。競合阻害は高基質濃度下では打ち消されるのが特徴である。

非競合阻害は、阻害剤が酵素の基質結合部位とは異なる部位(アロステリック部位)に結合することで、酵素の構造または触媒活性を低下させる阻害様式である。この場合、基質濃度に依存せず阻害が起こり、見かけの Vmax が低下する。一方、基質親和性を表す Km は変化しない。すなわち、阻害剤が存在する限り、どれほど基質濃度を増加させても最大速度は達成されない。

阻害剤の影響についてグラフで可視化する。
import numpy as np
import matplotlib.pyplot as plt
# 基本パラメータ
Vmax = 1.0 # 最大反応速度
Km = 1.0 # ミカエリス定数
S = np.linspace(0, 10, 200) # 基質濃度
I = 1.0 # 阻害剤濃度
Ki = 1.0 # 阻害剤定数
# 阻害剤なし(参考)
v_no_inhibitor = Vmax * S / (Km + S)
# -----------------------------
# 競合阻害
v_competitive = Vmax * S / (Km * (1 + I/Ki) + S)
plt.figure(figsize=(6, 4))
plt.plot(S, v_no_inhibitor, label="No inhibitor", linewidth=2)
plt.plot(S, v_competitive, label="Competitive inhibitor", linewidth=2, linestyle='--')
# Kmの位置を縦線で表示
plt.axvline(Km, color='gray', linestyle=':', label="Km (no inhibitor)")
plt.axvline(Km*(1+I/Ki), color='red', linestyle=':', label="Km apparent (competitive)")
# Vmaxの位置を横線で表示
plt.axhline(Vmax, color='blue', linestyle=':', label="Vmax (no inhibitor)")
plt.xlabel("Substrate concentration [S]")
plt.ylabel("Reaction rate v")
plt.title("Competitive inhibition with Km and Vmax")
plt.legend()
plt.grid(True)
plt.tight_layout()
plt.show()
# -----------------------------
# 非競合阻害
v_noncompetitive = (Vmax / (1 + I/Ki)) * S / (Km + S)
plt.figure(figsize=(6, 4))
plt.plot(S, v_no_inhibitor, label="No inhibitor", linewidth=2)
plt.plot(S, v_noncompetitive, label="Non-competitive inhibitor", linewidth=2, linestyle='--')
# Kmの位置を縦線で表示
plt.axvline(Km, color='gray', linestyle=':', label="Km (no inhibitor)")
# Vmaxの位置を横線で表示
plt.axhline(Vmax, color='blue', linestyle=':', label="Vmax (no inhibitor)")
plt.axhline(Vmax/(1+I/Ki), color='red', linestyle=':', label="Vmax apparent (non-competitive)")
plt.xlabel("Substrate concentration [S]")
plt.ylabel("Reaction rate v")
plt.title("Non-competitive inhibition with Km and Vmax")
plt.legend()
plt.grid(True)
plt.tight_layout()
plt.show()

ミカエリス・メンテン式の導出では、酵素-基質複合体 EX の濃度が時間的に一定(定常状態)であるという仮定を置いている。この近似が成り立たなくなるのは、以下のような条件においてである。
反応の初期段階で ES の生成がまだ平衡に達していない場合
酵素濃度が基質濃度と同程度、またはそれ以上に高い場合(基質過剰条件が崩れる)
生成物の蓄積により逆反応 E+P→ES が無視できなくなる場合
酵素や基質の分解・失活など、反応系が時間とともに変化する場合
これらの条件では、定常状態近似が破綻し、ミカエリス・メンテン式による単純な速度記述は成立しなくなる。
本記事のもくじはこちら: