schrodinger.application.mcpro.modelsystemwizard module

Classes developed to provide a graphical user interface to generating Model Systems needed by MCPRO+.

Copyright Schrodinger, LLC. All rights reserved.

class schrodinger.application.mcpro.modelsystemwizard.ModelSystem(task_mode, display)

This is where all information regarding the model system are stored. A few things to note:

  1. All CTs in an object of this class have corresponding entries in the project table.
  2. All structures are wrapped in an object of a `CtObj’ class – see below.
  3. PT stands for project table.
Here are the attributes:

task_mode = task_mode # - Should be initialized to be one of the values: 0 = Mini; 1 = FEP; 2 = DDG; 3 = LRM. basename = None # - Will point to a `StringVar’ object from `_SysSpec’.

# Toggles: sys_type = None # - Valid values: COMPLEX, LIG_ONLY, PROT_ONLY, and ZMATRIX

# - Will point to an `IntVar’ object that stores and controls the system type toggle on # `_SysSpec’. See `_SysSpec’s `initialize’ method.

has_movie = False # - Will be `True’ if we have the ligand-perturbation movie. use_charge = None # - Will point to an `IntVar’ object from `_Import’, indicating whether we use the

# charges from the structure file (1) or not (0).
use_prot_zmat = None # - Will point to an `IntVar’ object from `_Import’, indicating whether we use an
# existing zmatrix for the protien (1) or not (0).
use_reflig = None # - Will point to an `IntVar’ object from `_Import’, indicating whether we use a
# reference ligand (1) or not (0).
is_flex_lig = None # - Will point to an `IntVar’ object from `Flex’, indicating whether the ligand is
# fully flexible (1) or not (0).
is_flex_cof = None # - Will point to an `IntVar’ object from `Flex’, indicating whether the cofactor is
# fully flexible (1) or not (0).

is_cartesian = 0 # - 0 = cartesian; 1 = internal coordinate minimization is_prepared = False # - True if the final system was created on Maestro, false otherwise. prot_constr = None # - Will point to a `StringVar’ object from `Flex’, indicating whether the protein is

# fully flexible (‘0’) or fully rigid (‘1’) or partially rigid (‘2’).

# Structures (`CtObj’ objects): lig = [None, None, None,]

# - Ligand structures: lig[0] = reference, lig[1] = original, lig[2] = perturbed

prot = None # - Raw/untreated protein chop = None # - Chopped protein neut = None # - Neutralized protein prot_final = None # - Final protein lig_final = None # - Final ligand prot_zmat_fname = None # - Name of the existing protein zmatrix file sys_zmat = None # - Existing zmatrix structure movie_ct = None # - A series of structures simulating the perturbation from `lig[1]’ to `lig[2]’

# Misc. ffield = None # - Will point to a `StringVar’ object from `Flex’, storing the force field type. r_chop = None # - Will point to a `StringVar’ object from `ChopCap’, storing the chop radius. r_flex = None # - Will point to a `StringVar’ object from `Flex’, storing the flexible-region radius. neut_target = None # - Will point to an `EntryField object from `Neut’, storing the target charge. neut_to_target = None # - Will point to a `StringVar’ object from `Neut’, indicating if alternative target charge is to be used gen_success = None # - Will be a function to send out signal saying the final model system is ready. rtr_success = None # - Will be a function to send out signal saying the final model system is not ready. tol_bond = None # - Will point to a `EntryField’ object from `Flex’, storing the bond tolernace. tol_angle = None # - Will point to a `EntryField’ object from `Flex’, storing the angle tolernace. tol_dih = None # - Will point to a `EntryField’ object from `Flex’, storing the dihedral tolernace.

CHOP_NAME = 'chop'
COMPLEX = 0
class CtObj(ct, species_name, fname, title=None)

This class is created to group together all relevant data about a structure and to provide functions for displaying the structure on Maestro workspace easily. This class provides the following public attributes for each of its instances.

ct - The CT (a `Structure’ object) entry_name - PT entry name entry_id - PT entry ID fname - File name of the structure if it was imported from a file, `None’ if it was created on Maestro
destroy()
entry

Readonly property. Returns the entry of the CT in the project table

get_formal_charge()

Returns formal charge of object

show(should_show=True)

Shows the CT in Maestro workspace if `should_show’ is `True’, hides it if `False’.

show_only(should_show=True)

Shows the CT in Maestro workspace and hides other CTs if `should_show’ is `True’, hides it (not others) if `False’.

write(fname)

Writes the CT to a file, whose name is given by `fname’.

DEFAULT_BASENAME = 'mcpro_model_sys'
ENABLED_SYS_TYPE = [[1, 1, 1, 0], [1, 1, 0, 0], [1, 0, 0, 0], [1, 0, 0, 0]]
LIG0_NAME = 'lig0'
LIG1_NAME = 'lig1'
LIG2_NAME = 'lig2'
LIG_FINAL_NAME = 'lig_final'
LIG_ONLY = 1
NEUT_NAME = 'neut'
PERT_NAME = 'pert_sim'
PROT_FINAL_NAME = 'prot_final'
PROT_NAME = 'prot'
PROT_ONLY = 2
ZMATRIX = 3
ZMAT_NAME = 'zmat'
gen_mcpro_command(task)

Returns a tuple of the command to be run (as a list) and the log filename.

get_basename()

Returns the basename with leading and trailing spaces trimmed. The returned basename will be obtained from `_SysSpec’ if the string overthere is valid, otherwise default basename will be used.

get_lig_heavy_atom_num()

Returns number of heavy atoms in ligand CT.

get_prot()

Returns the current active protein or `None’ if there is none.

get_solvent_cap_coordinates()

Returns the xyz coordinates that correspond to the location of the solvent cap. Use reference ligand coordinates if available and first ligand coords if not

reset()

Resets the following attributes to their default values.

class schrodinger.application.mcpro.modelsystemwizard.ModelSystemPanel(master, task_mode)

Class to draw the model-system-creation panel

DISPLAY_OPT = [['Animate ligand perturbation', 'Ligand', 'Perturbed ligand', 'Reference ligand', 'Protein'], ['Animate ligand perturbation', 'Ligand', 'Perturbed ligand'], ['Protein', 'Reference ligand'], ['Zmatrix']]
chop_display_update()

Updates the workspace and guide bar for the chop/cap panel.

clean_ws()
disp_opt_update()

Refreshes the display-option panel.

display()

Displays all currently imported molecules in Maestro workspace.

display_movie()

Displays the emulated perturbation movie. The movie needs to be generated on the fly since the user can at any point change the ligand structures.

display_toggle()

Hides or shows the available structures.

flex_display_update()

Updates the workspace and guide bar for the contraint panel.

import_display_update()

Updates the workspace and guide bar for the structure-importing panel.

initialize(dummy=None)

Resets/initializes the panel and the model system.

navbar_cmd_chop(btn_relief)

This function responds to the click event on the `Chop’ guide button.

navbar_cmd_flex(btn_relief, shld_update_display=True)

This function responds to the click event on the `Constrain’ guide button.

navbar_cmd_monitor(btn_relief, shld_update_display=True)

This function responds to the click event on the `Create Model’ guide button.

navbar_cmd_neut(btn_relief, shld_update_display=True)

This function responds to the click event on the `Neutralize’ guide button.

navbar_toggle(stat)

Adjusts the guide bar based on the given `stat’.

neut_display_update()

Updates the workspace and guide bar for the neutralization panel.

settings()

Returns a dictionary of job settings by name used in `mcpro_driver.py’