schrodinger.application.desmond.fep_gui module

A FEP setup panel that supports both the Desmond and the MCPRO+ simulation engines. It should not be run directly, but is instead used by the specific Desmond scripts.

Copyright Schrodinger, LLC. All rights reserved.

schrodinger.application.desmond.fep_gui.scisol_enabled()
Returns:Whether to show Solutions-dependent features
Return type:bool
schrodinger.application.desmond.fep_gui.debug(*args)

Print the given arguments, if in debug mode.

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

Bases: PyQt5.QtWidgets.QFrame

class schrodinger.application.desmond.fep_gui.AdvLabel(text, parent, max_height=None)

Bases: PyQt5.QtWidgets.QLabel

A mutli-line label with small, bold text.

class schrodinger.application.desmond.fep_gui.PickAtomToggle(parent, text, pick_text, command, precommand=None)

Bases: PyQt5.QtWidgets.QCheckBox

Pick atom widget with a precommand feature. precommand gets invoked when the user checks the button on. command gets invoked when the user picks an atom in the Workspace.

start()
stop()
class schrodinger.application.desmond.fep_gui.PickBondToggle(parent, text, pick_text, command, precommand)

Bases: PyQt5.QtWidgets.QCheckBox

Pick bond widget with a precommand feature. precommand gets invoked when the user checks the button on. command gets invoked when the user picks a bond in the Workspace.

start()
stop()
class schrodinger.application.desmond.fep_gui.HelpLabel(parent, title='', content='')

Bases: PyQt5.QtWidgets.QWidget

A special composite widget which contains 2 help labels. The first one is used for “Step X” text. The second one is used for the description text.

class schrodinger.application.desmond.fep_gui.PathModel

Bases: PyQt5.QtCore.QAbstractTableModel

Class for storing table information.

clear()
addRow(row)
rowCount(parent=<PyQt5.QtCore.QModelIndex object>)

Returns number of rows

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

Returns number of columns

data(index, role=0)

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

headerData(section, orientation, role)

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

class schrodinger.application.desmond.fep_gui.ResiduesModel

Bases: PyQt5.QtCore.QAbstractTableModel

Class for storing the residues table information.

addRow(item)
removeRowNumbers(selected_rownums)
clear()
iterateRows()
getRow(rownum)
rowCount(parent=<PyQt5.QtCore.QModelIndex object>)

Returns number of rows

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

Returns number of columns

headerData(section, orientation, role)

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

flags(index)

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

data(index, role=0)

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=2)

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

class schrodinger.application.desmond.fep_gui.StrucListModel(header, view=None, view_callback=None, reset_callback=None)

Bases: PyQt5.QtCore.QAbstractTableModel

Class for storing table information.

addRow(row)
getRow(irow)
clear()
rowCount(parent=<PyQt5.QtCore.QModelIndex object>)

Returns number of rows

columnCount(parent=<PyQt5.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=0)

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=2)

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.

getRowTarget(rownum)
getRowName(rownum)

Returns the name of the item associated with the specified row.

setShownRow(rownum)
clearView()
class schrodinger.application.desmond.fep_gui.MutClass(name, mut)

Bases: object

Class for storing the data for each mutation row.

class schrodinger.application.desmond.fep_gui.FragClass(name, target=None)

Bases: object

Class for storing the data for each fragment row.

class schrodinger.application.desmond.fep_gui.FEPConfigDialog(parent, title='', jobname='', checkcommand=None, use_rest=None, per_subjob=None, **kw)

Bases: schrodinger.application.desmond.gui.DesmondGuiConfigDialog

onHostMenuChanged(index)
updateNumCPUsLabel()

We update the label here, if present.

getHosts(ncpus=True, excludeGPGPUs=False)

Returns list of host entries from appropriate schrodinger.hosts file, with parenthetical entry of the number of available processors (if ‘ncpus’ is True). If excludeGPGPUs is True, hosts with GPGPUs will be excluded from the list

setupSubHostCombo(combo)

Add only GPU Hosts to the combo box input. The combo box menu will be cleared first.

Parameters:combo (QtWidgets.QComboBox) – combo box to append to.
setupSubHostLayout()
validate()

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

validateNumCpus(host, editfield, silent=False)

Validate number of CPUs :type host: Host :param host: the host on which the CPUs reside :type editfield: QWidget :param editfield: widget specifying the number of CPUs :type silent: bool :param silent: suppresses warning dialogs when set to True

validateNumGpus(host, editfield, silent=False)

Validate number of GPUs :type host: Host :param host: the host on which the GPUs reside :type editfield: QWidget :param editfield: widget specifying the number of GPUs :type silent: bool :param silent: suppresses warning dialogs when set to True

validateSubHost()

Checks if the current SUBJOB Host is None - if so a warning dialog is posted to the user.

Returns:True if a subjob host is chosen, False if not.
Return type:bool
currentHost(menu=None)

See ConfigDialog.currentHost() docstring.

addNumericLineEdit(layout, prelabel=None, postlabel=None)

Creates a standard line edit used for input, adds it to the provided layout, and then returns the line edit so that it can be stored and its value accessed later.

:type prelabel string or QLabel :type postlabel string or QLabel

If prelabel or postlabel are strings, QLabels with the textual value will be created.

buildLabel(layout, label)

Build a new QLabel if label is a str, and add the widget to the given layout.

Parameters:
  • layout (QtWidgets.QLayout) – layout to which the stacked widget should be added.
  • label (string or QLabel) – the text or widget to add to layout.
buildLineEdit()

Build a QLineEdit with specific width and validator.

buildComboBox()

Build a QLineEdit with specific width and included options.

addSubprocessStackedWidget(layout, prelabel, postlabel)

Add a stacked widget to the given layout with one widget being a lineedit with labels, and the other a combo box with labels.

Parameters:
  • layout (QtWidgets.QLayout) – layout to which the stacked widget should be added.
  • prelabel (str or QLabel) – text preceding the widgets added to the stacked widget.
  • postlabel (str or QLabel) – text following the widgets added to the stacked widget.
Returns:

the stacked widget containing the lineedit and combobox

Return type:

QtWidgets.QStackedWidget

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

addGPGPUTableToLayout(t)

Overridden to place table differently later

addAutoGpuCbToLayout(layout=None, count=None)
updateMaxjobsDefault()
class schrodinger.application.desmond.fep_gui.RESTFEPConfigDialog(parent, title='', jobname='', checkcommand=None, **kw)

Bases: schrodinger.application.desmond.fep_gui.FEPConfigDialog

onHostMenuChanged(index)
class schrodinger.application.desmond.fep_gui.GPUAndCPURESTFEPConfigDialog(parent, title='', jobname='', checkcommand=None, **kw)

Bases: schrodinger.application.desmond.fep_gui.RESTFEPConfigDialog

This subclass of RESTFEPConfigDialog lists both CPU and GPU Hosts for the SubJob Hosts menu. This is required for a non-FEP+ Ligand panel.

setupSubHostCombo(combo)

Add only GPU Hosts to the combo box input. The combo box menu will be cleared first.

Parameters:combo (QtWidgets.QComboBox) – combo box to append to.
currentHost(menu=None)

See ConfigDialog.currentHost() docstring.

class schrodinger.application.desmond.fep_gui.CustomGPUComboBox

Bases: PyQt5.QtWidgets.QComboBox

text()

Wrapper for currentText().

setText(text)

Sets text as selected entry in combo box if found, otherwise, the text is added to combo box and set as selected.

Parameters:text (str) – set either existing or new entry with given text
class schrodinger.application.desmond.fep_gui.DesmondApp(cat, title, default_jobname, help_topic, pert_class=None)

Bases: schrodinger.application.desmond.fep_gui._App

Class shared by all Desmond panels.

restToggled(checked)

Slot method to activate REST options in config dialog in response to checking the ‘Use REST’ option checkbox.

setFullSystemSpecified(full_sys_specified)
confirmOverwriting(jobname)

If launching this job will overwrite any files, ask the user first.