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)
Box = 1
DrawChildren = 2
DrawWindowBackground = 1
HLine = 4
IgnoreMask = 4
NoFrame = 0
class PaintDeviceMetric(value)

Bases: enum.Enum

An enumeration.

PdmWidth = 1
PdmHeight = 2
PdmWidthMM = 3
PdmHeightMM = 4
PdmNumColors = 5
PdmDepth = 6
PdmDpiX = 7
PdmDpiY = 8
PdmPhysicalDpiX = 9
PdmPhysicalDpiY = 10
PdmDevicePixelRatio = 11
PdmDevicePixelRatioScaled = 12
Panel = 2
PdmDepth = 6
PdmDevicePixelRatio = 11
PdmDevicePixelRatioScaled = 12
PdmDpiX = 7
PdmDpiY = 8
PdmHeight = 2
PdmHeightMM = 4
PdmNumColors = 5
PdmPhysicalDpiX = 9
PdmPhysicalDpiY = 10
PdmWidth = 1
PdmWidthMM = 3
Plain = 16
Raised = 32
class RenderFlag(value)

Bases: enum.Flag

An enumeration.

DrawWindowBackground = 1
DrawChildren = 2
IgnoreMask = 4
class Shadow(value)

Bases: enum.IntEnum

An enumeration.

Plain = 16
Raised = 32
Sunken = 48
Shadow_Mask = 240
class Shape(value)

Bases: enum.IntEnum

An enumeration.

NoFrame = 0
Box = 1
Panel = 2
WinPanel = 3
HLine = 4
VLine = 5
StyledPanel = 6
Shape_Mask = 15
class StyleMask(value)

Bases: enum.Enum

An enumeration.

Shadow_Mask = 240
Shape_Mask = 15
StyledPanel = 6
Sunken = 48
VLine = 5
WinPanel = 3
acceptDrops(self) bool
accessibleDescription(self) str
accessibleName(self) str
actionEvent(self, a0: QActionEvent)
actions(self) List[QAction]
activateWindow(self)
addAction(self, action: QAction)
addActions(self, actions: Iterable[QAction])
adjustSize(self)
autoFillBackground(self) bool
backgroundRole(self) QPalette.ColorRole
baseSize(self) QSize
blockSignals(self, b: bool) bool
changeEvent(self, a0: QEvent)
childAt(self, p: QPoint) QWidget
childAt(self, ax: int, ay: int) QWidget
childEvent(self, a0: QChildEvent)
children(self) List[QObject]
childrenRect(self) QRect
childrenRegion(self) QRegion
clearFocus(self)
clearMask(self)
close(self) bool
closeEvent(self, a0: QCloseEvent)
colorCount(self) int
connectNotify(self, signal: QMetaMethod)
contentsMargins(self) QMargins
contentsRect(self) QRect
contextMenuEvent(self, a0: QContextMenuEvent)
contextMenuPolicy(self) Qt.ContextMenuPolicy
create(self, window: PyQt6.sip.voidptr = 0, initializeWindow: bool = True, destroyOldWindow: bool = True)
createWindowContainer(window: QWindow, parent: typing.Optional[QWidget] = None, flags: Qt.WindowType = Qt.WindowFlags()) QWidget
cursor(self) QCursor
customContextMenuRequested

customContextMenuRequested(self, pos: QPoint) [signal]

customEvent(self, a0: QEvent)
deleteLater(self)
depth(self) int
destroy(self, destroyWindow: bool = True, destroySubWindows: bool = True)
destroyed

destroyed(self, object: typing.Optional[QObject] = None) [signal]

devType(self) int
devicePixelRatio(self) float
devicePixelRatioF(self) float
devicePixelRatioFScale() float
disconnect(a0: QMetaObject.Connection) bool
disconnect(self) None
disconnectNotify(self, signal: QMetaMethod)
dragEnterEvent(self, a0: QDragEnterEvent)
dragLeaveEvent(self, a0: QDragLeaveEvent)
dragMoveEvent(self, a0: QDragMoveEvent)
drawFrame(self, a0: QPainter)
dropEvent(self, a0: QDropEvent)
dumpObjectInfo(self)
dumpObjectTree(self)
dynamicPropertyNames(self) List[QByteArray]
effectiveWinId(self) PyQt6.sip.voidptr
ensurePolished(self)
enterEvent(self, event: QEnterEvent)
event(self, e: QEvent) bool
eventFilter(self, a0: QObject, a1: QEvent) bool
find(a0: PyQt6.sip.voidptr) QWidget
findChild(self, type: type, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) QObject
findChild(self, types: Tuple, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) QObject
findChildren(self, type: type, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
findChildren(self, types: Tuple, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
findChildren(self, type: type, re: QRegularExpression, options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
findChildren(self, types: Tuple, re: QRegularExpression, options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
focusInEvent(self, a0: QFocusEvent)
focusNextChild(self) bool
focusNextPrevChild(self, next: bool) bool
focusOutEvent(self, a0: QFocusEvent)
focusPolicy(self) Qt.FocusPolicy
focusPreviousChild(self) bool
focusProxy(self) QWidget
focusWidget(self) QWidget
font(self) QFont
fontInfo(self) QFontInfo
fontMetrics(self) QFontMetrics
foregroundRole(self) QPalette.ColorRole
frameGeometry(self) QRect
frameRect(self) QRect
frameShadow(self) QFrame.Shadow
frameShape(self) QFrame.Shape
frameSize(self) QSize
frameStyle(self) int
frameWidth(self) int
geometry(self) QRect
grab(self, rectangle: QRect = QRect(QPoint(0, 0), QSize(- 1, - 1))) QPixmap
grabGesture(self, type: Qt.GestureType, flags: Qt.GestureFlag = Qt.GestureFlags())
grabKeyboard(self)
grabMouse(self)
grabMouse(self, a0: Union[QCursor, Qt.CursorShape]) None
grabShortcut(self, key: Union[QKeySequence, QKeySequence.StandardKey, str, int], context: Qt.ShortcutContext = Qt.WindowShortcut) int
graphicsEffect(self) QGraphicsEffect
graphicsProxyWidget(self) QGraphicsProxyWidget
hasFocus(self) bool
hasHeightForWidth(self) bool
hasMouseTracking(self) bool
hasTabletTracking(self) bool
height(self) int
heightForWidth(self, a0: int) int
heightMM(self) int
hide(self)
hideEvent(self, a0: QHideEvent)
inherits(self, classname: str) bool
initPainter(self, painter: QPainter)
initStyleOption(self, option: QStyleOptionFrame)
inputMethodEvent(self, a0: QInputMethodEvent)
inputMethodHints(self) Qt.InputMethodHint
inputMethodQuery(self, a0: Qt.InputMethodQuery) Any
insertAction(self, before: QAction, action: QAction)
insertActions(self, before: QAction, actions: Iterable[QAction])
installEventFilter(self, a0: QObject)
isActiveWindow(self) bool
isAncestorOf(self, child: QWidget) bool
isEnabled(self) bool
isEnabledTo(self, a0: QWidget) bool
isFullScreen(self) bool
isHidden(self) bool
isLeftToRight(self) bool
isMaximized(self) bool
isMinimized(self) bool
isModal(self) bool
isRightToLeft(self) bool
isSignalConnected(self, signal: QMetaMethod) bool
isVisible(self) bool
isVisibleTo(self, a0: QWidget) bool
isWidgetType(self) bool
isWindow(self) bool
isWindowModified(self) bool
isWindowType(self) bool
keyPressEvent(self, a0: QKeyEvent)
keyReleaseEvent(self, a0: QKeyEvent)
keyboardGrabber() QWidget
killTimer(self, id: int)
layout(self) QLayout
layoutDirection(self) Qt.LayoutDirection
leaveEvent(self, a0: QEvent)
lineWidth(self) int
locale(self) QLocale
logicalDpiX(self) int
logicalDpiY(self) int
lower(self)
mapFrom(self, a0: QWidget, a1: QPoint) QPoint
mapFrom(self, a0: QWidget, a1: QPointF) QPointF
mapFromGlobal(self, a0: QPoint) QPoint
mapFromGlobal(self, a0: QPointF) QPointF
mapFromParent(self, a0: QPoint) QPoint
mapFromParent(self, a0: QPointF) QPointF
mapTo(self, a0: QWidget, a1: QPoint) QPoint
mapTo(self, a0: QWidget, a1: QPointF) QPointF
mapToGlobal(self, a0: QPoint) QPoint
mapToGlobal(self, a0: QPointF) QPointF
mapToParent(self, a0: QPoint) QPoint
mapToParent(self, a0: QPointF) QPointF
mask(self) QRegion
maximumHeight(self) int
maximumSize(self) QSize
maximumWidth(self) int
metaObject(self) QMetaObject
metric(self, a0: QPaintDevice.PaintDeviceMetric) int
midLineWidth(self) int
minimumHeight(self) int
minimumSize(self) QSize
minimumSizeHint(self) QSize
minimumWidth(self) int
mouseDoubleClickEvent(self, a0: QMouseEvent)
mouseGrabber() QWidget
mouseMoveEvent(self, a0: QMouseEvent)
mousePressEvent(self, a0: QMouseEvent)
mouseReleaseEvent(self, a0: QMouseEvent)
move(self, a0: QPoint)
move(self, ax: int, ay: int) None
moveEvent(self, a0: QMoveEvent)
moveToThread(self, thread: QThread)
nativeEvent(self, eventType: QByteArray, message: PyQt6.sip.voidptr) Tuple[bool, PyQt6.sip.voidptr]
nativeParentWidget(self) QWidget
nextInFocusChain(self) QWidget
normalGeometry(self) QRect
objectName(self) str
objectNameChanged

objectNameChanged(self, objectName: str) [signal]

overrideWindowFlags(self, type: Qt.WindowType)
overrideWindowState(self, state: Qt.WindowState)
paintEngine(self) QPaintEngine
paintEvent(self, a0: QPaintEvent)
paintingActive(self) bool
palette(self) QPalette
parent(self) QObject
parentWidget(self) QWidget
physicalDpiX(self) int
physicalDpiY(self) int
pos(self) QPoint
previousInFocusChain(self) QWidget
property(self, name: str) Any
pyqtConfigure(...)

Each keyword argument is either the name of a Qt property or a Qt signal. For properties the property is set to the given value which should be of an appropriate type. For signals the signal is connected to the given value which should be a callable.

raise_(self)
receivers(self, signal: PYQT_SIGNAL) int
rect(self) QRect
releaseKeyboard(self)
releaseMouse(self)
releaseShortcut(self, id: int)
removeAction(self, action: QAction)
removeEventFilter(self, a0: QObject)
render(self, target: QPaintDevice, targetOffset: QPoint = QPoint(), sourceRegion: QRegion = QRegion(), flags: QWidget.RenderFlag = QWidget.RenderFlags(QWidget.DrawWindowBackground | QWidget.DrawChildren))
render(self, painter: QPainter, targetOffset: QPoint = QPoint(), sourceRegion: QRegion = QRegion(), flags: QWidget.RenderFlag = QWidget.RenderFlags(QWidget.DrawWindowBackground | QWidget.DrawChildren)) None
repaint(self)
repaint(self, x: int, y: int, w: int, h: int) None
repaint(self, a0: QRect) None
repaint(self, a0: QRegion) None
resize(self, a0: QSize)
resize(self, w: int, h: int) None
resizeEvent(self, a0: QResizeEvent)
restoreGeometry(self, geometry: QByteArray) bool
saveGeometry(self) QByteArray
screen(self) QScreen
scroll(self, dx: int, dy: int)
scroll(self, dx: int, dy: int, a2: QRect) None
sender(self) QObject
senderSignalIndex(self) int
setAcceptDrops(self, on: bool)
setAccessibleDescription(self, description: str)
setAccessibleName(self, name: str)
setAttribute(self, attribute: Qt.WidgetAttribute, on: bool = True)
setAutoFillBackground(self, enabled: bool)
setBackgroundRole(self, a0: QPalette.ColorRole)
setBaseSize(self, basew: int, baseh: int)
setBaseSize(self, s: QSize) None
setContentsMargins(self, left: int, top: int, right: int, bottom: int)
setContentsMargins(self, margins: QMargins) None
setContextMenuPolicy(self, policy: Qt.ContextMenuPolicy)
setCursor(self, a0: Union[QCursor, Qt.CursorShape])
setDisabled(self, a0: bool)
setEnabled(self, a0: bool)
setFixedHeight(self, h: int)
setFixedSize(self, a0: QSize)
setFixedSize(self, w: int, h: int) None
setFixedWidth(self, w: int)
setFocus(self)
setFocus(self, reason: Qt.FocusReason) None
setFocusPolicy(self, policy: Qt.FocusPolicy)
setFocusProxy(self, a0: QWidget)
setFont(self, a0: QFont)
setForegroundRole(self, a0: QPalette.ColorRole)
setFrameRect(self, a0: QRect)
setFrameShadow(self, a0: QFrame.Shadow)
setFrameShape(self, a0: QFrame.Shape)
setFrameStyle(self, a0: int)
setGeometry(self, a0: QRect)
setGeometry(self, ax: int, ay: int, aw: int, ah: int) None
setGraphicsEffect(self, effect: QGraphicsEffect)
setHidden(self, hidden: bool)
setInputMethodHints(self, hints: Qt.InputMethodHint)
setLayout(self, a0: QLayout)
setLayoutDirection(self, direction: Qt.LayoutDirection)
setLineWidth(self, a0: int)
setLocale(self, locale: QLocale)
setMask(self, a0: QBitmap)
setMask(self, a0: QRegion) None
setMaximumHeight(self, maxh: int)
setMaximumSize(self, maxw: int, maxh: int)
setMaximumSize(self, s: QSize) None
setMaximumWidth(self, maxw: int)
setMidLineWidth(self, a0: int)
setMinimumHeight(self, minh: int)
setMinimumSize(self, minw: int, minh: int)
setMinimumSize(self, s: QSize) None
setMinimumWidth(self, minw: int)
setMouseTracking(self, enable: bool)
setObjectName(self, name: str)
setPalette(self, a0: QPalette)
setParent(self, parent: QWidget)
setParent(self, parent: QWidget, f: Qt.WindowType) None
setProperty(self, name: str, value: Any) bool
setScreen(self, a0: QScreen)
setShortcutAutoRepeat(self, id: int, enabled: bool = True)
setShortcutEnabled(self, id: int, enabled: bool = True)
setSizeIncrement(self, w: int, h: int)
setSizeIncrement(self, s: QSize) None
setSizePolicy(self, a0: QSizePolicy)
setSizePolicy(self, hor: QSizePolicy.Policy, ver: QSizePolicy.Policy) None
setStatusTip(self, a0: str)
setStyle(self, a0: QStyle)
setStyleSheet(self, styleSheet: str)
setTabOrder(a0: QWidget, a1: QWidget)
setTabletTracking(self, enable: bool)
setToolTip(self, a0: str)
setToolTipDuration(self, msec: int)
setUpdatesEnabled(self, enable: bool)
setVisible(self, visible: bool)
setWhatsThis(self, a0: str)
setWindowFilePath(self, filePath: str)
setWindowFlag(self, a0: Qt.WindowType, on: bool = True)
setWindowFlags(self, type: Qt.WindowType)
setWindowIcon(self, icon: QIcon)
setWindowIconText(self, a0: str)
setWindowModality(self, windowModality: Qt.WindowModality)
setWindowModified(self, a0: bool)
setWindowOpacity(self, level: float)
setWindowRole(self, a0: str)
setWindowState(self, state: Qt.WindowState)
setWindowTitle(self, a0: str)
sharedPainter(self) QPainter
show(self)
showEvent(self, a0: QShowEvent)
showFullScreen(self)
showMaximized(self)
showMinimized(self)
showNormal(self)
signalsBlocked(self) bool
size(self) QSize
sizeHint(self) QSize
sizeIncrement(self) QSize
sizePolicy(self) QSizePolicy
stackUnder(self, a0: QWidget)
startTimer(self, interval: int, timerType: Qt.TimerType = Qt.CoarseTimer) int
staticMetaObject = <PyQt6.QtCore.QMetaObject object>
statusTip(self) str
style(self) QStyle
styleSheet(self) str
tabletEvent(self, a0: QTabletEvent)
testAttribute(self, attribute: Qt.WidgetAttribute) bool
thread(self) QThread
timerEvent(self, a0: QTimerEvent)
toolTip(self) str
toolTipDuration(self) int
tr(sourceText: str, disambiguation: typing.Optional[str] = None, n: int = - 1) str
underMouse(self) bool
ungrabGesture(self, type: Qt.GestureType)
unsetCursor(self)
unsetLayoutDirection(self)
unsetLocale(self)
update(self)
update(self, a0: QRect) None
update(self, a0: QRegion) None
update(self, ax: int, ay: int, aw: int, ah: int) None
updateGeometry(self)
updateMicroFocus(self, query: Qt.InputMethodQuery = Qt.ImQueryAll)
updatesEnabled(self) bool
visibleRegion(self) QRegion
whatsThis(self) str
wheelEvent(self, a0: QWheelEvent)
width(self) int
widthMM(self) int
winId(self) PyQt6.sip.voidptr
window(self) QWidget
windowFilePath(self) str
windowFlags(self) Qt.WindowType
windowHandle(self) QWindow
windowIcon(self) QIcon
windowIconChanged

windowIconChanged(self, icon: QIcon) [signal]

windowIconText(self) str
windowIconTextChanged

windowIconTextChanged(self, iconText: str) [signal]

windowModality(self) Qt.WindowModality
windowOpacity(self) float
windowRole(self) str
windowState(self) Qt.WindowState
windowTitle(self) str
windowTitleChanged

windowTitleChanged(self, title: str) [signal]

windowType(self) Qt.WindowType
x(self) int
y(self) int
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)
EditNextItem = 1
EditPreviousItem = 2
class EndEditHint(value)

Bases: enum.Enum

An enumeration.

NoHint = 0
EditNextItem = 1
EditPreviousItem = 2
SubmitModelCache = 3
RevertModelCache = 4
NoHint = 0
RevertModelCache = 4
SubmitModelCache = 3
blockSignals(self, b: bool) bool
childEvent(self, a0: QChildEvent)
children(self) List[QObject]
closeEditor

closeEditor(self, editor: QWidget, hint: QAbstractItemDelegate.EndEditHint = QAbstractItemDelegate.NoHint) [signal]

commitData

commitData(self, editor: QWidget) [signal]

connectNotify(self, signal: QMetaMethod)
customEvent(self, a0: QEvent)
deleteLater(self)
destroyEditor(self, editor: QWidget, index: QModelIndex)
destroyed

destroyed(self, object: typing.Optional[QObject] = None) [signal]

disconnect(a0: QMetaObject.Connection) bool
disconnect(self) None
disconnectNotify(self, signal: QMetaMethod)
drawBackground(self, painter: QPainter, option: QStyleOptionViewItem, index: QModelIndex)
drawCheck(self, painter: QPainter, option: QStyleOptionViewItem, rect: QRect, state: Qt.CheckState)
drawDecoration(self, painter: QPainter, option: QStyleOptionViewItem, rect: QRect, pixmap: QPixmap)
drawDisplay(self, painter: QPainter, option: QStyleOptionViewItem, rect: QRect, text: str)
drawFocus(self, painter: QPainter, option: QStyleOptionViewItem, rect: QRect)
dumpObjectInfo(self)
dumpObjectTree(self)
dynamicPropertyNames(self) List[QByteArray]
editorEvent(self, event: QEvent, model: QAbstractItemModel, option: QStyleOptionViewItem, index: QModelIndex) bool
event(self, a0: QEvent) bool
eventFilter(self, object: QObject, event: QEvent) bool
findChild(self, type: type, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) QObject
findChild(self, types: Tuple, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) QObject
findChildren(self, type: type, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
findChildren(self, types: Tuple, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
findChildren(self, type: type, re: QRegularExpression, options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
findChildren(self, types: Tuple, re: QRegularExpression, options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
hasClipping(self) bool
helpEvent(self, event: QHelpEvent, view: QAbstractItemView, option: QStyleOptionViewItem, index: QModelIndex) bool
inherits(self, classname: str) bool
installEventFilter(self, a0: QObject)
isSignalConnected(self, signal: QMetaMethod) bool
isWidgetType(self) bool
isWindowType(self) bool
itemEditorFactory(self) QItemEditorFactory
killTimer(self, id: int)
metaObject(self) QMetaObject
moveToThread(self, thread: QThread)
objectName(self) str
objectNameChanged

objectNameChanged(self, objectName: str) [signal]

paint(self, painter: QPainter, option: QStyleOptionViewItem, index: QModelIndex)
parent(self) QObject
property(self, name: str) Any
pyqtConfigure(...)

Each keyword argument is either the name of a Qt property or a Qt signal. For properties the property is set to the given value which should be of an appropriate type. For signals the signal is connected to the given value which should be a callable.

receivers(self, signal: PYQT_SIGNAL) int
removeEventFilter(self, a0: QObject)
sender(self) QObject
senderSignalIndex(self) int
setClipping(self, clip: bool)
setItemEditorFactory(self, factory: QItemEditorFactory)
setObjectName(self, name: str)
setParent(self, a0: QObject)
setProperty(self, name: str, value: Any) bool
signalsBlocked(self) bool
sizeHint(self, option: QStyleOptionViewItem, index: QModelIndex) QSize
sizeHintChanged

sizeHintChanged(self, a0: QModelIndex) [signal]

startTimer(self, interval: int, timerType: Qt.TimerType = Qt.CoarseTimer) int
staticMetaObject = <PyQt6.QtCore.QMetaObject object>
thread(self) QThread
timerEvent(self, a0: QTimerEvent)
tr(sourceText: str, disambiguation: typing.Optional[str] = None, n: int = - 1) str
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 CheckIndexOption(value)

Bases: enum.Flag

An enumeration.

NoOption = 0
IndexIsValid = 1
DoNotUseParent = 2
ParentIsInvalid = 4
HorizontalSortHint = 2
class LayoutChangeHint(value)

Bases: enum.Enum

An enumeration.

NoLayoutChangeHint = 0
VerticalSortHint = 1
HorizontalSortHint = 2
NoLayoutChangeHint = 0
VerticalSortHint = 1
beginInsertColumns(self, parent: QModelIndex, first: int, last: int)
beginInsertRows(self, parent: QModelIndex, first: int, last: int)
beginMoveColumns(self, sourceParent: QModelIndex, sourceFirst: int, sourceLast: int, destinationParent: QModelIndex, destinationColumn: int) bool
beginMoveRows(self, sourceParent: QModelIndex, sourceFirst: int, sourceLast: int, destinationParent: QModelIndex, destinationRow: int) bool
beginRemoveColumns(self, parent: QModelIndex, first: int, last: int)
beginRemoveRows(self, parent: QModelIndex, first: int, last: int)
beginResetModel(self)
blockSignals(self, b: bool) bool
buddy(self, index: QModelIndex) QModelIndex
canDropMimeData(self, data: QMimeData, action: Qt.DropAction, row: int, column: int, parent: QModelIndex) bool
canFetchMore(self, parent: QModelIndex) bool
changePersistentIndex(self, from_: QModelIndex, to: QModelIndex)
changePersistentIndexList(self, from_: Iterable[QModelIndex], to: Iterable[QModelIndex])
checkIndex(self, index: QModelIndex, options: QAbstractItemModel.CheckIndexOption = QAbstractItemModel.CheckIndexOption.NoOption) bool
childEvent(self, a0: QChildEvent)
children(self) List[QObject]
clearItemData(self, index: QModelIndex) bool
columnsAboutToBeInserted

columnsAboutToBeInserted(self, parent: QModelIndex, first: int, last: int) [signal]

columnsAboutToBeMoved

columnsAboutToBeMoved(self, sourceParent: QModelIndex, sourceStart: int, sourceEnd: int, destinationParent: QModelIndex, destinationColumn: int) [signal]

columnsAboutToBeRemoved

columnsAboutToBeRemoved(self, parent: QModelIndex, first: int, last: int) [signal]

columnsInserted

columnsInserted(self, parent: QModelIndex, first: int, last: int) [signal]

columnsMoved

columnsMoved(self, parent: QModelIndex, start: int, end: int, destination: QModelIndex, column: int) [signal]

columnsRemoved

columnsRemoved(self, parent: QModelIndex, first: int, last: int) [signal]

connectNotify(self, signal: QMetaMethod)
createIndex(self, row: int, column: int, object: object = 0) QModelIndex
customEvent(self, a0: QEvent)
dataChanged

dataChanged(self, topLeft: QModelIndex, bottomRight: QModelIndex, roles: Iterable[int] = []) [signal]

decodeData(self, row: int, column: int, parent: QModelIndex, stream: QDataStream) bool
deleteLater(self)
destroyed

destroyed(self, object: typing.Optional[QObject] = None) [signal]

disconnect(a0: QMetaObject.Connection) bool
disconnect(self) None
disconnectNotify(self, signal: QMetaMethod)
dropMimeData(self, data: QMimeData, action: Qt.DropAction, row: int, column: int, parent: QModelIndex) bool
dumpObjectInfo(self)
dumpObjectTree(self)
dynamicPropertyNames(self) List[QByteArray]
encodeData(self, indexes: Iterable[QModelIndex], stream: QDataStream)
endInsertColumns(self)
endInsertRows(self)
endMoveColumns(self)
endMoveRows(self)
endRemoveColumns(self)
endRemoveRows(self)
endResetModel(self)
event(self, a0: QEvent) bool
eventFilter(self, a0: QObject, a1: QEvent) bool
fetchMore(self, parent: QModelIndex)
findChild(self, type: type, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) QObject
findChild(self, types: Tuple, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) QObject
findChildren(self, type: type, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
findChildren(self, types: Tuple, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
findChildren(self, type: type, re: QRegularExpression, options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
findChildren(self, types: Tuple, re: QRegularExpression, options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
hasChildren(self, parent: QModelIndex = QModelIndex()) bool
hasIndex(self, row: int, column: int, parent: QModelIndex = QModelIndex()) bool
headerDataChanged

headerDataChanged(self, orientation: Qt.Orientation, first: int, last: int) [signal]

index(self, row: int, column: int, parent: QModelIndex = QModelIndex()) QModelIndex
inherits(self, classname: str) bool
insertColumn(self, column: int, parent: QModelIndex = QModelIndex()) bool
insertColumns(self, column: int, count: int, parent: QModelIndex = QModelIndex()) bool
insertRow(self, row: int, parent: QModelIndex = QModelIndex()) bool
insertRows(self, row: int, count: int, parent: QModelIndex = QModelIndex()) bool
installEventFilter(self, a0: QObject)
isSignalConnected(self, signal: QMetaMethod) bool
isWidgetType(self) bool
isWindowType(self) bool
itemData(self, index: QModelIndex) Dict[int, Any]
killTimer(self, id: int)
layoutAboutToBeChanged

layoutAboutToBeChanged(self, parents: Iterable[QPersistentModelIndex] = [], hint: QAbstractItemModel.LayoutChangeHint = QAbstractItemModel.NoLayoutChangeHint) [signal]

layoutChanged

layoutChanged(self, parents: Iterable[QPersistentModelIndex] = [], hint: QAbstractItemModel.LayoutChangeHint = QAbstractItemModel.NoLayoutChangeHint) [signal]

match(self, start: QModelIndex, role: int, value: Any, hits: int = 1, flags: Qt.MatchFlag = Qt.MatchFlags(Qt.MatchStartsWith | Qt.MatchWrap)) List[QModelIndex]
metaObject(self) QMetaObject
mimeData(self, indexes: Iterable[QModelIndex]) QMimeData
mimeTypes(self) List[str]
modelAboutToBeReset

modelAboutToBeReset(self) [signal]

modelReset

modelReset(self) [signal]

moveColumn(self, sourceParent: QModelIndex, sourceColumn: int, destinationParent: QModelIndex, destinationChild: int) bool
moveColumns(self, sourceParent: QModelIndex, sourceColumn: int, count: int, destinationParent: QModelIndex, destinationChild: int) bool
moveRow(self, sourceParent: QModelIndex, sourceRow: int, destinationParent: QModelIndex, destinationChild: int) bool
moveRows(self, sourceParent: QModelIndex, sourceRow: int, count: int, destinationParent: QModelIndex, destinationChild: int) bool
moveToThread(self, thread: QThread)
objectName(self) str
objectNameChanged

objectNameChanged(self, objectName: str) [signal]

parent(self) QObject
persistentIndexList(self) List[QModelIndex]
property(self, name: str) Any
pyqtConfigure(...)

Each keyword argument is either the name of a Qt property or a Qt signal. For properties the property is set to the given value which should be of an appropriate type. For signals the signal is connected to the given value which should be a callable.

receivers(self, signal: PYQT_SIGNAL) int
removeColumns(self, column: int, count: int, parent: QModelIndex = QModelIndex()) bool
removeEventFilter(self, a0: QObject)
removeRow(self, row: int, parent: QModelIndex = QModelIndex()) bool
removeRows(self, row: int, count: int, parent: QModelIndex = QModelIndex()) bool
resetInternalData(self)
revert(self)
roleNames(self) Dict[int, QByteArray]
rowsAboutToBeInserted

rowsAboutToBeInserted(self, parent: QModelIndex, first: int, last: int) [signal]

rowsAboutToBeMoved

rowsAboutToBeMoved(self, sourceParent: QModelIndex, sourceStart: int, sourceEnd: int, destinationParent: QModelIndex, destinationRow: int) [signal]

rowsAboutToBeRemoved

rowsAboutToBeRemoved(self, parent: QModelIndex, first: int, last: int) [signal]

rowsInserted

rowsInserted(self, parent: QModelIndex, first: int, last: int) [signal]

rowsMoved

rowsMoved(self, parent: QModelIndex, start: int, end: int, destination: QModelIndex, row: int) [signal]

rowsRemoved

rowsRemoved(self, parent: QModelIndex, first: int, last: int) [signal]

sender(self) QObject
senderSignalIndex(self) int
setHeaderData(self, section: int, orientation: Qt.Orientation, value: Any, role: int = Qt.EditRole) bool
setItemData(self, index: QModelIndex, roles: Dict[int, Any]) bool
setObjectName(self, name: str)
setParent(self, a0: QObject)
setProperty(self, name: str, value: Any) bool
sibling(self, row: int, column: int, idx: QModelIndex) QModelIndex
signalsBlocked(self) bool
sort(self, column: int, order: Qt.SortOrder = Qt.AscendingOrder)
span(self, index: QModelIndex) QSize
startTimer(self, interval: int, timerType: Qt.TimerType = Qt.CoarseTimer) int
staticMetaObject = <PyQt6.QtCore.QMetaObject object>
submit(self) bool
supportedDragActions(self) Qt.DropAction
supportedDropActions(self) Qt.DropAction
thread(self) QThread
timerEvent(self, a0: QTimerEvent)
tr(sourceText: str, disambiguation: typing.Optional[str] = None, n: int = - 1) str
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)
EditNextItem = 1
EditPreviousItem = 2
class EndEditHint(value)

Bases: enum.Enum

An enumeration.

NoHint = 0
EditNextItem = 1
EditPreviousItem = 2
SubmitModelCache = 3
RevertModelCache = 4
NoHint = 0
RevertModelCache = 4
SubmitModelCache = 3
blockSignals(self, b: bool) bool
childEvent(self, a0: QChildEvent)
children(self) List[QObject]
closeEditor

closeEditor(self, editor: QWidget, hint: QAbstractItemDelegate.EndEditHint = QAbstractItemDelegate.NoHint) [signal]

commitData

commitData(self, editor: QWidget) [signal]

connectNotify(self, signal: QMetaMethod)
customEvent(self, a0: QEvent)
deleteLater(self)
destroyEditor(self, editor: QWidget, index: QModelIndex)
destroyed

destroyed(self, object: typing.Optional[QObject] = None) [signal]

disconnect(a0: QMetaObject.Connection) bool
disconnect(self) None
disconnectNotify(self, signal: QMetaMethod)
drawBackground(self, painter: QPainter, option: QStyleOptionViewItem, index: QModelIndex)
drawCheck(self, painter: QPainter, option: QStyleOptionViewItem, rect: QRect, state: Qt.CheckState)
drawDecoration(self, painter: QPainter, option: QStyleOptionViewItem, rect: QRect, pixmap: QPixmap)
drawDisplay(self, painter: QPainter, option: QStyleOptionViewItem, rect: QRect, text: str)
drawFocus(self, painter: QPainter, option: QStyleOptionViewItem, rect: QRect)
dumpObjectInfo(self)
dumpObjectTree(self)
dynamicPropertyNames(self) List[QByteArray]
editorEvent(self, event: QEvent, model: QAbstractItemModel, option: QStyleOptionViewItem, index: QModelIndex) bool
event(self, a0: QEvent) bool
eventFilter(self, object: QObject, event: QEvent) bool
findChild(self, type: type, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) QObject
findChild(self, types: Tuple, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) QObject
findChildren(self, type: type, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
findChildren(self, types: Tuple, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
findChildren(self, type: type, re: QRegularExpression, options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
findChildren(self, types: Tuple, re: QRegularExpression, options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
hasClipping(self) bool
helpEvent(self, event: QHelpEvent, view: QAbstractItemView, option: QStyleOptionViewItem, index: QModelIndex) bool
inherits(self, classname: str) bool
installEventFilter(self, a0: QObject)
isSignalConnected(self, signal: QMetaMethod) bool
isWidgetType(self) bool
isWindowType(self) bool
itemEditorFactory(self) QItemEditorFactory
killTimer(self, id: int)
metaObject(self) QMetaObject
moveToThread(self, thread: QThread)
objectName(self) str
objectNameChanged

objectNameChanged(self, objectName: str) [signal]

paint(self, painter: QPainter, option: QStyleOptionViewItem, index: QModelIndex)
parent(self) QObject
property(self, name: str) Any
pyqtConfigure(...)

Each keyword argument is either the name of a Qt property or a Qt signal. For properties the property is set to the given value which should be of an appropriate type. For signals the signal is connected to the given value which should be a callable.

receivers(self, signal: PYQT_SIGNAL) int
removeEventFilter(self, a0: QObject)
sender(self) QObject
senderSignalIndex(self) int
setClipping(self, clip: bool)
setItemEditorFactory(self, factory: QItemEditorFactory)
setObjectName(self, name: str)
setParent(self, a0: QObject)
setProperty(self, name: str, value: Any) bool
signalsBlocked(self) bool
sizeHint(self, option: QStyleOptionViewItem, index: QModelIndex) QSize
sizeHintChanged

sizeHintChanged(self, a0: QModelIndex) [signal]

startTimer(self, interval: int, timerType: Qt.TimerType = Qt.CoarseTimer) int
staticMetaObject = <PyQt6.QtCore.QMetaObject object>
thread(self) QThread
timerEvent(self, a0: QTimerEvent)
tr(sourceText: str, disambiguation: typing.Optional[str] = None, n: int = - 1) str
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.

setAsl(asl)

Set the ASL of the row object to the given value. If ASL is valid, sets the <atoms> list to the matching Workspace atoms. If ASL is invalid, raises ValueError and sets <atoms> to empty set. Empty ASL (“”) sets <atoms> to an empty set (row is invalid).

class schrodinger.application.desmond.gui.PosResModel

Bases: PyQt6.QtCore.QAbstractTableModel

Class for storing the window table information.

warning
__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 CheckIndexOption(value)

Bases: enum.Flag

An enumeration.

NoOption = 0
IndexIsValid = 1
DoNotUseParent = 2
ParentIsInvalid = 4
HorizontalSortHint = 2
class LayoutChangeHint(value)

Bases: enum.Enum

An enumeration.

NoLayoutChangeHint = 0
VerticalSortHint = 1
HorizontalSortHint = 2
NoLayoutChangeHint = 0
VerticalSortHint = 1
beginInsertColumns(self, parent: QModelIndex, first: int, last: int)
beginInsertRows(self, parent: QModelIndex, first: int, last: int)
beginMoveColumns(self, sourceParent: QModelIndex, sourceFirst: int, sourceLast: int, destinationParent: QModelIndex, destinationColumn: int) bool
beginMoveRows(self, sourceParent: QModelIndex, sourceFirst: int, sourceLast: int, destinationParent: QModelIndex, destinationRow: int) bool
beginRemoveColumns(self, parent: QModelIndex, first: int, last: int)
beginRemoveRows(self, parent: QModelIndex, first: int, last: int)
beginResetModel(self)
blockSignals(self, b: bool) bool
buddy(self, index: QModelIndex) QModelIndex
canDropMimeData(self, data: QMimeData, action: Qt.DropAction, row: int, column: int, parent: QModelIndex) bool
canFetchMore(self, parent: QModelIndex) bool
changePersistentIndex(self, from_: QModelIndex, to: QModelIndex)
changePersistentIndexList(self, from_: Iterable[QModelIndex], to: Iterable[QModelIndex])
checkIndex(self, index: QModelIndex, options: QAbstractItemModel.CheckIndexOption = QAbstractItemModel.CheckIndexOption.NoOption) bool
childEvent(self, a0: QChildEvent)
children(self) List[QObject]
clearItemData(self, index: QModelIndex) bool
columnsAboutToBeInserted

columnsAboutToBeInserted(self, parent: QModelIndex, first: int, last: int) [signal]

columnsAboutToBeMoved

columnsAboutToBeMoved(self, sourceParent: QModelIndex, sourceStart: int, sourceEnd: int, destinationParent: QModelIndex, destinationColumn: int) [signal]

columnsAboutToBeRemoved

columnsAboutToBeRemoved(self, parent: QModelIndex, first: int, last: int) [signal]

columnsInserted

columnsInserted(self, parent: QModelIndex, first: int, last: int) [signal]

columnsMoved

columnsMoved(self, parent: QModelIndex, start: int, end: int, destination: QModelIndex, column: int) [signal]

columnsRemoved

columnsRemoved(self, parent: QModelIndex, first: int, last: int) [signal]

connectNotify(self, signal: QMetaMethod)
createIndex(self, row: int, column: int, object: object = 0) QModelIndex
customEvent(self, a0: QEvent)
dataChanged

dataChanged(self, topLeft: QModelIndex, bottomRight: QModelIndex, roles: Iterable[int] = []) [signal]

decodeData(self, row: int, column: int, parent: QModelIndex, stream: QDataStream) bool
deleteLater(self)
destroyed

destroyed(self, object: typing.Optional[QObject] = None) [signal]

disconnect(a0: QMetaObject.Connection) bool
disconnect(self) None
disconnectNotify(self, signal: QMetaMethod)
dropMimeData(self, data: QMimeData, action: Qt.DropAction, row: int, column: int, parent: QModelIndex) bool
dumpObjectInfo(self)
dumpObjectTree(self)
dynamicPropertyNames(self) List[QByteArray]
encodeData(self, indexes: Iterable[QModelIndex], stream: QDataStream)
endInsertColumns(self)
endInsertRows(self)
endMoveColumns(self)
endMoveRows(self)
endRemoveColumns(self)
endRemoveRows(self)
endResetModel(self)
event(self, a0: QEvent) bool
eventFilter(self, a0: QObject, a1: QEvent) bool
fetchMore(self, parent: QModelIndex)
findChild(self, type: type, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) QObject
findChild(self, types: Tuple, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) QObject
findChildren(self, type: type, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
findChildren(self, types: Tuple, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
findChildren(self, type: type, re: QRegularExpression, options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
findChildren(self, types: Tuple, re: QRegularExpression, options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
hasChildren(self, parent: QModelIndex = QModelIndex()) bool
hasIndex(self, row: int, column: int, parent: QModelIndex = QModelIndex()) bool
headerDataChanged

headerDataChanged(self, orientation: Qt.Orientation, first: int, last: int) [signal]

index(self, row: int, column: int, parent: QModelIndex = QModelIndex()) QModelIndex
inherits(self, classname: str) bool
insertColumn(self, column: int, parent: QModelIndex = QModelIndex()) bool
insertColumns(self, column: int, count: int, parent: QModelIndex = QModelIndex()) bool
insertRow(self, row: int, parent: QModelIndex = QModelIndex()) bool
insertRows(self, row: int, count: int, parent: QModelIndex = QModelIndex()) bool
installEventFilter(self, a0: QObject)
isSignalConnected(self, signal: QMetaMethod) bool
isWidgetType(self) bool
isWindowType(self) bool
itemData(self, index: QModelIndex) Dict[int, Any]
killTimer(self, id: int)
layoutAboutToBeChanged

layoutAboutToBeChanged(self, parents: Iterable[QPersistentModelIndex] = [], hint: QAbstractItemModel.LayoutChangeHint = QAbstractItemModel.NoLayoutChangeHint) [signal]

layoutChanged

layoutChanged(self, parents: Iterable[QPersistentModelIndex] = [], hint: QAbstractItemModel.LayoutChangeHint = QAbstractItemModel.NoLayoutChangeHint) [signal]

match(self, start: QModelIndex, role: int, value: Any, hits: int = 1, flags: Qt.MatchFlag = Qt.MatchFlags(Qt.MatchStartsWith | Qt.MatchWrap)) List[QModelIndex]
metaObject(self) QMetaObject
mimeData(self, indexes: Iterable[QModelIndex]) QMimeData
mimeTypes(self) List[str]
modelAboutToBeReset

modelAboutToBeReset(self) [signal]

modelReset

modelReset(self) [signal]

moveColumn(self, sourceParent: QModelIndex, sourceColumn: int, destinationParent: QModelIndex, destinationChild: int) bool
moveColumns(self, sourceParent: QModelIndex, sourceColumn: int, count: int, destinationParent: QModelIndex, destinationChild: int) bool
moveRow(self, sourceParent: QModelIndex, sourceRow: int, destinationParent: QModelIndex, destinationChild: int) bool
moveRows(self, sourceParent: QModelIndex, sourceRow: int, count: int, destinationParent: QModelIndex, destinationChild: int) bool
moveToThread(self, thread: QThread)
objectName(self) str
objectNameChanged

objectNameChanged(self, objectName: str) [signal]

parent(self) QObject
persistentIndexList(self) List[QModelIndex]
property(self, name: str) Any
pyqtConfigure(...)

Each keyword argument is either the name of a Qt property or a Qt signal. For properties the property is set to the given value which should be of an appropriate type. For signals the signal is connected to the given value which should be a callable.

receivers(self, signal: PYQT_SIGNAL) int
removeColumn(self, column: int, parent: QModelIndex = QModelIndex()) bool
removeColumns(self, column: int, count: int, parent: QModelIndex = QModelIndex()) bool
removeEventFilter(self, a0: QObject)
removeRow(self, row: int, parent: QModelIndex = QModelIndex()) bool
removeRows(self, row: int, count: int, parent: QModelIndex = QModelIndex()) bool
resetInternalData(self)
revert(self)
roleNames(self) Dict[int, QByteArray]
rowsAboutToBeInserted

rowsAboutToBeInserted(self, parent: QModelIndex, first: int, last: int) [signal]

rowsAboutToBeMoved

rowsAboutToBeMoved(self, sourceParent: QModelIndex, sourceStart: int, sourceEnd: int, destinationParent: QModelIndex, destinationRow: int) [signal]

rowsAboutToBeRemoved

rowsAboutToBeRemoved(self, parent: QModelIndex, first: int, last: int) [signal]

rowsInserted

rowsInserted(self, parent: QModelIndex, first: int, last: int) [signal]

rowsMoved

rowsMoved(self, parent: QModelIndex, start: int, end: int, destination: QModelIndex, row: int) [signal]

rowsRemoved

rowsRemoved(self, parent: QModelIndex, first: int, last: int) [signal]

sender(self) QObject
senderSignalIndex(self) int
setHeaderData(self, section: int, orientation: Qt.Orientation, value: Any, role: int = Qt.EditRole) bool
setItemData(self, index: QModelIndex, roles: Dict[int, Any]) bool
setObjectName(self, name: str)
setParent(self, a0: QObject)
setProperty(self, name: str, value: Any) bool
sibling(self, row: int, column: int, idx: QModelIndex) QModelIndex
signalsBlocked(self) bool
sort(self, column: int, order: Qt.SortOrder = Qt.AscendingOrder)
span(self, index: QModelIndex) QSize
startTimer(self, interval: int, timerType: Qt.TimerType = Qt.CoarseTimer) int
staticMetaObject = <PyQt6.QtCore.QMetaObject object>
submit(self) bool
supportedDragActions(self) Qt.DropAction
supportedDropActions(self) Qt.DropAction
thread(self) QThread
timerEvent(self, a0: QTimerEvent)
tr(sourceText: str, disambiguation: typing.Optional[str] = None, n: int = - 1) str
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)
add(w)
hasWidget(w)
refresh(widgets)
remove(w)
resetFromModel(model)
updateModel(model)
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)
add(w)
hasWidget(w)
refresh(widgets)
remove(w)
resetFromModel(model)
updateModel(model)
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)
add(w)
hasWidget(w)
refresh(widgets)
remove(w)
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.

add(w)
hasWidget(w)
refresh(widgets)
remove(w)
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()
add(w)
hasWidget(w)
refresh(widgets)
remove(w)
resetFromModel(model)
updateModel(model)
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)
add(w)
hasWidget(w)
refresh(widgets)
remove(w)
resetFromModel(model)
updateModel(model)
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)
EditNextItem = 1
EditPreviousItem = 2
class EndEditHint(value)

Bases: enum.Enum

An enumeration.

NoHint = 0
EditNextItem = 1
EditPreviousItem = 2
SubmitModelCache = 3
RevertModelCache = 4
NoHint = 0
RevertModelCache = 4
SubmitModelCache = 3
blockSignals(self, b: bool) bool
childEvent(self, a0: QChildEvent)
children(self) List[QObject]
closeEditor

closeEditor(self, editor: QWidget, hint: QAbstractItemDelegate.EndEditHint = QAbstractItemDelegate.NoHint) [signal]

commitData

commitData(self, editor: QWidget) [signal]

connectNotify(self, signal: QMetaMethod)
customEvent(self, a0: QEvent)
deleteLater(self)
destroyEditor(self, editor: QWidget, index: QModelIndex)
destroyed

destroyed(self, object: typing.Optional[QObject] = None) [signal]

disconnect(a0: QMetaObject.Connection) bool
disconnect(self) None
disconnectNotify(self, signal: QMetaMethod)
drawBackground(self, painter: QPainter, option: QStyleOptionViewItem, index: QModelIndex)
drawCheck(self, painter: QPainter, option: QStyleOptionViewItem, rect: QRect, state: Qt.CheckState)
drawDecoration(self, painter: QPainter, option: QStyleOptionViewItem, rect: QRect, pixmap: QPixmap)
drawDisplay(self, painter: QPainter, option: QStyleOptionViewItem, rect: QRect, text: str)
drawFocus(self, painter: QPainter, option: QStyleOptionViewItem, rect: QRect)
dumpObjectInfo(self)
dumpObjectTree(self)
dynamicPropertyNames(self) List[QByteArray]
editorEvent(self, event: QEvent, model: QAbstractItemModel, option: QStyleOptionViewItem, index: QModelIndex) bool
event(self, a0: QEvent) bool
eventFilter(self, object: QObject, event: QEvent) bool
findChild(self, type: type, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) QObject
findChild(self, types: Tuple, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) QObject
findChildren(self, type: type, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
findChildren(self, types: Tuple, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
findChildren(self, type: type, re: QRegularExpression, options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
findChildren(self, types: Tuple, re: QRegularExpression, options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
hasClipping(self) bool
helpEvent(self, event: QHelpEvent, view: QAbstractItemView, option: QStyleOptionViewItem, index: QModelIndex) bool
inherits(self, classname: str) bool
installEventFilter(self, a0: QObject)
isSignalConnected(self, signal: QMetaMethod) bool
isWidgetType(self) bool
isWindowType(self) bool
itemEditorFactory(self) QItemEditorFactory
killTimer(self, id: int)
metaObject(self) QMetaObject
moveToThread(self, thread: QThread)
objectName(self) str
objectNameChanged

objectNameChanged(self, objectName: str) [signal]

paint(self, painter: QPainter, option: QStyleOptionViewItem, index: QModelIndex)
parent(self) QObject
property(self, name: str) Any
pyqtConfigure(...)

Each keyword argument is either the name of a Qt property or a Qt signal. For properties the property is set to the given value which should be of an appropriate type. For signals the signal is connected to the given value which should be a callable.

receivers(self, signal: PYQT_SIGNAL) int
removeEventFilter(self, a0: QObject)
sender(self) QObject
senderSignalIndex(self) int
setClipping(self, clip: bool)
setItemEditorFactory(self, factory: QItemEditorFactory)
setObjectName(self, name: str)
setParent(self, a0: QObject)
setProperty(self, name: str, value: Any) bool
signalsBlocked(self) bool
sizeHint(self, option: QStyleOptionViewItem, index: QModelIndex) QSize
sizeHintChanged

sizeHintChanged(self, a0: QModelIndex) [signal]

startTimer(self, interval: int, timerType: Qt.TimerType = Qt.CoarseTimer) int
staticMetaObject = <PyQt6.QtCore.QMetaObject object>
thread(self) QThread
timerEvent(self, a0: QTimerEvent)
tr(sourceText: str, disambiguation: typing.Optional[str] = None, n: int = - 1) str
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.

setAsl(asl)

Set the ASL of the row object to the given value. If ASL is valid, sets the <atoms> list to the matching Workspace atoms. If ASL is invalid, raises ValueError and sets <atoms> to empty set. Empty ASL (“”) sets <atoms> to an empty set (row is invalid).

class schrodinger.application.desmond.gui.AtomGroupModel

Bases: PyQt6.QtCore.QAbstractTableModel

Class for storing the window table information.

warning
__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 CheckIndexOption(value)

Bases: enum.Flag

An enumeration.

NoOption = 0
IndexIsValid = 1
DoNotUseParent = 2
ParentIsInvalid = 4
HorizontalSortHint = 2
class LayoutChangeHint(value)

Bases: enum.Enum

An enumeration.

NoLayoutChangeHint = 0
VerticalSortHint = 1
HorizontalSortHint = 2
NoLayoutChangeHint = 0
VerticalSortHint = 1
beginInsertColumns(self, parent: QModelIndex, first: int, last: int)
beginInsertRows(self, parent: QModelIndex, first: int, last: int)
beginMoveColumns(self, sourceParent: QModelIndex, sourceFirst: int, sourceLast: int, destinationParent: QModelIndex, destinationColumn: int) bool
beginMoveRows(self, sourceParent: QModelIndex, sourceFirst: int, sourceLast: int, destinationParent: QModelIndex, destinationRow: int) bool
beginRemoveColumns(self, parent: QModelIndex, first: int, last: int)
beginRemoveRows(self, parent: QModelIndex, first: int, last: int)
beginResetModel(self)
blockSignals(self, b: bool) bool
buddy(self, index: QModelIndex) QModelIndex
canDropMimeData(self, data: QMimeData, action: Qt.DropAction, row: int, column: int, parent: QModelIndex) bool
canFetchMore(self, parent: QModelIndex) bool
changePersistentIndex(self, from_: QModelIndex, to: QModelIndex)
changePersistentIndexList(self, from_: Iterable[QModelIndex], to: Iterable[QModelIndex])
checkIndex(self, index: QModelIndex, options: QAbstractItemModel.CheckIndexOption = QAbstractItemModel.CheckIndexOption.NoOption) bool
childEvent(self, a0: QChildEvent)
children(self) List[QObject]
clearItemData(self, index: QModelIndex) bool
columnsAboutToBeInserted

columnsAboutToBeInserted(self, parent: QModelIndex, first: int, last: int) [signal]

columnsAboutToBeMoved

columnsAboutToBeMoved(self, sourceParent: QModelIndex, sourceStart: int, sourceEnd: int, destinationParent: QModelIndex, destinationColumn: int) [signal]

columnsAboutToBeRemoved

columnsAboutToBeRemoved(self, parent: QModelIndex, first: int, last: int) [signal]

columnsInserted

columnsInserted(self, parent: QModelIndex, first: int, last: int) [signal]

columnsMoved

columnsMoved(self, parent: QModelIndex, start: int, end: int, destination: QModelIndex, column: int) [signal]

columnsRemoved

columnsRemoved(self, parent: QModelIndex, first: int, last: int) [signal]

connectNotify(self, signal: QMetaMethod)
createIndex(self, row: int, column: int, object: object = 0) QModelIndex
customEvent(self, a0: QEvent)
dataChanged

dataChanged(self, topLeft: QModelIndex, bottomRight: QModelIndex, roles: Iterable[int] = []) [signal]

decodeData(self, row: int, column: int, parent: QModelIndex, stream: QDataStream) bool
deleteLater(self)
destroyed

destroyed(self, object: typing.Optional[QObject] = None) [signal]

disconnect(a0: QMetaObject.Connection) bool
disconnect(self) None
disconnectNotify(self, signal: QMetaMethod)
dropMimeData(self, data: QMimeData, action: Qt.DropAction, row: int, column: int, parent: QModelIndex) bool
dumpObjectInfo(self)
dumpObjectTree(self)
dynamicPropertyNames(self) List[QByteArray]
encodeData(self, indexes: Iterable[QModelIndex], stream: QDataStream)
endInsertColumns(self)
endInsertRows(self)
endMoveColumns(self)
endMoveRows(self)
endRemoveColumns(self)
endRemoveRows(self)
endResetModel(self)
event(self, a0: QEvent) bool
eventFilter(self, a0: QObject, a1: QEvent) bool
fetchMore(self, parent: QModelIndex)
findChild(self, type: type, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) QObject
findChild(self, types: Tuple, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) QObject
findChildren(self, type: type, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
findChildren(self, types: Tuple, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
findChildren(self, type: type, re: QRegularExpression, options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
findChildren(self, types: Tuple, re: QRegularExpression, options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
hasChildren(self, parent: QModelIndex = QModelIndex()) bool
hasIndex(self, row: int, column: int, parent: QModelIndex = QModelIndex()) bool
headerDataChanged

headerDataChanged(self, orientation: Qt.Orientation, first: int, last: int) [signal]

index(self, row: int, column: int, parent: QModelIndex = QModelIndex()) QModelIndex
inherits(self, classname: str) bool
insertColumn(self, column: int, parent: QModelIndex = QModelIndex()) bool
insertColumns(self, column: int, count: int, parent: QModelIndex = QModelIndex()) bool
insertRow(self, row: int, parent: QModelIndex = QModelIndex()) bool
insertRows(self, row: int, count: int, parent: QModelIndex = QModelIndex()) bool
installEventFilter(self, a0: QObject)
isSignalConnected(self, signal: QMetaMethod) bool
isWidgetType(self) bool
isWindowType(self) bool
itemData(self, index: QModelIndex) Dict[int, Any]
killTimer(self, id: int)
layoutAboutToBeChanged

layoutAboutToBeChanged(self, parents: Iterable[QPersistentModelIndex] = [], hint: QAbstractItemModel.LayoutChangeHint = QAbstractItemModel.NoLayoutChangeHint) [signal]

layoutChanged

layoutChanged(self, parents: Iterable[QPersistentModelIndex] = [], hint: QAbstractItemModel.LayoutChangeHint = QAbstractItemModel.NoLayoutChangeHint) [signal]

match(self, start: QModelIndex, role: int, value: Any, hits: int = 1, flags: Qt.MatchFlag = Qt.MatchFlags(Qt.MatchStartsWith | Qt.MatchWrap)) List[QModelIndex]
metaObject(self) QMetaObject
mimeData(self, indexes: Iterable[QModelIndex]) QMimeData
mimeTypes(self) List[str]
modelAboutToBeReset

modelAboutToBeReset(self) [signal]

modelReset

modelReset(self) [signal]

moveColumn(self, sourceParent: QModelIndex, sourceColumn: int, destinationParent: QModelIndex, destinationChild: int) bool
moveColumns(self, sourceParent: QModelIndex, sourceColumn: int, count: int, destinationParent: QModelIndex, destinationChild: int) bool
moveRow(self, sourceParent: QModelIndex, sourceRow: int, destinationParent: QModelIndex, destinationChild: int) bool
moveRows(self, sourceParent: QModelIndex, sourceRow: int, count: int, destinationParent: QModelIndex, destinationChild: int) bool
moveToThread(self, thread: QThread)
objectName(self) str
objectNameChanged

objectNameChanged(self, objectName: str) [signal]

parent(self) QObject
persistentIndexList(self) List[QModelIndex]
property(self, name: str) Any
pyqtConfigure(...)

Each keyword argument is either the name of a Qt property or a Qt signal. For properties the property is set to the given value which should be of an appropriate type. For signals the signal is connected to the given value which should be a callable.

receivers(self, signal: PYQT_SIGNAL) int
removeColumn(self, column: int, parent: QModelIndex = QModelIndex()) bool
removeColumns(self, column: int, count: int, parent: QModelIndex = QModelIndex()) bool
removeEventFilter(self, a0: QObject)
removeRow(self, row: int, parent: QModelIndex = QModelIndex()) bool
removeRows(self, row: int, count: int, parent: QModelIndex = QModelIndex()) bool
resetInternalData(self)
revert(self)
roleNames(self) Dict[int, QByteArray]
rowsAboutToBeInserted

rowsAboutToBeInserted(self, parent: QModelIndex, first: int, last: int) [signal]

rowsAboutToBeMoved

rowsAboutToBeMoved(self, sourceParent: QModelIndex, sourceStart: int, sourceEnd: int, destinationParent: QModelIndex, destinationRow: int) [signal]

rowsAboutToBeRemoved

rowsAboutToBeRemoved(self, parent: QModelIndex, first: int, last: int) [signal]

rowsInserted

rowsInserted(self, parent: QModelIndex, first: int, last: int) [signal]

rowsMoved

rowsMoved(self, parent: QModelIndex, start: int, end: int, destination: QModelIndex, row: int) [signal]

rowsRemoved

rowsRemoved(self, parent: QModelIndex, first: int, last: int) [signal]

sender(self) QObject
senderSignalIndex(self) int
setHeaderData(self, section: int, orientation: Qt.Orientation, value: Any, role: int = Qt.EditRole) bool
setItemData(self, index: QModelIndex, roles: Dict[int, Any]) bool
setObjectName(self, name: str)
setParent(self, a0: QObject)
setProperty(self, name: str, value: Any) bool
sibling(self, row: int, column: int, idx: QModelIndex) QModelIndex
signalsBlocked(self) bool
sort(self, column: int, order: Qt.SortOrder = Qt.AscendingOrder)
span(self, index: QModelIndex) QSize
startTimer(self, interval: int, timerType: Qt.TimerType = Qt.CoarseTimer) int
staticMetaObject = <PyQt6.QtCore.QMetaObject object>
submit(self) bool
supportedDragActions(self) Qt.DropAction
supportedDropActions(self) Qt.DropAction
thread(self) QThread
timerEvent(self, a0: QTimerEvent)
tr(sourceText: str, disambiguation: typing.Optional[str] = None, n: int = - 1) str
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

add(w)
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.

hasWidget(w)
refresh(widgets)
remove(w)
updateFromKey(key)
updateKey(key)
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)
checkTab()
checkValidity()
closeEvent(event)

Called by QApplication when the user clicked on the “x” button to close the advnaced dialog.

currentTabChanged(page_index)
reject()

Called when the user hits the Escape key.

reset()

Called when the “Reset” action is selected in the main window.

resetFromModel(model)

Update the advanced dialog based on the state of the specified model CTs.

setGuiState(state)

Set the state of the advanced dialog

updateFromKey(key)
updateKey(key)
updateModel(model)

Update the key to the options that are in the advanced dialog.

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)
checkTab()
checkValidity()
closeEvent(event)

Called by QApplication when the user clicked on the “x” button to close the advnaced dialog.

currentTabChanged(page_index)
reject()

Called when the user hits the Escape key.

reset()

Called when the “Reset” action is selected in the main window.

resetFromModel(model)

Update the advanced dialog based on the state of the specified model CTs.

setGuiState(state)

Set the state of the advanced dialog

updateFromKey(key)
updateKey(key)
updateModel(model)

Update the key to the options that are in the advanced dialog.

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)
add(w)
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.

hasWidget(w)
refresh(widgets)
remove(w)
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.

updateFromKey(key)
updateKey(key)
updateModel(model)

Updates the given model to the data from the 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)
blockSignals(self, b: bool) bool
childEvent(self, a0: QChildEvent)
children(self) List[QObject]
connectNotify(self, signal: QMetaMethod)
customEvent(self, a0: QEvent)
deleteLater(self)
destroyed

destroyed(self, object: typing.Optional[QObject] = None) [signal]

disconnect(a0: QMetaObject.Connection) bool
disconnect(self) None
disconnectNotify(self, signal: QMetaMethod)
dumpObjectInfo(self)
dumpObjectTree(self)
dynamicPropertyNames(self) List[QByteArray]
event(self, a0: QEvent) bool
eventFilter(self, a0: QObject, a1: QEvent) bool
findChild(self, type: type, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) QObject
findChild(self, types: Tuple, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) QObject
findChildren(self, type: type, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
findChildren(self, types: Tuple, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
findChildren(self, type: type, re: QRegularExpression, options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
findChildren(self, types: Tuple, re: QRegularExpression, options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
inherits(self, classname: str) bool
installEventFilter(self, a0: QObject)
isSignalConnected(self, signal: QMetaMethod) bool
isWidgetType(self) bool
isWindowType(self) bool
killTimer(self, id: int)
metaObject(self) QMetaObject
moveToThread(self, thread: QThread)
objectName(self) str
objectNameChanged

objectNameChanged(self, objectName: str) [signal]

parent(self) QObject
property(self, name: str) Any
pyqtConfigure(...)

Each keyword argument is either the name of a Qt property or a Qt signal. For properties the property is set to the given value which should be of an appropriate type. For signals the signal is connected to the given value which should be a callable.

receivers(self, signal: PYQT_SIGNAL) int
removeEventFilter(self, a0: QObject)
sender(self) QObject
senderSignalIndex(self) int
setObjectName(self, name: str)
setParent(self, a0: QObject)
setProperty(self, name: str, value: Any) bool
signalsBlocked(self) bool
startTimer(self, interval: int, timerType: Qt.TimerType = Qt.CoarseTimer) int
staticMetaObject = <PyQt6.QtCore.QMetaObject object>
thread(self) QThread
timerEvent(self, a0: QTimerEvent)
tr(sourceText: str, disambiguation: typing.Optional[str] = None, n: int = - 1) str
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.

adv_callback()

Called when the new Advanced Options are applied.

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.

model_changed_callback(model)
updateFromKey(key)

Set this frame to the values in key.

updateKey(key)

Updates the key based on the GUI settings.

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

CANCEL = 'Cancel'
CPU_UNIT_LABEL = 'processors'
GPU_UNIT_LABEL = 'GPUs'
HELP = 'Help'
HOST_LABEL_TEXT = 'Host:'
PRODUCT_HOSTS_KEY = 'product_hosts'
SAVE = 'OK'
START = 'Run'
WRITE = 'Write'
activate()

Display the dialog and return the dialog parameters as as StartDialogParam object. If the dialog was cancelled then return None and restore the prior state.

applySettings(settings)

Set dialog state using previously-saved parameters

Parameters

settings (StartDialogParams) – saved dialog settings

cpus3Edited(ignored=None)
currentHost(menu=None)

Returns the host currently selected in the menu parameter. If none is given, use self.host_menu. currentHost() can be overridden to use a different menu by default.

Parameters

menu (QtWidgets.QComboBox) – Menu to check for current host

error(text)

Show an error message with the specified text.

Parameters

msg (str) – Error to show.

getHostPref()

Get the stored host preference if available

Returns

Stored host preference if available or None

Return type

str or None

getHostType()
getHosts(ncpus=True, excludeGPGPUs=True)

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

getNumCpusToValidate(is_queue)

Return the maximum number of processors that the job could potentially use, for validation.

Parameters

is_queue (bool) – If True, return number of threads per subjob requested, if False return number of threads * number of subjobs.

getOpenMPSettings()
Based on Open MP settings, return a tuple of:
  • Maximum number of CPUs to use

  • Number of threads to use.

  • Maximum number of subjobs to create.

Returns

(#cpus, #threads, #subjobs)

Return type

(int, int, int)

getSettings(extra_kws=None)
getTotalOpenMPCPUs()

Compute the total number of Open MP CPUs to use based on the number of threads and subjobs the user entered

Return type

int

Returns

total number of CPUs

isCPUHost()
isGPUHost()
savePressed()

Slot for Save button

setUpButtonBox(can_start=True)

Set up the button box items for the dialog.

Parameters

can_start – If True, add a Start button. Otherwise add a Write button.

setupHostCombo(combo, use_host=None, hosts=None)
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

showHelp()
startPressed()

Slot for OK and Run button

updateCPULimits()

This method is called whenever host selection is changed. It updates maximum number of allowed CPUs.

updateOpenMPInfo()

Show/Hide the proper frames and update the processors label

updateOpenMPLabel()

Update the Open MP label with the current number of processors requested

updateQueueResources()

This updates the queue resources display when the host has changed.

validateAndAccept()

Validate the settings, and if no errors are found, close the dialog.

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

validateNumOpenMP(host, silent=False)

Checks to make sure the number of requested processors and threads is consistent with what we know of the host capabilities.

Parameters
  • host (Host) – The host on which the CPUs reside

  • silent (bool) – suppresses warning dialogs when set to True

Return type

bool

Returns

True if number of processors & threads is allowed, False if not

validateNumProcs(silent=False)

Checks that the number of processors requested is reasonable. Here the validation is conditional on the ‘cpus’ option. In derived classes this may not be valid (i.e. the validation should be run regardless of the ncpus options.

Parameters
  • menu (QComboBox) – The menu specifying the host selection to be validated

  • numfield (QLineEdit) – The widget specifying the requested # of processors

  • silent (bool) – suppresses warning dialogs when set to True

warning(text)

Display a warning window with the specified text.