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.

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.CustomGPUComboBox

Bases: PyQt5.QtWidgets.QComboBox

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
text()

Wrapper for currentText().

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.

confirmOverwriting(jobname)

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

restToggled(checked)

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

setFullSystemSpecified(full_sys_specified)
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

addAutoGpuCbToLayout(layout=None, count=None)
addGPGPUTableToLayout(t)

Overridden to place table differently later

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.

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

applySettings(settings)

See parent class docstring

buildComboBox()

Build a QLineEdit with specific width and included options.

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.

currentHost(menu=None)

See ConfigDialog.currentHost() docstring.

getHosts(ncpus=True, excludeGPGPUs=False)
getSettings(extra_kws=None)
onHostMenuChanged(index)
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()
updateMaxjobsDefault()
updateNumCPUsLabel()

We update the label here, if present.

validate()
validateNumCpus(host, editfield, silent=False)
validateNumGpus(host, editfield, silent=False)
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
class schrodinger.application.desmond.fep_gui.FragClass(name, target=None)

Class for storing the data for each fragment row.

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.

currentHost(menu=None)

See ConfigDialog.currentHost() docstring.

setupSubHostCombo(combo)
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.HorizontalBar(parent=0)

Bases: PyQt5.QtWidgets.QFrame

class schrodinger.application.desmond.fep_gui.McproApp(cat, title, default_jobname, help_topic, pert_class=None)

Bases: schrodinger.application.desmond.fep_gui._App

Class shared by all Mcpro panels

confirmOverwriting(jobname)

If launching this job will overwrite any files, ask the user first. Will return False if user chose not to overwrite.

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

Class for storing the data for each mutation row.

class schrodinger.application.desmond.fep_gui.PathModel

Bases: PyQt5.QtCore.QAbstractTableModel

Class for storing table information.

addRow(row)
clear()
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.

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

Returns number of rows

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.RESTFEPConfigDialog(parent, title='', jobname='', checkcommand=None, **kw)

Bases: schrodinger.application.desmond.fep_gui.FEPConfigDialog

onHostMenuChanged(index)
class schrodinger.application.desmond.fep_gui.ResiduesModel

Bases: PyQt5.QtCore.QAbstractTableModel

Class for storing the residues table information.

addRow(item)
clear()
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.

flags(index)

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

getRow(rownum)
headerData(section, orientation, role)

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

iterateRows()
removeRowNumbers(selected_rownums)
rowCount(parent=<PyQt5.QtCore.QModelIndex object>)

Returns number of rows

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)
clear()
clearView()
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.

flags(index)

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

getRow(irow)
getRowName(rownum)

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

getRowTarget(rownum)
headerData(section, orientation, role)

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

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

Returns number of rows

setData(index, value, role=2)

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

setShownRow(rownum)
schrodinger.application.desmond.fep_gui.debug(*args)

Print the given arguments, if in debug mode.

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