schrodinger.protein.assignment module¶
Module for optimizing hydroxyl, thiol and water orientiations, Chi-flips of asparagine, glutamine and histidine, and protonation states of aspartic acid, glutamic acid, and histidine.
Usage: ProtAssign(st)
Copyright Schrodinger, LLC. All rights reserved.
- schrodinger.protein.assignment.charge_arginine_sidechains(st)¶
Make arginine sidechains charged. Assumes bond orders have been assigned correctly.
Looks for the nitrogen that has a double bond to the CZ atom, and changes the formal charge to 1 and retypes atom.
- schrodinger.protein.assignment.calculate_interaction_matrix(ct: schrodinger.structure._structure.Structure, iatoms: List[int], distance: float, use_xtal: bool = False) Dict[int, set] ¶
Create an interaction matrix based on the CHANGEABLE_INDEX_PROPERTY atom property
- Parameters
ct – Structure with annotated atoms having set the CHANGEABLE_INDEX_PROPERTY corresponding the the index of the changeable
iatoms – List of atom indices which take part in interaction
distance – Max distance between interacting atoms
use_xtal – Take into account crystal symmetry mates
use_xtal – bool
- Returns
interaction matrix allowing double indexing: interaction_matrix[i, j]
- schrodinger.protein.assignment.check_residue_flip_state(res: schrodinger.structure._structure.Residue) tuple ¶
Determine whether a residue cannot be flipped, is, or is not flipped.
- Parameters
res – a protein residue
- Returns
a tuple of
(state, msg)
, wherestate
describes whether the residue is flipped (True
), is not flipped (False
), or cannot be flipped (None
); ifNone
,msg
will contain an explanation- Return type
tuple[bool or NoneType, str]
- schrodinger.protein.assignment.get_residue_flip_state(res: schrodinger.structure._structure.Residue) Optional[bool] ¶
Return the flip state of a protein residue.
A truncated version of
check_residue_flip_state()
.- Parameters
res – a protein residue
- Returns
the flip state of a residue
- schrodinger.protein.assignment.get_heavy_neighbors(atom: schrodinger.structure._structure.StructureAtom) list ¶
- Parameters
atom – an atom
- Returns
a list of heavy (non-H) atoms covalently bound to
atom
- Return type
list[structure._StructureAtom]
- class schrodinger.protein.assignment.ProtAssign(ct, interactive=False, do_flips=True, asl='', noprot_asl='', atoms=[], use_xtal=False, sample_waters=True, sample_acids=True, freeze_existing=False, include_initial=False, max_comb=10000, num_sequential_cycles=30, max_cluster_size=None, seed: Optional[int] = None, logging_level=1, quiet_flag=False, debug_flag=False, add_labels=True, label_pkas=False, pH: Union[str, float] = 7.4, use_propka=True, user_states=[], minimize=False, ligand_sts=None, include_epik_states=False)¶
Bases:
object
- __init__(ct, interactive=False, do_flips=True, asl='', noprot_asl='', atoms=[], use_xtal=False, sample_waters=True, sample_acids=True, freeze_existing=False, include_initial=False, max_comb=10000, num_sequential_cycles=30, max_cluster_size=None, seed: Optional[int] = None, logging_level=1, quiet_flag=False, debug_flag=False, add_labels=True, label_pkas=False, pH: Union[str, float] = 7.4, use_propka=True, user_states=[], minimize=False, ligand_sts=None, include_epik_states=False)¶
- fix_elements(ct)¶
- freeze_existing_hydrogens(ct)¶
- setup(ct)¶
- empirical_pka_predictor(ct)¶
Predict pKa of histidine and Asp/Glu based on empirical rules
- remove_zero_order_bonds(ct)¶
- extend_targeted_to_hyds(ct)¶
- delete_atoms(ct, iatoms: List[int])¶
Delete atoms and update stored atom indices
- find_protonation_state_changes(ct, clusters='all')¶
- annotate_structure(ct: schrodinger.structure._structure.Structure) schrodinger.protein.protassign.utils.Interactors ¶
Annotate atoms in structure by their interaction class and whether or not they are static
- Returns
Interactor atom indices
- enumerate_changeable_states(ct)¶
Enumerate all states for each changeable. Crystal symmetry mates are taken into account if requested.
Updates the acceptors, donors and clashers attributes
- lock_protonation_states(ct)¶
- cluster(ct)¶
Cluster changeables based on their heavies.
- set_user_states(ct)¶
- assign_state_of_changeable(ct, changeable, istate)¶
- increment_state_of_changeable(ct, changeable)¶
- decrement_state_of_changeable(ct, changeable)¶
- assign_best_combinations(ct, last_time=False)¶
Assign the best combinations to the ct and report output
- Parameters
ct (schrodinger.Structure) – The structure to operate on
last_time (bool) – Whether or not this is the last time through when we should be extra verbose
- assign_cluster_combination(ct, icluster, icombination)¶
- single_point_cluster(ct, icluster)¶
- optimize_cluster(ct, icluster, assign=True)¶
- optimize(ct)¶
- check_if_hips_needs_pka_recalculated(iteration: int, icluster: int, hips: List[schrodinger.protein.protassign.changeables.changeable]) Optional[int] ¶
Return the
n
index for the changeable inhips
that needs its PKA re-calculated.
- recalculate_empirical_pkas(ct, iteration)¶
Only recalculate pKa’s of histidines for forced acceptor interactions
- recalculate_propka_pkas(ct)¶
- minimize_hydrogens(ct)¶
- restore_zobs(ct)¶
- cleanup(ct)¶
- summarize_pkas()¶
- schrodinger.protein.assignment.annotate_atom_indices(ct)¶
Add atom index as an atom property to each atom
- schrodinger.protein.assignment.extract_epik_states(ct, include_initial=False) List[schrodinger.structure._structure.Structure] ¶
Extract Epik embedded states
Epik states are embedded into a structure property during the PPW pipeline. States are extracted and returned.
- schrodinger.protein.assignment.is_covalent_ligand(st: schrodinger.structure._structure.Structure, atom: schrodinger.structure._structure.StructureAtom) bool ¶
Check if atom is part of a covalent ligand