Google ドキュメントを使用して公開済み
Using custom Charmm parameters with Desmond
5 分ごとに自動更新

Tutorial: Using custom CHARMM parameters with Desmond in Schrödinger Suite 2013-2

by Dmitry Lupyan (Updated on 10/9/2013)

Introduction

Dictionary

Before you start

Disclaimer

Input files for this tutorial

Custom CHARMM parameter files

Generating CHARMM Ibuprofen parameters with SwissParam

Converting Ibuprofen viparr template

Using the IBP viparr template

Preparing the Protein-Ligand complex for simulation

Solvating and neutralizing the protein-ligand complex

Assigning CHARMM force fields to the molecular system

Adding constraints

Running an MD simulation with Desmond

Introduction

The Desmond MD package includes the latest CHARMM force fields for proteins, DNA and RNA, lipids, and sugars, which can be readily used for molecular dynamics simulations.  Often one would like to run an MD simulation with custom ligand parameters that are not part of the standard CHARMM-family parameter set.  This tutorial covers the basics on how to convert CHARMM parameters to a viparr template.  After the template is prepared, we will use it to assign CHARMM parameters, with viparr, to a molecular system for MD simulation.

Dictionary

Before you start

Make sure you have the $SCHRODINGER variable set to your Schrodinger software installation.

Disclaimer

The converter tool described in this document is not supported by either Schrödinger Inc. or D.E. Shaw Research.  For help please consult other Desmond users via Google Desmond Group.

Input files for this tutorial

All the input files needed to follow this tutorial can be downloaded from Google Drive.

The link contains the following files:

Filename

Description

ibp.mol2

Input structure for upload to SwissParam server

ibp.zip

Output archive of Ibuprofen parameters from SwissParam server

ibp_new.rtf

Modified topology file

ibp_new.par

Modified parameter file

IBP_viparr_templ.tgz

Viparr template of IBP generated from SwissParam files

3p6h.pdb

PDB file containing a protein in complex with IBP

desmond_setup.mae

Prepared protein-ligand structure in Maestro format

desmond_setup-out.cms

Solvated and neutralized molecular system with OPLS_2005 parameters

charmm-out.cms

Molecular system with CHARMM and custom IBP parameters

charmm-start.cms

Molecular system with constraints set on the hydrogen atoms

Custom CHARMM parameter files

To simulate a molecule that is not covered by the standard CHARMM parameter set, we first need to obtain a topology and parameter file for that molecule.  The source of the parameters can be one of the following:

Any of the above methods can be used to generate CHARMM-compatible parameters for the viparr converter tool.

Note: to ensure that the parameters you intend to use are the ones that are being assigned, it is best if the topology and parameter files are self-contained and do not depend on other parameter files.

For the sake of simplicity and reproducibility we will use the SwissParam server to generate topology and parameter files for this tutorial.  Please refer to the original SwissParam documentation for more details on parameterization methods.

Generating CHARMM Ibuprofen parameters with SwissParam

Figure 1. A 2d schematic of Ibuprofen.  Source: RCSB.org

Suppose we would like to run a simulation of a protein in complex with an Ibuprofen (IBP) ligand, Figure 1.  The standard CHARMM parameter set lacks parameters for Ibuprofen.  To generate CHARMM parameters for IBP, we first need its structure.  The ligand structure can be obtained or generated by:

Note: When converting from 2D to 3D structures, please check you have the correct chirality.

SwissParam accepts only mol2 file format as an input, so after you have IBP 3D structure loaded in Maestro, with proper bond orders and all hydrogens, export it as ibp.mol2.

Upload the ibp.mol2 file to the SwissParam website. The SwissParam server prepares a ibp.zip file, which is ready to download after a short time.  Follow the instructions on the site to download the file.  The zip archive contains two files that we need; please extract them for further use.

Converting Ibuprofen viparr template

Now that we have a custom parameter and topology file for IBP, we can convert it to a viparr-formatted template.  To do so, we will run the converter script in the terminal:

%> $SCHRODINGER/run -FROM desmond ff_charmm_to_viparr.py -p ibp.par -t ibp.rtf IBP

Couldnt convert element (Cr), in MASS statement: ['MASS', '202', 'CR', '12.011000']
Couldnt convert element (Co), in MASS statement: ['MASS', '203', 'CO2M', '12.011000']
Error while generating template for residue: LIG
 Atom type 'CR'->'CR' wasnt defined in a MASS statement
 You are most likely trying to convert an incomplete forcefield.
 Try using '--merge' or additional '-p' options to this conversion utility
 Currently known atomtypes and atomic numbers:
   CB: 6
   O2CM: 8
   HCMM: 1

%>

The error is encountered because the converter script interprets the atom type ‘CR’ as chromium (chemical symbol ‘Cr’) and atom type ‘CO2M’ is believed to be cobalt (chemical symbol ‘Co’).  To correct this, we need to change the atom types of both CO2M and CR to an atom type that is interpreted correctly by the viparr conversion tool.

Note: A safe name would include a number character in the second position of the atom type.  Also we have to make sure that the new atom type is not already used in the standard CHARMM parameter set.

So make the following change: ‘CR’→‘C2R’ and ‘CO2M’→‘C2OM’ by either editing the ibp.par and ibp.rtf files manually with a text editor, or running the following two SED command in the terminal.

%> cat ibp.par | sed 's/CR /C2R /g' | sed 's/CO2M/C2OM/g' > ibp_new.par

%> cat ibp.rtf | sed 's/CR /C2R /g' | sed 's/CO2M/C2OM/g' > ibp_new.rtf

%>

Running the two commands creates two new files: ibp_new.par and ibp_new.rtf with the atom types changed as described.

Note: Please manually inspect the new files to ensure that unintended substitutions were not made.

Now rerun the above command with the updated parameter and topology files as an input.

%> $SCHRODINGER/run -FROM desmond ff_charmm_to_viparr.py -p ibp_new.par -t ibp_new.rtf IBP

No CMAP terms found
Writing converted forcefield to IBP/
templates ['LIG']

%>

The converter script now generates the IBP directory which contains the viparr-formatted CHARMM template for Ibuprofen.  During the generation of the original parameter files, the SwissParam server changed the ligand’s residue name to ‘LIG.’  This is OK since viparr uses structure matching to assign force fields parameters, so the residue name is unimportant.

Using the IBP viparr template

In this section we will prepare a protein in complex with IBP for MD simulations with CHARMM force fields. To do this, we will first build the system with Maestro and Desmond tools.  The default force field used by Schrödinger Inc. is OPLS_2005, so we will later reassign CHARMM parameters to the system.

Preparing the Protein-Ligand complex for simulation

To use the IBP viparr template we generated in the previous section, we will use a PDB entry of a protein that is already complexed with IBP.  We will use PDB ID: 3p6h in this section.  To do open Maestro and:

  1. Choose  Workflows → Protein Preparation Wizard or click the PrepWiz toolbar button
  2. In the Protein Preparation Wizard panel enter ‘3p6h’ in the PDB text box, and click the Import button
  3. After the PDB has been imported into the 3D workspace, we want to preprocess the protein and the ligand. In the  Protein Preparation Wizard panel,  make sure the following options are selected:
  1. Click the Preprocess button.
  2. A warning window that lists protein preparation problems opens.  You can just click ‘OK’ to close it.

Note: This window just alerts you that there are missing atoms on the terminal residues, which is not problematic since we’re capping these residues anyway.  Also this window alerts you of overlapping atoms and alternative residue positions for some residues in the PDB file.  All of these are just warnings and can be ignored for this system.

Completing these steps produces a Protein-Ligand complex in the Workspace where the partial and formal charges, protonation states, bond orders of protein residues and ligand groups have been determined and assigned.  Hydrogens are also added to the protein, the ligand and the crystallographic water molecules.

Solvating and neutralizing the protein-ligand complex

Now that we have a protein-ligand complex loaded in the Workspace, we can solvate and neutralize the complex.  To do this in Maestro:

  1. Open the System Builder by choosing Applications → Desmond → System Builder
  2. Click the Run button to start building the system with the default settings.

After a short wait, the solvated system is displayed in the Workspace.  This system is solvated with SPC waters, and neutralized with counterions.  The completed system is also written out to the file desmond_setup-out.cms, which contains the coordinates and the OPLS_2005 parameters of the system.

Assigning CHARMM force fields to the molecular system

The CMS file generated in the previous step is ready to run Desmond, but OPLS_2005 force fields have been used.  In order to use CHARMM parameters, we need to reassign force fields to CHARMM.

The viparr utility comes prepackaged with standard sets of protein parameters.  In an earlier step we generated a viparr template for the IBP ligand with CHARMM parameters (which should be in the IBP directory), so we have all the ingredients to reassign force fields in our system.   To do this, run the following command in a Linux terminal.

%> $SCHRODINGER/run -FROM desmond viparr.py -f charmm27 -f tip3p_charmm -d IBP desmond_setup-out.cms charmm-out.cms

viparr 1.5.1

All FF directories, in order:

$SCHRODINGER/desmond-v3.4/data/viparr/ff/charmm27

$SCHRODINGER/desmond-v3.4/data/viparr/ff/tip3p_charmm

IBP

Plug-in directory: $SCHRODINGER/desmond-v3.4/bin/Linux-x86_64/viparr1/plugins

Reading maestro file <desmond_setup-out.cms> ...

Done reading maestro file

Skipping full_system structure <1>

Analyzing ct block 2

Warning: Missing backward edges...adding them now

Analyzing ct block 3

Warning: Missing backward edges...adding them now

******Constructing residue list for <charmm27> Structure 2

******Constructing residue list for <charmm27> Structure 3

******Constructing residue list for <tip3p_charmm> Structure 2

******Constructing residue list for <tip3p_charmm> Structure 3

******Constructing residue list for <IBP> Structure 2

******Constructing residue list for <IBP> Structure 3

Note: Struct 2, Res <"A_INS_ ",-7> (GLN) matched (ALA)

Note: Struct 2, Res <"A_INS_ ",-6> (GLN) matched (ALA)

Note: Struct 2, Res <"A_INS_ ",93> (HID) matched (HIS)

Note: Struct 2, Res <"A_INS_ ",133> (IBP) matched (LIG)

Note: Struct 3, Res <" ",1> (SPC) matched (TIP3)

Note: Struct 3, Res <" ",2> (SPC) matched (TIP3)

Note: Struct 3, Res <" ",3> (SPC) matched (TIP3)

Note: Struct 3, Res <" ",4> (SPC) matched (TIP3)

Note: Struct 3, Res <" ",5> (SPC) matched (TIP3)

Ignoring further messages for (SPC) matching (TIP3)

******Main loop: Structure 2

Pre-processing force field <charmm27> for rules and pseudos

Pre-processing force field <tip3p_charmm> for rules and pseudos

Pre-processing force field <IBP> for rules and pseudos

Processing force field <charmm27>

Processing force field <tip3p_charmm>

Processing force field <IBP>

Building mae data structure...

Number of pseudo particles: 0

******Main loop: Structure 3

Pre-processing force field <charmm27> for rules and pseudos

Pre-processing force field <tip3p_charmm> for rules and pseudos

Pre-processing force field <IBP> for rules and pseudos

Processing force field <charmm27>

Processing force field <tip3p_charmm>

Compressing FF representation...

Processing force field <IBP>

Building mae data structure...

Number of pseudo particles: 0

Writing maestro file <charmm-out.cms>

%>

This command assigned CHARMM27 parameters to the protein, ions, and waters (tip3p).  We also assigned our custom IBP parameters to the Ibuprofen ligand by specifying the  -d IBP flag.  The output  charmm-out.cms file contains the system’s structural and CHARMM force field information.

Note: If your custom parameters depend on the predefined parameters set, instead of “-d IBP” flag you should use a merge flag “-m IBP”.  This is often the case with CGenFF, where parameters in the prm file are incomplete and depend on other parameters included in the generalized CGenFF set.  In this case your viparr command should also include ‘-f cgenff_base_v2b7’.

Adding constraints

Now that the system force field parameters have been assigned in the charmm-out.cms file,   we need to add hydrogen constraints.  To do this, run the following command:

%> $SCHRODINGER/run -FROM desmond build_constraints.py charmm-out.cms charmm-start.cms

Reading maeff file charmm-out.cms

Finding constraint terms...

Examining 2216 bonds in ffio_bonds section...

Found 703 hydrogen groups.

Generating 198 unique AH2 constraint groups.

Generating 105 unique AH3 constraint groups.

Generating 400 unique AH1 constraint groups.

Will constrain 1111 unique bonds, 0 unique angles.

Examining 2 bonds in ffio_bonds section...

Found 1 hydrogen groups.

Generating 1 unique HOH constraint groups.

Will constrain 2 unique bonds, 1 unique angles.

---------------------

|       Total:      |

|                   |

|    198 AH2 groups |

|    105 AH3 groups |

|    400 AH1 groups |

|   6556 HOH groups |

---------------------

Writing maeff file charmm-start.cms

%>

The resulting file, charmm-start.cms is now ready for use in a Desmond simulation.

Running an MD simulation with Desmond

Now that the system is prepared with CHARMM parameters, Desmond can minimize, equilibrate and run an MD simulation of the system.  In Maestro, do the following:

  1. Open the Molecular Dynamics panel from  Applications → Desmond
  2. In the Model system section, choose Import from file, and click Browse to locate and load charmm-start.cms
  3. Ensure the ‘Relax model system before simulation’ checkbox is selected
  4. Enter a Job name and make settings, then click Run to launch the simulation

Note: To test the described method and parameters, we ran a 10 ns simulation, please see the Simulation Interactions Diagram (SID, available in 2013-2 Schrodinger suite release) PDF report here.

For further information please consult the Desmond User Manual.

Acknowledgements

Great thanks to Vincent Zoete and Olivier Michielin, from Swiss Institute of Bioinformatics and coauthors of SwissParam utilities.