gamd_we.gamd_we_chignolin

Module Contents

Functions

fix_cap_chignolin(pdb_file)

Removes the problematic H atom of the capped GLY residue.

prepare_chignolin()

Prepares the chignolin system for Gaussian Accelerated Molecular

simulated_annealing(parm='system.prmtop', rst='system.inpcrd', annealing_output_pdb='system_annealing_output.pdb', annealing_steps=100000, pdb_freq=100000, starting_temp=0, target_temp=300, temp_incr=3)

Performs simulated annealing of the system from

nvt_equilibration(parm='system.prmtop', nvt_output_pdb='system_nvt_output.pdb', pdb_freq=500000, nvt_steps=5000000, target_temp=300, nvt_pdb='system_annealing_output_last_frame.pdb')

Performs NVT equilibration MD of the system

run_equilibration()

Runs systematic simulated annealing followed by

refine_system()

Refines systems for any inconsistencies

create_filetree(nst_lim=251000000, ntw_x=1000, nt_cmd=1000000, n_teb=1000000, n_tave=50000, ntcmd_prep=200000, nteb_prep=200000)

Creates a directory named gamd_simulations. Inside

run_simulations()

Runs GaMD simulations for each of the dihedral, dual and total

find_bin(value, bins)

Finds which value belongs to which bin.

reweight_1d(binspace=0.2, n_structures=10, Xdim=[0, 8], T=300.0, min_prob=1e-06, infinity=1000)

Reweights boosted potential energies in one-dimension based on

reweight_2d(binspace=0.2, n_structures=10, Xdim=[0, 8], Ydim=[0, 8], T=300.0, min_prob=1e-06, infinity=1000)

Reweights boosted potential energies in two-dimensions

create_data_files(jump=5, traj='system_final.nc', topology='system_final.prmtop', T=300.0)

Extracts data from GaMD log files and saves them as

save_frames()

Creates a directory named we_structures. Inside this

save_we_inputs()

Writes an input file in each of the simulation folder.

arrange_files()

Creates directories and move files to appropriate folders.

run_reweigh()

Runs reweighing calculations systematically

save_westpa_inputs()

Creates separate folders to initiate WE simulations.

run_westpa_inputs()

Systematically runs save_westpa_inputs function in

transfer_files()

Deletes unnecessary files in the simulation

we_analysis()

Runs short MD simulation for saved inpcrd files.

correction_westpa()

Eliminates all inpcrd files crashed during the short MD simulation

plot_contrib()

Plots to review the analysis done. Plot bar

clean_for_analysis()

Rstructures the entire filetree to start reweighing

gamd_we.gamd_we_chignolin.fix_cap_chignolin(pdb_file)[source]

Removes the problematic H atom of the capped GLY residue.

gamd_we.gamd_we_chignolin.prepare_chignolin()[source]

Prepares the chignolin system for Gaussian Accelerated Molecular Dynamics (GaMD) simulations. Downloads the pdb structure from http://ambermd.org/tutorials/advanced/tutorial22/files/5PTI-DtoH-dry.pdb and parameterizes it using General Amber Force Field (GAFF).

gamd_we.gamd_we_chignolin.simulated_annealing(parm='system.prmtop', rst='system.inpcrd', annealing_output_pdb='system_annealing_output.pdb', annealing_steps=100000, pdb_freq=100000, starting_temp=0, target_temp=300, temp_incr=3)[source]

Performs simulated annealing of the system from 0K to 300 K (default) using OpenMM MD engine and saves the last frame of the simulation to be accessed by the next simulation.

Parameters
  • parm (str) – System’s topology file

  • rst (str) – System’s coordinate file

  • annealing_output_pdb (str) – System’s output trajectory file

  • annealing_steps (int) – Aneealing steps at each temperatrure jump

  • pdb_freq (int) – Trajectory to be saved after every pdb_freq steps

  • starting_temp (int) – Initial temperature of Simulated Annealing

  • target_temp (int) – Final temperature of Simulated Annealing

  • temp_incr (int) – Temmperature increase for every step

gamd_we.gamd_we_chignolin.nvt_equilibration(parm='system.prmtop', nvt_output_pdb='system_nvt_output.pdb', pdb_freq=500000, nvt_steps=5000000, target_temp=300, nvt_pdb='system_annealing_output_last_frame.pdb')[source]

Performs NVT equilibration MD of the system using OpenMM MD engine saves the last frame of the simulation to be accessed by the next simulation.

Parameters
  • parm (str) – System’s topology file

  • nvt_output_pdb (str) – System’s output trajectory file

  • pdb_freq (int) – Trajectory to be saved after every pdb_freq steps

  • nvt_steps (int) – NVT simulation steps

  • target_temp (int) – Temperature for MD simulation

  • nvt_pdb (str) – Last frame of the simulation

gamd_we.gamd_we_chignolin.run_equilibration()[source]

Runs systematic simulated annealing followed by NVT equilibration MD simulation.

gamd_we.gamd_we_chignolin.refine_system()[source]

Refines systems for any inconsistencies before running GaMD simulations.

gamd_we.gamd_we_chignolin.create_filetree(nst_lim=251000000, ntw_x=1000, nt_cmd=1000000, n_teb=1000000, n_tave=50000, ntcmd_prep=200000, nteb_prep=200000)[source]

Creates a directory named gamd_simulations. Inside this directory, there are subdirectories for dihedral, dual and total potential-boosted GaMD with upper and lower threshold boosts separately.

Parameters
  • nst_lim (int) – Total simulation time including preparatory simulation. For example, if nst_lim = 251000000, then, we may have 2 ns of preparatory simulation i.e. 1000000 preparation steps and 500 ns of GaMD simulation i.e. 250000000 simulation steps

  • ntw_x (int) – Saving coordinates of the simulation every ntw_x timesteps. For example, 2 ps implies 1000 timesteps

  • nt_cmd (int) – Number of initial MD simulation step, 2 ns of preparatory simulation requires 1000000 preparation timesteps

  • n_teb (int) – Number of biasing MD simulation steps

  • n_tave (int) – Number of simulation steps used to calculate the average and standard deviation of potential energies

  • ntcmd_prep (int) – Number of preparation conventional molecular dynamics steps.This is used for system equilibration and potential energies are not collected for statistics

  • nteb_prep (int) – Number of preparation biasing molecular dynamics simulation steps. This is used for system equilibration

gamd_we.gamd_we_chignolin.run_simulations()[source]

Runs GaMD simulations for each of the dihedral, dual and total potential boosts for both thresholds i.e. upper and lower potential thresholds. (Remember to check md.in files for further details and flag information).

gamd_we.gamd_we_chignolin.find_bin(value, bins)[source]

Finds which value belongs to which bin.

gamd_we.gamd_we_chignolin.reweight_1d(binspace=0.2, n_structures=10, Xdim=[0, 8], T=300.0, min_prob=1e-06, infinity=1000)[source]

Reweights boosted potential energies in one-dimension based on Maclaurin series expansion to one, two and three degrees.

Parameters
  • binspace (int) – Spacing between the bins

  • n_structures (int) – Number of structures per bin chosen for Weighted Ensemble (WE) simulations

  • Xdim (list) – Range of Root mean square deviation

  • T (float) – MD simulation temperature

  • min_prob (float) – minimum probability threshold

  • infinity (integer) – infinite value of root mean square deviation

gamd_we.gamd_we_chignolin.reweight_2d(binspace=0.2, n_structures=10, Xdim=[0, 8], Ydim=[0, 8], T=300.0, min_prob=1e-06, infinity=1000)[source]

Reweights boosted potential energies in two-dimensions based on Maclaurin series expansion to one, two and three degrees.

Parameters
  • binspace (int) – Spacing between the bins

  • n_structures (int) – Number of structures per bin chosen for Weighted Ensemble (WE) simulations

  • Xdim (list) – Range of Root mean square deviation (1st dimension)

  • Ydim (list) – Range of Root mean square deviation (2nd dimension)

  • T (float) – MD simulation temperature

  • min_prob (float) – minimum probability threshold

  • infinity (integer) – infinite value of root mean square deviation

gamd_we.gamd_we_chignolin.create_data_files(jump=5, traj='system_final.nc', topology='system_final.prmtop', T=300.0)[source]

Extracts data from GaMD log files and saves them as weights.dat, Psi.dat and Phi_Psi.dat. gamd.log file contains data excluding the initial equilibration MD simulation steps but trajectory output file has all the trajectories including the initial equilibration MD steps. This part has ben taken care to make the data consistent.

Parameters
  • jump (int) – Every nth frame to be considered for reweighting

  • traj (str) – System’s trajectory file

  • topology (str) – System’s topology file

  • T (int) – MD simulation temperature

gamd_we.gamd_we_chignolin.save_frames()[source]

Creates a directory named we_structures. Inside this directory, there are six subdirectories (three for one-dimension reweighing and other three for two-dimensional reweighted frames). All frames for one, two and three-degree Maclaurin series expanded reweighted frames are present in their respective folders.

gamd_we.gamd_we_chignolin.save_we_inputs()[source]

Writes an input file in each of the simulation folder. Input file contains one column each for the name of the PDB file and its respective probability.

gamd_we.gamd_we_chignolin.arrange_files()[source]

Creates directories and move files to appropriate folders.

gamd_we.gamd_we_chignolin.run_reweigh()[source]

Runs reweighing calculations systematically in the simulation folder.

gamd_we.gamd_we_chignolin.save_westpa_inputs()[source]

Creates separate folders to initiate WE simulations.

gamd_we.gamd_we_chignolin.run_westpa_inputs()[source]

Systematically runs save_westpa_inputs function in the simulation directory.

gamd_we.gamd_we_chignolin.transfer_files()[source]

Deletes unnecessary files in the simulation directory and creates a new WE simulation folder

gamd_we.gamd_we_chignolin.we_analysis()[source]

Runs short MD simulation for saved inpcrd files.

gamd_we.gamd_we_chignolin.correction_westpa()[source]

Eliminates all inpcrd files crashed during the short MD simulation run. Also create folders for .rst files in case it is needed for WE simulations

gamd_we.gamd_we_chignolin.plot_contrib()[source]

Plots to review the analysis done. Plot bar graphs for the number of structures obtained for WE simulation for each of the potential boosts during GaMD simulation.

gamd_we.gamd_we_chignolin.clean_for_analysis()[source]

Rstructures the entire filetree to start reweighing analysis again. Used only when we want to run the analysis again.