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.

exception schrodinger.protein.assignment.PropKaException(value)

Bases: Exception

schrodinger.protein.assignment.report(message_level=1, message='')
schrodinger.protein.assignment.measure(ct, atom1=None, atom2=None, atom3=None, atom4=None, use_xtal=False, max_dist=10.0)
class schrodinger.protein.assignment.ProtAssign(ct, interactive=False, do_flips=True, asl='', noprot_asl='', atoms=[], use_xtal=False, torsion_penalty=False, sample_waters=True, sample_acids=True, freeze_existing=False, include_initial=False, max_comb=10000, logging_level=1, quiet_flag=False, debug_flag=False, add_labels=True, label_pkas=False, pH='neutral', use_propka=True, propka_pH=7.0, user_states=[], minimize=False)

Bases: object

clustering_distance = 4.0
class changeable(ct, iatom)

Bases: object

asl = 'none'
OH_length = 1.0
HOH_angle = 109.5
max_hbond_distance = 3.5
hbond_min_angle = 150.0
hbond_heavy_min_angle = 80.0
hbond_heavy_max_angle = 140.0
pre_treat_1(ct)
pre_treat_2(ct)
pre_treat(ct)
enumerate_states(ct, acceptors, donors, pH, do_flips=True, include_initial=False)
lock_protonation()
add_current_to_states(ct)
assign_state(ct, istate, add_labels=True, label_pkas=False)
update_atom_indices(ct, new_indices)
get_new_index(ct, atom_index, new_indices)
get_view_atoms()
get_residue_name(ct, iatom)
get_atom_name(ct, iatom)
swap_atoms(ct, atom1, atom2)
get_penalty(istate)
get_adjustable_atoms()
change_pka(pka, propka_pH)
get_dihedral_atoms(ct, h)
class amide_changeable(ct, iatom)

Bases: schrodinger.protein.assignment.changeable

This is the primary amide -NH2 group of ASN and GLN residues.

asl = '((res.ptype "ASN " AND atom.ptype " CG ") OR (res.ptype "GLN " AND atom.ptype " CD "))'
pre_treat_1(ct)
pre_treat_2(ct)
enumerate_states(ct, acceptors, donors, pH, do_flips=True, include_initial=False)
assign_state(ct, istate, add_labels=True, label_pkas=False)
update_atom_indices(ct, new_indices)
get_heavies()
get_state_sites(ct, istate)
get_view_atoms()
get_penalty(istate)
get_adjustable_atoms()
class histidine_changeable(ct, iatom)

Bases: schrodinger.protein.assignment.changeable

Imidazole group of Histidine residues.

asl = '((res.ptype "HIS ","HID ","HIE ","HIP ")) AND ((atom.ptype " CG "))'
pre_treat_1(ct)
pre_treat_2(ct)
enumerate_states(ct, acceptors, donors, pH, do_flips=True, include_initial=False)
lock_protonation()
assign_state(ct, istate, add_labels=True, label_pkas=False)
update_atom_indices(ct, new_indices)
get_heavies()
get_state_sites(ct, istate)
get_view_atoms()
get_penalty(istate)
get_adjustable_atoms()
change_pka(pka, propka_pH)
class carboxyl_changeable(ct, iatom)

Bases: schrodinger.protein.assignment.changeable

asl = '(res.ptype "ASP ","ASH " AND atom.ptype " CG ") OR (res.ptype "GLU ","GLH " AND atom.ptype " CD ")'
pre_treat_1(ct)
pre_treat_2(ct)
enumerate_states(ct, acceptors, donors, pH, do_flips=True, include_initial=False)
lock_protonation()
assign_state(ct, istate, add_labels=True, label_pkas=False)
update_atom_indices(ct, new_indices)
get_heavies()
get_state_sites(ct, istate)
get_view_atoms()
get_penalty(istate)
get_adjustable_atoms()
change_pka(pka, propka_pH)
class rotatable_changeable(ct, iatom)

Bases: schrodinger.protein.assignment.changeable

asl = '((res.ptype "CYS ","CYT ") AND (atom.ptype " SG ") AND (atom.formal -1)) OR ((res.ptype "TYR ") AND (atom.ptype " OH ") AND (atom.formal -1)) OR (( atom.ele H AND not /C0-H0/ AND not /N0-H0/ ) AND NOT (res.ptype "HOH","DOD","SPC","ASH","GLH","ASP","GLU" ))'
pre_treat_1(ct)
pre_treat_2(ct)
enumerate_states(ct, acceptors, donors, pH, do_flips=True, include_initial=False)
lock_protonation()
add_current_to_states(ct)
assign_state(ct, istate, add_labels=True, label_pkas=False)
update_atom_indices(ct, new_indices)
get_heavies()
get_state_sites(ct, istate)
get_view_atoms()
get_penalty(istate)
get_adjustable_atoms()
change_pka(pka, propka_pH)
class amine_changeable(ct, iatom)

Bases: schrodinger.protein.assignment.changeable

asl = '((res.ptype "LYS ","LYN ") AND (atom.ptype " NZ "))'
pre_treat_1(ct)
pre_treat_2(ct)
enumerate_states(ct, acceptors, donors, pH, do_flips=True, include_initial=False)
lock_protonation()
assign_state(ct, istate, add_labels=True, label_pkas=False)
update_atom_indices(ct, new_indices)
get_heavies()
get_state_sites(ct, istate)
get_view_atoms()
get_penalty(istate)
change_pka(pka, propka_pH)
class water_changeable(ct, iatom)

Bases: schrodinger.protein.assignment.changeable

asl = '(water) AND (atom.ele O)'
redundancy_tolerance = 0.5
find_dihedrals(ct, atom1, atom2, atom3, acceptors, donors)
enumerate_states(ct, acceptors, donors, pH, do_flips=True, include_initial=False)
add_current_to_states(ct)
assign_state(ct, istate, add_labels=True, label_pkas=False)
update_atom_indices(ct, new_indices)
get_heavies()
get_state_sites(ct, istate)
get_view_atoms()
get_penalty(istate)
get_adjustable_atoms()
class hbond_cluster

Bases: object

get_residue_name(ct, iatom)
get_atom_name(ct, iatom)
setup_xtal(ct, interact, clustering_distance)
optimize(ct, interact, static_donors, static_acceptors, static_clashers, max_comb, use_propka, propka_pH=7.0, xtal_ct=None)
score_combination(ct, interact, states)
single_point(ct, interact, static_donors, static_acceptors, static_clashers, xtal_ct=None)
setup_local_static_alt(ct, static_acceptors, static_donors, static_clashers)
setup_local_static(ct, static_acceptors, static_donors, static_clashers)
initialize_score_storage()
pre_score_self(ct)
pre_score_pairs(ct, interact)
score_pair(ct, iacceptors, idonors, iclashers, icharge, jacceptors, jdonors, jclashers, jcharge, use_xtal=False)
score_donor_acceptor(ct, donor_heavy, donor_hydrogen, acceptor_heavy, use_xtal=False)
score_donor_donor(ct, donor1_heavy, donor1_hydrogen, donor2_heavy, donor2_hydrogen, use_xtal=False)
score_exhaustively(ct, interact, find_all_solutions=True, tolerate_clashes=False)
score_sequentially(ct, interact)

This routine uses an algorithm similar to Prime’s iteration to convergence. Starting from a random configuration, each species is optimized in turn, keeping the others fixed in their current state. This continues until the system reaches convergence (no more changes in the most optimal state for all residues).

expand_solutions(ct, interact)

This takes an existing set of good solutions and generates more by deconverging them and then iterating them back to convergence. Generates at least 10 new solutions.

recombine_solutions(ct, interact)

This is similar to score_sequentially, but begins with some pre-existing good solutions in self.combinations, and then creates hybrids to try to improve on them.

deconverge(ct, interact, comb, problem_cutoff=50.0)

This starts with what is assumed to be a good solution, and then randomizes the states, but not to anything that produces a problem.

iterate_to_convergence(ct, interact, comb, problem_cutoff=50.0)

This iterates the combination ‘comb’ to convergence. Maximum of 10 cycles.

create_hybrid(local_combinations, interact, random_scaffold=False)

This takes the lowest energy solution, and for each problematic region it searches other solutions (in random order) for any which may have had better luck for just that part of the overall cluster. It then splices those solutions into the lowest energy one. If random_scaffold, then it selects a random solution as the basis in stead of the lowest energy one.

trim_redundant_combinations()
assign_combination(ct, icombination, add_labels, label_pkas)
fix_elements(ct)
freeze_existing_hydrogens(ct)
setup(ct)
remove_zero_order_bonds(ct)
extend_targeted_to_hyds(ct)
delete_atoms(ct, atoms)
run_propka(changeables, ct, use_xtal=False)
generate_mates(ct)
apply_pkas(changeables, changes, propka_pH)
find_protonation_state_changes(ct, clusters='all')
identify_species(ct)
identify_all_hbonders(ct)
enumerate_changeable_states(ct)
lock_protonation_states(ct)
remove_changeables_from_hbonders()
cluster(ct)
set_user_states(ct)
assign_state_of_changeable(ct, ichangeable, istate)
increment_state_of_changeable(ct, ichangeable)
decrement_state_of_changeable(ct, ichangeable)
record_current_indices(ct)
assign_best_combinations(ct)
assign_cluster_combination(ct, icluster, icombination)
single_point_cluster(ct, icluster)
optimize_cluster(ct, icluster, assign=True)
optimize(ct)
minimize_hydrogens(ct)
restore_zobs(ct)
cleanup(ct)
summarize_pkas()