MODELLER によるホモロジーモデリング

複数個の α ヘリックスの作成

secondary_structure.alpha にアミノ酸残基番号を与えることで、指定範囲内のアミノ酸だけを α-ヘリックにすることができる。このメソッドを複数回利用すれば、複数個の α-ヘリックスを作成することができる。

例に用いるアミノ酸配列は 3CR3 の一部である。アミノ酸は以下の Python スクリプト内に書いてある。この配列中に実際には 3 つの α-ヘリックスが存在する。MODELLER を用いて、その 3 カ所の α-ヘリックスをモデルする例を示す。

モデリングの手順は以下の通り。

  1. 一次配列のモデルを作成する(build_sequence)
  2. タンパク質が取りうる構造を計算する(restraints.make)
  3. 二次構造を作成する(secondary_structure.alpha)
  4. 構造を最適化する(optimize)

Python スクリプトは以下のようになる。

from modeller import *
from modeller.optimizers import conjugate_gradients

env = environ()
env.libs.topology.read('${LIB}/top_heav.lib')
env.libs.parameters.read('${LIB}/par.lib')
# 1.
m = model(env)
#                 1234567890123456789012345678901234567890123456789012345678
#                    HHHHHHHHHHHHHHH    HHHHHHHHHHH   HHHHHHHHHHHHHHHHHHH
m.build_sequence('DSASKDNLEKVVKASAGLLATKGRASYLGERSIGHIDPGTQSSAYLFETLLEVVAADP')

# 2.
allatoms = selection(m)
m.restraints.make(allatoms, restraint_type = 'STEREO', spline_on_site = False)

# 3.
m.restraints.add(secondary_structure.alpha(m.residue_range('4:', '18:')))
m.restraints.add(secondary_structure.alpha(m.residue_range('23:', '33:')))
m.restraints.add(secondary_structure.alpha(m.residue_range('37:', '55:')))

# 4.
cg = conjugate_gradients()
cg.optimize(allatoms, max_iterations = 10000)

# save to PDB format
m.write(file='alphahelices.pdb')

Python スクリプトを make_alphahelices.py として保存し、MODELLER で実行すれば、結果として alphahelices.pdb ファイルが生成される。

mod9.13 make_alphahelices.py

作成されたモデルを PyMOL で見ると、以下のようになる。なんとなく、α-ヘリックスが 3 つ確認できる。しかし、長さは、スクリプト内で指定した長さとほど遠い。

pymolで見たαヘリックス