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 hypotheses

  • num_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