Get Luzar-Chandler hydrogen bonds#
Detecting hydrogen bonds based on combined distance and angle criteria (Luzar & Chandler).
The function molsysmt.hbonds.get_luzard_chandler_hbonds() evaluates hydrogen bonds using the joint donor–acceptor distance and D–H···A linearity angle thresholds established by Luzar & Chandler.
Added in version 1.0.0.
API documentation
Follow this link for a detailed description of the input arguments, raised errors, and returned objects of this function: molsysmt.hbonds.get_luzard_chandler_hbonds().
Basic usage#
Let’s detect hydrogen bonds in a protein structure using the Luzar-Chandler distance and angle criteria:
import molsysmt as msm
import pyunitwizard as puw
molsys = msm.convert(msm.systems['chicken villin HP35']['chicken_villin_HP35.h5msm'])
Note
Demo Systems Catalog
This tutorial uses demonstration datasets provided by MolSysMT. To explore the full catalog of bundled systems, forms, and file paths, visit the Demo Systems guide.
We evaluate hydrogen bonds with a distance cutoff of 3.5 Å and an angle tolerance of 30°:
hbonds, distances, angles = msm.hbonds.get_luzard_chandler_hbonds(molsys,
distance_threshold='3.5 angstroms',
angle_threshold='30.0 degrees')
print('Total Luzar-Chandler hydrogen bonds detected:', len(hbonds[0]))
print('First 5 H-bond triplets [donor_heavy, bonded_H, acceptor]:\n', hbonds[0][:5])
print('First 5 distances:\n', distances[0][:5])
print('First 5 angles:\n', angles[0][:5])
Total Luzar-Chandler hydrogen bonds detected: 36
First 5 H-bond triplets [donor_heavy, bonded_H, acceptor]:
[[ 42 43 91]
[ 51 52 90]
[ 80 81 90]
[ 92 93 47]
[112 113 58]]
First 5 distances:
[0.29376070029188095 0.25604054035224855 0.27401248994459554 0.2834160516724867 0.2878586446826376] nanometer
First 5 angles:
[0.35409470074619875 0.10517367420842096 0.5053429033349056 0.30326356925490494 0.20589640163446343] radian
Hydrogen bonds between selections#
Hydrogen bonds can also be evaluated across two distinct subsets or candidate selections using selection and selection_2. Here we demonstrate this general feature with an example of interfacial hydrogen bonds formed between the two binding partners in the Barnase–Barstar complex:
complex_sys = msm.convert(msm.systems['Barnase-Barstar']['barnase_barstar.h5msm'])
inter_hbonds, inter_dist, inter_ang = msm.hbonds.get_luzard_chandler_hbonds(complex_sys,
selection='molecule_name=="BARNASE"',
selection_2='molecule_name=="BARSTAR"')
print('Interfacial hydrogen bonds detected:', len(inter_hbonds[0]))
print('Interface H-bond triplets:\n', inter_hbonds[0][:5])
Interfacial hydrogen bonds detected: 15
Interface H-bond triplets:
[[ 431 432 2400]
[ 431 433 2361]
[ 858 859 2296]
[ 876 878 2969]
[ 879 880 2969]]
See also
Related Tools & References
Get Buch hydrogen bonds: Detect hydrogen bonds via Buch criteria with
molsysmt.hbonds.get_buch_hbonds().Get acceptor atoms: Identify acceptor atoms with
molsysmt.hbonds.get_acceptor_atoms().Get donor atoms: Identify donor atoms with
molsysmt.hbonds.get_donor_atoms().