Perform a simulation with a C-alpha Structure-Based Model using OpenSMOG¶
This tutorial should take between 5 to 15 minutes to complete.
Input files for this tutorial can be found here
The first step is to import the OpenSMOG module
from OpenSMOG import SBM
SBM class sets the parameters for the simulation:
name="2ci2" Sets the name of each simulation (this name is used as prefix for the outputs).
time_step=0.0005 (reduced time unit) Sets the time step used in integration.
collision_rate=1.0 (reduced inverse-time unit) Sets the collision rate for the Langevin integrator.
r_cutoff=3.0 (nanometers) Sets the non-bonded cutoff.
temperature=0.5 (reduced temperature unit) Sets the temperature in the simulation.
sbm_CA is an arbitrarily chosen variable name for the SBM object
sbm_CA = SBM(name='2ci2', time_step=0.0005, collision_rate=1.0, r_cutoff=3.0, temperature=0.5)
There are three hardware platform options to run the simulations:
if cuda, opencl or HIP is choosen the GPUindex can be defined as “0”. If two GPUs are used, one may give “0,1”
Sets the directory name where to save the simulation outputs
Load the gro, top and xml files into the sbm_CA object
sbm_CA_grofile = 'SMOG2_CA_CI2/2ci2.CA.gro' sbm_CA_topfile = 'SMOG2_CA_CI2/2ci2.CA.top' sbm_CA_xmlfile = 'SMOG2_CA_CI2/2ci2.CA.xml' sbm_CA.loadSystem(Grofile=sbm_CA_grofile, Topfile=sbm_CA_topfile, Xmlfile=sbm_CA_xmlfile)
This function returns the name of each contact potential that is being used in the current model. In this example, only a Lennard-Jones-style 10-12 potential is being applied.
The simulation context is created with all information given in the previous steps.
Create the reporters that will save the simulation data in an output folder.
trajectory=True Save the trajectory in .dcd format.
energies=True Save the energy in text format separated by a comma.
interval=10**3 The interval (in steps) at which the trajectory and energies are saved.
sbm_CA.createReporters(trajectory=True, energies=True, energy_components=True, interval=10**3)
run function receives the following parameters:
nsteps=10**6 Number of steps to be performed in the simulation.
report=True Show the simulation details (Progress (%), Step and Time Remaining)
interval=10**3 The step interval to show the details
sbm_CA.run(nsteps=10**6, report=True, interval=10**3)
The output files are located in the output folder