schrodinger.protein.protassign.pka_prediction module

Module containing pKa predictor classes for ProtAssign and associated functions.

Copyright Schrodinger, LLC. All rights reserved.

schrodinger.protein.protassign.pka_prediction.get_annotated_atom(residue)

Returns annotated atom of residue _StructureAtom or None

schrodinger.protein.protassign.pka_prediction.get_annotated_atom_property(residue)

Returns property dict of annotated atom or an empty dict if atom is not present

schrodinger.protein.protassign.pka_prediction.get_pka(residue)

Return predicted pKa of residue

schrodinger.protein.protassign.pka_prediction.set_pka(residue, pka)

Set predicted pKa of residue

schrodinger.protein.protassign.pka_prediction.shift_pka(residue, amount)

Shift the predicted pKa of residue

schrodinger.protein.protassign.pka_prediction.get_interaction_label(label, suffix)

Create property label for a given interaction.

schrodinger.protein.protassign.pka_prediction.set_interaction_label(residue, label, suffix=None)

Set a label of the annoted atom of residue to True

schrodinger.protein.protassign.pka_prediction.has_interaction_label(residue, label, suffix=None)

Check if the annotated atom of the residue has a label

schrodinger.protein.protassign.pka_prediction.residue_to_label(residue_or_atom)

Create string from residue or atom.

schrodinger.protein.protassign.pka_prediction.log_interaction(residue1, residue2, name, distance=None, angle=None)

Log the interaction between two residues and its distance and angle optionally

schrodinger.protein.protassign.pka_prediction.get_carboxyl_atoms(residue)

Get carboxyl atom groups from residue. Returns multiple groups if multiple are present. The first atom will be the carbon. It specifically adds Glu and Asp even if they are protonated and uses a SMARTS pattern otherwise to extract the carboxyl group.

Parameters

residue (_Residue) – Residue to check

Returns

List of carboxyl atoms

Return type

List[List[_StructureAtom]]

schrodinger.protein.protassign.pka_prediction.get_residue_neighborhoods(st, residues, distance_cell)
schrodinger.protein.protassign.pka_prediction.protonate_histidine(histidine)
class schrodinger.protein.protassign.pka_prediction.HistidinepKaPredictor

Bases: object

Empirical histidine pKa predictor

INTERNAL_PKA = 6.5
METAL_PKA_SHIFT = -4.0
STATIC_DONOR_PKA_SHIFT = -3.0
FORCED_ACCEPTOR_PKA_SHIFT = -3.0
PI_CATION_PKA_SHIFT = -1.0
PI_PI_PKA_SHIFT = 1.0
CARBOXYLIC_ACID_PKA_SHIFT = 1.0
DOUBLE_SIDED_HBOND_PKA_SHIFT = 1.0
MAX_STATIC_DONOR_INTERACTION_DISTANCE = 3.0
MIN_STATIC_DONOR_INTERACTION_ANGLE = 120
MAX_STATIC_ACCEPTOR_INTERACTION_DISTANCE = 2.5
MIN_STATIC_ACCEPTOR_INTERACTION_ANGLE = 120
MAX_METAL_INTERACTION_DISTANCE = 3.5
MAX_PI_PI_INTERACTION_DISTANCE = 4.5
MAX_PI_PI_INTERACTION_ANGLE = 30
MAX_PI_CATION_INTERACTION_DISTANCE = 4.5
MAX_PI_CATION_INTERACTION_ANGLE = 30
MAX_PI_ARG_INTERACTION_DISTANCE = 5.5
MAX_CARBOXYLIC_ACID_INTERACTION_DISTANCE = 3.8
MIN_CARBOXYLIC_ACID_INTERACTION_ANGLE = 140
NITROGEN_PDBNAMES = {' ND1', ' NE2'}
CARBON_PDBNAMES = {' CD2', ' CE1'}
SIDECHAINS_PDBNAMES = {' CD2', ' CE1', ' CG ', ' ND1', ' NE2'}
predict(st, protassign=None, flip=False)

Predict histidine pKa with empirical rules. Currently this requires the structure being annotated by ProtAssign.

Parameters

Returns None but annotates ANNOTATED_ATOM of each histidine with found interactions and predicted pKa

metal_interactions()
cation_pi_interactions()
arginine_interactions()
pi_pi_interactions()

Check if histidine is involved in pi-pi interaction

carboxyl_interactions()

Check if histidine is interacting with a carboxyl group.

static_donor_interactions()

Check if histidine is interacting with a static donor

identify_forced_amide_states()

Identify amide residues that are forced in a state due to them interacting with a static donor. This is done in a single pass and not iteratively.

static_acceptor_interactions()

Check if histidine is interacting with a static acceptor

class schrodinger.protein.protassign.pka_prediction.AsparticAcidpKaPredictor

Bases: schrodinger.protein.protassign.pka_prediction._CarboxylicAcidpKaPredictor

Aspartic acid emperical pKa predictor

INTERNAL_PKA = 3.4
PDBRES_NAMES = {'ASH ', 'ASP '}
CARBON_PDBNAME = ' CG '
OXYGEN_PDBNAMES = [' OD1', ' OD2']
SIDECHAIN_PDBNAMES = [' OD1', ' OD2', ' CG ']
class schrodinger.protein.protassign.pka_prediction.GlutamicAcidpKaPredictor

Bases: schrodinger.protein.protassign.pka_prediction._CarboxylicAcidpKaPredictor

Glutamic acid emperical pKa predictor

INTERNAL_PKA = 4.2
PDBRES_NAMES = {'GLH ', 'GLU '}
CARBON_PDBNAME = ' CD '
OXYGEN_PDBNAMES = [' OE1', ' OE2']
SIDECHAIN_PDBNAMES = [' OE1', ' OE2', ' CD ']