Rotamerically Induced Perturbations with Langevin dynamics (L-RIP) & Rotamerically Induced Perturbations of a pseudo-Ligand (RIPlig)
L-RIP and RIPlig have been implemented by modifying the RIP script available
at(http://boscoh.com/rip/
I REQUIREMENTS
- python 2.7 or above (but not versions 3.X)
- numpy library for python
- namd 2.9 (for multiprocessors) or higher:
IMPORTANT: for numd execution, a standard hard-coded command is used: " namd2 +p ncores ...." , where ncores can be defined by the user.
If you want to change the command line for namd execution, you have to change the code accordingly { file namdGBIS.py, function run(in_parms)}
II L-RIP/RIPlig vs RIP
- L-RIP and RIPlig are implemented only for use with the NAMD simulation package.
- Only the simulation part for NAMD in the original RIP script was changed. Flexibility analysis and simulation using AMBER/GROMACS can be performed as in the original RIP version.
- Note that RIP does not work with Generalized Born (GB) implicit solvent NAMD, and if the input force field parameter 'NAMDGBIS' is given, LRIP or RIPlig will be performed.
III INPUT DATA
- file containing input parameters (see original RIP methods for more details and description of input parameter below)
- PDB file of a protein. PDB file may contain header and "HETATM" lines (as water and/or ligand molecules) which will be stripped out (see original RIP methods for more details)
- For running RIPlig a pseudo-ligand (Phe or Leu amino acid residue with capped backbone) must be created "by hands". The bast way to proceed is to use an available PDB structure of a pseudo-ligand (provided as an input file of RIPlig example for SRC protein), place it into a ligand pocket to be studied using an available visualization program (for example, PyMol, Chimera, vmd, etc.) and save new coordinates as a PDB file.
IV INPUT PARAMETERS
- All original RIP input parameters are retained, as described at (http://boscoh.com/rip/)
- To perform the L-RIP or RIPlig procedures :
- the 'NAMDGBIS' parameter must defined for 'force_field'.
- To run L-RIP:
- The parameters are the same as for RIP, but the force field must be defined as 'NAMDGBIS'
- IMPORTANT: in L-RIP, as in the original RIP method, residues in a protein are numbered sequantially starting from '0' -
the residue number defined in the configuration file must be adjusted accordingly!
- To run RIPlig:
- the parameter "lig_file" must define a PDB format file of a pseudo-ligand (the coordinates of the ligand are important and must be such that it filts into the pocket of the protein simulated). The pseudo-ligand can be any amino-acid residue with a rotatable side-chain and backbone atoms included.
- the parameter 'constraint' must be equal to (number_of_residues +1). In general, it defines the number of residues (for example, '210') whose backbone will be constrained in MD.
- A new optional parameter 'cores' can be used to define the number of processors to be used in simulations;
- the equilibration step will use the total number of cores defined by the user, while during production, the RIP trajectories will be evenly distributed over the cores;
- if the number of cores is larger then the number of trajectories to be calculated, several cores will be used for the calculation of one trajectory;
- additionally or alternatively, the job can be submitted several times as suggested for the original RIP method.
- in this case, the user has to reduce the number of cores to be used by each processor accordingly.
- For RIPlig, equilibration is carried out for each trajectory separately. Thus, the number of cores to be used is evenly distributed over trajectories from the beginning of simulations.
- for many trajectories, increasing the number of processors used leads to an almost linear increase of the computational speed.
However, the time scaling of each individual trajectory is not so efficient (because of the RIP procedure) and depends on the number of MD steps in each pulse:
for 100 steps MD per pulse, using more than 4 processors does not improve the speed further.
V. SUMMARY OF CHANGES made to the RIP package
- CHANGES IN MD PROCEDURE
- the CHARMM 2.7 force field is used
- a larger cutoff (16 Angstroms instead of the 12 Angstroms normally used for explicit solvent simulations) is employed as recommended for the GB implicit solvent force field in the NAMD documentation (http://www.ks.uiuc.edu/Research/namd/2.10b1/ug/node31.html)
- A SHORT SUMMARY OF PROGRAM MODULES CHANGED/NEW MODULES ADDED (all changes are commented in the scripts)
- the new module "namdGBIS.py" is used for the NAMDGBIS force field instead of the original namd.py (originally for use with an explicit water model) and multiprocessing has been added
- in perturb.py:
- if 'lig_pdb' is defined in the configuration file, the RIPlig procedure is started (function 'process_artlig_config(config)')
- a time limit for waiting is set in the function wait_for_file_to_be_created(fname,time_limit=0); after the time time_limit is exceeded, the program stops, giving the error message
"RIP procedure stops because the time limit xxxxx is exceeded: the file xxxxx was not generated"; time limit is currently set to 10min
- in the function equilibrate_or_wait(parms,core_min), core_min has been introduced as a parameter
- in the function process_group_config, an additional block for RIPlig has been added
- all other changes relate to the use of several processors (parameters 'cores')
- in simulate.py:
- the namd force field has been replaced by GB NAMD - "NAMDGBIS" everywhere
- namdGBIS.py used instead of namd.py
- new functions for the RIPlig method:
- make_resi_pdb(in_pdb, out_pdb, resi_n,backbone_atoms=['N','C','O'], k=1.0),
this function is used to prepare (called by make_constraint_pdb)
- make_init_riplig_files(force_field, raw_pdb, lig_pdb,name, constrain=False), constrain is used in the RIPlig method for keeping the backbone of the pseudoligand at the same place
- modified functions:
- make_constraint_pdb - an additional option has been added to constrain the pseudoligand in RIPlig runs (complete freezing of the backbone atoms - constant 20)
- make_init_riplig_files(force_field, raw_pdb, lig_pdb,name, constrain=False)
- fetch_parms - new parameter added to specify the number of cores to be used
- pulse() - Langevin damping with a coefficient of 1 ps-1 has been added; also a constraint on the pseudoligand backbone (to the original position) is used for RIPlig simulations.