<p>A hydrogen bond donor heavy atom is one that is protonated, while the acceptor has a lone pair. If you talking about amino acids, then it's simple as they are fixed.</p>
<div class="s-table-container">
<table class="s-table">
<thead>
<tr>
<th>atom name</th>
<th>description</th>
<th>role</th>
<th>note</th>
</tr>
</thead>
<tbody>
<tr>
<td><code>N</code></td>
<td>backbone nitrogen</td>
<td>donor</td>
<td>SS</td>
</tr>
<tr>
<td><code>CA</code></td>
<td>backbone Cα</td>
<td>apolar</td>
<td></td>
</tr>
<tr>
<td><code>C</code></td>
<td>backbone carboxyl C</td>
<td>sterically hindered and electrophilic</td>
<td>nucleophilic attack</td>
</tr>
<tr>
<td><code>O</code></td>
<td>backbone carboxyl O</td>
<td>acceptor</td>
<td>SS</td>
</tr>
<tr>
<td><code>CB</code> etc.</td>
<td>sidechain carbons</td>
<td>apolar</td>
<td></td>
</tr>
<tr>
<td><code>OXT</code></td>
<td>C-terminal oxygen</td>
<td>acceptor</td>
<td>may be protonated especially if a membrane embedded C-terminus</td>
</tr>
<tr>
<td>Serine's <code>OG</code> / Threonine's <code>OG1</code></td>
<td>sidechain hydroxyl</td>
<td>donor</td>
<td>SS: may form ST turns. Fairly uncommon: may be a donor</td>
</tr>
<tr>
<td>Asp <code>OD1</code>/<code>OD2</code>/Asn <code>OD1</code></td>
<td>sidechain carboxyl/amide O</td>
<td>acceptor</td>
<td>SS: may form Asx turns</td>
</tr>
<tr>
<td>Glu <code>OG1</code>/<code>OG2</code>/Gln <code>OG1</code></td>
<td>sidechain carboxyl/amide O</td>
<td>acceptor</td>
<td></td>
</tr>
<tr>
<td>Lysine <code>NZ</code></td>
<td>sidechain amine</td>
<td>donor</td>
<td></td>
</tr>
<tr>
<td>Asn <code>ND2</code> / Gln <code>NG2</code></td>
<td>terminal admide N</td>
<td>donor</td>
<td>the direction of an Asn/Gln may be accidentally filled if manually assigned as N/O have the same density in X-ray crystals</td>
</tr>
</tbody>
</table>
</div>
<p>Water can be both a donor and an acceptor.
Two charged residues form a salt bridge more so than a hydrogen bond, because the interaction is driven by the Coulomb electrostatic forces of the two heavy atoms.</p>

CC BY-SA 4.0
2021-10-28T10:49:17.163Z
*A hydrogen bond donor heavy atom is one that is protonated, while the acceptor has a lone pair.* -- Does this apply to BioPython's `Atom` object? I mean, can I test or search it using BioPython?
user366312
CC BY-SA 4.0
2021-10-28T10:57:06.163Z
Yeah nah. A heavy atom is an atom that diffracts under X-ray crystallography —not hydrogens. The `Atom` instance is a graph network node representation of any atom. It may be a hydrogen —_in silico_ protonated, neutron diffraction or 1H NMR. Technically to the most pedantically punctilious level, it could be virtual (e.g. Drude particle)...
Matteo Ferla
CC BY-SA 4.0
2021-10-28T11:03:28.627Z
So, can I use your supplied information and apply them on a PDB file via BioPython and extract donor and acceptor atom info from that PDB file?
user366312
CC BY-SA 4.0
2021-10-28T11:06:28.987Z
Totally — assuming a pair is within about 3Å
Matteo Ferla
CC BY-SA 4.0
2021-10-28T11:10:04.430Z
So, if I can extract donor and acceptor atom-related info, can I predict Hydrogen bonds in this way?
user366312
CC BY-SA 4.0
2021-10-28T11:17:39.917Z
Completely... as said somewhere else though it is way easier working in dihedral space and assigning the SS by Ramachandran plot bins, e.g. see ABEGO bins in SI Fig 1 of https://www.nature.com/articles/s41594-018-0141-6#MOESM1 —however, looking at the hydrogen bonds is more precise as you can better assign the correct type of turns.
Matteo Ferla
CC BY-SA 4.0
2021-10-28T17:08:43.577Z
@MatteoFerla so treshold for distance would be  about 3Å, does this change with resolution of the stucture ? what about the bond geometry (https://academic.oup.com/peds/article/15/5/359/1508259)?
pippo1980
CC BY-SA 4.0
2021-10-28T17:10:14.773Z
@user366312 I guess you should add hydrogens to your pdb first
pippo1980
CC BY-SA 4.0
2021-10-28T17:17:04.757Z
@pippo1980, *I guess you should add hydrogens to your pdb first* --- that option has been forbidden by my P.I. According to him, this adds too much noise to the generated data.
user366312
CC BY-SA 4.0
2021-10-28T17:26:05.357Z
2.8Å is an ideal, >3.2Å is weak. Mathematically the [Lenard-Jones term](https://en.wikipedia.org/wiki/Lennard-Jones_potential) is used in thermodynamic simulations —in the wiki page you can see the potential plateaus quickly.  Sure, the true distance will be marginally affected by the b-factors of the atoms (both anisotropic/isotropic) but in solution the distance is likely a distribution (i.e. the atoms wobbling around).
Matteo Ferla
CC BY-SA 4.0
2021-10-28T10:27:27.520Z
2021-10-28T10:27:27.520Z
Matteo Ferla
<p>I know how to traverse through structures, models, residues, and atoms in a protein chain using BioPython (which is very easy).</p>
<p>How can I identify donor and acceptor atoms in a chain?</p>

CC BY-SA 4.0
2021-10-27T16:59:42.367Z
donor/acceptor belongs to the main chain (MC) or side chain (SC) of amino acids ??
pippo1980
CC BY-SA 4.0
2021-10-27T17:24:10.033Z
@pippo1980, side chain. My target is to measure the distance between donor and acceptor atoms.
user366312
CC BY-SA 4.0
2021-10-27T17:39:04.130Z
Ligand or hydrogen atoms of other side chains ? Just trying to put it into a perspective
pippo1980
CC BY-SA 4.0
2021-10-27T17:44:32.153Z
I guess once you know coordinates of each putative donor and acceptor, you calculate the distances between all the possible pairs and take the ones under a threshold. My PhD examiner was blabbing about right geometry too … but we were talking about X-ray crystallography no way to know where  the hydrogens are and a kind of middle resolution so … but remember geometry is important too
pippo1980
CC BY-SA 4.0
2021-10-27T17:45:47.593Z
Here a informative link https://www.biostars.org/p/182325/ this links to another post : most software simply looks for donor + acceptor pairs separated by an appropriate distance and bond angle.
pippo1980
CC BY-SA 4.0
2021-10-27T17:53:16.007Z
@pippo1980, How does DSSP/STRIDE help in finding donor/acceptors? They are just supposed to detect secondary structures, no?
user366312
CC BY-SA 4.0
2021-10-27T18:47:30.257Z
Auch you got me !!! Used STRIDE to assign secondary on my models !!! Don’t know how pdf validate nowadays secondary structure signatures : here about stride http://webclu.bio.wzw.tum.de/stride/stride.pdf
pippo1980
CC BY-SA 4.0
2021-10-27T18:49:41.973Z
DSSP. Dictionary of Secondary Structure of Proteins (DSSP) assigns eight state secondary structure using hydrogen bonds alone. DSSP defines a hydrogen bond where the bond energy is below -0.5 kcal/mol based on a Coulomb approximation of the hydrogen bond energy.
pippo1980
CC BY-SA 4.0
2021-10-27T18:52:19.617Z
My hydrogen bonding problem was about Ligand —> side chain dono/acceptor. Now you can point to new way to asses that for ligand interaction too
pippo1980
<python><proteins><small-molecules>
How can I identify acceptor and donor atoms using BioPython?
# How can I identify acceptor and donor atoms using BioPython?

(Asked by: username_0 on 2021-10-27)

I know how to traverse through structures, models, residues, and atoms in a protein chain using BioPython (which is very easy).

How can I identify donor and acceptor atoms in a chain?

**Tags:** python, proteins, small-molecules
> **Comments:**
> **username_1**: donor/acceptor belongs to the main chain (MC) or side chain (SC) of amino acids ??  
> **username_0**: @pippo1980, side chain. My target is to measure the distance between donor and acceptor atoms.  
> **username_1**: Ligand or hydrogen atoms of other side chains ? Just trying to put it into a perspective  
> **username_1**: I guess once you know coordinates of each putative donor and acceptor, you calculate the distances between all the possible pairs and take the ones under a threshold. My PhD examiner was blabbing about right geometry too … but we were talking about X-ray crystallography no way to know where  the hydrogens are and a kind of middle resolution so … but remember geometry is important too  
> **username_1**: Here a informative link https://www.biostars.org/p/182325/ this links to another post : most software simply looks for donor + acceptor pairs separated by an appropriate distance and bond angle.  
> **username_0**: @pippo1980, How does DSSP/STRIDE help in finding donor/acceptors? They are just supposed to detect secondary structures, no?  
> **username_1**: Auch you got me !!! Used STRIDE to assign secondary on my models !!! Don’t know how pdf validate nowadays secondary structure signatures : here about stride http://webclu.bio.wzw.tum.de/stride/stride.pdf  
> **username_1**: DSSP. Dictionary of Secondary Structure of Proteins (DSSP) assigns eight state secondary structure using hydrogen bonds alone. DSSP defines a hydrogen bond where the bond energy is below -0.5 kcal/mol based on a Coulomb approximation of the hydrogen bond energy.  
> **username_1**: My hydrogen bonding problem was about Ligand —> side chain dono/acceptor. Now you can point to new way to asses that for ligand interaction too  

---

## 1 answers

### Answer by username_2 on 2021-10-28. Score: 3 | Accepted answer

A hydrogen bond donor heavy atom is one that is protonated, while the acceptor has a lone pair. If you talking about amino acids, then it's simple as they are fixed.

| atom name | description | role | note |
| --- | --- | --- | --- |
| `N` | backbone nitrogen | donor | SS |
| `CA` | backbone Cα | apolar |  |
| `C` | backbone carboxyl C | sterically hindered and electrophilic | nucleophilic attack |
| `O` | backbone carboxyl O | acceptor | SS |
| `CB` etc. | sidechain carbons | apolar |  |
| `OXT` | C-terminal oxygen | acceptor | may be protonated especially if a membrane embedded C-terminus |
| Serine's `OG` / Threonine's `OG1` | sidechain hydroxyl | donor | SS: may form ST turns. Fairly uncommon: may be a donor |
| Asp `OD1`/`OD2`/Asn `OD1` | sidechain carboxyl/amide O | acceptor | SS: may form Asx turns |
| Glu `OG1`/`OG2`/Gln `OG1` | sidechain carboxyl/amide O | acceptor |  |
| Lysine `NZ` | sidechain amine | donor |  |
| Asn `ND2` / Gln `NG2` | terminal admide N | donor | the direction of an Asn/Gln may be accidentally filled if manually assigned as N/O have the same density in X-ray crystals |

Water can be both a donor and an acceptor.
Two charged residues form a salt bridge more so than a hydrogen bond, because the interaction is driven by the Coulomb electrostatic forces of the two heavy atoms.

> **Comments:**
> **username_0**: *A hydrogen bond donor heavy atom is one that is protonated, while the acceptor has a lone pair.* -- Does this apply to BioPython's `Atom` object? I mean, can I test or search it using BioPython?  
> **username_2**: Yeah nah. A heavy atom is an atom that diffracts under X-ray crystallography —not hydrogens. The `Atom` instance is a graph network node representation of any atom. It may be a hydrogen —_in silico_ protonated, neutron diffraction or 1H NMR. Technically to the most pedantically punctilious level, it could be virtual (e.g. Drude particle)...  
> **username_0**: So, can I use your supplied information and apply them on a PDB file via BioPython and extract donor and acceptor atom info from that PDB file?  
> **username_2**: Totally — assuming a pair is within about 3Å  
> **username_0**: So, if I can extract donor and acceptor atom-related info, can I predict Hydrogen bonds in this way?  
> **username_2**: Completely... as said somewhere else though it is way easier working in dihedral space and assigning the SS by Ramachandran plot bins, e.g. see ABEGO bins in SI Fig 1 of https://www.nature.com/articles/s41594-018-0141-6#MOESM1 —however, looking at the hydrogen bonds is more precise as you can better assign the correct type of turns.  
> **username_1**: @MatteoFerla so treshold for distance would be  about 3Å, does this change with resolution of the stucture ? what about the bond geometry (https://academic.oup.com/peds/article/15/5/359/1508259)?  
> **username_1**: @user366312 I guess you should add hydrogens to your pdb first  
> **username_0**: @pippo1980, *I guess you should add hydrogens to your pdb first* --- that option has been forbidden by my P.I. According to him, this adds too much noise to the generated data.  
> **username_2**: 2.8Å is an ideal, >3.2Å is weak. Mathematically the [Lenard-Jones term](https://en.wikipedia.org/wiki/Lennard-Jones_potential) is used in thermodynamic simulations —in the wiki page you can see the potential plateaus quickly.  Sure, the true distance will be marginally affected by the b-factors of the atoms (both anisotropic/isotropic) but in solution the distance is likely a distribution (i.e. the atoms wobbling around).  

---

