schrodinger.trajectory.trajectory_gui_dir.snapshot_panel module

class schrodinger.trajectory.trajectory_gui_dir.snapshot_panel.FrameListItem(value: int)

Bases: PyQt6.QtWidgets.QListWidgetItem

Frame list item is checkable, selectable, and enabled.

__init__(value: int)

Constructor.

Parameters

value – The frame number representing this list widget item.

property visible
Return type

bool

Returns

True if frame item is visible.

property frame_number
Return type

int

Returns

The frame number representing this list widget item.

class ItemType(value)

Bases: enum.IntEnum

An enumeration.

Type = 0
UserType = 1000
Type = 0
UserType = 1000
background(self) QBrush
checkState(self) Qt.CheckState
clone(self) QListWidgetItem
data(self, role: int) Any
flags(self) Qt.ItemFlag
font(self) QFont
foreground(self) QBrush
icon(self) QIcon
isHidden(self) bool
isSelected(self) bool
listWidget(self) QListWidget
read(self, in_: QDataStream)
setBackground(self, brush: Union[QBrush, QColor, Qt.GlobalColor, int, QGradient])
setCheckState(self, state: Qt.CheckState)
setData(self, role: int, value: Any)
setFlags(self, aflags: Qt.ItemFlag)
setFont(self, afont: QFont)
setForeground(self, brush: Union[QBrush, QColor, Qt.GlobalColor, int, QGradient])
setHidden(self, ahide: bool)
setIcon(self, aicon: QIcon)
setSelected(self, aselect: bool)
setSizeHint(self, size: QSize)
setStatusTip(self, astatusTip: str)
setText(self, atext: str)
setTextAlignment(self, alignment: int)
setToolTip(self, atoolTip: str)
setWhatsThis(self, awhatsThis: str)
sizeHint(self) QSize
statusTip(self) str
text(self) str
textAlignment(self) int
toolTip(self) str
type(self) int
whatsThis(self) str
write(self, out: QDataStream)
class schrodinger.trajectory.trajectory_gui_dir.snapshot_panel.FrameRangeValidator(parent=None)

Bases: PyQt6.QtGui.QRegularExpressionValidator

Frame range validator. Valid values are like this – 1 1,2,3 1,2,3-5,5 3-5 1-5,3,5,6-7 Validator also ensures that maximum number is within the range of maximum possible allowed value.

LIST_SEPARATOR = ','
RANGE_SEPARATOR = '-'
__init__(parent=None)

Construct frame range validator object.

Parameters

parent (QtWidgets.QWidget) – Parent widget.

property max_frame_value
Return type

int

Returns

Return maximum possible frame value.

setMaxFrame(max_frame_value: int)

Set maximum frame number allowed.

Parameters

max_frame_value – Maximum allowed value to be used by validator for validation.

validate(in_str: str, pos: int)

Provides a range checking of frame numbers.

Parameters
  • in_str – Input string entered by user.

  • pos – Cursor position in the input editor.

Return type

enum(QtGui.QValidator.State)

Returns

State defined by QtGui.QValidator.State enum.

getRange(token: str)

Return a tuple of number based on range token.

Parameters

token – Token to be parsed to get range.

Return type

tuple(int, int) or None

Returns

Return a tuple of start and end number. If pattern is 1-5-6, then it is not allowed and returns None.

isRangeToken(token: str)

Return True if token is a range token (e.g. ‘5-10’)

Parameters

token – Token to be checked if it is range token or not.

Return type

bool

Returns

True if token is a range token. If token value is ‘1-‘, ‘1-5-6’ then we consider that as a valid range token because it is likely user is about to edit the text in the text edit box.

getTokens(expr: str)

Split text and return tokens which would be either number or x-y form.

Param

Frame range or list expression.

Return type

list(str)

Returns

List of frame number or frame range tokens.

Acceptable = 2
Intermediate = 1
Invalid = 0
class State(value)

Bases: enum.Enum

An enumeration.

Invalid = 0
Intermediate = 1
Acceptable = 2
blockSignals(self, b: bool) bool
changed

changed(self) [signal]

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]
fixup(self, a0: str) str
inherits(self, classname: str) bool
installEventFilter(self, a0: QObject)
isSignalConnected(self, signal: QMetaMethod) bool
isWidgetType(self) bool
isWindowType(self) bool
killTimer(self, id: int)
locale(self) QLocale
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
regularExpression(self) QRegularExpression
removeEventFilter(self, a0: QObject)
sender(self) QObject
senderSignalIndex(self) int
setLocale(self, locale: QLocale)
setObjectName(self, name: str)
setParent(self, a0: QObject)
setProperty(self, name: str, value: Any) bool
setRegularExpression(self, re: QRegularExpression)
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.trajectory.trajectory_gui_dir.snapshot_panel.SnapshotPanel(player, parent=None)

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

Trajectory snapshot panel class for trajectory frames viewing.

It provides ability to display multiple frames in the workspace from a single trajectory.

Variables
  • modeChanged (QtCore.pyqtSignal) – A signal emitted when panel activates frame snapshots viewing. True if snapshot mode activated, otherwise False.

  • closed (QtCore.pyqtSignal) – A signal emitted when panel is closed.

  • visiblityChanged – A signal emitted when panel is displayed or hidden. - True if snapshot panel is visible, otherwise False.

  • atomsColorChanged (QtCore.pyqtSignal) – A signal emitted when atoms color changes as a result of turning on show color gradient option.

atomsColorChanged emitted when:

  • Workspace structure which is updated.

  • Change type

  • Notify about change

  • Notify about id map (always -1)

  • Notify if only bonds changed(always False)

DEFAULT_STEP_SIZE = 10
MIN_STEP_SIZE = 1
modeChanged
closed
visibilityChanged
atomsColorChanged
setPanelOptions()

Configure the panel by setting instance variables here. Always call the parent method. Panel options:

self.maestro_dockable - whether this panel should be dockable in the

Maestro main window. Setting to false will prevent the panel from docking regardless of Maestro preference. When setting it to true, if Maestro Preference allows docking of panels, it will dock the panel on the right-hand side of the main window if “Location” is set to “Main window”, or a floating window if “Location” is set to “Floating window”. Default is False.

self.title - string to display in the window title bar

self.ui - a Ui_Form instance defining the main ui, default None

self.allowed_run_modes - subset of [MODE_MAESTRO, MODE_STANDALONE,

MODE_SUBPANEL, MODE_CANVAS] defining how the panel may be run. Default is all.

self.help_topic - string defining the help topic. Default ‘’

self.input_selector_options - dict of options for the common input

selector widget. Default is an empty dict, meaning do not add an input selector

self.add_main_layout_stretch - bool of whether to add a stretch to the

main layout under the main ui (if self.ui exists). Default is True

__init__(player, parent=None)
Parameters
  • player (playertoolbar.TrajectoryPlayer) – Player toolbar

  • parent (QtWidgets.QWidget) – Parent widget.

setup()
isApplyTimeBasedGradient()
Returns

True if show time based color gradient option checked.

useShowHideAtomsAsl()
Returns

True if show/hide atoms asl should be applied.

Return type

bool

useTrajectorySettings()
Returns

True if trajectory settings should be used.

Return type

bool

useCustomSettings()
Returns

True if custom settings should be used.

Return type

bool

updatePanel()

Update panels component based on current selected options.

property is_display_snapshot_active
Return type

bool

Returns

True if display snapshot mode button is turned on.

closeEvent(close_event: PyQt6.QtGui.QCloseEvent)

Overridden base class method to ensure that panel exits from snapshot model if it was in that mode.

Parameters

close_event – Qt close event.

showEvent(show_event: PyQt6.QtGui.QShowEvent)

Overridden base class method to ensure that panel notifies its visibility state change.

Parameters

show_event – Qt show event.

hideEvent(hide_event: PyQt6.QtGui.QHideEvent)

Overridden base class method to ensure that panel notifies its visibility state change.

Parameters

hide_event – Qt hide event.

exitDisplaySnapshotMode()

Exit from display snapshot mode.

Enable player toolbar.

enterDisplaySnapshotMode()

Slot which gets called when user clicks on add snapshot button. It builds a structure based on selected frames and settings. Disable player toolbar.

setEnabledCurrentFrameOptions(enable: bool)

Enable/disable current workspace frame option based on enable flag.

updateCurrentFrameLabel()

Update current frame number label.

property list_widget_item_count
Return type

int

Returns

Total frames listed in the frame list widget.

aboutToQuitMaestro()

When Maestro is about to quit, this function gets called.

DrawChildren = 2
DrawWindowBackground = 1
IGNORE_DELAYED_CALLBACKS = False
IgnoreMask = 4
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
PdmDepth = 6
PdmDevicePixelRatio = 11
PdmDevicePixelRatioScaled = 12
PdmDpiX = 7
PdmDpiY = 8
PdmHeight = 2
PdmHeightMM = 4
PdmNumColors = 5
PdmPhysicalDpiX = 9
PdmPhysicalDpiY = 10
PdmWidth = 1
PdmWidthMM = 3
class RenderFlag(value)

Bases: enum.Flag

An enumeration.

DrawWindowBackground = 1
DrawChildren = 2
IgnoreMask = 4
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])
addJaguarMarker(atoms, color=None, icon=None, text='', alt_color=None, highlight=False)

Add a marker to the specified atom(s)

Parameters
  • atoms (list or schrodinger.structure._StructureAtom) – The atom or list of atoms to mark. A list may contain between one and four atoms (inclusive).

  • color (tuple, str, int, or schrodinger.structutils.color) – The color of the marker and icon. May be an RGB tuple, color name, color index, or schrodinger.structutils.color instance. If not given, white will be used.

  • icon (int) – The icon to draw next to the marker. Should be one the self.MARKER_ICONS constants. If not given, no icon will be drawn.

  • text (str) – The text to display next to the marker. If not given, no text will be displayed. Note that this argument will be ignored when marking a single atom.

  • alt_color (tuple, str, int, or schrodinger.structutils.color) – The alternate marker color. This color is always used for text, and is used for the marker and icon when highlight is True. If not given, color will be used.

  • highlight (bool) – Whether the marker should be highlighted. A highlighted marker is indicated with thicker lines and is colored using alt_color instead of color.

Returns

The newly created marker

Return type

schrodinger.maestro.markers._BaseMarker

Raises

ValueError – If a marker already exists for the specified atoms

Note

Either an icon or text may be displayed on a marker, but not both. If both are given, only the text will be shown.

addMainTaskRunner(runner, taskwidget)

A “main” task runner is a runner that is operated by a task widget (generally a job bar) at the very bottom of the panel. A panel may have more than one main task, but there is always one that is the “current” task. This is useful for panels that have multiple modes, with each mode launching a different job.

The related method, self.setCurrentTask(), is used to switch between main runners that have been added via this function.

Parameters
  • runner (tasks.AbstractTaskRuner) – the task runner

  • taskwidget (taskwidgets.TaskUIMixin) – the associated task widget

addMarker(atoms, color=(1.0, 1.0, 1.0), group_name=None)

Generates a set of simple, dot-styled markers for a group of atoms.

Parameters
  • atoms (list or schrodinger.structure._StructureAtom) – List of atoms to be marked

  • color (tuple of 3 floats) – The amount of red, green and blue to use, each ranging from 0.0 to 1.0. Default is white (1., 1., 1.).

@group_name: Optional string to set as the name of this group of markers in Maestro. If not set, a unique identifier will be generated.

addMarkerFromAsl(asl, color=(1.0, 1.0, 1.0), group_name=None)

Generates a set of simple, dot-styled markers for group of Workspace atoms that match the given ASL. Same atoms continue to be marked even if the Workspace is later modified such that ASL matching changes.

Parameters
  • asl – ASL for the atoms to mark.

  • color (tuple of 3 floats) – The amount of red, green and blue to use, each ranging from 0.0 to 1.0. Default is white (1., 1., 1.).

@group_name: Optional string to set as the name of this group of markers in Maestro. If not set, a unique identifier will be generated.

Returns

Marker object

Return type

markers.Marker

adjustSize(self)
applyAliasedSettings(settings)

Applies any aliased settings with new values from the dictionary. Any aliases not present in the settings dictionary will be left unchanged.

Parameters

settings (dict) – a dictionary mapping aliases to new values to apply

applySettings(settings, target=None)
autoFillBackground(self) bool
backgroundRole(self) QPalette.ColorRole
baseSize(self) QSize
blockSignals(self, b: bool) bool
buildCallbackDicts()

Create a dictionary of all methods that have a maestro_callback decorator.

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
cleanup()
clearFocus(self)
clearMask(self)
close(self) bool
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)
createBottomBar()
createInputSelector()
createWindowContainer(window: QWindow, parent: typing.Optional[QWidget] = None, flags: Qt.WindowType = Qt.WindowFlags()) QWidget
currentTaskRunner()
cursor(self) QCursor
customContextMenuRequested

customContextMenuRequested(self, pos: QPoint) [signal]

customEvent(self, a0: QEvent)
definePanelSettings()

Override this method to define the settings for the panel. The aliased settings provide an interface for saving/restoring panel state as well as for interacting with task/job runners that need to access the panel state in a way that is agnostic to the specifics of widget names and types.

Each panel setting is defined by a tuple that specifies the mapping of alias to panel setting. An optional third element in the tuple can be used to group settings by category. This allows multiple settings to share the same alias.

Each setting can either point to a specific object (usually a qt widget), or a pair of setter/getter functions.

If the mapped object is a string, this will be interpreted by af2 as referring to an attribute on the panel, and a AttributeSettingWrapper instance will automatically be created. For example, specifying the string ‘num_atoms’ will create a mapping to self.num_atoms which will simply get and set the value of that instance member.

Custom setter and getter functions should take the form getter(), returning a value that can be encoded/decoded by JSON, and setter(value), where the type of value is the same as the return type of the getter.

Commonly used objects/widgets should be handled automatically in settings.py. It’s worth considering whether it makes more sense to use a custom setter/getter here or add support for the widget in settings.py.

Returns

a list of tuples defining the custom settings.

Return type

list of tuples. Each tuple can be of type (str, object, str) or (str, (callable, callable), str) where the final str is optional.

Custom settings tuples consists of up to three elements:

  1. alias - a string identier for the setting. Ex. “box_centroid”

  2. either:

    1. an object of a type that is supported by settings.py or

    2. the string name of an existing panel attribute (i.e. member variable), or

    3. a (getter, setter) tuple. The getter should take no arguments, and the setter should take a single value.

  3. optionally, a group identifier. This can be useful if the panel runs two different jobs that both have a parameter with the same name but that needs to map to different widgets. If a setting has a group name, it will be ignored by runners unless the runner name matches the group name.

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)
dropEvent(self, a0: QDropEvent)
dumpObjectInfo(self)
dumpObjectTree(self)
dynamicPropertyNames(self) List[QByteArray]
effectiveWinId(self) PyQt6.sip.voidptr
ensurePolished(self)
enterEvent(self, event: QEnterEvent)
error(text, preferences=None, key='', detailed_text=None)

Display an error dialog with the specified text. If preferences and key are both supplied, then the dialog will contain a “Don’t show this again” checkbox. Future invocations of this dialog with the same preferences and key values will obey the user’s show preference.

Parameters
  • text (str) – The information to display in the dialog

  • preferences – obsolete; ignored.

  • key (str) – The key to store the preference under. If specified, a “Do not show again” checkbox will be rendered in the dialog box.

  • detailed_text (str) – Detailed (selectable) error text if any.

Return type

None

event(self, a0: 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
frameSize(self) QSize
geometry(self) QRect
getAliasedSettings()
getAliasedValue(alias)
getAllJaguarMarkers()

Get all markers._BaseMarker currently loaded into the panel

Returns

An iterator of markers._BaseMarker

Return type

iterator

getAllMarkers()

Get all markers.Marker loaded into the panel

Returns

list(markers.Marker)

Return type

list

getJaguarMarker(atoms)

Retrieve a marker for the specified atom(s)

Parameters

atoms (list or schrodinger.structure._StructureAtom) – The atom or list of atoms to retrieve the marker for. A list may contain between one and four atoms (inclusive).

Returns

The requested marker

Return type

schrodinger.maestro.markers._BaseMarker

Raises

ValueError – If no marker exists for the specified atoms

Note

As indicated by the return type, this function only returns schrodinger.maestro.markers._BaseMarker derived markers. Multi atom schrodinger.maestro.markers.Marker type markers are not accessible in this way.

getObjValue(obj)
getPanelState()

Gets the current state of the panel in the form of a serializable dict. The state consists of the settings specified in definePanelSettings() as well as the automatically harvested settings.

getPersistenceKey(alias)

Return a unique identifier for saving/restoring a setting in the preferences. Override this method to change the key scheme (this is necessary if creating a common resource which is shared by multiple panels).

Parameters

alias (str) – the alias for which we are generating a key

getSettings(target=None, ignore_list=None)
getWorkspaceStructure()

If panel is open in Maestro session, returns the current workspace schrodinger.strucutre.Structure.

If panel is open from outside of Maestro, returns the self.workspace_st if self.workspace_st_file is available. Used while running from command line or starting the panel from KNIME.

Returns None otherwise.

Return type

schrodinger.structure.Structure or None

Returns

Maestro workspace structure or None

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
gui_closed
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)
hideAllJaguarMarkers()

Hide all schrodinger.maestro.markers._BaseMarker markers for this panel

hideAllMarkers()

Hide all schrodinger.maestro.markers.Marker markers for this panel.

hideLayoutElements(layout)

Hide all elements from the given layout. Used for customizing KNIME panel wrappers.

ignoreMaestroCallbacks()

A context manager for temporarily disabling Maestro callbacks created using the decorators above. (Note that callbacks that have been manually added using maestro.*_callback_add() will not be disabled.)

Example:

def includeEntry(self, entry_id):
    proj = maestro.project_table_get()
    with self.ignoreMaestroCallbacks():
        proj[entry_id].in_workspace = project.IN_WORKSPACE

@maestro_callback.project_changed
def onProjectChanged(self):
    print "This method will not be called during includeEntry."

@maestro_callback.workspace_changed
def onWorkspaceChanged(self):
    print "Neither will this one."
info(text, preferences=None, key='')

Display an information dialog with the specified text. If preferences and key are both supplied, then the dialog will contain a “Don’t show this again” checkbox. Future invocations of this dialog with the same preferences and key values will obey the user’s show preference.

Parameters
  • text (str) – The information to display in the dialog

  • preferences – obsolete; ignored.

  • key (str) – The key to store the preference under. If specified, a “Do not show again” checkbox will be rendered in the dialog box.

Return type

None

inherits(self, classname: str) bool
initPainter(self, painter: QPainter)
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
jobname()

Return the job name currently set for the current task.

keyPressEvent(self, a0: QKeyEvent)
keyReleaseEvent(self, a0: QKeyEvent)
keyboardGrabber() QWidget
killTimer(self, id: int)
layOut()
layout(self) QLayout
layoutDirection(self) Qt.LayoutDirection
leaveEvent(self, a0: QEvent)
loadPanelState(filename=None)

Load the panel state from a JSON file

Parameters

filename (str) – the JSON filename. Defaults to “panelstate.json”

loadPersistentOptions()

Load all persistent options from the preferences.

loadSettings(jobname)

Load the GUI state for the job in the CWD with the given name. Default implementation will return False. Each KNIME panel will need to implement a custom version. For example, the panel may want to read the <jobname.sh> file, parse the list of command-line options, and populate the GUI accordintly. If a panel writes key/value file, then it would need to read it here.

Returns

True if panel state was restored, False if saved state was not found.

Return type

bool

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
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
classmethod panel(run=True)

Launch a singleton instance of this class. If the panel has already been instantiated, the existing panel instance will be re-opened and brought to the front.

Parameters

run (bool) – Whether to launch the panel

Returns

The singleton panel instance

Return type

App

parent(self) QObject
parentWidget(self) QWidget
physicalDpiX(self) int
physicalDpiY(self) int
pos(self) QPoint
previousInFocusChain(self) QWidget
processSettings(settings=None, runner=None)

This method is meant to be used as a callback to a task runner. If it is called with no arguments, it returns a dictionary of all the alieased settings. If settings are passed, the settings are first applied to self, and then the newly modified settings are returned.

Parameters
  • settings (dict or None) – a settings dictionary to apply to this object

  • runner (tasks.AbstractTaskRuner) – the task runner that is invoking this callback. This optional argument is necessary for per-runner grouping of settings

processTaskMessage(message_type, text, options=None, runner=None)

This method is meant to be used as a callback to a task runner, and provides a single point of interaction from the runner to the user.

Parameters
  • message_type (int) – the type of message being sent

  • text (str) – the main text to show the user

  • options – extra options

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.

question(msg, button1='OK', button2='Cancel', title='Question')

Display a prompt dialog window with specified text. Returns True if first button (default OK) is pressed, False otherwise.

raise_(self)
readShFile(jobname)

Reads the jobname.sh file (written by _write()) and returns the list of command line arguments

receivers(self, signal: PYQT_SIGNAL) int
rect(self) QRect
releaseKeyboard(self)
releaseMouse(self)
releaseShortcut(self, id: int)
removeAction(self, action: QAction)
removeAllJaguarMarkers()

Remove all markers schrodinger.maestro.markers._BaseMarker markers from this panel

removeAllJaguarMarkersForEntry(eid)

Remove all markers for the specified entry id from this panel

Parameters

eid (str) – The entry id to remove markers for

removeAllMarkers()

Remove all schrodinger.maestro.markers.Marker markers from this panel.

removeEventFilter(self, a0: QObject)
removeJaguarMarker(marker)

Removes the specified marker

Parameters

marker (schrodinger.maestro.markers._BaseMarker) – The marker to remove

Raises

ValueError – If there is no marker on the specified atoms

removeJaguarMarkerForAtoms(atoms)

Removes the marker for specified atom(s)

Parameters

atoms (list or schrodinger.structure._StructureAtom) – The atom or list of atoms to retrieve the marker for. A list may contain between one and four atoms (inclusive).

Raises

ValueError – If no marker exists for the specified atoms

removeMarker(marker)

Remove the schrodinger.maestro.markers.Marker

Parameters

marker (schrodinger.maestro.markers.Marker) – Marker to remove

Raises

ValueError – If marker is the wrong type or is not associated with the panel.

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
reportValidation(results)

Present validation messages to the user. This is an implmentation of the ValidationMixin interface and does not need to be called directly.

This method assumes that error and question methods have been defined in the subclass, as in e.g. widget_mixins.MessageBoxMixin.

Parameters

results (validation.ValidationResults) – Set of validation results generated by validate

Returns

if True, there were no validation errors and the user decided to continue despite any warnings. If False, there was at least one validation error or the user decided to abort when faced with a warning.

resetAllRunners()

Resets all task runners associated with this panel (main tasks and other tasks added via setupTaskRunner). This is called from _reset() and normally does not need to be called directly.

resize(self, a0: QSize)
resize(self, w: int, h: int) None
resizeEvent(self, a0: QResizeEvent)
restoreCursor(app_wide=True)

Restore the application level cursor to the default. If ‘app_wide’ is True then if will be restored for the entire application, if it’s False, it will be just for this panel.

Parameters

app_wide (bool) – If True then this will restore the cursor for the entire application (including Maestro if running there). If False then this will apply only to this panel.

restoreGeometry(self, geometry: QByteArray) bool
run()
runCanvas()

This handles Canvas-specific logic

classmethod runKnime(input_selector_file=None, workspace_st_file=None, jobname=None, run=True, load_settings=True, panel_state_file=None)

Call this static method to instantiate this panel in KNIME mode - where OK & Cancel buttons are shown at the bottom. Pressing OK button cases the job files to be written to the CWD.

Parameters
  • input_selector_file (str) – the filename to be fed into the input selector, replacing interactive input from the user. Required if the panel contains an input selector.

  • workspace_st_file (str) – the filename containing the schrodinger.structure.Structure that replaces the workspace structure in a Maestro session.

  • jobname (str) – Jobname for the panel

  • run (bool) – Whether to launch the panel. If False, just returns the panel instance without starting the event loop.

  • load_settings (bool) – Whether to load previous settings for the given jobname from the CWD.

  • panel_state_file – Unused (added for backwards compatability)

runMaestro()

This can be extended in derived classes to perform maestro-only tasks such as setting up the mini-monitor or connecting maestro callbacks

runMode()
runStandalone()
runSubpanel()
runValidation(silent=False, validate_children=True, stop_on_fail=True)

Runs validation and reports the results (unless run silently).

Parameters
  • silent (bool) – run without any reporting (i.e. error messages to the user). This is useful if we want to programmatically test validity. Changes return value of this method from ValidationResults to a boolean.

  • validate_children (bool) – run validation on all child objects. See _validateChildren for documentation on what this entails.

  • stop_on_fail (bool) – stop validation when first failure is encountered

Returns

if silent is False, returns the validation results. If silent is True, returns a boolean generated by reportValidation.

Return type

ValidationResults or bool

saveGeometry(self) QByteArray
savePersistentOptions()

Store all persistent options to the preferences.

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)
setAlias(alias, obj, persistent=False)

Sets an alias to conveniently access an object.

Parameters
  • alias (hashable) – any hashable, but typically a string name

  • obj (object) – the actual object to be referenced

  • persistent (bool) – whether to make the setting persistent

setAliasedValue(alias, value)
setAliases(alias_dict, persistent=False)

Sets multiple aliases at once. Already used aliases are overwritten; other existing aliases are not affected.

Parameters
  • alias_dict (dict) – map of aliases to objects

  • persistent (bool) – whether to make the settings persistent

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)
setCurrentTask(index)

Selects the current main task for the panel. Switching to a new task involves several steps. These are 1) saving the current panel state to the task runner, 2) hiding the current task widget (and all others), 3) showing the widget for the new task, and 4) setting the panel state to correspond to the new task runner’s settings.

Parameters

index (int) – the index of the task to be selected. The index for each main task is set sequentially from 0 as each task as added using self.addMainTaskRunner()

setCursor(self, a0: Union[QCursor, Qt.CursorShape])
setDefaults()
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)
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)
setJobname(jobname)

Set the job name for the current task.

setLayout(self, a0: QLayout)
setLayoutDirection(self, direction: Qt.LayoutDirection)
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)
setMinimumHeight(self, minh: int)
setMinimumSize(self, minw: int, minh: int)
setMinimumSize(self, s: QSize) None
setMinimumWidth(self, minw: int)
setMouseTracking(self, enable: bool)
setObjValue(obj, value)
setObjectName(self, name: str)
setPalette(self, a0: QPalette)
setPanelState(state)

Resets the panel and then sets the panel to the specified state

Parameters

state (PanelState) – the panel state to set. This object should originate from a call to getPanelState()

setParent(self, parent: QWidget)
setParent(self, parent: QWidget, f: Qt.WindowType) None
setPersistent(alias=None)

Set options to be persistent. Any options to be made persistent must be aliased, since the alias is used to form the preference key. If no alias is specified, all aliased settings will be made persistent.

Parameters

alias (str or None) – the alias to save, or 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)
setWaitCursor(app_wide=True)

Set the cursor to the wait cursor. This will be an hourglass, clock or similar. Call restoreCursor() to return to the default cursor.

Parameters

app_wide (bool) – If True then this will apply to the entire application (including Maestro if running there). If False then this will apply only to this panel.

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)
setupTaskRunner(runner, taskwidget)

Connects a task widget to a task runner and associates the runner with this af2 panel via the panel callbacks.

This method is called by self.addMainTaskRunner() and does not need to be called for main tasks; however, it is useful for setting up other tasks that are not main tasks - for example, if there is a smaller job that gets launched from a button in the middle of the panel somewhere.

Parameters
  • runner (tasks.AbstractTaskRuner) – the task runner

  • taskwidget (taskwidgets.TaskUIMixin) – the associated task widget

sharedPainter(self) QPainter
show()

Re-show all panel markers when the panel is re-shown. This separate method is needed for QDialog instances.

showAllJaguarMarkers()

Show all schrodinger.maestro.markers._BaseMarker markers for which all marked atoms are in the workspace. Hide all other markers.

showAllMarkers()

Set all schrodinger.maestro.markers.Marker markers to be shown if the relevant atoms are in the workspace. These markers are hidden automatically by Maestro when atoms are excluded.

showFullScreen(self)
showMaximized(self)
showMinimized(self)
showNormal(self)
showProgressBarForJob(job, show_lbl=True, start_timer=True)

Show a progress bar that tracks the progress of the specified job

Parameters
  • job (schrodinger.job.jobcontrol.Job) – The job to track

  • show_lbl (bool) – If True, the job progress text description will be shown above the progress bar. If False, the text description will not be shown.

  • start_timer (bool) – If True, the progress bar will automatically be updated and removed when the job is complete. If False, it is the caller’s responsibility to periodically call self.progress_bar.readJobAndUpdateProgress() and to call self.status_bar.hideProgress() when the job is complete.

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
startUp()
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)
property title
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
validateOPLSDir(opls_dir=None)

See forcefield.validate_opls_dir()

Parameters

opls_dir (str or None) – the opls dir to validate

Returns

the validation result

Return type

forcefield.OPLSDirResult

visibleRegion(self) QRegion
warning(text, preferences=None, key='')

Display a warning dialog with the specified text. If preferences and key are both supplied, then the dialog will contain a “Don’t show this again” checkbox. Future invocations of this dialog with the same preferences and key values will obey the user’s show preference.

Parameters
  • text (str) – The information to display in the dialog

  • preferences – obsolete; ignored.

  • key (str) – The key to store the preference under. If specified, a “Do not show again” checkbox will be rendered in the dialog box.

Return type

None

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
writePanelState(filename=None)

Write the panel state to a JSON file

Parameters

filename (str) – the JSON filename. Defaults to “panelstate.json”

writeStateAndClose()

Called when OK button button is pressed when running in KNIME mode. Will “write” the job files for current task, and close the panel.

x(self) int
y(self) int