pytraj.analysis.hbond_analysis.DatasetHBond(*args, **kwargs)¶Bases: pytraj.analysis.base_holder.BaseDataHolder
Hold data for hbond analysis.
Attributes
| data | return pytraj.DatasetList | 
| donor_acceptor | return a list of donor and acceptor | 
| values | return raw numpy array | 
Methods
| get_amber_mask() | return a list of distance mask and angle mask | 
| to_dict() | return OrderedDict | 
| total_solute_hbonds() | return total solute hbonds | 
data¶return pytraj.DatasetList
donor_acceptor¶return a list of donor and acceptor
get_amber_mask()¶return a list of distance mask and angle mask
to_dict()¶return OrderedDict
total_solute_hbonds()¶return total solute hbonds
See also: DatasetHBond.data.keys()
values¶return raw numpy array
pytraj.analysis.hbond_analysis.hbond(traj, mask='', solvent_donor=None, solvent_acceptor=None, distance=3.0, angle=135.0, image=False, series=True, options='', dtype='hbond', frame_indices=None, top=None)¶(combined with cpptraj doc) Searching for Hbond donors/acceptors in region specified by mask.
Hydrogen bond is defined as A-HD, where A is acceptor heavy atom, H is hydrogen, D is
donor heavy atom. Hydrogen bond is formed when A to D distance < distance cutoff and A-H-D angle
> angle cutoff; if angle < 0 it is ignored.
| Parameters: | traj : Trajectory-like mask : {str, 1D array-like} 
 solvent_donor : {None, str}, default None solvent_acceptor: {None, str}, deafult None 
 distance : float, default 3.0 (angstrom) 
 angle : float, 135.0 degree 
 dtype : return output’s type, default ‘hbond’ image : bool, default False series : bool, default True 
 options : str 
 | 
|---|---|
| Returns: | out : DatasetHBond if series is True else return ‘DatasetList’ | 
See also
to_amber_mask
Notes
Examples
>>> import pytraj as pt
>>> traj = pt.load_sample_data('tz2')
>>> # search hbond without including solvent
>>> data = pt.search_hbonds(traj, ':5,8')
>>> data
<pytraj.hbonds.DatasetHBond
donor_acceptor pairs : 2>
>>> data.donor_acceptor
['LYS8_O-GLU5_N-H', 'GLU5_O-LYS8_N-H']
>>> # get raw data, ndarray with shape=(n_hbonds+1, n_frames)
>>> # first array shows the total solute hbonds and other arrays shows
>>> # if hbond exists (1) or non-exists (0) for each frame
>>> data.values
array([[2, 2, 0, ..., 1, 1, 1],
       [1, 1, 0, ..., 1, 1, 1],
       [1, 1, 0, ..., 0, 0, 0]], dtype=int32)
>>> # search hbond including solvent
>>> hbonds = pt.search_hbonds(traj, ':5,8', solvent_donor=':WAT@O', solvent_acceptor=':WAT')
>>> hbonds
<pytraj.hbonds.DatasetHBond
donor_acceptor pairs : 8>
>>> hbonds.donor_acceptor
['LYS8_O-GLU5_N-H', 'GLU5_O-LYS8_N-H', 'GLU5_OE2-V', 'GLU5_O-V', 'LYS8_HZ2-V', 'GLU5_OE1-V', 'LYS8_HZ1-V', 'LYS8_HZ3-V']
>>> # 'GLU5_O-V' mean non-specific hbond between GLU5_O and solvent (:WAT in this case)