<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wikis.ch.cam.ac.uk/ro-walesdocs/wiki/index.php?action=history&amp;feed=atom&amp;title=Performing_a_hydrogen-bond_analysis</id>
	<title>Performing a hydrogen-bond analysis - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wikis.ch.cam.ac.uk/ro-walesdocs/wiki/index.php?action=history&amp;feed=atom&amp;title=Performing_a_hydrogen-bond_analysis"/>
	<link rel="alternate" type="text/html" href="https://wikis.ch.cam.ac.uk/ro-walesdocs/wiki/index.php?title=Performing_a_hydrogen-bond_analysis&amp;action=history"/>
	<updated>2026-05-13T23:13:42Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.7</generator>
	<entry>
		<id>https://wikis.ch.cam.ac.uk/ro-walesdocs/wiki/index.php?title=Performing_a_hydrogen-bond_analysis&amp;diff=1226&amp;oldid=prev</id>
		<title>Adk44: Created page with &quot;An analysis of the hydrogen-bonding network can provide useful structural information in many situations. For example, it can be used to classify minima (and hence colour disc...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wikis.ch.cam.ac.uk/ro-walesdocs/wiki/index.php?title=Performing_a_hydrogen-bond_analysis&amp;diff=1226&amp;oldid=prev"/>
		<updated>2019-05-13T09:31:21Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;An analysis of the hydrogen-bonding network can provide useful structural information in many situations. For example, it can be used to classify minima (and hence colour disc...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;An analysis of the hydrogen-bonding network can provide useful structural information in many situations. For example, it can be used to classify minima (and hence colour disconnectivity graphs) or analyse which contacts are important in protein/ligand binding and identify possible mutations to make. With [[AMBER]], this is done using the &amp;#039;&amp;#039;ptraj&amp;#039;&amp;#039; tool. You can find a full listing of &amp;#039;&amp;#039;ptraj&amp;#039;&amp;#039; functionality in the [[AMBER]] tools manual [http://ambermd.org/doc11/AmberTools.pdf AMBER Tools here]. &lt;br /&gt;
&lt;br /&gt;
Running a hydrogen-bond analysis is broken into three stages, preparing the ptraj input, running the analysis and analysing the output. This tutorial will cover the first two stages, as analysing the output is highly system and purpose specific! &lt;br /&gt;
&lt;br /&gt;
== Preparing the ptraj input ==&lt;br /&gt;
A &amp;#039;&amp;#039;ptraj&amp;#039;&amp;#039; input file for hydrogen bond analysis is broken into three parts:&lt;br /&gt;
# reading in the structure to be analysed&lt;br /&gt;
# defining donor and acceptor atoms&lt;br /&gt;
# running the hbond analysis &lt;br /&gt;
&lt;br /&gt;
We are going to write a script which will then be passed to &amp;#039;ptraj&amp;#039; to run the analysis. In this example, we will call it &amp;#039;&amp;#039;hbond.in&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Reading in the structure to be analysed ===&lt;br /&gt;
&amp;#039;&amp;#039;ptraj&amp;#039;&amp;#039; is able to read in both PDB and AMBER .rst format files. Here we will use PDB files. To read a PDB file into &amp;#039;&amp;#039;ptraj&amp;#039;&amp;#039;, we simply use the &amp;#039;&amp;#039;trajin&amp;#039;&amp;#039; command:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#-- READING IN A SINGLE FILE&lt;br /&gt;
trajin A_Netherlands_602_2009_DG222_0_SIA26GAL14NAG_OME_resp_md1.pdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
When doing a hydrogen-bond analysis, you need to decide whether you are interested in the bonding within a single structure (for classifying minima for example), or average properties of many minima (looking at hydrogen-bond occupation). You can read as many PDB files in as you&amp;#039;d like, just by adding additional &amp;#039;&amp;#039;trajin&amp;#039;&amp;#039; lines. For example:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#-- READING IN 10 FILES&lt;br /&gt;
trajin A_Netherlands_602_2009_DG222_0_SIA26GAL14NAG_OME_resp_md1.pdb&lt;br /&gt;
trajin A_Netherlands_602_2009_DG222_0_SIA26GAL14NAG_OME_resp_md2.pdb&lt;br /&gt;
trajin A_Netherlands_602_2009_DG222_0_SIA26GAL14NAG_OME_resp_md3.pdb&lt;br /&gt;
trajin A_Netherlands_602_2009_DG222_0_SIA26GAL14NAG_OME_resp_md4.pdb&lt;br /&gt;
trajin A_Netherlands_602_2009_DG222_0_SIA26GAL14NAG_OME_resp_md5.pdb&lt;br /&gt;
trajin A_Netherlands_602_2009_DG222_0_SIA26GAL14NAG_OME_resp_md6.pdb&lt;br /&gt;
trajin A_Netherlands_602_2009_DG222_0_SIA26GAL14NAG_OME_resp_md7.pdb&lt;br /&gt;
trajin A_Netherlands_602_2009_DG222_0_SIA26GAL14NAG_OME_resp_md8.pdb&lt;br /&gt;
trajin A_Netherlands_602_2009_DG222_0_SIA26GAL14NAG_OME_resp_md9.pdb&lt;br /&gt;
trajin A_Netherlands_602_2009_DG222_0_SIA26GAL14NAG_OME_resp_md10.pdb&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Defining donor and acceptor atoms ===&lt;br /&gt;
You need to tell &amp;#039;&amp;#039;ptraj&amp;#039;&amp;#039; which atoms to consider as donors and acceptors. This is done using the mask syntax that is common in [[AMBER]]. If you&amp;#039;re working on a protein, comprised entirely of standard amino acids, with no custom ligand involved, you simply need to define the standard donor-acceptor pairs for the sidechains and backbone:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
#-- DONORS from standard amino acid sidechains&lt;br /&gt;
donor mask :GLN@OE1&lt;br /&gt;
donor mask :GLN@NE2&lt;br /&gt;
donor mask :ASN@OD1&lt;br /&gt;
donor mask :ASN@ND2&lt;br /&gt;
donor mask :TYR@OH&lt;br /&gt;
donor mask :ASP@OD1&lt;br /&gt;
donor mask :ASP@OD2&lt;br /&gt;
donor mask :GLU@OE1&lt;br /&gt;
donor mask :GLU@OE2&lt;br /&gt;
donor mask :SER@OG&lt;br /&gt;
donor mask :THR@OG1&lt;br /&gt;
donor mask :HIS@ND1&lt;br /&gt;
donor mask :HIE@ND1&lt;br /&gt;
donor mask :HID@NE2&lt;br /&gt;
&lt;br /&gt;
#-- ACCEPTORS from standard amino acid sidechains&lt;br /&gt;
acceptor mask  :ASN@ND2 :ASN@HD21&lt;br /&gt;
acceptor mask  :ASN@ND2 :ASN@HD22&lt;br /&gt;
acceptor mask  :TYR@OH  :TYR@HH&lt;br /&gt;
acceptor mask  :GLN@NE2 :GLN@HE21&lt;br /&gt;
acceptor mask  :GLN@NE2 :GLN@HE22&lt;br /&gt;
acceptor mask  :TRP@NE1 :TRP@HE1&lt;br /&gt;
acceptor mask  :LYS@NZ  :LYS@HZ1&lt;br /&gt;
acceptor mask  :LYS@NZ  :LYS@HZ2&lt;br /&gt;
acceptor mask  :LYS@NZ  :LYS@HZ3&lt;br /&gt;
acceptor mask  :SER@OG  :SER@HG&lt;br /&gt;
acceptor mask  :THR@OG1 :THR@HG1&lt;br /&gt;
acceptor mask  :ARG@NH2 :ARG@HH21&lt;br /&gt;
acceptor mask  :ARG@NH2 :ARG@HH22&lt;br /&gt;
acceptor mask  :ARG@NH1 :ARG@HH11&lt;br /&gt;
acceptor mask  :ARG@NH1 :ARG@HH12&lt;br /&gt;
acceptor mask  :ARG@NE  :ARG@HE&lt;br /&gt;
acceptor mask  :HIS@NE2 :HIS@HE2&lt;br /&gt;
acceptor mask  :HIE@NE2 :HIE@HE2&lt;br /&gt;
acceptor mask  :HID@ND1 :HID@HD1&lt;br /&gt;
acceptor mask  :HIP@ND1,NE2 :HIP@HE2,HD1&lt;br /&gt;
&lt;br /&gt;
#-- Backbone donors and acceptors&lt;br /&gt;
#   N-H for prolines do not exist so need to exclude :PRO@N from the acceptor mask&lt;br /&gt;
donor mask &amp;#039;@O&amp;#039;&lt;br /&gt;
acceptor mask  &amp;#039;!:PRO &amp;amp; @N&amp;#039; &amp;#039;@H&amp;#039;&lt;br /&gt;
&lt;br /&gt;
#Terminal residues have different atom names - OXT is only present in termini so can use always&lt;br /&gt;
donor mask @OXT&lt;br /&gt;
#This assumes there is only one protein segment i.e. if there was a terminal BEFORE the ligand&lt;br /&gt;
#you would need to add more residue numbers e.g. &amp;#039;acceptor mask :1,20@N :1,20@H1&amp;#039; etc&lt;br /&gt;
acceptor mask :1@N :1@H1&lt;br /&gt;
acceptor mask :1@N :1@H2&lt;br /&gt;
acceptor mask :1@N :1@H3&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
        DONOR         ACCEPTORH      ACCEPTOR&lt;br /&gt;
  atom# :res@atom   atom# :res@atom atom# :res@atom %occupied  distance       angle&lt;br /&gt;
|  3969 :255@O1A |  1481   :98@HG1  1480   :98@OG1 | 100.00  2.629 ( 0.10)  16.33 ( 4.50)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
From the [http://ambermd.org/doc11/AmberTools.pdf AMBER Tools manual] (AMBER 11 version) &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
hbond [&amp;lt;dataset name&amp;gt;] [out &amp;lt;filename&amp;gt;] &amp;lt;mask&amp;gt; [angle &amp;lt;cut&amp;gt;] [dist &amp;lt;cut&amp;gt;] [avgout &amp;lt;avgfilename&amp;gt;]&lt;br /&gt;
&lt;br /&gt;
Search for hydrogen bond donor and acceptor atoms in the region speciﬁed by &amp;lt;mask&amp;gt;&lt;br /&gt;
(currently following the simplistic criterion that “hydrogen bonds are FON”, i.e., hydrogens&lt;br /&gt;
bonded to F, O, and N atoms are considered) and calculate the number of hydrogen bonds&lt;br /&gt;
formed for each frame, writing the results to the ﬁle speciﬁed by “out”. Hydrogen bonds are&lt;br /&gt;
considered to have the form:&lt;br /&gt;
&lt;br /&gt;
Acceptor ... Hydrogen-Donor&lt;br /&gt;
&lt;br /&gt;
and are determined via the distance between the heavy atoms using a cutoff of 3.0 Å (or the&lt;br /&gt;
value speciﬁed by “dist”) and the angle between the acceptor, hydrogen, and donor atoms using&lt;br /&gt;
a cutoff of 135° (or the value speciﬁed by “angle”)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Adk44</name></author>
	</entry>
</feed>