Skip to content
This repository has been archived by the owner on Feb 15, 2022. It is now read-only.

NAMD Protein Ligand Complex Simulations

Leela Dodda edited this page Sep 20, 2016 · 7 revisions

NAMD Protein Ligand Complex Simulations

1. Preparing Protein-Ligand System

1.1 Obtaining Protein

Choose the protein of choice with ligand in it. In this example 4W52.pdb is used. It is a structure of T4 Lysozyme L99A with Benzene Bound. Since this structure has only one chain, nothing has been done. If there are more than one chain, keep only chain A/B to do MD simulations or FEP simulations further.

T4 Lysozyme L99A with Benzene

1.2 Cleaning & Preparing Protein for MD simulations

Code below uses dockprep functionality of Chimera to clean the protein and to add missing residues using Dunbrack Library. Hydrogens are not added to the protein as it was done automatically by pdb2gmx and to avoid any issues with differences in atom names. Hydrogens are added to Ligand as we have forcefield parameters explicitly defined for ligand atom names.

## PDB_FILE SHOULD THE COMPLETE PATH OF THE FILE
## REPLACE BNZ with LIGAND resname 
## USAGE: Chimera --nogui --script "prep_prot_lig.py 4w52.pdb BNZ" 
import chimera
from DockPrep import prep
import Midas
import sys
import os
PDB_file = sys.argv[1] 
lig_name = sys.argv[2]
os.system('grep ATOM %s > %s_clean.pdb'%(PDB_file,PDB_file[:-4]))
os.system('grep %s  %s > %s.pdb'%(lig_name,PDB_file,lig_name))
protein=chimera.openModels.open('%s_clean.pdb'%PDB_file[:-4])
ligand=chimera.openModels.open('%s.pdb'%lig_name)
prep(protein,addHFunc=None,addCharges=False)
prep(ligand)
Midas.write(protein,None,"protein_clean.pdb")
Midas.write(ligand,None,"ligand_wH.pdb")

Run this code by using Chimera. Make sure you have Chimera installed and can be called from Command Prompt.

Chimera --nogui --script "prep_prot_lig.py 4w52.pdb BNZ"

This produces protein_clean.pdb and ligand_wH.pdb that will be used further. Make sure that right number of hydrogens are added and the charge on ligand matches the expected value.

1.3 Preparing Ligand for MD simulations

Upload the ligand_wH.pdb to LigParGen server and for protein-ligand simulation, before uploading make sure that ligand residue name is changed to 1. This is because BOSS, the core of LigParGen server only works for only a certain number of residues. Download the files for CHARMM/NAMD, i.e BNZ.prm (parameter file)and BNZ.rtp (connectivity) files.

2. NAMD simulations

2.1 Combining Protein-Ligand coordinates

combine the PDB coordinates of apo-protein and ligand by cat protein_clean.pdb BNZ.pdb > complex.pdb and remove the connectivity information and TER. Change the residue number of Benzene ligand for continuity.

2.2 Setting up system with VMD

  1. Load complex.pdb
  2. Open Extension -> Modeling -> Automatic PSF generator
  3. Remove default Topology file.
  4. Download topology file for OPLS-AA/M from Jorgensen group and add the path to topology files.
  5. Add the path of BNZ.rtf file too.
  6. Click Load input files
  7. Click Guess and Split Chains it will ask you for location of complex.pdb again, so add the location
  8. Click Create Chains
  9. Solvate the protein using Extension -> Modeling -> Add Solvation box and use PSF and PDB files generated from AutoPSF generator.
  10. Neutralize the system using Extension -> Modeling -> Add Ions

If you choose to do it using command line VMD. Use the code below

package require psfgen	 
topology top_opls_aam.inp
topology BNZ.rtf 

pdbalias HIS HSD
pdbalias atom SER HG HG1
pdbalias residue HIS HSE	 
pdbalias atom ILE CD1 CD

segment A {pdb complex.pdb}	 
coordpdb complex.pdb A	 
guesscoord	 
writepdb complex_autopsf.pdb	 
writepsf complex_autopsf.psf 

package require solvate	 
solvate complex_autopsf.psf complex_autopsf.pdb -t 5 -o complex_wb 
package require autoionize
autoionize -psf complex_wb.psf -pdb complex_wb.pdb -neutralize -o ionized
set ubq [atomselect top all]
measure minmax $ubq   ## USE THE DIFFERENCE BETWEEN MIN AND MAX FOR CELL BASIS VECTOR DIMENSION
measure center $ubq   ## USE THE CENTER FOR CELLBASIS ORIGIN
exit

Run it using $VMD -dispdev text -e UNK.pgn and it will generate ionized.psf and ionized.pdb files that will be used for performing MD simulations.