schrodinger.pipeline.stages.glide module

Glide Docking & Gridgen stages.

DockingStage - stage for running Glide docking jobs

GridgenStage - stage for generating Glide grids (not functional)

HBOND_CONSTRAINTS: List of constraints in format: “label <atomnum>” METAL_CONSTRAINTS: List of constraints in format: “label <atomnum>” POSIT_CONSTRAINTS: List of constraints in format: “label <x> <y> <z> <radius>” NOE_CONSTRAINTS: List of constraints in format: “label <x> <y> <z> <min> <max>”

Copyright Schrodinger, LLC. All rights reserved.

schrodinger.pipeline.stages.glide.compress(origFile)

Compresses the specified file and removes the original

class schrodinger.pipeline.stages.glide.DockingStage(*args, **kwargs)

Bases: schrodinger.pipeline.stage.Stage

VSW stage for performing Glide docking

__init__(*args, **kwargs)

This is the Stage class. Derive your own class from it.

Parameters
  • stagename – full name for this stage (<jobname>-<stagename>)

  • specs – ConfigObj specification for the supported keywords

  • allow_extra_keywords – Whether to allow keywords that are not in the specification.

  • cleanup – Whether to remove intermediate files

  • inpipeline – Whether the state is running within a Python Pipeline. If the stage is manually created, do NOT set this flag. Python Pipeline will set it as needed.

  • driver_dir – Directory in which the driver is running.

checkInputs()

OVERWRITE: Return False if something is wrong with the input files or the parameter, otherwise return True.

recombineInputLigands()
setupJobs()

Docks the structures in ligfiles to the grid <gridprefix>.

processJobOutputs()
write_glide_input_file(ligfile, gridfile, nreport, glide_jobname)

Write Glide docking job input file

mergeGlideOutputs(input_files, num_comps_to_keep, best_by_compound)

Takes in a list of _lib.mae or _pv.mae files, and merges them together based on glidescore. Assumes that the files have already been sorted with glide_sort (default in Glide).

Parameters
  • input_files (list of str) – List of docked pose files (PV or LIB).

  • num_comps_to_keep (int) – Stop merging when this number of compounds have been reached.

  • best_by_compound – whether to keep only the best scoring pose per compound (based on unique ID property).

Returns

Merged file path and number of structures in it (including rec). If none of the structures docked (SIP mode), will return (None, 0).

Return type

(str, int)

generateCsvFile(pre_csv_file, csv_props)
check_subjob_output(glide_jobname)

Will return the output file for the specified subjob. If no valid poses were produced, None is returned. Raises a descriptive RuntimeError if logfile and/or output file is incomplete.

buildDockedLigandsMap()

Builds up a dict of self.docked_ligands from the job names in self.glide_jobnames.

If self._force_jobs is False, the job fails in the event of subjob failure. Otherwise, the errors are logged and the job continues.

operate()

Perform an operation on the input files.

class schrodinger.pipeline.stages.glide.GridgenStage(*args, **kwargs)

Bases: schrodinger.pipeline.stage.Stage

__init__(*args, **kwargs)

This is the Stage class. Derive your own class from it.

Parameters
  • stagename – full name for this stage (<jobname>-<stagename>)

  • specs – ConfigObj specification for the supported keywords

  • allow_extra_keywords – Whether to allow keywords that are not in the specification.

  • cleanup – Whether to remove intermediate files

  • inpipeline – Whether the state is running within a Python Pipeline. If the stage is manually created, do NOT set this flag. Python Pipeline will set it as needed.

  • driver_dir – Directory in which the driver is running.

operate()

Perform an operation on the input files.

setupJobs()
class schrodinger.pipeline.stages.glide.MergeStage(*args, **kwargs)

Bases: schrodinger.pipeline.stage.Stage

Stage for merging up to 999 Glide output files with ‘glide_ensemble_merge’. The input files can be either PV or LIB, and have to be sorted by GlideScoreglide. The output file will also be sorted, and the GlideScores can be offset by a specified value for each input file.

The keywords specific to this stage are…

NREPORT Save only the top NREPORT poses. The default is 0, which

retains all poses.

MAXPERLIG Retain at most MAXPERLIG poses for each ligand

(determined by the structure title). The default is 1. Use 0 to retain all poses.

UNIQUEFIELD Property to uniquely identify compounds by. Default is title.

OFFSETS List of GlideScore offsets (float) to be applied to the

input structures. First item in the list is the offset for the first input, second is for second input, etc. If not specified, all are defaulted to 0.0.

MARKERS List of string lables for each receptor. Each ligand will

be marked by this value depending on which input set it originated from.

The stage takes up to 100 input structure file sets (PV or LIB) and generates a single output pose file.

__init__(*args, **kwargs)

See class docstring.

operate()

Run the ‘glide_ensemble_merge’ script on all the input files from all sets, optionally applying GlideScore offsets to some sets. Generates a single output pose file.

class schrodinger.pipeline.stages.glide.GlideSortStage(*args, **kwargs)

Bases: schrodinger.pipeline.stage.Stage

Stage for sorting Glide _pv/lib.mae files. Currently, a sorted file is produced for each input file; that is, the input files are merged and sorted together.

The keywords specific to this stage are…

BLOCK_SORT_BY_TITLE Whether to block-sort the poses by title. If

True (the default), all poses with the same title are grouped and sorted by the INTRATITLE_SORT_KEYS keys. The blocks themselves are sorted by applying the SORT_KEYS to just the top pose in each block.

INTRATITLE_SORT_KEYS The sort key(s) within a title block. The

default is ‘r_i_glide_emodel’ (appropriate for Glide HTVS/SP results). Multiple sort keys must be whitespace-separated.

SORT_KEYS The key(s) for sorting the pose file. If

BLOCK_SORT_BY_TITLE is True, the blocks are sorted by the values of their top pose’s SORT_KEYS properties. Multiple sort keys must be whitespace-separated.

OUTPUT_POSES_PER_TITLE The number of top poses per title to keep.

Applies only if BLOCK_SORT_BY_TITLE is true. The default is 0, which means retain all poses.

INPUT_TYPE Specify whether the receptor is (‘pv’) or is

not (‘lib’) in the file. By default, the type will be determined from the file name (i.e., _pv/lib.mae).

__init__(*args, **kwargs)

See class docstring.

operate()

Sort each input pose file using the application.glide.glideanalysis module. Generates a sorted output pose file for each input pose file.