CHARMM-GROMACS-Insert Molecules Randomly Workflow

Step

For more info please visit

https://github.com/pritampanda15/Molecular-Dynamics/blob/master/CHARMM_scripts/CHARMM-GROMACS-LIGAND%20-%20insert%20molecules%20random

Step 1

Download molecule from PUBCHEM/ZINC or fetch using tools like wget or curl.

wget http://example.com/molecule.pdb

Step 2

Extract ligand from AutoDock vina results.

cut -c-66 XYZ_out_ligand_01 > ligand.pdb

Step 3

Combine receptor and ligand into a single complex file.

cat receptor.pdbqt ligand.pdb | grep -v '^END ' | grep -v '^END$' > complex.pdb

Step 4

Convert PDB to SYBYL mol2 format using Avogadro.

Open the molecule in Avogadro and save it as SYBYL mol2 format.

Step 5

Sort mol2 bonds for CGenFF using a Perl script.

perl sort_mol2_bonds.pl ligand.mol2 ligand_fix.mol2

Step 6

Upload ligand to CGenFF and generate .str files.

Use the CHARMM General Force Field (CGenFF) online tool to generate .str files.

Step 7

Modify ligand_fix.mol2 by replacing ***** with UNK/LIG/DRG.

Edit the @<TRIPOS>MOLECULE section in ligand_fix.mol2. (change it to UNK/LIG/DRG etc as per your convinience)

Step 8

Modify .str file for RESI, changing ***** to UNK/LIG/DRG.

Edit RESI ***** to RESI UNK/LIG/DRG in the .str file.

Step 9

Convert CHARMM to GROMACS format.

python cgenff_charmm2gmx.py LIG ligand_fix.mol2 ligand.str charmm36-feb2021.ff

Step 10

Copy CHARMM36 forcefield to your working directory.

Download CHARMM36-feb2021.ff from MacKerell's website.Remember to copy Charmm36-feb2021.ff forcefiled folder from MacKerell website.

Step 11

Convert PDB to GRO format.

gmx_mpi editconf -f unk_ini.pdb -o unk.gro

Step 12

Generate protein topology.

gmx pdb2gmx -f crystal.pdb -o processed.gro -missing -i posre.itp

Step 13

Generate position restraints.

gmx_mpi genrestr -f processed.gro -o crystal.itp

Step 14

Define position restraints in topology.

Edit topol.top to include POSRES_CRYSTAL using #ifdef and #include.

Step 15

Define the simulation box.

gmx_mpi editconf -f processed.gro -o newbox.gro -c -d 1.0 -bt cubic

Step 16

Solvate the system.

gmx_mpi solvate -cp newbox.gro -cs spc216.gro -o solv.gro -p topol.top

Step 17

Prepare for ion addition.

gmx_mpi grompp -f ions.mdp -c solv.gro -p topol.top -o ions.tpr

Step 18

Add ions to neutralize the system.

gmx_mpi genion -s ions.tpr -o solv_ions.gro -p topol.top -pname NA -nname CL -neutral

Step 19

Insert molecules (e.g., ligands) into the system.

gmx_mpi insert-molecules -f solv_ions.gro -ci unk.gro -replace -nmol 20

Step 20

Run energy minimization.

gmx_mpi grompp -f em.mdp -c out.gro -r out.gro -p topol.top -o em.tpr -maxwarn -1

Step 21

Start energy minimization.

mpprun gmx_mpi mdrun -v -deffnm em

Step 22

Create an index file for the UNK molecule.

gmx_mpi make_ndx -f unk.gro -o index_unk.ndx

Step 23

Create an index file for equilibration.

gmx_mpi make_ndx -f em.gro -o index.ndx

Step 24

Prepare the system for equilibration.

gmx_mpi grompp -f step4.1_equilibration.mdp -o equil.tpr -c em.gro -r out.gro -p topol.top -n index.ndx -maxwarn -1

Step 25

Run the equilibration process.

gmx_mpi mdrun -v -deffnm equil

Step 26

Prepare the system for the production run.

gmx_mpi grompp -f step5_production.mdp -o md.tpr -c equil.gro -p topol.top -n index.ndx -maxwarn -1

Step 27

Start the production run.

gmx_mpi mdrun -deffnm md

Step 28

Extend the simulation time.

gmx_mpi convert-tpr -s md_0_1.tpr -extend 100000 -o next.tpr

Step 29

Continue the simulation.

gmx_mpi mdrun -s next.tpr -deffnm md_0_1 -cpi md_0_1_prev.cpt
Back to Home