schrodinger.application.glide.ensemble_selection module¶
Classes for representing receptor ensembles and for choosing the best ensembles of a specified size from a cross-docking experiment.
Example:
from schrodinger.application.glide import ensemble_selection
es = ensemble_selection.EnsembleSelection(fname='xdock.csv',
exp_dg_fname='exp.txt')
# get the 10 best 3-member ensembles
print "Best by count"
for ens in es.best_ensembles_by_count(3, 10):
print "%d\t%.3f\t%s" % (ens.count, ens.rmsd, ens)
print "\nBest by rmsd"
for ens in es.best_ensembles_by_rmsd(3, 10):
print "%d\t%.3f\t%s" % (ens.count, ens.rmsd, ens)
For more details, see the documentation for the EnsembleSelection class.
- schrodinger.application.glide.ensemble_selection.lignum_reader(reader, lignum_prop='i_i_glide_lignum', ligoffset=0, ignore_dups=False)¶
A generator that returns the structures in fname that have lignum_prop > ligoffset. ‘reader’ is an iterator that generates Structure objects (e.g., a StructureReader).
IMPORTANT NOTES:
This requires that the structures are sorted by lignum (as in a raw file from Glide), and that each lignum appears once at most. An exception will be raised otherwise. However, the no-duplicate requirement can be waived by passing a True value for ignore_dups.
If a ligand is missing in the file, the generator returns None for that ligand. For example, if lig2 is not in the file, we get (lig1, None, lig3…)
- class schrodinger.application.glide.ensemble_selection.Ensemble_Priority_Queue(nslots)¶
Bases:
object
Class implementing a priority queue for the purpose of maintaining lists of ensembles in memory during ensemble selection
- __init__(nslots)¶
- add(ensemble_tuple)¶
- pop()¶
- best_scoring_element()¶
- worst_saved_score()¶
- pushpop(ensemble_tuple)¶
- property length¶
- property ensembles¶