schrodinger.application.jaguar.pk50_report module¶
- class schrodinger.application.jaguar.pk50_report.Pk50Factory(ref_st: schrodinger.structure._structure.Structure, tautomers: Dict[int, Dict[int, schrodinger.structure._structure.Structure]], populations: schrodinger.application.jaguar.macro_pka_utils.PhPopulations, pH_min: float = - 50.0, pH_max: float = 50.0, pH_step: int = 0.1)¶
Bases:
object
Compute and store pK50’s for a given reference molecule
- ASP_PH_MIN = -50.0¶
- ASP_PH_MAX = 50.0¶
- ASP_PH_STEP = 0.1¶
- __init__(ref_st: schrodinger.structure._structure.Structure, tautomers: Dict[int, Dict[int, schrodinger.structure._structure.Structure]], populations: schrodinger.application.jaguar.macro_pka_utils.PhPopulations, pH_min: float = - 50.0, pH_max: float = 50.0, pH_step: int = 0.1)¶
- Parameters
ref_st – reference Structure for which pK50’s are computed.
tautomers – tautomers indexed by molecular charge and index.
populations – pH-dependent and independent tautomer populations, indexed by molecular charge and tautomer index.
pH_min – optional start of pH half-open interval
pH_max – optional end of pH half-open interval
step – optional resolution of pH value on interval
- property pk50: Dict[int, List[float]]¶
- Returns
pK50s for all active heavy atoms
- property protonation_states: Dict[int, List[int]]¶
Return protonation states for each atom, expressed as number of protons relative to reference structure; e.g. [-1, 0, 1] for a collection of tautomers spanning 3 states.
- Returns
sorted protonation states for each atom
- get_assignments() schrodinger.structure._structure.Structure ¶
Interpret the computed pK50 values and update atomic properties in a Structure object with the associated pk50 assignments.
We make some critical assumptions here. In particular, we assume there are no more than two pK50 values per atom. If there are two values, we also assume that one corresponds to protonation, and the other to deprotonation, with the lower value corresponding to protonation. If there are more than two values, we skip the assignment.
- Returns
annotated Structure object
- get_ASP_curve() Dict[int, List[Tuple[float, float]]] ¶
Compute ASP curve on pH half-open interval [pH_min, pH_max) for all heavy atoms with tautomeric activity.
- Returns
ASP curve (x,y) values for each active heavy atom
- schrodinger.application.jaguar.pk50_report.graph_ASP_curves(jobname: str, curves: Dict[int, List[Tuple[float, float]]], xmin: float = - 5, xmax: float = 20) str ¶
Create plot of ASP curves as a .png file.
- Parameters
jobname – name of job to prefix file name
curves – list of (x,y) points to plot, keyed by atom index
xmin – minimum x-value to show in plot
xmax – maximum x-value to show in plot
- Returns
file name of output .png file
- schrodinger.application.jaguar.pk50_report.write_pk50_report(jobname: str, maefile: str, tautomers: Dict[int, Dict[int, schrodinger.structure._structure.Structure]], smiles: Dict[int, Dict[int, str]], macro_pkas: Dict[Tuple[int, int], float], populations: schrodinger.application.jaguar.macro_pka_utils.PhPopulations, asp_pH_min: float = - 10, asp_pH_max: float = 20) str ¶
Compute pK50’s for each tautomerically active atom in the input structure. The input structure must belong to the set of input tautomers (up to mesomeric differences).
- Parameters
jobname – name of job to prefix file names.
maefile – file containing structure to use for pk50 assignments.
tautomers – tautomers indexed by molecular charge and tautomer index.
smiles – SMILES for each tautomer indexed by molecular charge and tautomer index.
macro_pkas – macro-pKa’s for all charge transitions computed, indexed by prot/deprot charges.
populations – pH-dependent and independent tautomer populations, indexed by molecular charge and tautomer index.
asp_pH_min – minimum value to plot on the ASP graph pH axis.
asp_pH_max – maximum value to plot on the ASP graph pH axis.
- Returns
path to output .mae file; path to .png file?