pH replica exchange simulation of BPTI implicit_charmm

This page describes how to run pH replica exchange simulation in implicit solvent model, we will be using BPTI as an example.

working directory:/home/zwei/work/MD/BPTI/charmm_pH/REX_pH/IM/

1.Structure Preparation

This is the same as implicit simulation without replica exchange,  so we will start from the part after we get 6pti_h.crd/pdb/psf in ./data/ .

2.Input File Preparation

Instead of hphmd.inp, this time we use hpdmd_phrex.inp

......set in = 6pti
set struct = data/@in_h
set nrep = 15
set ph = 0.0
set dph = 1.0
set time = 2.0 ! time (ns)
set prfrq = 500 ! printing frequency ........

 

3. pH Replica Exchange Simulation

mpirun -np 15 charmm <hphmd_phrex.inp &

outputs: ./data/6pti.ph<ph>.dcd/ene/lamb/rst_IREP

./6pti.phrex.log_IREP/out_IREP

4. pKa Calculation

Before pKa calculation, we need to calculate unprotonated fraction from lambda files.

 

# ititr 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
# ires 3 3 7 7 10 15 21 23 26 35 41 46 49 49 50 50
# itauto 3 4 3 4 0 0 0 0 0 0 0 0 3 4 3 4
# ParK 5.491 5.491 6.040 6.040 13.864 14.276 13.864 13.864 14.276 13.864 14.276 14.276 6.040 6.040 5.491 5.491
500 0.00 0.96 0.02 1.00 0.00 0.00 0.02 0.00 0.00 0.00 0.00 0.00 0.04 0.06 0.02 0.98
1000 0.03 0.98 0.30 0.75 0.00 0.00 0.04 0.01 0.01 0.01 0.01 0.00 0.06 0.93 0.00 1.00
1500 0.00 1.00 0.01 0.93 0.00 0.00 0.01 0.01 0.01 0.00 0.00 0.06 0.00 0.99 0.01 1.00
2000 0.00 1.00 0.00 0.01 0.00 0.01 0.00 0.01 0.01 0.04 0.02 0.00 0.01 0.91 0.01 1.00...................

 

# ititr I ( I = 1..16)  index of titration freedom, asp and glu  have 2 for each, lys and tyr have 1 for each.
# ires J ( J = 1..TITRGRP(I)) residues corresponding to the index of freedom.
# itauto K ( K = 1..TAUTO(I))

code for each titration degree of freedom that is used internally

- single-site (Lys/Arg/Aspp/Glupp) ; 0
- two-site, single pKa (Aspp2/Glup2) ; 3 4
- two-site, each with different pKa (Hsp) ; 1 2

# Park L ( L = ln(10)RT(pH-pKa^mod(I))
(This is a special case for pH-REX run via MMTSB)   ?

STEP M ( M = LAMB(I))  step number, lambda and x values      ?  

for i in $(seq 0 14); do CptSX.pl 6pti.ph$i.lamb_$i 100 2000 $i; done

 

# ires pH unprot pure mixed
1 3 0.0 0.00 0.94 0.06
2 3 0.0 1.00 0.97 0.03
3 7 0.0 0.00 0.81 0.19
4 7 0.0 0.49 0.85 0.15
5 10 0.0 0.00 1.00 0.00
6 15 0.0 0.00 1.00 0.00
7 21 0.0 0.00 1.00 0.00
8 23 0.0 0.00 1.00 0.00
9 26 0.0 0.00 0.99 0.01
10 35 0.0 0.00 1.00 0.00
11 41 0.0 0.00 0.99 0.01
12 46 0.0 0.00 0.99 0.01
13 49 0.0 0.00 0.80 0.20
14 49 0.0 0.46 0.85 0.15
15 50 0.0 0.00 0.95 0.05
16 50 0.0 1.00 0.97 0.03