schrodinger.application.glide.docking_report module¶
APIs for creating a glide docking report.
Copyright Schrodinger, LLC. All rights reserved.
- class schrodinger.application.glide.docking_report.JobData(grid: GridArchive, config: Config, input_settings: str, receptor: Structure, reference: Structure | None, datafiles: DataFiles)¶
Bases:
object- grid: GridArchive¶
- input_settings: str¶
- class schrodinger.application.glide.docking_report.FunnelData(ligand: glide.Ligand, ligand_constraint_data: glide.LigandConstraintData = None, conf_ens: glide.ConformerEnsemble = None, rough_pose_ens: glide.RoughPoseEnsemble = None, refined_pose_ens: glide.RefinedPoseEnsemble = None, minimized_pose_ens: glide.RefinedPoseEnsemble = None, resampled_pose_ens: glide.RefinedPoseEnsemble = None, poses: list[glide.Pose] = <factory>, scored_pose_sts: list[schrodinger.structure._structure.Structure] = <factory>, output_sts: list[schrodinger.structure._structure.Structure] = <factory>, skip_reason: str = None, skip_message: str = None)¶
Bases:
object- ligand_constraint_data: LigandConstraintData = None¶
- conf_ens: ConformerEnsemble = None¶
- rough_pose_ens: RoughPoseEnsemble = None¶
- refined_pose_ens: RefinedPoseEnsemble = None¶
- minimized_pose_ens: RefinedPoseEnsemble = None¶
- resampled_pose_ens: RefinedPoseEnsemble = None¶
- skip_reason: str = None¶
- skip_message: str = None¶
- __init__(ligand: ~glide.Ligand, ligand_constraint_data: ~glide.LigandConstraintData = None, conf_ens: ~glide.ConformerEnsemble = None, rough_pose_ens: ~glide.RoughPoseEnsemble = None, refined_pose_ens: ~glide.RefinedPoseEnsemble = None, minimized_pose_ens: ~glide.RefinedPoseEnsemble = None, resampled_pose_ens: ~glide.RefinedPoseEnsemble = None, poses: list[glide.Pose] = <factory>, scored_pose_sts: list[schrodinger.structure._structure.Structure] = <factory>, output_sts: list[schrodinger.structure._structure.Structure] = <factory>, skip_reason: str = None, skip_message: str = None) None¶
- class schrodinger.application.glide.docking_report.LigandPriorityQueue(property: str, max_funnel_data: int, max_skipped_ligands: int)¶
Bases:
objectImplements a max-heap based priority queue to keep track of the best ligands by a structure property. Tie breaks between equal properties are done by keeping the ligand seen first. Also stores the skipped ligands up to SKIPPED_LIGANDS and they are placed at the end of the sorted output list.
- __init__(property: str, max_funnel_data: int, max_skipped_ligands: int)¶
- add(funnel_data: FunnelData)¶
Add a FunnelData object to the heap if there’s space or if it’s better than the previous worst ligand. Any failed ligands get added to the skipped list if theres space. If none of the above apply, do nothing.
- get_sorted_ligand_funnel_data() list¶
- class schrodinger.application.glide.docking_report.PoseData(properties: dict, score_terms: dict)¶
Bases:
object- properties: dict¶
- score_terms: dict¶
- __init__(properties: dict, score_terms: dict) None¶
- class schrodinger.application.glide.docking_report.ConformerData(ligand_rotatable_bonds_diagram: str = None, conformer_energy_histogram: str = None, conformer_score_histogram: str = None, conformer_rmsd_histogram: str = None, rotatable_bond_graph: str = None)¶
Bases:
object- ligand_rotatable_bonds_diagram: str = None¶
- conformer_energy_histogram: str = None¶
- conformer_score_histogram: str = None¶
- conformer_rmsd_histogram: str = None¶
- rotatable_bond_graph: str = None¶
- __init__(ligand_rotatable_bonds_diagram: str = None, conformer_energy_histogram: str = None, conformer_score_histogram: str = None, conformer_rmsd_histogram: str = None, rotatable_bond_graph: str = None) None¶
- class schrodinger.application.glide.docking_report.EmodelEnergyHistograms(emodel_histogram: str, energy_histogram: str)¶
Bases:
object- emodel_histogram: str¶
- energy_histogram: str¶
- __init__(emodel_histogram: str, energy_histogram: str) None¶
- class schrodinger.application.glide.docking_report.PDMData(properties: dict)¶
Bases:
object- properties: dict¶
- __init__(properties: dict) None¶
- class schrodinger.application.glide.docking_report.LigandData(title: str, ligand_diagram: str, pose_data: list[PoseData] = None, conformer_data: ConformerData = None, funnel_rmsd_graph: str = None, rough_docking_histogram: str = None, refinement_histogram: str = None, minimized_data: EmodelEnergyHistograms = None, sampling_data: EmodelEnergyHistograms = None, interaction_diagram: str = None, pdm_data: list[PDMData] = None, skip_reason: str = None, skip_message: str = None)¶
Bases:
object- title: str¶
- ligand_diagram: str¶
- conformer_data: ConformerData = None¶
- funnel_rmsd_graph: str = None¶
- rough_docking_histogram: str = None¶
- refinement_histogram: str = None¶
- minimized_data: EmodelEnergyHistograms = None¶
- sampling_data: EmodelEnergyHistograms = None¶
- interaction_diagram: str = None¶
- skip_reason: str = None¶
- skip_message: str = None¶
- __init__(title: str, ligand_diagram: str, pose_data: list[PoseData] = None, conformer_data: ConformerData = None, funnel_rmsd_graph: str = None, rough_docking_histogram: str = None, refinement_histogram: str = None, minimized_data: EmodelEnergyHistograms = None, sampling_data: EmodelEnergyHistograms = None, interaction_diagram: str = None, pdm_data: list[PDMData] = None, skip_reason: str = None, skip_message: str = None) None¶
- schrodinger.application.glide.docking_report.get_pdb_string(st: Structure) str¶
Write out the structure as a pdb file and then read it back in as a string. The string representation is used by 3Dmol.js to render the structure.
- Returns:
Stringified PDB format of the structure
- schrodinger.application.glide.docking_report.format_no_negative_zero(value)¶
Formats a float to 2 decimals, avoiding negative zero.
- schrodinger.application.glide.docking_report.get_report_template(template_name: str)¶
Find and return the template with the name under glide data files.
- Returns:
Jinja2 loaded template.
- Return type:
jinja2.Template
- schrodinger.application.glide.docking_report.terms_as_dict(terms: ScoreTerms) dict¶
Convert the score terms to a dictionary.
- schrodinger.application.glide.docking_report.get_pose_data(poses: list[Pose], output_sts: list[Structure], job_data: JobData) list[PoseData]¶
Gets the pose data for all output poses for the ligand if the job completed successfully. Re-computes the scoring terms.
- schrodinger.application.glide.docking_report.get_rotatable_bond_data(template: ConformerTemplate) tuple[list[list[float]], list[tuple[int]], tuple[float]]¶
Get rotatable bond data like energies, atoms and energy range to create torsion profiles.
- Returns:
A tuple of list of rotatable bond energies for each rotatable bond, pairs of atoms defining each rotatable bond, and the y_limit.
- schrodinger.application.glide.docking_report.get_conformer_data(ligand: Ligand, conf_ens: ConformerEnsemble | None, config: Config) ConformerData | None¶
Gets the conformer data for the ligand if conformers were successfully created. Highlights rotatable bonds and aggregates the data to create histograms.
Returns None when the ligand was skipped before or during confgen.
- schrodinger.application.glide.docking_report.get_funnel_rmsd_graph(lig_st: Structure, data: FunnelData, config: Config)¶
Gets the funnel RMSD graph for the ligand and its intermediate structures for any stages that were successfully complete with data. Uses the median and minimum RMSD from each successful stage.
- Returns:
HTML encoded string. The graph itself is an svg.
- Return type:
str
- schrodinger.application.glide.docking_report.get_rough_docking_data(lig_st: Structure, rough_pose_ens: RoughPoseEnsemble, lcd: LigandConstraintData, config: Config)¶
Gets the RMSD and Score joint plot or a simple histogram of the Scores for the rough poses.
- Returns:
HTML encoded string if a graph is created. The graph is an svg. If no graph can be created, it will be a simple string message.
- Return type:
str
- schrodinger.application.glide.docking_report.get_refinement_data(lig_st: Structure, pose_ens: RefinedPoseEnsemble, config: Config)¶
- schrodinger.application.glide.docking_report.get_emodel_and_energy_histograms(lig_st: Structure, pose_ens: RefinedPoseEnsemble, stage: str, config: Config)¶
- schrodinger.application.glide.docking_report.get_lig_interaction_diagram(lig: Structure, recep: Structure)¶
Wrapper around generate_lid_as_html.
- Throw RuntimeError:
If a qapplication instance is not created.
- Returns:
HTML encoded string. The diagram itself is an svg.
- Return type:
str
- schrodinger.application.glide.docking_report.get_pdm_data(sts: list[Structure])¶
Get the post docking minimization data to create a property table in the docking report.
- Returns:
List of PDMData objects that contain all the st properties.
- Return type:
list[PDMData]
- schrodinger.application.glide.docking_report.get_base64_encoded_image(image_path: str)¶
Base64 encode an image so that it can be embeded directly into the html.
- Parameters:
image_path – Path to image.
- Returns:
Base64 encoded string with the full URI prefix.
- Return type:
str
- schrodinger.application.glide.docking_report.write_report(job_data: JobData, funnel_data: list[FunnelData])¶
Render a jinja2 template as a docking report with data from all stages in the docking funnel.
- Parameters:
job_data – Data related to the entire docking job.
funnel_data – All funnel data for each ligand in the docking job.