α ヘリックスと β ストランドの作成

MODELLER の secondary_structure.alphasecondary_structure.strand メソッドを組み合わせることで、α-ヘリックスと β-シートが組合わさった二次構造を作成することができる。

作成手順としては、以下のようにステップ分けできる。例に用いる一次配列を、4R80 の一部「PSEEEEKRRAKQVAKEKILEQNPSSKVQVRRVQKQGN」とする。実際のタンパク質の中では、2-20 番目のアミノ酸は α-ヘリックス、23-35 番目のアミノ酸は β-ストランドとなっている。

  1. 一次配列のモデルを作成する(build_sequence)
  2. タンパク質が取りうる構造を計算する(restraints.make)
  3. 二次構造を作成する
    (secondary_structure.alpha と secondary_structure.strand)
  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)
#                 1234567890123456789012345678901234567
#                  HHHHHHHHHHHHHHHHHHH  EEEEEEEEEEEEE
m.build_sequence('PSEEEEKRRAKQVAKEKILEQNPSSKVQVRRVQKQGN')

# 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('2:', '20:')))
m.restraints.add(secondary_structure.strand(m.residue_range('23:', '35:')))

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

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

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

mod9.13 make_alphabetastrand.py

作成されたモデルを PyMOL で見ると、以下のようになる。

pymolで見たαヘリックス