This paper1 identifies cryptic allosteric sites by building MSMs from 100+ µs simulations of ß-lactamase, IL-2, and RNase H in the absence of ligand.
Can we identify these allosteric sites from equilibrium monte carlo sampling?
References
RNase H: PDB ID 1F2 http://www.rcsb.org/pdb/explore/explore.do?structureId=1F21
In [1]:
from simtk.openmm.app import *
from simtk.openmm import *
from simtk.unit import *
from sys import stdout
In [2]:
pdb = PDBFile('input.pdb')
In [3]:
#pdb = PDBFile('1F21.pdb')
In [4]:
#forcefield.
Out[4]:
In [4]:
modeller = Modeller(pdb.topology,pdb.positions)
modeller.deleteWater()
modeller.addHydrogens();
In [5]:
system = forcefield.createSystem(modeller.topology,nonbondedMethod=PME)
In [ ]:
forcefield.c
In [ ]:
In [9]:
prmtop = AmberPrmtopFile('input.prmtop')
inpcrd = AmberInpcrdFile('input.inpcrd')
system = prmtop.createSystem(nonbondedMethod=PME,
nonbondedCutoff=1*nanometer, constraints=HBonds)
integrator = LangevinIntegrator(300*kelvin, 1/picosecond,0.002*picoseconds)
simulation = Simulation(prmtop.topology, system, integrator)
simulation.context.setPositions(inpcrd.positions)
simulation.minimizeEnergy()
simulation.reporters.append(PDBReporter('output.pdb', 1000))
simulation.reporters.append(StateDataReporter(stdout, 1000, step=True, potentialEnergy=True, temperature=True))
simulation.step(10000)
In [5]:
forcefield = ForceField('amoeba2009.xml', 'amoeba2009_gk.xml')
In [7]:
system=forcefield.createSystem(pdb.topology,
nonbondedMethod=NoCutoff,
soluteDielectric=2.0,
solventDielectric=80.0)
In [7]:
from __future__ import print_function
from simtk.openmm import app
import simtk.openmm as mm
from simtk import unit
from sys import stdout
#pdb = app.PDBFile('input.pdb')
pdb = PDBFile('1F21.pdb')
modeller = Modeller(pdb.topology,pdb.positions)
modeller.addHydrogens()
modeller.deleteWater()
pdb = modeller
forcefield = app.ForceField('amber99sbildn.xml', 'amber99_obc.xml')
system = forcefield.createSystem(pdb.topology,constraints=app.HBonds)
integrator = mm.LangevinIntegrator(300*unit.kelvin, 1.0/unit.picoseconds,
2.0*unit.femtoseconds)
integrator.setConstraintTolerance(0.00001)
In [6]:
platform = mm.Platform.getPlatformByName('CUDA')
properties = {'CudaPrecision': 'mixed'}
simulation = app.Simulation(pdb.topology, system, integrator, platform,
properties)
simulation.context.setPositions(pdb.positions)
print('Minimizing...')
simulation.minimizeEnergy()
simulation.context.setVelocitiesToTemperature(300*unit.kelvin)
print('Equilibrating...')
simulation.step(100)
simulation.reporters.append(app.DCDReporter('trajectory.dcd', 1000))
simulation.reporters.append(app.StateDataReporter(stdout, 1000, step=True,
potentialEnergy=True, temperature=True, progress=True, remainingTime=True,
speed=True, totalSteps=1000, separator='\t'))
print('Running Production...')
simulation.step(1000)
print('Done!')
In [20]:
pdb = PDBFile('1F21.pdb')
import pdbfixer
pdbfixer.
In [22]:
import mdtraj
In [21]:
import os
import mdtraj
import mdtraj.reporters
from simtk import unit
import simtk.openmm as mm
from simtk.openmm import app
import mdtraj.testing
pdb = mdtraj.load(mdtraj.testing.get_fn('native.pdb'))
topology = pdb.topology.to_openmm()
forcefield = app.ForceField('amber99sbildn.xml', 'amber99_obc.xml')
system = forcefield.createSystem(topology, nonbondedMethod=app.CutoffNonPeriodic)
integrator = mm.LangevinIntegrator(330*unit.kelvin, 1.0/unit.picoseconds, 2.0*unit.femtoseconds)
simulation = app.Simulation(topology, system, integrator)
simulation.context.setPositions(pdb.xyz[0])
simulation.context.setVelocitiesToTemperature(330*unit.kelvin)
In [ ]: