# Calculate mean residence time of water in MD simulation with AMBERTOOLS. Part1

I am working on this recently. Xiaoju Zhang used LOOS to do this (http://pubs.acs.org/doi/abs/10.1021/ct500107y. This paper is super clear, and I like it very much.) I got help from him. He was so generous that he even gave me his script files. But I still got confused about the use of LOOS 😦

Since the principle of residence time is easy to understand. What I need to do is to find the water around the interested residues at each frame. And then, deal with the output. AMBERTOOLS could do this.!

Step1 could make the mdcrd to normal water box. Step2 find the oxygen atom of water less than 4.0 angstrom of residues from 1 to 100. The file mask.dat contains the residue number of selected water molecules. The mask update for each frame. You can also use maskpdb to output the coordinates of water of each frame.

In part 2, I will publish a script to handle mask.dat.

#############step1.in###################

trajin md.mdcrd

autoimage

trajout md_image.mdcrd

#####################################

###############step2.in#################

trajin md_image.mdcrd

#######################################

cpptraj *prmtop step1.in

cpptraj *prmtop step2.in

## 9 thoughts on “Calculate mean residence time of water in MD simulation with AMBERTOOLS. Part1”

1. Saman says:

Hi, I am also interested to find the water around the interested residues/ ligand. i have tried your script, input file.and cpptraj log file pasted below;
>inputfile.in
===============================================
trajin md_simulation1.mdcrd
trajin md_simulation2.mdcrd
autoimage
============
cpptraj -p complex..prmtop -i inputfile.in

>CPPTRAJ: Trajectory Analysis. V15.00
___ ___ ___ ___
| \/ | \/ | \/ |
_|_/\_|_/\_|_/\_|_

| Date/time: 04/28/16 22:51:06
| Available memory: 169.199 MB

INPUT: Reading Input from file test.in
[trajin md_simulation1.mdcrd.gz]
[trajin md_simulation2.mdcrd.gz]
[autoimage]
AUTOIMAGE: To box center based on center of mass, anchor is first molecule.
Error: Tokenize: Unknown symbol (▒) expression when parsing atom mask [“(:1-533< :4.0&:WAT&!@H=)”]
[strip :Na+]
STRIP: Stripping atoms in mask [:Na+]
———- RUN BEGIN ————————————————-

PARAMETER FILES:
0: 'complex.prmtop', 50681 atoms, 14639 res, box: Orthogonal, 14108 mol, 14097 solvent, 5000 frames

INPUT TRAJECTORIES:
0: 'md_simulation1.mdcrd.gz' is an AMBER trajectory, Parm complex.prmtop (Ortho gonal box) (reading 2500 of 2500)
1: 'md_simulation2.mdcrd.gz' is an AMBER trajectory, Parm complex.prmtop (Ortho gonal box) (reading 2500 of 2500)
Coordinate processing will occur on 5000 frames.
TIME: Run Initialization took 0.0001 seconds.

BEGIN TRAJECTORY PROCESSING:
……………………………………………..
ACTION SETUP FOR PARM 'complex.prmtop' (3 actions):
0: [autoimage]
Anchor molecule is 1
The following molecules are fixed to anchor: 2
14106 molecules are mobile.
2: [strip :Na+]
Stripping 9 atoms.
Stripped parm: 'complex.prmtop', 50672 atoms, 14630 res, box: Orthogonal , 14099 mol, 14097 solvent
—– md_simulation1.mdcrd.gz (1-2500, 1) —–
0% Error: Could not parse mask [“(:1-533<:4.0&:WAT&!@H=)”].
Warning: Could not set up atom mask [“(:1-533<:4.0&:WAT&!@H=)”]
=============

#Frame AtomNum Atom ResNum Res MolNum

Kindly tell me the reason.

Like

• I think quotation marks that you copied from the webpage make this error. Type the mask by yourself.

Like

2. Saman says:

Thanks for your prompt response. You are right, error is due to quotation marks. Can you please explain the output of this command.

#Frame AtomNum Atom ResNum Res MolNum
1 8391 O 543 WAT 12
1 8397 O 545 WAT 14
1 8400 O 546 WAT 15
2 8391 O 543 WAT 12
2 8397 O 545 WAT 14
2 8400 O 546 WAT 15

Actually, I want to plot the distance between ligand atoms and water molecule (active site water molecule) through out simulation.

Like

• It seems your ligand has 533 residues, really big one.

I have no clue how to do that in a easy way. But it’s easy to analyze them in several tricky steps.

Solution1: Deal with the trajectory file frame by frame, and use CPPTRAJ to calculate the distance between your ligand and the water you found by mask in this frame.

Solution2: Similar to solution1, but calculate the distance between all water and you ligand, then find the closest data. You don’t need to calculate the mask in advance.

Solution3: Choose small bin for the distance and use mask to find water in a region of certain distance.

Like

• Saman says:

Dear Chris,

533 is my Ligand number in pdb complex not the number of residues. My pdb has 1-532 standard amino acid residues, 533 ligand (consist of 29 atoms).

Like

• Good, that should be much easy for your analysis.

Like

• Saman says:

Dear Chris,

I am a beginner. I am unable to figure out surrounding water molecule number around my ligand and active site residues. Is there any cpptraj command? which help me to do this then I can easily plot distance between them.

Thanks

Like

• You may contact me through my email sunxiaoquan@gmail.com.

I think you only need two information for that calculation.

1. ligand residue number
2. active site residues number

An easy way is to use MASK command to find the water both around your ligand and active site residues. Then you find the water residue number from output file, and use CPPTRAJ to calculate the distance.

I don’t understand what the distance is in your question. If you have the residue number, you can calculate the distance between them.

Like

3. Saman says:

Dear Chris,

Thank you so very much for your cooperation. I will contact you through email, If I have any query.

Like