MODELLER を利用して α ヘリックスをモデリングする

α ヘリックスの作成

MODELLER の secondary_structure.alpha メソッドを利用することで、アミノ酸の一次配列から、α-ヘリックスを作成することができる。作成手順としては、以下のようにステップ分けできる。例に用いる一次配列を、1ALK の一部「DKQDHAANPCGQIGETVDLDEAVQRALE」とする。この配列は 1ALK の中で実際に α-ヘリックスである。

  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)
m.build_sequence('DKQDHAANPCGQIGETVDLDEAVQRALE')

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

# 3.
m.restraints.add(secondary_structure.alpha(m.residues))

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

# save to PDB format
m.write(file='alpha-helix.pdb')

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

mod9.13 make_alphahelix.py

作成された α-ヘリックスを PyMOL で見ると、以下のようになる。

pymolで見たαヘリックス

メソッドの説明

スクリプト中で利用したいくつかのメソッドは、以下のような機能を持つ。

restraints.make 配列上の各アミノ酸が取りうる構造を計算するメソッドである(と思う・・・)。計算アルゴリズムは restraint_type で指定できる。上の例では STEREO と指定したが、BOND, ANGLE, DIHEDRAL, IMPROPER, LJ14 など様々なアルゴリズムを指定することができる(詳細)。
secondary_structure.alpha 二次構造を強制的に α-ヘリックスに構築させる(詳細)。
conjugate_gradients 構造を最適化するための最適化オブジェクトを作成する(詳細)。
optimize MD により構造を最適化する。