schrodinger.application.vss.dise module¶
DIrected Sphere Exclusion - like selection of ordered compounds. Typically used to enhance diversity in virtual screen results. An initial list of the top cpds is elected without respect to diversity, then subsequent members are compared, in input order, against the members in the list. If the subsequent cpd is distinct with respect to fingerprint similarity, it is added to the list. The ordered input is traversed until the desired number of cpds is reached or the input is exhausted.
Generally speaking, virtual screen scoring functions are aimed at enrichment, and don’t accurately rank order activies. Thus, a modest difference in score values may not be meaningful. Furthermore, the input cpds to a virtual screen often contain congeneric series with relatively low diversity. The aim of this tool is to balance the tension between ‘best scores’ and ‘chemical diversity’. The premise is that a ‘novel’ candidate cpd is potentially more valuable than a ‘degenerate’ candidate of roughly equal score.
In practice, 2-4 seed/threshold parameter sets are explored in independent exercises. The result sets are compared with respect to score distributions and similarity of nearest neighbor metrics. Leading to the selection of the set that presents an acceptable balance of score and diversity.
- schrodinger.application.vss.dise.get_dise(num_seeds, *, similarity_threshold=0.6, fingerprint_type='MolPrint2D', similarity_metric='Tanimoto')¶
Returns a closure that implements DiSE filtering.
>>> selector = get_dise( ... 1, similarity_threshold=0.1, fingerprint_type='Radial') >>> selector(ChmMol.fromSMILES('C')) True, None, None >>> selector(ChmMol.fromSMILES('CC')) True, 0.0, 1 >>> selector(ChmMol.fromSMILES('CCC')) False, 0.2, 2
- Parameters
num_seeds (int) – Number of “seed” compounds.
similarity_threshold (float) – Similarity threshold.
fingerprint_type (str) – (Canvas) fingerprint type. See
schrodinger.application.canvas.fingerprint.CanvasFingerprintGenerator
for possible values.fingerprint_type – (Canvas) similarity metric. See
schrodinger.application.canvas.fingerprint.CanvasFingerprintSimilarity
for possible values.
- Returns
Callable that accepts
schrodinger.structure.Structure
orschrodinger.canvas.ChmMol
and returns (distinct, similarity, index) tuple, wheredistinct
is of type bool,similarity
andindex
are of type float and int respectivelly (or None for the firstnum_seeds
structures). Theindex
is the index of a most similar distinct structure already seen.- Return type
Callable.