schrodinger.application.phase.hypothesis_binding_modes module¶
Clusters actives and hypotheses into possible binding modes. Actives are represented by bit strings encoding the hypotheses they match, and hypotheses are represented by bit strings encoding the actives they match. Tanimoto similarities between bit strings are computed, and hierarchical, agglomerative clustering is performed on both actives and hypotheses. The presence of consistent groupings of actives and hypotheses may indicate the existence of multiple binding modes.
For example, if there are 10 hypotheses and 8 actives, an idealized clustered bit matrix for 2 clusters might look like this:
Actives Order
H 1 1 1 1 0 0 0 0 7
y 1 1 1 1 0 0 0 0 1
p 1 1 1 1 0 0 0 0 4
o 1 1 1 1 0 0 0 0 0
t 1 1 1 1 0 0 0 0 9
h 1 1 1 1 0 0 0 0 Cut 0 --- 2
e 0 0 0 0 1 1 1 1 6
s 0 0 0 0 1 1 1 1 5
e 0 0 0 0 1 1 1 1 8
s 0 0 0 0 1 1 1 1 Cut 1 --- 3
Order 3 5 0 2 7 1 5 4
| |
| |
Cut 0 Cut 1
Example Usage:
hypos = hypothesis.extract_hypotheses(phypo_path)
results = hbm.calculate_binding_modes(hypos, 2)
cluster_matrix, active_IDs, hypo_IDs, actives_cut, hypo_cut = results
Copyright Schrodinger LLC, All Rights Reserved.
- schrodinger.application.phase.hypothesis_binding_modes.calculate_binding_modes(hypotheses, num_modes)¶
Clusters actives and hypotheses into possible binding modes. Returns: - clutered bit matrix for actives (columns) and hypotheses (rows) - active IDs in column order - hypothesis IDs in row order - 0-based cluster cutoff indices for actives clusters - 0-based cluster cutoff indices for hypotheses clusters
- Parameters
hypotheses (list of
hypothesis.PhaseHypothesis
) – list of Phase hypothesesnum_modes (int) – proposed number of binding modes (i.e. clusters)
- Returns
cluster bit matrix (number of hypos x number of actives), active IDs, hypotheis IDs, active cut indices, hypo cut indices
- Type
tuple, tuple, tuple, tuple, tuple