secondary_structure.alpha
にアミノ酸残基番号を与えることで、指定範囲内のアミノ酸だけを α-ヘリックにすることができる。このメソッドを複数回利用すれば、複数個の α-ヘリックスを作成することができる。
例に用いるアミノ酸配列は 3CR3 の一部である。アミノ酸は以下の Python スクリプト内に書いてある。この配列中に実際には 3 つの α-ヘリックスが存在する。MODELLER を用いて、その 3 カ所の α-ヘリックスをモデルする例を示す。
モデリングの手順は以下の通り。
- 一次配列のモデルを作成する(build_sequence)
- タンパク質が取りうる構造を計算する(restraints.make)
- 二次構造を作成する(secondary_structure.alpha)
- 構造を最適化する(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 つ確認できる。しかし、長さは、スクリプト内で指定した長さとほど遠い。