schrodinger.application.desmond.gui module

GUI code for the Desmond panels.

Copyright Schrodinger, LLC. All rights reserved.

schrodinger.application.desmond.gui.get_msj_template_path(template_fname)

Return a path to the specified MSJ template in the Desmond data directory.

Parameters

template_fname (str) – Template filename to get the path to

Returns

Full path to the template location in the Desmond data dir.

Return type

str

schrodinger.application.desmond.gui.update_membrane_relaxation_protocol(stage_str)

Update a membrane relaxation protocol based on the current production simulation.

Parameters

stage_str (str) – Current protocol to be updated

Returns

Updated stage string with the current production simulation.

Return type

str

schrodinger.application.desmond.gui.error_dialog(master, msg)

Pops out a dialog showing the error message given by msg

This function just provides a uniform way for doing the job.

schrodinger.application.desmond.gui.warning_dialog(master, msg)

Pops out a dialog showing the warning message given by msg

This function just provides a uniform way for doing the job.

schrodinger.application.desmond.gui.get_model_from_pt_row(row, use_msys=False)

Check that a specified PT row contains a valid Desmond system and if so return the system loaded from the row’s cms_file attribute.

Parameters
  • row (schrodinger.project.ProjectRow) – Row of the Project Table to process

  • use_msys (bool) – Whether to read CMS using msys loader and return both msys and cms models on successful read

Returns

The cms.Cms or msys.System (if use_msys is True) loaded from the PT’s cms_file attribute if possible, None otherwise.

Return type

cms.Cms or (cms.Cms, msys.System) or None

schrodinger.application.desmond.gui.process_loaded_model(model)

Utility function for processing models getting loaded for various jobs.

Sets full system ID for each atom in the component CTs.

Parameters

model (cms.Cms) – Model to be processed

schrodinger.application.desmond.gui.get_in_cms_from_cpt(cpt_path, cfg=None)

Return the -in.cms file associated with a cpt file.

Parameters
  • cpt_path (str) – Full path to the cpt file

  • cfg (sea.Map or None) – Optional config to check. If not specified, the config will be extracted from the cpt.

Returns

Path to related -in.cms file

Return type

str

schrodinger.application.desmond.gui.count_traj_frames(trj_dir)

Count the number of frames in the given trajectory directory. Returns 0 if the trajectory was not readable. :param trj_dir: Trajectory path :type: trj_dir: str :return: Number of frames :rtype: int

schrodinger.application.desmond.gui.is_valid_groupname(groupname)

Verify that a given groupname is valid.

Parameters

groupname (str) – Groupname to validate

Returns

True if the groupname is valid, False otherwise.

Return type

bool

class schrodinger.application.desmond.gui.HorizontalBar(parent=0)

Bases: PyQt6.QtWidgets.QFrame

__init__(parent=0)
class schrodinger.application.desmond.gui.TempItemDelegate

Bases: PyQt6.QtWidgets.QItemDelegate

Class for allowing the data in the TableModel to be modified. Only allows float-values to be entered into the table.

__init__()
createEditor(self, parent: QWidget, option: QStyleOptionViewItem, index: QModelIndex) QWidget
setEditorData(self, editor: QWidget, index: QModelIndex)
setModelData(self, editor: QWidget, model: QAbstractItemModel, index: QModelIndex)
updateEditorGeometry(self, editor: QWidget, option: QStyleOptionViewItem, index: QModelIndex)
class schrodinger.application.desmond.gui.TableModel(row_header)

Bases: PyQt6.QtCore.QAbstractTableModel

Class for storing the window table information.

__init__(row_header)
setColumns(columns)
addColumn(column)
removeColumn(self, column: int, parent: QModelIndex = QModelIndex()) bool
clear()
update()
rowCount(parent=<PyQt6.QtCore.QModelIndex object>)

Returns number of rows

columnCount(parent=<PyQt6.QtCore.QModelIndex object>)

Returns number of columns

flags(index)

Returns flags for the specified cell. Whether it is a checkbutton or not.

data(index, role=ItemDataRole.DisplayRole)

Given a cell index, returns the data that should be displayed in that cell (text or check button state). Used by the view.

setData(index, value, role=ItemDataRole.EditRole)

Called by the view to modify the model when the user changes the data in the table.

headerData(section, orientation, role)

Returns the string that should be displayed in the specified header cell. Used by the View.

class schrodinger.application.desmond.gui.PosResDelegate

Bases: PyQt6.QtWidgets.QItemDelegate

Class for allowing the data in the PosResModel to be modified

__init__()
createEditor(self, parent: QWidget, option: QStyleOptionViewItem, index: QModelIndex) QWidget
setEditorData(self, editor: QWidget, index: QModelIndex)
setModelData(self, editor: QWidget, model: QAbstractItemModel, index: QModelIndex)
updateEditorGeometry(self, editor: QWidget, option: QStyleOptionViewItem, index: QModelIndex)
class schrodinger.application.desmond.gui.PosResRow(panel)

Bases: schrodinger.application.desmond.gui._BaseAslRow

__init__(panel)

:param guiapp Pass the guiapp instance.

validate()

Returns None if all values of this row are valid; error message otherwise.

class schrodinger.application.desmond.gui.PosResModel

Bases: PyQt6.QtCore.QAbstractTableModel

Class for storing the window table information.

warning

pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

__init__()
setRows(rows)
clear()
addOneRow(row)
removeOneRow(rownum)
rowCount(parent=<PyQt6.QtCore.QModelIndex object>)

Returns number of rows

columnCount(parent=<PyQt6.QtCore.QModelIndex object>)

Returns number of columns

flags(index)

Returns flags for the specified cell. Whether it is a checkbutton or not.

data(index, role=ItemDataRole.DisplayRole)

Given a cell index, returns the data that should be displayed in that cell (text or check button state). Used by the view.

setData(index, value, role=ItemDataRole.EditRole)

Called by the view to modify the model when the user changes the data in the table.

headerData(section, orientation, role)

Returns the string that should be displayed in the specified header cell. Used by the View.

class schrodinger.application.desmond.gui.IntegrationTab(master, key, ui)

Bases: schrodinger.application.desmond.gui._MdcBase

Frame for the Integration tab of the Mdc Advanced Options dialogs

__init__(master, key, ui)
respaBondChanged()
checkValidity()

Checks if all widgets have valid values. If a widget with invalid value was encountered, then returns string that describes the problem. Returns None if there are no issues.

updateKey(key)
updateFromKey(key)
class schrodinger.application.desmond.gui.EnsembleTab(master, key, is_annealing, ui)

Bases: schrodinger.application.desmond.gui._MdcBase

Frame for the Ensemble tab of the Advanced Options dialog.

STYLE_NAMEMAP = {'Anisotropic': 'anisotropic', 'Constant area': 'constant_area', 'Isotropic': 'isotropic', 'Semi-isotropic': 'semi_isotropic', 'anisotropic': 'Anisotropic', 'constant_area': 'Constant area', 'isotropic': 'Isotropic', 'semi_isotropic': 'Semi-isotropic'}
METHOD_NAMEMAP = {'DPD': 'DPD', 'Langevin': 'Langevin', 'MTK': 'Nose-Hoover chain', 'NH': 'Nose-Hoover chain'}
__init__(master, key, is_annealing, ui)
getBaroMethod()
setBaroMethod(method)
getThermoMethod()
setThermoMethod(method)
baroMethodChanged(index)
thermoMethodChanged(index)
setBaroStyle(style)
checkValidity()

Checks if all widgets have valid values. If a widget with invalid value was encountered, then returns string that describes the problem. Returns None if there are no issues.

updateKey(key)
updateFromKey(key)
resetEnsClass(ens_class)
class schrodinger.application.desmond.gui.InteractionTab(master, key, ui, command=None)

Bases: schrodinger.application.desmond.gui._MdcBase

Frame for the Interaction frame of the Advanced Options dialog.

NEAR_METHOD_NAMEMAP = {'Cutoff': 'none', 'Shift': 'shift', 'none': 'Cutoff', 'shift': 'Shift'}
__init__(master, key, ui, command=None)
resetFromModel(model=None)

Update the interaction tab UI based on the given model CTs.

updateModel(model)
checkValidity()

Checks if all widgets have valid values. If a widget with invalid value was encountered, then returns string that describes the problem. Returns None if there are no issues.

updateKey(key)
updateFromKey(key)
class schrodinger.application.desmond.gui.RestraintsTab(master, key, ui)

Bases: schrodinger.application.desmond.gui._MdcBase

Frame for the Restraints tab of the Advanced Options dialog

__init__(master, key, ui)
updatePosresButtons(ignored1=None, ignored2=None)
selectPosResAsl()
addPosResRow()
deletePosResRow()
resetPosResTable()
getRestrGroup()
checkValidity()

Checks if all widgets have valid values. If a widget with invalid value was encountered, then returns string that describes the problem. Returns None if there are no issues.

resetFromModel(model)

Update the Restraints tab UI based on the given model CTs.

updateModel(model)

Updates the given model to the data from the UI

updateKey(key)
updateFromKey(key)

Update the options in the restraints tab to the model.

reset()

Called when the panel is reset.

class schrodinger.application.desmond.gui.OutputTab(master, key, ui)

Bases: schrodinger.application.desmond.gui._MdcBase

Frame for the Output tab of the Advanced Options dialog

__init__(master, key, ui)
checkValidity()

Checks if all widgets have valid values. If a widget with invalid value was encountered, then returns string that describes the problem. Returns None if there are no issues.

updateKey(key)
updateFromKey(key)
setASL()
class schrodinger.application.desmond.gui.RandVelFrame(master, key, ui, root_master)

Bases: schrodinger.application.desmond.gui._MdcBase

Frame for the “Randomize velocities” group of the Misc tab of Advanced dialog.

__init__(master, key, ui, root_master)
enableCustomSeed()

Enables or disables custom seed line edit based on the radio buttons.

checkValidity()

Checks if all widgets have valid values. If a widget with invalid value was encountered, then returns string that describes the problem. Returns None if there are no issues.

updateKey(key)
updateFromKey(key)
class schrodinger.application.desmond.gui.AtomGroupDelegate

Bases: PyQt6.QtWidgets.QItemDelegate

Class for allowing the data in the AtomGroupModel to be modified.

__init__()
createEditor(self, parent: QWidget, option: QStyleOptionViewItem, index: QModelIndex) QWidget
setEditorData(self, editor: QWidget, index: QModelIndex)
setModelData(self, editor: QWidget, model: QAbstractItemModel, index: QModelIndex)
updateEditorGeometry(editor, option, index)
class schrodinger.application.desmond.gui.AtomGroupRow(panel)

Bases: schrodinger.application.desmond.gui._BaseAslRow

__init__(panel)

:param guiapp Pass the guiapp instance.

validate()

Returns None if all values of this row are valid; error message otherwise.

class schrodinger.application.desmond.gui.AtomGroupModel

Bases: PyQt6.QtCore.QAbstractTableModel

Class for storing the window table information.

warning

pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL

types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.

__init__()
setRows(rows)
clear()
addOneRow(row)
removeOneRow(rownum)
rowCount(parent=<PyQt6.QtCore.QModelIndex object>)

Returns number of rows

columnCount(parent=<PyQt6.QtCore.QModelIndex object>)

Returns number of columns

flags(index)

Returns flags for the specified cell. Whether it is a checkbutton or not.

data(index, role=ItemDataRole.DisplayRole)

Given a cell index, returns the data that should be displayed in that cell (text or check button state). Used by the view.

setData(index, value, role=ItemDataRole.EditRole)

Called by the view to modify the model when the user changes the data in the table.

headerData(section, orientation, role)

Returns the string that should be displayed in the specified header cell. Used by the View.

class schrodinger.application.desmond.gui.AtomGroupFrame(master, key, ui)

Bases: object

Frame for the “Atom group” box of the Misc tab of the Advanced Options dialog.

__init__(master, key, ui)
updateAtomGroupButtons(ignored1=None, ignored2=None)
selectAtomGroupAsl()
addAtomGroupRow()
deleteAtomGroupRow()
resetAtomGroupTable()
getAtomGroups()
checkValidity()

Checks if all widgets have valid values. If a widget with invalid value was encountered, then returns string that describes the problem. Returns None if there are no issues.

resetFromModel(model)

Update the Atom group UI based on the given model CTs.

updateKey(key)
updateFromKey(key)
class schrodinger.application.desmond.gui.MdcMiscTab(master, key, ui, include_randvel=True)

Bases: schrodinger.application.desmond.gui._MdcBase

Frame for the Misc tab of Mdc Advanced Options dialogs.

__init__(master, key, ui, include_randvel=True)
resetFromModel(model)
  • Expands and reset the atom group table if the given ‘model’ is a ‘cms.Cms’ object.

  • Given a ‘model’( which is a ‘cms.Cms’ object), resets the atom group table.

updateModel(model)

Updates the given model to the data from the UI

class schrodinger.application.desmond.gui.MinAdvancedDialog(master, key, is_annealing, is_replica_exchange, buttons, title)

Bases: schrodinger.application.desmond.gui._BaseAdvancedDialog

Advanced Minimization options dialog for Desmond panels

__init__(master, key, is_annealing, is_replica_exchange, buttons, title)
class schrodinger.application.desmond.gui.MdcAdvancedDialog(master, key, is_annealing, is_replica_exchange, buttons, title)

Bases: schrodinger.application.desmond.gui._BaseAdvancedDialog

Advanced Options dialog for Mdc Desmond panels

__init__(master, key, is_annealing, is_replica_exchange, buttons, title)
class schrodinger.application.desmond.gui.MinMiscTab(master, key, ui)

Bases: schrodinger.application.desmond.gui.MdcMiscTab

Frame for the Misc Tab of Advanced Options dialog of Minimization GUI.

__init__(master, key, ui)
class schrodinger.application.desmond.gui.InputGroup(master, model_changed_callback, allow_checkpoint_files=True, check_infinite=False, reset_parent_on_load=True, cg_aware=False)

Bases: object

  • Group Frame for showing the widgets for loading the system model.

  • Used by the GuiApp class for all panels.

__init__(master, model_changed_callback, allow_checkpoint_files=True, check_infinite=False, reset_parent_on_load=True, cg_aware=False)

See class docstring. :param master: The root or master application :type master: af2.JobApp object.

Parameters
  • check_infinite (bool) – If a checkbox for infinite systems should be included and if the system should be checked for infinite bonding when loaded

  • reset_parent_on_load (bool) – Whether or not the InputGroup should call it’s parent widget’s setDefaults() function when loading a new model system.

  • cg_aware (bool) – Whether or not the InputGroup should check if the model is coarse-grained (and what type) or not

isInfiniteModel()

Is the current model marked as an infinitely bonded model?

Return type

bool

Returns

Whether the model is marked as infinitely bonded

browseSystemFile(fname)
reset()

Resets the input frame to defaults

class schrodinger.application.desmond.gui.SimOptionsFrame(master, key, app)

Bases: object

Responsible for drawing the simulation options widgets, including simulation time, recording intervals and the number of frames.

LE_WIDTH = 80
__init__(master, key, app)

See class docstring. :param master: The root or master application :type master: af2.JobApp object.

setup()

Sets up the panel with SLineEdit widgets

onTrajIntervalChanged()

Called when trajectory interval changes.

onNumOfFramesChanged(num_frames_str)

Called when the number of frames changes.

Parameters

num_frames_str (str) – Value of the number of frames field.

setEnabledExceptSimulationTime(enable)
onSimTimeChanged()

Called when simulation time changes.

setGuiState(state)
checkValidity()

Checks if all widgets have valid values. If a widget with invalid value was encountered, then returns string that describes the problem. Returns None if there are no issues.

updateKey(key)

Update the key based on the GUI settings

updateFromKey(key)

Updates widgets based on key.

class schrodinger.application.desmond.gui.EnsembleClassFrame(master, key, ens_callback, is_annealing, is_replica_exchange, app)

Bases: object

Frame that includes the Ensemble class pull-down menu and the entry fields correspondint to it.

TOOLTIP_TEXT = {'NPAT': 'Constant number of atoms, constant area, constant temperature', 'NPT': 'Constant number of atoms, constant pressure, constant temperature', 'NPγT': 'Constant number of atoms, constant surface tension, constant temperature', 'NVE': 'Constant number of atoms, constant volume, constant energy', 'NVT': 'Constant number of atoms, constant volume, constant temperature'}
__init__(master, key, ens_callback, is_annealing, is_replica_exchange, app)

See class docstring.

ensClassChanged(ens_class, should_callback=True)
updateEnsClassFromKey(key)
updateTempFromKey(key)

Updates the value of temperature to the first entry of key.temperature. Rest of the temperature entries will be ignored.

checkValidity()

Checks if all widgets have valid values. If a widget with invalid value was encountered, then returns string that describes the problem. Returns None if there are no issues.

updateKey(key)
updateFromKey(key)
model_changed_callback(model)
class schrodinger.application.desmond.gui.RelaxFrame(master, key, app)

Bases: object

Frame that includes the “Relax model…” check box and the relaxation protocol entry field.

__init__(master, key, app)

See class docstring

model_changed_callback(model)
shouldRelax()
getProtFilename()

Returns the name of the user-specified protocol file or None if user did not specifies any file.

toggleRelaxModel(ignored=None)
changeProtFile(fname)
checkValidity()

Checks if all widgets have valid values. If a widget with invalid value was encountered, then returns string that describes the problem. Returns None if there are no issues.

updateKey(key)

Update the key based on the GUI settings

updateFromKey(key)
class schrodinger.application.desmond.gui.AdvOptionsFrame(master, key, win, mdc_callback, adv_dialog_class, is_annealing, is_replica_exchange, app, dialog_master=None)

Bases: PyQt6.QtCore.QObject

Frame for the “Advanced Options” button.

MDC_DEFAULT_HEIGHT = 350
MDC_DEFAULT_WIDTH = 480
__init__(master, key, win, mdc_callback, adv_dialog_class, is_annealing, is_replica_exchange, app, dialog_master=None)

See class docstring.

Parameters

dialog_master (QWidget) – The widget that will be the master widget of the Advanced Options dialog. If not provided, the app argument will be used.

updateDialogKeys()

Update the keys of the dialog from the options.

openAdvancedDialog()
model_changed_callback(model)
closeDialog()

Close the advanced options dialog.

hideDialog()
okPressed()

Called when the “OK” button of the advanced dialog is pressed. Closes the dialog only if “Apply” operation was successful.

applySettings()

Called when the “Apply” button of the advanced dialog is pressed. Returns 0 on success, 1 if any of the widgets had invalid values.

cancelPressed()

Called when the “Cancel” button of the advanced dialog is pressed.

helpPressed()
checkValidity()

Checks if all widgets have valid values. If a widget with invalid value was encountered, then returns string that describes the problem. Returns None if there are no issues.

updateKey(key)
updateFromKey(key)
class schrodinger.application.desmond.gui.MdGroup(master, key, win, is_annealing=False, is_replica_exchange=False, dialog_master=None)

Bases: schrodinger.application.desmond.gui._BaseGroup

Molecular Dynamics group

__init__(master, key, win, is_annealing=False, is_replica_exchange=False, dialog_master=None)
Parameters

dialog_master (QWidget) – The widget that will be the master widget of the Advanced Options dialog. If not provided, the master argument will be used.

setEnabledExceptSimulationTime(enable)

Ev:111016 Enable/disable this group. Does NOT disable the simulation time entry field.

class schrodinger.application.desmond.gui.DesmondBasicConfigDialog(*args, **kwargs)

Bases: schrodinger.ui.qt.config_dialog.ConfigDialog

This is identical to Appframework.ConfigDialog except adds platform check for localhost jobs

__init__(*args, **kwargs)

Adds a validate_platforms property that indicates whether the platform should be validated if it is localhost

enablePlatformValidation(state)

Enable/disable platform validation of localhost jobs

Parameters

state (bool) – Whether to use platform validation or not

validate()

Performs localhost validate if requested and then calls the parent class validation method

Return type

bool

Returns

Whether the dialog settings validate properly or not

class schrodinger.application.desmond.gui.GuiApp(key, validator, tag_spec, sim_class, is_replica_exchange=False, **kwargs)

Bases: schrodinger.ui.qt.appframework2.af2.JobApp

Base class of several Desmond panel GUI’s (see its subclasses below).

__init__(key, validator, tag_spec, sim_class, is_replica_exchange=False, **kwargs)
Parameters
  • stop_before (int) – Exit the constructor before specified step.

  • parent (QWidget) – Parent widget, if any.

  • in_knime (bool) – Whether we are currently running under KNIME - a mode in which input selector is hidden, optionally a custom Workspace Structure is specified, and buttom bar has OK & Cancel buttons.

  • workspace_st_file (bool) – Structure to be returned by getWorkspaceStructure() when in_knime is True.

setup()
layOut()

See af2.JobApp documentation for method documentation.

getConfigDialog()
enableSimulationGroupBox(state)

Set the simulation group box enabled state

Parameters

state (bool) – True if the groupbox should be enabled, False if not

model_changed_callback(model)

The GUI is designed to have some intelligence that can adapt its own look based on the imported model system. So if the model system is changed, we need to inform some other parts of the GUI.

The event that the model system is changed will be initially triggered from the InputGroup (see this class above), then it will go to here (i.e., GuiApp), and from here the signal will be sent forth to all interested parts of the GUI.

Parameters

model – A cms.Cms object, containing all information about the model system. If it is none, then the model is a checkpoint file.

updateFromKey(key)

Updates the look of the GUI with key

verifySettings()

Called by AppFramework to verify that all UI elements have valid states. Returns True if so. Returns False and the error message if any issues are found.

startCommand(really_start=True)

Writes the job input files and assembles the command to execute.

Parameters

really_start (bol) – Whether to start the job after writing the input files.

getNonMembraneRelaxationProtocol()
Returns

A template file path for a non-membrane relaxation protocol

Return type

str

setUpMembraneRelaxation()

Set up the system for membrane relaxation and return a path to the membrane relaxation msj template.

Returns

Path to membrane relaxation msj template.

Return type

str

getRelaxationStageStringFromTemplate(pfile, cfg_fname)

Load a template relaxation protocol.

Parameters
  • pfile (str) – Template protocol file path

  • cfg_fname (str) – Config filename to include in the protocol

Returns

A relaxation stage protocol string loaded from the specified template.

Return type

str

getNoRelaxationProtocol(cfg_fname)

Get msj string when no relaxation protocol will be run.

Parameters

cfg_fname (str) – Config filename to be included in the protocol

Returns

No-relaxation protocol

Return type

str

readActionSelected()

Called when the “Read” action is selected by the user. It’s the responsibility of individual panels to hook this method to the “Read” menu action. See Ev:109801

writeCommand()
readCommand(fname)
isKeyConsistentWithPanel(key)
reset()
setDefaults()

Resets the parameters to their default values.

resetModel()
onProjectClosed()

When project is closed, clear the model and set the panel to default state.

closeEvent(event)

Hide panel, if in Maestro. Otherwise close it.

class schrodinger.application.desmond.gui.DesmondGuiConfigDialog(parent, title='', jobname='', checkcommand=None, multi_gpgpu_allowed=True, no_cpu=True, **kw)

Bases: schrodinger.ui.qt.config_dialog.ConfigDialog

This Config Dialog allows toggling between CPU and GPU hosts.

__init__(parent, title='', jobname='', checkcommand=None, multi_gpgpu_allowed=True, no_cpu=True, **kw)

See class docstring. Raises an Exception if the disposition specified as the default is not recognized.

If pre_close_command is specified, it will be run when the user presses the Start button. The dialog is only closed if that function returns 0.

setUpButtonBox(can_start=True)

Set up the dialog’s button box and add ‘Write’ button.

onWriteRequested()

Slot for Write button.

validateNumProcs(silent=False)

See ConfigDialog.validateNumProcs docstring.

validate()

Checks the panel to make sure settings are valid. Return False if any validation test fails, otherwise return True.

getSettings(extra_kws=None)

Return dialog state by saving the state of the checkbox and then calling the base class

applySettings(settings)

See parent class docstring

setupHostLayout()

Setup the host layout, including hostlist/table and numbers of cpus (including cpus3).

Returns

Whether the dialog should add a start button.

Return type

bool

getHosts(_1=True, _2=False)

Get the hosts based on current CPU/GPU setting.

Returns

List of current hosts

Return type

config_dialog.Host

onProcUnitComboIndexChanged(use_host=None)

Update the available hosts based on the current processor unit type. Will also hide/show widgets based on whether GPU is selected but no GPU hosts are available or not.

Parameters

use_host (str) – Host to be set in the host combo

class schrodinger.application.desmond.gui.SingleGpuDesmondGuiConfigDialog(*args, **kwargs)

Bases: schrodinger.application.desmond.gui.DesmondGuiConfigDialog

__init__(*args, **kwargs)

See class docstring. Raises an Exception if the disposition specified as the default is not recognized.

If pre_close_command is specified, it will be run when the user presses the Start button. The dialog is only closed if that function returns 0.

class schrodinger.application.desmond.gui.DesmondRestGuiConfigDialog(parent, title='', jobname='', checkcommand=None, **kw)

Bases: schrodinger.application.desmond.gui.DesmondGuiConfigDialog

__init__(parent, title='', jobname='', checkcommand=None, **kw)

See class docstring. Raises an Exception if the disposition specified as the default is not recognized.

If pre_close_command is specified, it will be run when the user presses the Start button. The dialog is only closed if that function returns 0.