このチュートリアルでは、次の計算を想定して説明を行う。

  • 初期構造ファイル、トポロジーファイルはAmberを使って作成済み(Amberでのinpcrdファイル、およびprmtopファイル)
  • 陰溶媒(水をあらわにいれて計算しない)
  • 定温条件

陽溶媒を扱う場合、および定圧条件の場合の説明は追って追加する予定です。

  1. 系の設定
  2. エネルギー極小化計算
  3. MD計算

これらの一連の計算をPythonスクリプトとして以下に示す。 細かな説明は次からのページに記載する。

# -*- encoding: utf-8 -*-
from simtk.openmm.app import *
from simtk.openmm import *
from simtk.unit import *

 
## 系の設定
prmtop = AmberPrmtopFile('prmtop')
inpcrd = AmberInpcrdFile('inpcrd')
system = prmtop.createSystem(implicitSolvent=GBn2, nonbondedMethod=CutoffPeriodic,\
            nonbondedCutoff=100*angstroms, constraints=HBonds, removeCMMotion=True)
integrator = LangevinIntegrator(310*kelvin, 1/picosecond, 2*femtoseconds)
simulation = Simulation(prmtop.topology, system, integrator)
simulation.context.setPositions(inpcrd.positions)
if inpcrd.boxVectors is not None:
    simulation.context.setPeriodicBoxVectors(*inpcrd.boxVectors)
 
 
## エネルギー極小化計算
simulation.minimizeEnergy()
 
 
## MD計算
simulation.reporters.append(DCDReporter('output.dcd', 5000))
simulation.reporters.append(StateDataReporter('data.tsv', 5000, step=True,\
            time=True, progress=True, remainingTime=True, potentialEnergy=True,\
            kineticEnergy=True, totalEnergy=True, temperature=True, speed=True,\
            totalSteps=allstep, separator=' '))
simulation.step(100000000)
simulation.saveState('output.xml')

※この時「UserWarning: Non-optimal GB parameters detected for GB model~」と表示されることがある。 これはhttps://github.com/openmm/openmm/pull/1311#discussion_r50171871で議論されている。 Amber形式のパラメータファイルを作成する際に、Effective Born radiiを適切に設定していない場合にこのようなWarningが出力される。 適切なEffective Born radiiに関しては陰溶媒モデルの種類と使い方を参照されたい。 次ページ: シミュレーションの設定