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?

  • $\begingroup$ donor/acceptor belongs to the main chain (MC) or side chain (SC) of amino acids ?? $\endgroup$
    – pippo1980
    Oct 27 '21 at 16:59
  • $\begingroup$ @pippo1980, side chain. My target is to measure the distance between donor and acceptor atoms. $\endgroup$
    – user366312
    Oct 27 '21 at 17:24
  • 1
    $\begingroup$ Ligand or hydrogen atoms of other side chains ? Just trying to put it into a perspective $\endgroup$
    – pippo1980
    Oct 27 '21 at 17:39
  • $\begingroup$ 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 $\endgroup$
    – pippo1980
    Oct 27 '21 at 17:44
  • $\begingroup$ Here a informative link 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. $\endgroup$
    – pippo1980
    Oct 27 '21 at 17:45

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.

  • $\begingroup$ 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? $\endgroup$
    – user366312
    Oct 28 '21 at 10:49
  • $\begingroup$ 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)... $\endgroup$ Oct 28 '21 at 10:57
  • $\begingroup$ 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? $\endgroup$
    – user366312
    Oct 28 '21 at 11:03
  • 1
    $\begingroup$ Totally — assuming a pair is within about 3Å $\endgroup$ Oct 28 '21 at 11:06
  • 1
    $\begingroup$ 2.8Å is an ideal, >3.2Å is weak. Mathematically the Lenard-Jones term 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). $\endgroup$ Oct 28 '21 at 17:26

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.