schrodinger.application.jaguar.gui.base_panel module

class schrodinger.application.jaguar.gui.base_panel.BaseJaguarPanel(**kwargs)

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

A base class for all Jaguar GUIs. Subclasses should define TABS and TASK_NAME.

Variables:
  • TASK_NAME (str) – The name of the panel
  • SHORT_NAME (str) – A shortened version of TASK_NAME. Used in constructing job names.
  • TABS (list) – The list of tabs that a panel should contain. Each tab must be a schrodinger.application.jaguar.gui.tabs.base_tab.BaseTab subclass.
  • INPUT_SUB_TABS (list) – The list of sub-tabs for the Input tab. Only used if TABS contains a subclass of schrodinger.application.jaguar.gui.tabs. input_tab.InputTabWithSubTabs. Each sub-tab must be a schrodinger. application.jaguar.gui.tabs.input_sub_tabs.base_sub_tab.BaseSubTab subclass.
TASK_NAME = ''
SHORT_NAME = ''
TABS = []
INPUT_SUB_TABS = []
getTabParentAndLayout()

Get the parent widget for all tabs and layout to place the tabs into.

setPanelOptions()

Define instance variables that specify the creation of the panel.

setup()

Instantiate the tab widget and tabs. Sub-tabs will also be added to the Input tab if necessary.

getTab(tab_class)

Get the tab of the specified class

Parameters:tab_class (type) – The class of the tab to retrieve
launchJaguarJob(jag_input)

Launch the specified job.

Parameters:jag_input (schrodinger.application.jaguar.input.JaguarInput) – A JaguarInput object to run
Returns:A job object for the launched job
Return type:schrodinger.job.jobcontrol.Job
createCmd()

Create the command line for job launching. Note that the input file name will be added in launchJaguarJob.

Note:This function is intended to be overridden in BaseJaguarPanel subclassses that use different command lines. This code should not be moved into launchJaguarJob.
jobnameArg()

Build the command line arguments for passing the job name.

Returns:A list of command line arguments
Return type:list
getNumStructures()

Get the number of structures that this panel is currently representing

reset()

Reset the panel after prompting the user for confirmation

Returns:Returns False if the user does not want to reset. This will prevent AF2 from resetting the input selector.
Return type:bool or NoneType
getConfigDialog()

Get the job configuration dialog

runTabValidation(**kwargs)
checkKeywordsLE(**kwargs)
generateStatus()

Create the status bar message. This function will prepend any Jaguar- specific status bar message before the standard job information. The Jaguar-specific status bar message can be generated by defining generateJaguarStatus().

generateJaguarStatus()

Create a Jaguar-specific status bar message. This function should be defined in any subclass that wishes to modify the status bar message.

Returns:The Jaguar-specific status bar message, or None if no such message is desired.
Return type:str or NoneType
getMmJagKeywords()

Get Jaguar keywords that are specific to this panel and not set in any of the tabs.

Returns:A dictionary of Jaguar keywords
Return type:dict
DrawChildren = 2
DrawWindowBackground = 1
IGNORE_DELAYED_CALLBACKS = False
IgnoreMask = 4
NO_PROGRESS_BAR = 0
PROGRESS_BAR_NO_TEXT = 2
PROGRESS_BAR_WITH_TEXT = 1
class PaintDeviceMetric

Bases: int

__init__

Initialize self. See help(type(self)) for accurate signature.

bit_length() → int

Number of bits necessary to represent self in binary. >>> bin(37) ‘0b100101’ >>> (37).bit_length() 6

conjugate()

Returns self, the complex conjugate of any int.

denominator

the denominator of a rational number in lowest terms

from_bytes(bytes, byteorder, *, signed=False) → int

Return the integer represented by the given array of bytes.

The bytes argument must be a bytes-like object (e.g. bytes or bytearray).

The byteorder argument determines the byte order used to represent the integer. If byteorder is ‘big’, the most significant byte is at the beginning of the byte array. If byteorder is ‘little’, the most significant byte is at the end of the byte array. To request the native byte order of the host system, use `sys.byteorder’ as the byte order value.

The signed keyword-only argument indicates whether two’s complement is used to represent the integer.

imag

the imaginary part of a complex number

numerator

the numerator of a rational number in lowest terms

real

the real part of a complex number

to_bytes(length, byteorder, *, signed=False) → bytes

Return an array of bytes representing an integer.

The integer is represented using length bytes. An OverflowError is raised if the integer is not representable with the given number of bytes.

The byteorder argument determines the byte order used to represent the integer. If byteorder is ‘big’, the most significant byte is at the beginning of the byte array. If byteorder is ‘little’, the most significant byte is at the end of the byte array. To request the native byte order of the host system, use `sys.byteorder’ as the byte order value.

The signed keyword-only argument determines whether two’s complement is used to represent the integer. If signed is False and a negative integer is given, an OverflowError is raised.

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

Bases: int

__init__

Initialize self. See help(type(self)) for accurate signature.

bit_length() → int

Number of bits necessary to represent self in binary. >>> bin(37) ‘0b100101’ >>> (37).bit_length() 6

conjugate()

Returns self, the complex conjugate of any int.

denominator

the denominator of a rational number in lowest terms

from_bytes(bytes, byteorder, *, signed=False) → int

Return the integer represented by the given array of bytes.

The bytes argument must be a bytes-like object (e.g. bytes or bytearray).

The byteorder argument determines the byte order used to represent the integer. If byteorder is ‘big’, the most significant byte is at the beginning of the byte array. If byteorder is ‘little’, the most significant byte is at the end of the byte array. To request the native byte order of the host system, use `sys.byteorder’ as the byte order value.

The signed keyword-only argument indicates whether two’s complement is used to represent the integer.

imag

the imaginary part of a complex number

numerator

the numerator of a rational number in lowest terms

real

the real part of a complex number

to_bytes(length, byteorder, *, signed=False) → bytes

Return an array of bytes representing an integer.

The integer is represented using length bytes. An OverflowError is raised if the integer is not representable with the given number of bytes.

The byteorder argument determines the byte order used to represent the integer. If byteorder is ‘big’, the most significant byte is at the beginning of the byte array. If byteorder is ‘little’, the most significant byte is at the end of the byte array. To request the native byte order of the host system, use `sys.byteorder’ as the byte order value.

The signed keyword-only argument determines whether two’s complement is used to represent the integer. If signed is False and a negative integer is given, an OverflowError is raised.

class RenderFlags

Bases: sip.simplewrapper

QWidget.RenderFlags(Union[QWidget.RenderFlags, QWidget.RenderFlag]) QWidget.RenderFlags(QWidget.RenderFlags)

__init__

Initialize self. See help(type(self)) for accurate signature.

__init__(**kwargs)
Parameters:
  • stop_before (int) – Exit the constructor before specified step.
  • parent (QWidget) – Parent widget, if any.
  • in_knime (bool) – Whether we are currently running under KNIME - a mode in which input selector is hidden, optionally a custom Workspace Structure is specified, and buttom bar has OK & Cancel buttons.
  • workspace_st_file (bool) – Structure to be returned by getWorkspaceStructure() when in_knime is True.
acceptDrops(self) → bool
accessibleDescription(self) → str
accessibleName(self) → str
actionEvent(self, QActionEvent)
actions(self) → List[QAction]
activateWindow(self)
addAction(self, QAction)
addActions(self, object)
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
addProjectJobNote(job_id, jobname)

Adds a note to the project annotation file. :param job_id: The ID of the job, as assigned by Maestro :type job_id: string :param jobname: The name of the job, as shown in the job panel :type jobname: string

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, bool) → bool
buildCallbackDicts()

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

changeEvent(self, QEvent)
childAt(self, QPoint) → QWidget

childAt(self, int, int) -> QWidget

childEvent(self, QChildEvent)
children(self) → object
childrenRect(self) → QRect
childrenRegion(self) → QRegion
cleanup()
cleanupWriteCmd(cmdlist)

Removes options from the command that only work within Maestro. :param cmdlist: the job invocation command :type cmdlist: list

clearFocus(self)
clearMask(self)
close(self) → bool
closeEvent(event)

Receives the close event and calls the panel’s ‘close’-decorated appmethod. If the appmethod specifically returns False, the close event will be ignored and the panel will remain open. All other return values (including None) will allow the panel to proceed with closing.

This is a PyQT slot method and should not be explicitly called.

cmdListToCmd(cmdlist)

Converts a command list to a command string.

Parameters:cmdlist (list) – a list of commands
Returns:a command string with all arguments wrapped in double quotes
colorCount(self) → int
configDialogSettings()
connectNotify(self, QMetaMethod)
contentsMargins(self) → QMargins
contentsRect(self) → QRect
contextMenuEvent(self, QContextMenuEvent)
contextMenuPolicy(self) → Qt.ContextMenuPolicy
create(self, window: sip.voidptr = 0, initializeWindow: bool = True, destroyOldWindow: bool = True)
createBottomBar()
createInputSelector()
createJobDir()
createWindowContainer(QWindow, parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = 0) → QWidget
currentTaskRunner()
cursor(self) → QCursor
customContextMenuRequested

customContextMenuRequested(self, QPoint) [signal]

customEvent(self, 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, QObject = None) [signal]

devType(self) → int
devicePixelRatio(self) → int
devicePixelRatioF(self) → float
devicePixelRatioFScale() → float
disconnect(self)
disconnectNotify(self, QMetaMethod)
dragEnterEvent(self, QDragEnterEvent)
dragLeaveEvent(self, QDragLeaveEvent)
dragMoveEvent(self, QDragMoveEvent)
dropEvent(self, QDropEvent)
dumpObjectInfo(self)
dumpObjectTree(self)
dynamicPropertyNames(self) → object
effectiveWinId(self) → sip.voidptr
ensurePolished(self)
enterEvent(self, QEvent)
error(text, preferences=None, key='')

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 (schrodinger.utils.preferences.Preferences object) – The Preferences class to use to store the show/don’t show preference for this dialog. Note that the Preferences object must currently be set to the preference group containing key.
  • key (str) – The key to store the preference under
Return type:

None

event(self, QEvent) → bool
eventFilter(self, QObject, QEvent) → bool
find(sip.voidptr) → QWidget
findChild(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) → QObject

findChild(self, Tuple, name: str = ‘’, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> QObject

findChildren(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) → List[QObject]

findChildren(self, Tuple, name: str = ‘’, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, type, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, Tuple, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, type, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, Tuple, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject]

focusInEvent(self, QFocusEvent)
focusNextChild(self) → bool
focusNextPrevChild(self, bool) → bool
focusOutEvent(self, 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
getCmdListArgValue(cmdlist, arg)
getContentsMargins(self) → Tuple[int, int, int, int]
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.
getJobSpec()
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, Qt.GestureType, flags: Union[Qt.GestureFlags, Qt.GestureFlag] = Qt.GestureFlags())
grabKeyboard(self)
grabMouse(self)

grabMouse(self, Union[QCursor, Qt.CursorShape])

grabShortcut(self, 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, 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.

hideEvent(event)
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 (schrodinger.utils.preferences.Preferences object) – The Preferences class to use to store the show/don’t show preference for this dialog. Note that the Preferences object must currently be set to the preference group containing key.
  • key (str) – The key to store the preference under
Return type:

None

inherits(self, str) → bool
initPainter(self, QPainter)
inputMethodEvent(self, QInputMethodEvent)
inputMethodHints(self) → Qt.InputMethodHints
inputMethodQuery(self, Qt.InputMethodQuery) → Any
insertAction(self, QAction, QAction)
insertActions(self, QAction, Iterable[QAction])
installEventFilter(self, QObject)
isActiveWindow(self) → bool
isAncestorOf(self, QWidget) → bool
isEnabled(self) → bool
isEnabledTo(self, 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, QMetaMethod) → bool
isVisible(self) → bool
isVisibleTo(self, QWidget) → bool
isWidgetType(self) → bool
isWindow(self) → bool
isWindowModified(self) → bool
isWindowType(self) → bool
jobDir()
jobname()

Return the job name currently set for the current task.

jobnameData()

Provides panel settings that are to be incorporated into job names. If self.default_jobname includes string formatting characters (i.e. %s, {0}, etc.), then this method must be implemented. It should return a tuple or a dictionary to be interpolated into the job name.

jobnameDataChanged()

If the job name includes panel settings, then this method should be called whenever the relevant panel settings are modified

keyPressEvent(self, QKeyEvent)
keyReleaseEvent(self, QKeyEvent)
keyboardGrabber() → QWidget
killTimer(self, int)
lastJobCompleted
launchFromJobSpec(oplsdir=None)

Call this function in start method if the calling script implements the launch api. This function requires implementation of getJobSpec to return the job specification.

Parameters:oplsdir (None, False or str) – If None (default), search widgets on the panel for a schrodinger.ui.qt.forcefield.ForceFieldSelector (or subclass thereof) and get any custom OPLS directory information from that widget. If False, do not use a custom OPLS directory. If a str, this is the path to use for the custom OPLS directory. Note that the OPLSDIR setting found by oplsdir=None is ambiguous if there is more than one ForceFieldSelector child widget, and that ForceFieldSelector widgets that are NOT child widgets of this panel - such as a widget on a dialog - will not be found. Setting this parameter to False for a panel that does not use a ForceFieldSelector widget avoids the widget search but will only shave a few thousandths of a second off job startup time even for very complex panels.
launchJobCmd(cmdlist, show_progress_bar=0, auto_add_host=True, use_parallel_flag=True)

Launches a job control command. Use this to launch scripts that accept the standard job control options arguments like -HOST, -DISP, etc. By default, automatically populates standard arguments from the config dialog, but will not overwrite if they are already found in cmdlist. For example, if -HOST is found in cmdlist, launchJobCmd will ignore the host specified in the config dialog.

This method honors self.start_mode; it can either launch the script or write out a job file to the job directory.

Parameters:
  • cmdlist (list) – the command list
  • show_progress_bar (int) – Whether or not to show a progress bar tracking the job’s status. If NO_PROGRESS_BAR, no progress bar will be shown. If PROGRESS_BAR_NO_TEXT, a progress bar will be shown. If PROGRESS_BAR_WITH_TEXT, a progress bar will be shown and will also display the job progress text description.
  • auto_add_host (bool) – Whether or not to automatically add -HOST flag to command when it is not already included.
  • use_parallel_flag (bool) – Whether requesting CPUs > 1 without specifying threads > 1 should be represented by the use of the -PARALLEL X flag (True, default) or -HOST host:X (False). -PARALLEL is a Jaguar flag and may not be appropriate for other programs.
launchLauncher(slauncher, show_progress_bar=0)

Either launches a launcher instance or writes the job invocation command, depending on the state of self.start_mode. This allows the panel’s start method to double as a write method.

Calling launchLauncher() is only necessary if creating a customized launcher using makeLauncher().

Parameters:show_progress_bar (int) – Whether or not to show a progress bar tracking the job’s status. If NO_PROGRESS_BAR, no progress bar will be shown. If PROGRESS_BAR_NO_TEXT, a progress bar will be shown. If PROGRESS_BAR_WITH_TEXT, a progress bar will be shown and will also display the job progress text description.
launchScript(script, script_args=None, input_files=[], structure_output_file=None, output_files=[], aux_modules=[], show_progress_bar=0, **kwargs)

DEPRECATED for launchFromJobSpec.

Creates and launches a script using makeLauncher. For documentation on method parameters, see makeLauncher below. Use this method for scripts that do not themselves integrate with job control.

This method honors self.start_mode; it can either launch the script or write out a job file to the job directory.

Parameters:show_progress_bar (int) – Whether or not to show a progress bar tracking the job’s status. If NO_PROGRESS_BAR, no progress bar will be shown. If PROGRESS_BAR_NO_TEXT, a progress bar will be shown. If PROGRESS_BAR_WITH_TEXT, a progress bar will be shown and will also display the job progress text description.
launcherToCmdList(slauncher)
layOut()
layout(self) → QLayout
layoutDirection(self) → Qt.LayoutDirection
leaveEvent(self, 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)
makeLauncher(script, script_args=[], input_files=[], structure_output_file=None, output_files=[], aux_modules=[], **kwargs)

DEPRECATED for launchFromJobSpec.

Create a launcher.Launcher instance using the settings defined by the panel, its config dialog, and specified arguments. Returns a launcher instance ready to be launched or further modified. Use this method for scripts that do not themselves integrate with job control.

Only use this method if you need to modify the launcher before launching it. Otherwise, the method launchScript() is preferred to create the launcher and launch it.

Parameters:
  • script (str) – Remote path to the script to be launched. See Launcher documentation for more info. If only launching to localhost is desired, then a local path can be specified.
  • script_args (list of str) – arguments to be added to the script’s command line
  • input_files (list of str) – input files that will be copied to the temporary job directory.
  • structure_output_file (str) – this is the file that will be registered with job control to incorporate at the end of the job
  • output_files (list of str) – additional output files to be copied back from the temporary job directory
  • aux_modules (list of modules) – Additional modules required by the script
Returns:

A prepped launcher

Return type:

Launcher

mapFrom(self, QWidget, QPoint) → QPoint
mapFromGlobal(self, QPoint) → QPoint
mapFromParent(self, QPoint) → QPoint
mapTo(self, QWidget, QPoint) → QPoint
mapToGlobal(self, QPoint) → QPoint
mapToParent(self, QPoint) → QPoint
mask(self) → QRegion
maximumHeight(self) → int
maximumSize(self) → QSize
maximumWidth(self) → int
metaObject(self) → QMetaObject
metric(self, QPaintDevice.PaintDeviceMetric) → int
minimumHeight(self) → int
minimumSize(self) → QSize
minimumSizeHint(self) → QSize
minimumWidth(self) → int
mouseDoubleClickEvent(self, QMouseEvent)
mouseGrabber() → QWidget
mouseMoveEvent(self, QMouseEvent)
mousePressEvent(self, QMouseEvent)
mouseReleaseEvent(self, QMouseEvent)
move(self, QPoint)

move(self, int, int)

moveEvent(self, QMoveEvent)
moveToThread(self, QThread)
nativeEvent(self, Union[QByteArray, bytes, bytearray], sip.voidptr) → Tuple[bool, int]
nativeParentWidget(self) → QWidget
nextInFocusChain(self) → QWidget
normalGeometry(self) → QRect
objectName(self) → str
objectNameChanged

objectNameChanged(self, str) [signal]

overrideWindowFlags(self, Union[Qt.WindowFlags, Qt.WindowType])
overrideWindowState(self, Union[Qt.WindowStates, Qt.WindowState])
paintEngine(self) → QPaintEngine
paintEvent(self, 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, 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, PYQT_SIGNAL) → int
rect(self) → QRect
registerJob(job, show_progress_bar=0)

Registers a job with the periodic job check callback and starts timer.

Parameters:
  • job (jobcontrol.Job) – job to register
  • show_progress_bar (int) – Whether or not to show a progress bar tracking the job’s status. If NO_PROGRESS_BAR, no progress bar will be shown. If PROGRESS_BAR_NO_TEXT, a progress bar will be shown. If PROGRESS_BAR_WITH_TEXT, a progress bar will be shown and will also display the job progress text description.
releaseKeyboard(self)
releaseMouse(self)
releaseShortcut(self, int)
removeAction(self, 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, 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, QPaintDevice, targetOffset: QPoint = QPoint(), sourceRegion: QRegion = QRegion(), flags: Union[QWidget.RenderFlags, QWidget.RenderFlag] = QWidget.RenderFlags(QWidget.DrawWindowBackground|QWidget.DrawChildren))

render(self, QPainter, targetOffset: QPoint = QPoint(), sourceRegion: QRegion = QRegion(), flags: Union[QWidget.RenderFlags, QWidget.RenderFlag] = QWidget.RenderFlags(QWidget.DrawWindowBackground|QWidget.DrawChildren))

repaint(self)

repaint(self, int, int, int, int) repaint(self, QRect) repaint(self, QRegion)

reportValidation(results)

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

Parameters:results (ValidationResults) – Set of results generated by validate()
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, QSize)

resize(self, int, int)

resizeEvent(self, 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, Union[QByteArray, bytes, bytearray]) → 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

sanitizeJobnameText(text)

Modify the given text so it can be used in a job name. White space is replaced with underscores and all other disallowed characters are removed.

Parameters:text (basestring) – The text to sanitize
Returns:The sanitized text
Return type:basestring
saveGeometry(self) → QByteArray
savePersistentOptions()

Store all persistent options to the preferences.

scroll(self, int, int)

scroll(self, int, int, QRect)

sender(self) → QObject
senderSignalIndex(self) → int
setAcceptDrops(self, bool)
setAccessibleDescription(self, str)
setAccessibleName(self, 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, Qt.WidgetAttribute, on: bool = True)
setAutoFillBackground(self, bool)
setBackgroundRole(self, QPalette.ColorRole)
setBaseSize(self, int, int)

setBaseSize(self, QSize)

setConfigDialogSettings(new_values)
setContentsMargins(self, int, int, int, int)

setContentsMargins(self, QMargins)

setContextMenuPolicy(self, 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, Union[QCursor, Qt.CursorShape])
setDefaults()
setDisabled(self, bool)
setEnabled(self, bool)
setFixedHeight(self, int)
setFixedSize(self, QSize)

setFixedSize(self, int, int)

setFixedWidth(self, int)
setFocus(self)

setFocus(self, Qt.FocusReason)

setFocusPolicy(self, Qt.FocusPolicy)
setFocusProxy(self, QWidget)
setFont(self, QFont)
setForegroundRole(self, QPalette.ColorRole)
setGeometry(self, QRect)

setGeometry(self, int, int, int, int)

setGraphicsEffect(self, QGraphicsEffect)
setHidden(self, bool)
setInputMethodHints(self, Union[Qt.InputMethodHints, Qt.InputMethodHint])
setJobname(jobname)

Set the job name for the current task.

setLayout(self, QLayout)
setLayoutDirection(self, Qt.LayoutDirection)
setLocale(self, QLocale)
setMask(self, QBitmap)

setMask(self, QRegion)

setMaximumHeight(self, int)
setMaximumSize(self, int, int)

setMaximumSize(self, QSize)

setMaximumWidth(self, int)
setMinimumHeight(self, int)
setMinimumSize(self, int, int)

setMinimumSize(self, QSize)

setMinimumWidth(self, int)
setMouseTracking(self, bool)
setObjValue(obj, value)
setObjectName(self, str)
setPalette(self, 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, QWidget)

setParent(self, QWidget, Union[Qt.WindowFlags, Qt.WindowType])

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, str, Any) → bool
setShortcutAutoRepeat(self, int, enabled: bool = True)
setShortcutEnabled(self, int, enabled: bool = True)
setSizeIncrement(self, int, int)

setSizeIncrement(self, QSize)

setSizePolicy(self, QSizePolicy)

setSizePolicy(self, QSizePolicy.Policy, QSizePolicy.Policy)

setStatusTip(self, str)
setStyle(self, QStyle)
setStyleSheet(self, str)
setTabOrder(QWidget, QWidget)
setTabletTracking(self, bool)
setToolTip(self, str)
setToolTipDuration(self, int)
setUpdatesEnabled(self, bool)
setVisible(self, 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, str)
setWindowFilePath(self, str)
setWindowFlag(self, Qt.WindowType, on: bool = True)
setWindowFlags(self, Union[Qt.WindowFlags, Qt.WindowType])
setWindowIcon(self, QIcon)
setWindowIconText(self, str)
setWindowModality(self, Qt.WindowModality)
setWindowModified(self, bool)
setWindowOpacity(self, float)
setWindowRole(self, str)
setWindowState(self, Union[Qt.WindowStates, Qt.WindowState])
setWindowTitle(self, str)
setupJobCmd(cmdlist, auto_add_host=True, use_parallel_flag=True)

Adds standard arguments HOST, NJOBS, PROJ, DISP, VIEWNAME to the cmdlist if they are set in the config dialog. Settings pre-existing in the cmdlist take precedence over the config dialog settings.

Parameters:
  • cmdlist (list) – the command list
  • auto_add_host (bool) – Whether or not to automatically add -HOST flat to command when it is not already included.
  • use_parallel_flag (bool) – Whether requesting CPUs > 1 without specifying threads > 1 should be represented by the use of the -PARALLEL X flag (True, default) or -HOST host:X (False). -PARALLEL is a Jaguar flag and may not be appropriate for other programs.
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.

showEvent(event)

When the panel is shown, call the panel’s ‘show’-decorated methods. Note that restoring a minimized panel will not trigger the ‘show’ methods.

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.
showSTUDialog(sh_txt, jobname)

Shows dialog with information necessary to start a STU test, including a label that links to the test suite.

Parameters:sh_txt (str) – Text contained within the .sh file
signalsBlocked(self) → bool
size(self) → QSize
sizeHint(self) → QSize
sizeIncrement(self) → QSize
sizePolicy(self) → QSizePolicy
stackUnder(self, QWidget)
startDebug()
startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) → int
startUp()
staticMetaObject = <PyQt5.QtCore.QMetaObject object>
statusTip(self) → str
style(self) → QStyle
styleSheet(self) → str
syncConfigDialog()
tabletEvent(self, QTabletEvent)
testAttribute(self, Qt.WidgetAttribute) → bool
thread(self) → QThread
timerEvent(self, QTimerEvent)
title
toolTip(self) → str
toolTipDuration(self) → int
tr(self, str, disambiguation: str = None, n: int = -1) → str
underMouse(self) → bool
ungrabGesture(self, Qt.GestureType)
unsetCursor(self)
unsetLayoutDirection(self)
unsetLocale(self)
update(self)

update(self, QRect) update(self, QRegion) update(self, int, int, int, int)

updateGeometry(self)
updateJobname(uniquify_custom=True)

Generate a new job name based on the current panel settings

Parameters:uniquify_custom (bool) – Whether we should uniquify custom job name by adding integers to the end. If False, only standard and modified job names will be uniquified. (See JobnameType for an explanation of job name types.)
updateMicroFocus(self)
updateStatusBar()

Updates the status bar.

updatesEnabled(self) → bool
validForceFieldSelectorCustomOPLSDir()

Check whether a force field selector exists and if so whether it is set to use a custom OPLS directory that is valid. :return: whether OPLS directory has issues :rtype: 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 (schrodinger.utils.preferences.Preferences object) – The Preferences class to use to store the show/don’t show preference for this dialog. Note that the Preferences object must currently be set to the preference group containing key.
  • key (str) – The key to store the preference under
Return type:

None

whatsThis(self) → str
wheelEvent(self, QWheelEvent)
width(self) → int
widthMM(self) → int
winId(self) → sip.voidptr
window(self) → QWidget
windowFilePath(self) → str
windowFlags(self) → Qt.WindowFlags
windowHandle(self) → QWindow
windowIcon(self) → QIcon
windowIconChanged

windowIconChanged(self, QIcon) [signal]

windowIconText(self) → str
windowIconTextChanged

windowIconTextChanged(self, str) [signal]

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

windowTitleChanged(self, str) [signal]

windowType(self) → Qt.WindowType
writeJobCmd(cmdlist)

Writes the job invocation command to a file named “<jobname>.sh” Removes options from the command that are maestro-specific.

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 and close the panel.

x(self) → int
y(self) → int
class schrodinger.application.jaguar.gui.base_panel.StandardStatusMixin

Bases: object

A mixin that will add the standard Jaguar status bar text to a Jaguar panel. Classes that use this mixin must have both a “Theory” tab and a “Molecule” tab with a basis selector.

__init__()

Connect signals so the status bar is updated whenever the user changes the basis or theory level

generateJaguarStatus()

Create the standard Jaguar status bar message, such as “Jaguar: B3LYP / 6-31**, Single Point Energy”

Returns:The Jaguar status bar message
Return type:str
class schrodinger.application.jaguar.gui.base_panel.TaskStatusMixin

Bases: object

A mixin that will add the task name to the status bar text. No specific tabs are required.

generateJaguarStatus()

Create a Jaguar status bar message containing the task name, similar to “Jaguar: pKa”

Returns:The Jaguar status bar message
Return type:str
__init__

Initialize self. See help(type(self)) for accurate signature.

class schrodinger.application.jaguar.gui.base_panel.PropertiesMixin

Bases: object

A mixin that will send updates the Properties tab whenever the relevant settings in the “Theory” or “Molecule” tab change. Classes that use this mixin must have must have a “Theory” and a “Properties” tab, and must have a “Molecule” tab with a basis selector.

__init__()

Connect a signal from the Theory tab to the Properties tab whenever the theory level is changed

updatePropertiesTab()

Notify the properties tab that the level of theory or basis set has been updated.

class schrodinger.application.jaguar.gui.base_panel.NoInputTabJobMixin

Bases: object

A mixin that will add the standard Jaguar job running and writing behavior. The write option in the gear menu will use a custom dialog box that allows the user to select between writing a .bat or an .in file.

updateAndCheckMmJag(**kwargs)
start()

Launch the job. Note that updateAndCheckMmJag must be run before this function to update and validate self._jag_input.

Returns:A job object for the launched job
Return type:schrodinger.job.jobcontrol.Job
__init__

Initialize self. See help(type(self)) for accurate signature.

class schrodinger.application.jaguar.gui.base_panel.ReadEditMixin

Bases: object

A mixin for panels that should include Read… and Edit… in the gear menu

setup()
read(allowed_options=None)

Read in the user-specified Jaguar input file and apply it’s settings to the panel.

Parameters:allowed_options (list) – list of allowed options for the Read dialog. Items of the list should be keys in the schrodinger.jaguar.gui.filedialog.ReadFileDialog.OPTION_TEXT dictionary.
editInput()

Display the edit dialog

jagInputEdited(jag_input, new_struc_flag)

Process the Jaguar settings that the user entered in the Edit dialog.

Parameters:
  • jag_input (schrodinger.application.jaguar.input.JaguarInput) – The Jaguar settings from the Edit dialog
  • new_struc_flag (int) –

    A flag indicating whether the structure in jag_input object should be loaded into the workspace. The flag must be one of:

    • EditDialog.SAME_STRUCTURE: The workspace was not changed by the Edit dialog and does not need to be changed.
    • NEW_STRUCTURE: The structure in jag_input is new and should be loaded into the workspace.
    • RELOAD_STRUCTURE: The structure in jag_input is not new, but the Edit dialog changed the workspace, so the workspace should be restored to its previous state.
restorePreviouslyIncludedEntry()

Restore the workspace to it’s previous state if the Edit dialog didn’t change the structure but did clear the workspace via a Preview.

Returns:A tuple of - The entry id of the previously included entry, or None if there
wasn’t one
  • The title of the previously included entry, or None if there wasn’t one
Return type:tuple
runEditedInput(jag_input)

Run a job using the JaguarInput file created in the Edit dialog.

Parameters:jag_input (schrodinger.application.jaguar.input.JaguarInput) – The JaguarInput object to run
__init__

Initialize self. See help(type(self)) for accurate signature.

class schrodinger.application.jaguar.gui.base_panel.MultiStructureMixin

Bases: object

A mixin for panels that contain a MultiStructureTab. Note that this mixin assumes that the ReadEditMixin is present, and MultiStructureMixin must be listed before ReadEditMixin in the class declaration.

setPanelOptions()

Remove the input selector

setup()
projectUpdated()
useParallelArg()
editInput()

Override the ReadEditMixin function to display the edit dialog. Since we have no input selector, the checks present in ReadEditMixin.editInput() are not necessary here (and would lead to tracebacks).

__init__

Initialize self. See help(type(self)) for accurate signature.

class schrodinger.application.jaguar.gui.base_panel.InputTabMixin

Bases: object

A mixin for panels that use the Input tab. This mixin removes the input selector and keeps the selected structures table up to date. Note that this mixin must appear on the inheritance list before ReadEditMixin.

setPanelOptions()

Remove the input selector

setup()

Store a reference to the input tab and make sure that data from table delegates is commited when the gear menu is accessed

projectUpdated()

Update the table whenever the project updates

workspaceChanged(what_changed)

Update the table whenever the workspace changes in case the user changed the charge of a molecule.

Parameters:what_changed (str) – A flag indicating what changed in the workspace
__init__

Initialize self. See help(type(self)) for accurate signature.

class schrodinger.application.jaguar.gui.base_panel.InputTabJobMixin

Bases: schrodinger.application.jaguar.gui.base_panel.InputTabMixin

A mixin for panels that use the Input tab and launch “standard” Jaguar jobs (i.e. one .in file per structure). Implies InputTabMixin. Note that this mixin must appear on the inheritance list before ReadEditMixin.

start()

Launch the job. Note that _getGeneralSettings must be run before this function to update and validate self._jag_input.

Returns:A job object for the launched job
Return type:schrodinger.job.jobcontrol.Job
getNumStructures()
__init__

Initialize self. See help(type(self)) for accurate signature.

projectUpdated()

Update the table whenever the project updates

setPanelOptions()

Remove the input selector

setup()

Store a reference to the input tab and make sure that data from table delegates is commited when the gear menu is accessed

workspaceChanged(what_changed)

Update the table whenever the workspace changes in case the user changed the charge of a molecule.

Parameters:what_changed (str) – A flag indicating what changed in the workspace
class schrodinger.application.jaguar.gui.base_panel.InputMultiplicityMixin

Bases: object

Base class for any mixin that needs to get list of entries with spin multiplicities greater than one. It defines input tab and provides function that returns list of names for the entries that have spin multiplicity greater than one.

setup()

Initialize mixin.

__init__

Initialize self. See help(type(self)) for accurate signature.

class schrodinger.application.jaguar.gui.base_panel.PropertiesValidatorMixin

Bases: schrodinger.application.jaguar.gui.base_panel.InputMultiplicityMixin

A mixin that verifies that all selected properties can be calculated for the input entries. The check is done for certain properties that can not be calculated for entries with spin multiplicity > 1. Classes that use this mixin must have both “Input” and “Properties” tabs.

setup()

Initialize Mixin.

checkMultiplicityProperty(**kwargs)
__init__

Initialize self. See help(type(self)) for accurate signature.

class schrodinger.application.jaguar.gui.base_panel.ExcitedStateValidatorMixin

Bases: schrodinger.application.jaguar.gui.base_panel.InputMultiplicityMixin

A mixin that verifies that there are no input structures with spin multiplicity greater than one when excited state toggle is set in theory tab. Classes that use this mixin must have both “Input” and “Theory” tabs.

setup()

Initialize Mixin.

checkMultiplicity(**kwargs)
__init__

Initialize self. See help(type(self)) for accurate signature.

class schrodinger.application.jaguar.gui.base_panel.UseConsistentOrbitalsMixin

Bases: object

A mixin for panels where the SCF tab contains a “Use consistent orbitals” checkbox. Note that this mixin requires InputTabJobMixin and that UseConsistentOrbitalsMixin must appear before InputTabJobMixin in the inheritance list.

start()

Launch the job. If the following criteria are met, canonical.py will be used to run the job:

  • The “Use consistent orbitals” checkbox is checked.
  • There are multiple structures selected
  • All structures have the same basis set

Otherwise, the job will be run as a standard Jaguar job (i.e. jaguar run). Also note that _getGeneralSettings must be run before this function to update and validate self._jag_input.

Returns:A job object for the launched job
Return type:schrodinger.job.jobcontrol.Job
__init__

Initialize self. See help(type(self)) for accurate signature.

class schrodinger.application.jaguar.gui.base_panel.CoordinateDialog(parent, is_scan)

Bases: PyQt5.QtWidgets.QDialog

This dialog allows user to select corrective action when the same coordinate is found in the lists of scans and constraints.

DELETE_CONSTRAINT = 0
DELETE_SCAN = 1
DELETE_BOTH = 2
__init__(parent, is_scan)

Initialize dialog.

Parameters:
  • parent (QtCore.QObject) – parent of this dialog.
  • is_scan (bool) – flag coordinate as scan (True) or constraint (False)
display()

Brings up the dialog and waits for the user to close it. Returns the selected option. Returns default option if the user cancels the dialog.

Returns:one of three possible choices (delete constraint, scan or both)
Return type:int
Accepted = 1
class DialogCode

Bases: int

__init__

Initialize self. See help(type(self)) for accurate signature.

bit_length() → int

Number of bits necessary to represent self in binary. >>> bin(37) ‘0b100101’ >>> (37).bit_length() 6

conjugate()

Returns self, the complex conjugate of any int.

denominator

the denominator of a rational number in lowest terms

from_bytes(bytes, byteorder, *, signed=False) → int

Return the integer represented by the given array of bytes.

The bytes argument must be a bytes-like object (e.g. bytes or bytearray).

The byteorder argument determines the byte order used to represent the integer. If byteorder is ‘big’, the most significant byte is at the beginning of the byte array. If byteorder is ‘little’, the most significant byte is at the end of the byte array. To request the native byte order of the host system, use `sys.byteorder’ as the byte order value.

The signed keyword-only argument indicates whether two’s complement is used to represent the integer.

imag

the imaginary part of a complex number

numerator

the numerator of a rational number in lowest terms

real

the real part of a complex number

to_bytes(length, byteorder, *, signed=False) → bytes

Return an array of bytes representing an integer.

The integer is represented using length bytes. An OverflowError is raised if the integer is not representable with the given number of bytes.

The byteorder argument determines the byte order used to represent the integer. If byteorder is ‘big’, the most significant byte is at the beginning of the byte array. If byteorder is ‘little’, the most significant byte is at the end of the byte array. To request the native byte order of the host system, use `sys.byteorder’ as the byte order value.

The signed keyword-only argument determines whether two’s complement is used to represent the integer. If signed is False and a negative integer is given, an OverflowError is raised.

DrawChildren = 2
DrawWindowBackground = 1
IgnoreMask = 4
class PaintDeviceMetric

Bases: int

__init__

Initialize self. See help(type(self)) for accurate signature.

bit_length() → int

Number of bits necessary to represent self in binary. >>> bin(37) ‘0b100101’ >>> (37).bit_length() 6

conjugate()

Returns self, the complex conjugate of any int.

denominator

the denominator of a rational number in lowest terms

from_bytes(bytes, byteorder, *, signed=False) → int

Return the integer represented by the given array of bytes.

The bytes argument must be a bytes-like object (e.g. bytes or bytearray).

The byteorder argument determines the byte order used to represent the integer. If byteorder is ‘big’, the most significant byte is at the beginning of the byte array. If byteorder is ‘little’, the most significant byte is at the end of the byte array. To request the native byte order of the host system, use `sys.byteorder’ as the byte order value.

The signed keyword-only argument indicates whether two’s complement is used to represent the integer.

imag

the imaginary part of a complex number

numerator

the numerator of a rational number in lowest terms

real

the real part of a complex number

to_bytes(length, byteorder, *, signed=False) → bytes

Return an array of bytes representing an integer.

The integer is represented using length bytes. An OverflowError is raised if the integer is not representable with the given number of bytes.

The byteorder argument determines the byte order used to represent the integer. If byteorder is ‘big’, the most significant byte is at the beginning of the byte array. If byteorder is ‘little’, the most significant byte is at the end of the byte array. To request the native byte order of the host system, use `sys.byteorder’ as the byte order value.

The signed keyword-only argument determines whether two’s complement is used to represent the integer. If signed is False and a negative integer is given, an OverflowError is raised.

PdmDepth = 6
PdmDevicePixelRatio = 11
PdmDevicePixelRatioScaled = 12
PdmDpiX = 7
PdmDpiY = 8
PdmHeight = 2
PdmHeightMM = 4
PdmNumColors = 5
PdmPhysicalDpiX = 9
PdmPhysicalDpiY = 10
PdmWidth = 1
PdmWidthMM = 3
Rejected = 0
class RenderFlag

Bases: int

__init__

Initialize self. See help(type(self)) for accurate signature.

bit_length() → int

Number of bits necessary to represent self in binary. >>> bin(37) ‘0b100101’ >>> (37).bit_length() 6

conjugate()

Returns self, the complex conjugate of any int.

denominator

the denominator of a rational number in lowest terms

from_bytes(bytes, byteorder, *, signed=False) → int

Return the integer represented by the given array of bytes.

The bytes argument must be a bytes-like object (e.g. bytes or bytearray).

The byteorder argument determines the byte order used to represent the integer. If byteorder is ‘big’, the most significant byte is at the beginning of the byte array. If byteorder is ‘little’, the most significant byte is at the end of the byte array. To request the native byte order of the host system, use `sys.byteorder’ as the byte order value.

The signed keyword-only argument indicates whether two’s complement is used to represent the integer.

imag

the imaginary part of a complex number

numerator

the numerator of a rational number in lowest terms

real

the real part of a complex number

to_bytes(length, byteorder, *, signed=False) → bytes

Return an array of bytes representing an integer.

The integer is represented using length bytes. An OverflowError is raised if the integer is not representable with the given number of bytes.

The byteorder argument determines the byte order used to represent the integer. If byteorder is ‘big’, the most significant byte is at the beginning of the byte array. If byteorder is ‘little’, the most significant byte is at the end of the byte array. To request the native byte order of the host system, use `sys.byteorder’ as the byte order value.

The signed keyword-only argument determines whether two’s complement is used to represent the integer. If signed is False and a negative integer is given, an OverflowError is raised.

class RenderFlags

Bases: sip.simplewrapper

QWidget.RenderFlags(Union[QWidget.RenderFlags, QWidget.RenderFlag]) QWidget.RenderFlags(QWidget.RenderFlags)

__init__

Initialize self. See help(type(self)) for accurate signature.

accept(self)
acceptDrops(self) → bool
accepted

accepted(self) [signal]

accessibleDescription(self) → str
accessibleName(self) → str
actionEvent(self, QActionEvent)
actions(self) → List[QAction]
activateWindow(self)
addAction(self, QAction)
addActions(self, object)
adjustSize(self)
autoFillBackground(self) → bool
backgroundRole(self) → QPalette.ColorRole
baseSize(self) → QSize
blockSignals(self, bool) → bool
changeEvent(self, QEvent)
childAt(self, QPoint) → QWidget

childAt(self, int, int) -> QWidget

childEvent(self, QChildEvent)
children(self) → object
childrenRect(self) → QRect
childrenRegion(self) → QRegion
clearFocus(self)
clearMask(self)
close(self) → bool
closeEvent(self, QCloseEvent)
colorCount(self) → int
connectNotify(self, QMetaMethod)
contentsMargins(self) → QMargins
contentsRect(self) → QRect
contextMenuEvent(self, QContextMenuEvent)
contextMenuPolicy(self) → Qt.ContextMenuPolicy
create(self, window: sip.voidptr = 0, initializeWindow: bool = True, destroyOldWindow: bool = True)
createWindowContainer(QWindow, parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = 0) → QWidget
cursor(self) → QCursor
customContextMenuRequested

customContextMenuRequested(self, QPoint) [signal]

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

destroyed(self, QObject = None) [signal]

devType(self) → int
devicePixelRatio(self) → int
devicePixelRatioF(self) → float
devicePixelRatioFScale() → float
disconnect(self)
disconnectNotify(self, QMetaMethod)
done(self, int)
dragEnterEvent(self, QDragEnterEvent)
dragLeaveEvent(self, QDragLeaveEvent)
dragMoveEvent(self, QDragMoveEvent)
dropEvent(self, QDropEvent)
dumpObjectInfo(self)
dumpObjectTree(self)
dynamicPropertyNames(self) → object
effectiveWinId(self) → sip.voidptr
ensurePolished(self)
enterEvent(self, QEvent)
event(self, QEvent) → bool
eventFilter(self, QObject, QEvent) → bool
exec(self) → int
exec_(self) → int
find(sip.voidptr) → QWidget
findChild(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) → QObject

findChild(self, Tuple, name: str = ‘’, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> QObject

findChildren(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) → List[QObject]

findChildren(self, Tuple, name: str = ‘’, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, type, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, Tuple, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, type, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, Tuple, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject]

finished

finished(self, int) [signal]

focusInEvent(self, QFocusEvent)
focusNextChild(self) → bool
focusNextPrevChild(self, bool) → bool
focusOutEvent(self, 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
getContentsMargins(self) → Tuple[int, int, int, int]
grab(self, rectangle: QRect = QRect(QPoint(0, 0), QSize(-1, -1))) → QPixmap
grabGesture(self, Qt.GestureType, flags: Union[Qt.GestureFlags, Qt.GestureFlag] = Qt.GestureFlags())
grabKeyboard(self)
grabMouse(self)

grabMouse(self, Union[QCursor, Qt.CursorShape])

grabShortcut(self, 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, int) → int
heightMM(self) → int
hide(self)
hideEvent(self, QHideEvent)
inherits(self, str) → bool
initPainter(self, QPainter)
inputMethodEvent(self, QInputMethodEvent)
inputMethodHints(self) → Qt.InputMethodHints
inputMethodQuery(self, Qt.InputMethodQuery) → Any
insertAction(self, QAction, QAction)
insertActions(self, QAction, Iterable[QAction])
installEventFilter(self, QObject)
isActiveWindow(self) → bool
isAncestorOf(self, QWidget) → bool
isEnabled(self) → bool
isEnabledTo(self, 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, QMetaMethod) → bool
isSizeGripEnabled(self) → bool
isVisible(self) → bool
isVisibleTo(self, QWidget) → bool
isWidgetType(self) → bool
isWindow(self) → bool
isWindowModified(self) → bool
isWindowType(self) → bool
keyPressEvent(self, QKeyEvent)
keyReleaseEvent(self, QKeyEvent)
keyboardGrabber() → QWidget
killTimer(self, int)
layout(self) → QLayout
layoutDirection(self) → Qt.LayoutDirection
leaveEvent(self, QEvent)
locale(self) → QLocale
logicalDpiX(self) → int
logicalDpiY(self) → int
lower(self)
mapFrom(self, QWidget, QPoint) → QPoint
mapFromGlobal(self, QPoint) → QPoint
mapFromParent(self, QPoint) → QPoint
mapTo(self, QWidget, QPoint) → QPoint
mapToGlobal(self, QPoint) → QPoint
mapToParent(self, QPoint) → QPoint
mask(self) → QRegion
maximumHeight(self) → int
maximumSize(self) → QSize
maximumWidth(self) → int
metaObject(self) → QMetaObject
metric(self, QPaintDevice.PaintDeviceMetric) → int
minimumHeight(self) → int
minimumSize(self) → QSize
minimumSizeHint(self) → QSize
minimumWidth(self) → int
mouseDoubleClickEvent(self, QMouseEvent)
mouseGrabber() → QWidget
mouseMoveEvent(self, QMouseEvent)
mousePressEvent(self, QMouseEvent)
mouseReleaseEvent(self, QMouseEvent)
move(self, QPoint)

move(self, int, int)

moveEvent(self, QMoveEvent)
moveToThread(self, QThread)
nativeEvent(self, Union[QByteArray, bytes, bytearray], sip.voidptr) → Tuple[bool, int]
nativeParentWidget(self) → QWidget
nextInFocusChain(self) → QWidget
normalGeometry(self) → QRect
objectName(self) → str
objectNameChanged

objectNameChanged(self, str) [signal]

open(self)
overrideWindowFlags(self, Union[Qt.WindowFlags, Qt.WindowType])
overrideWindowState(self, Union[Qt.WindowStates, Qt.WindowState])
paintEngine(self) → QPaintEngine
paintEvent(self, 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, 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, PYQT_SIGNAL) → int
rect(self) → QRect
reject(self)
rejected

rejected(self) [signal]

releaseKeyboard(self)
releaseMouse(self)
releaseShortcut(self, int)
removeAction(self, QAction)
removeEventFilter(self, QObject)
render(self, QPaintDevice, targetOffset: QPoint = QPoint(), sourceRegion: QRegion = QRegion(), flags: Union[QWidget.RenderFlags, QWidget.RenderFlag] = QWidget.RenderFlags(QWidget.DrawWindowBackground|QWidget.DrawChildren))

render(self, QPainter, targetOffset: QPoint = QPoint(), sourceRegion: QRegion = QRegion(), flags: Union[QWidget.RenderFlags, QWidget.RenderFlag] = QWidget.RenderFlags(QWidget.DrawWindowBackground|QWidget.DrawChildren))

repaint(self)

repaint(self, int, int, int, int) repaint(self, QRect) repaint(self, QRegion)

resize(self, QSize)

resize(self, int, int)

resizeEvent(self, QResizeEvent)
restoreGeometry(self, Union[QByteArray, bytes, bytearray]) → bool
result(self) → int
saveGeometry(self) → QByteArray
scroll(self, int, int)

scroll(self, int, int, QRect)

sender(self) → QObject
senderSignalIndex(self) → int
setAcceptDrops(self, bool)
setAccessibleDescription(self, str)
setAccessibleName(self, str)
setAttribute(self, Qt.WidgetAttribute, on: bool = True)
setAutoFillBackground(self, bool)
setBackgroundRole(self, QPalette.ColorRole)
setBaseSize(self, int, int)

setBaseSize(self, QSize)

setContentsMargins(self, int, int, int, int)

setContentsMargins(self, QMargins)

setContextMenuPolicy(self, Qt.ContextMenuPolicy)
setCursor(self, Union[QCursor, Qt.CursorShape])
setDisabled(self, bool)
setEnabled(self, bool)
setFixedHeight(self, int)
setFixedSize(self, QSize)

setFixedSize(self, int, int)

setFixedWidth(self, int)
setFocus(self)

setFocus(self, Qt.FocusReason)

setFocusPolicy(self, Qt.FocusPolicy)
setFocusProxy(self, QWidget)
setFont(self, QFont)
setForegroundRole(self, QPalette.ColorRole)
setGeometry(self, QRect)

setGeometry(self, int, int, int, int)

setGraphicsEffect(self, QGraphicsEffect)
setHidden(self, bool)
setInputMethodHints(self, Union[Qt.InputMethodHints, Qt.InputMethodHint])
setLayout(self, QLayout)
setLayoutDirection(self, Qt.LayoutDirection)
setLocale(self, QLocale)
setMask(self, QBitmap)

setMask(self, QRegion)

setMaximumHeight(self, int)
setMaximumSize(self, int, int)

setMaximumSize(self, QSize)

setMaximumWidth(self, int)
setMinimumHeight(self, int)
setMinimumSize(self, int, int)

setMinimumSize(self, QSize)

setMinimumWidth(self, int)
setModal(self, bool)
setMouseTracking(self, bool)
setObjectName(self, str)
setPalette(self, QPalette)
setParent(self, QWidget)

setParent(self, QWidget, Union[Qt.WindowFlags, Qt.WindowType])

setProperty(self, str, Any) → bool
setResult(self, int)
setShortcutAutoRepeat(self, int, enabled: bool = True)
setShortcutEnabled(self, int, enabled: bool = True)
setSizeGripEnabled(self, bool)
setSizeIncrement(self, int, int)

setSizeIncrement(self, QSize)

setSizePolicy(self, QSizePolicy)

setSizePolicy(self, QSizePolicy.Policy, QSizePolicy.Policy)

setStatusTip(self, str)
setStyle(self, QStyle)
setStyleSheet(self, str)
setTabOrder(QWidget, QWidget)
setTabletTracking(self, bool)
setToolTip(self, str)
setToolTipDuration(self, int)
setUpdatesEnabled(self, bool)
setVisible(self, bool)
setWhatsThis(self, str)
setWindowFilePath(self, str)
setWindowFlag(self, Qt.WindowType, on: bool = True)
setWindowFlags(self, Union[Qt.WindowFlags, Qt.WindowType])
setWindowIcon(self, QIcon)
setWindowIconText(self, str)
setWindowModality(self, Qt.WindowModality)
setWindowModified(self, bool)
setWindowOpacity(self, float)
setWindowRole(self, str)
setWindowState(self, Union[Qt.WindowStates, Qt.WindowState])
setWindowTitle(self, str)
sharedPainter(self) → QPainter
show(self)
showEvent(self, 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, QWidget)
startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) → int
staticMetaObject = <PyQt5.QtCore.QMetaObject object>
statusTip(self) → str
style(self) → QStyle
styleSheet(self) → str
tabletEvent(self, QTabletEvent)
testAttribute(self, Qt.WidgetAttribute) → bool
thread(self) → QThread
timerEvent(self, QTimerEvent)
toolTip(self) → str
toolTipDuration(self) → int
tr(self, str, disambiguation: str = None, n: int = -1) → str
underMouse(self) → bool
ungrabGesture(self, Qt.GestureType)
unsetCursor(self)
unsetLayoutDirection(self)
unsetLocale(self)
update(self)

update(self, QRect) update(self, QRegion) update(self, int, int, int, int)

updateGeometry(self)
updateMicroFocus(self)
updatesEnabled(self) → bool
visibleRegion(self) → QRegion
whatsThis(self) → str
wheelEvent(self, QWheelEvent)
width(self) → int
widthMM(self) → int
winId(self) → sip.voidptr
window(self) → QWidget
windowFilePath(self) → str
windowFlags(self) → Qt.WindowFlags
windowHandle(self) → QWindow
windowIcon(self) → QIcon
windowIconChanged

windowIconChanged(self, QIcon) [signal]

windowIconText(self) → str
windowIconTextChanged

windowIconTextChanged(self, str) [signal]

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

windowTitleChanged(self, str) [signal]

windowType(self) → Qt.WindowType
x(self) → int
y(self) → int
class schrodinger.application.jaguar.gui.base_panel.MarkerMixin

Bases: object

A mixin for panels that want markers displayed only when certain tabs are active. Subclasses must define MARKER_TAB_CLASSES.

Variables:
  • MARKER_TAB_CLASSES (list) – A list of tab classes. Markers will only be displayed when a tab on this list is active.
  • MARKER_TABS (list) – A list of tab instances. Markers will only be displayed when a tab on this list is active. Populated from MARKER_TAB_CLASSES.
MARKER_TAB_CLASSES = []
setup()
showAllJaguarMarkers()

Display markers if a marker tab is active. Hide all markers otherwise.

Note:This function is named showAllJaguarMarkers() so it will override the AF2 showAllJaguarMarkers() function. Note that it doesn’t always show all markers.
__init__

Initialize self. See help(type(self)) for accurate signature.

class schrodinger.application.jaguar.gui.base_panel.CoordinateMarkerMixin

Bases: schrodinger.application.jaguar.gui.base_panel.MarkerMixin

A mixin for marking constraints from the Scan or Optimization tabs. Note that this mixin should not be directly applied to a panel. Instead, the OptimizationTabMarkerMixin, ScanTabMarkerMixin, or OptimizationAndScanMixin should be used.

Current limitations:
  • If the user changes the element of an constrained (or scanned) atom, the constraint (or scan) will not be updated.
Variables:
  • _selected_eids (set) – A set of entry ids currently selected in the project table. If the selected entries changes, all constraints will be cleared.
  • _selected_eid_atom_total (int or NoneType) – If there is only one entry id in _selected_eids, then _selected_eid_atom_total contains the number of atoms in that entry. If the number of atoms changes, all constraints will be cleared. If _selected_eids is empty of contains more than one entry id, then _selected_eid_atom_total is None.
setup()

Initialize self._selected_entries

layOut()

Once setup is complete, properly initialize the selected entries for the Scan and/or Optimization tabs

clearConstraintsIfWorkspace(what_changed)

Check to see if coordinate picking is allowed or if constraints need to be cleared in response to a workspace change. This callback is needed when the user adds or deleted atoms.

Parameters:what_changed (str) – A flag indicating what has changed in the workspace
clearConstraintsIfProject()

Check to see if coordinate picking is allowed or if constraints need to be cleared in response to a project table change.

stopPicking()

Stop atom picking in response to changing tabs

MARKER_TAB_CLASSES = []
__init__

Initialize self. See help(type(self)) for accurate signature.

showAllJaguarMarkers()

Display markers if a marker tab is active. Hide all markers otherwise.

Note:This function is named showAllJaguarMarkers() so it will override the AF2 showAllJaguarMarkers() function. Note that it doesn’t always show all markers.
class schrodinger.application.jaguar.gui.base_panel.OptimizationTabMarkerMixin

Bases: schrodinger.application.jaguar.gui.base_panel.CoordinateMarkerMixin

A mixin for marking constraints from the Optimization tab

MARKER_TAB_CLASSES = [<class 'schrodinger.application.jaguar.gui.tabs.optimization_tab.OptimizationTab'>]
setup()

Initialize self._selected_entries

__init__

Initialize self. See help(type(self)) for accurate signature.

clearConstraintsIfProject()

Check to see if coordinate picking is allowed or if constraints need to be cleared in response to a project table change.

clearConstraintsIfWorkspace(what_changed)

Check to see if coordinate picking is allowed or if constraints need to be cleared in response to a workspace change. This callback is needed when the user adds or deleted atoms.

Parameters:what_changed (str) – A flag indicating what has changed in the workspace
layOut()

Once setup is complete, properly initialize the selected entries for the Scan and/or Optimization tabs

showAllJaguarMarkers()

Display markers if a marker tab is active. Hide all markers otherwise.

Note:This function is named showAllJaguarMarkers() so it will override the AF2 showAllJaguarMarkers() function. Note that it doesn’t always show all markers.
stopPicking()

Stop atom picking in response to changing tabs

class schrodinger.application.jaguar.gui.base_panel.ScanTabMarkerMixin

Bases: schrodinger.application.jaguar.gui.base_panel.CoordinateMarkerMixin

A mixin for marking constraints from the Scan tab

MARKER_TAB_CLASSES = [<class 'schrodinger.application.jaguar.gui.tabs.scan_tab.ScanTab'>]
setup()

Initialize self._selected_entries

__init__

Initialize self. See help(type(self)) for accurate signature.

clearConstraintsIfProject()

Check to see if coordinate picking is allowed or if constraints need to be cleared in response to a project table change.

clearConstraintsIfWorkspace(what_changed)

Check to see if coordinate picking is allowed or if constraints need to be cleared in response to a workspace change. This callback is needed when the user adds or deleted atoms.

Parameters:what_changed (str) – A flag indicating what has changed in the workspace
layOut()

Once setup is complete, properly initialize the selected entries for the Scan and/or Optimization tabs

showAllJaguarMarkers()

Display markers if a marker tab is active. Hide all markers otherwise.

Note:This function is named showAllJaguarMarkers() so it will override the AF2 showAllJaguarMarkers() function. Note that it doesn’t always show all markers.
stopPicking()

Stop atom picking in response to changing tabs

class schrodinger.application.jaguar.gui.base_panel.MultiStructurePanelMarkerMixin

Bases: schrodinger.application.jaguar.gui.base_panel.OptimizationTabMarkerMixin, schrodinger.application.jaguar.gui.base_panel.MultiStructureMixin

A mixin for panels that contain a MultiStructureTab and an Optimization Tab. Note that this mixin includes MultiStructureMixin, so that does not need to be added separately. Also note that this mixin assumes that the ReadEditMixin is present, and MultiStructureMixin must be listed before ReadEditMixin in the class declaration.

Current limitations:
  • Markers will only appear on the structure used to define the constraint. (i.e. If a constraint was defined by picking atoms in the transition state structure, markers will only appear on the transition state structure. No markers will appear on the reactant or product structure.)
  • Changing the structures in the Transition State or IRC tab will clear the constraints, even if the user is just selecting an additional structure.
setup()

Initialize self._selected_entries

clearConstraintsIfProject()

Since the MultiStructureTab input is not dependant on the project table, ignore project table changes. (Note that this function overrides the CoordinateMarkerMixin function of the same name.

clearConstraintsIfMultiStrucTab()

If the user changes the structures listed on the MultiStructureTab, clear all constraints. Only allow picking if the listed structures have the same number of atoms and atom names, and only allow picking for the listed structures.

MARKER_TAB_CLASSES = [<class 'schrodinger.application.jaguar.gui.tabs.optimization_tab.OptimizationTab'>]
__init__

Initialize self. See help(type(self)) for accurate signature.

clearConstraintsIfWorkspace(what_changed)

Check to see if coordinate picking is allowed or if constraints need to be cleared in response to a workspace change. This callback is needed when the user adds or deleted atoms.

Parameters:what_changed (str) – A flag indicating what has changed in the workspace
editInput()

Override the ReadEditMixin function to display the edit dialog. Since we have no input selector, the checks present in ReadEditMixin.editInput() are not necessary here (and would lead to tracebacks).

layOut()

Once setup is complete, properly initialize the selected entries for the Scan and/or Optimization tabs

projectUpdated()
setPanelOptions()

Remove the input selector

showAllJaguarMarkers()

Display markers if a marker tab is active. Hide all markers otherwise.

Note:This function is named showAllJaguarMarkers() so it will override the AF2 showAllJaguarMarkers() function. Note that it doesn’t always show all markers.
stopPicking()

Stop atom picking in response to changing tabs

useParallelArg()
class schrodinger.application.jaguar.gui.base_panel.OptimizationAndScanMixin

Bases: schrodinger.application.jaguar.gui.base_panel.CoordinateMarkerMixin

A mixin that receives updates from Scan and Optimization tabs when new coordinate is added. It then checks whether this coordinate is defined as both scan and constraints coordinate. If this is the case a warning is shown

This mixin also ensures that constraints from both the Scan and Optimization tabs are marked.

Classes that use this mixin must have both “Scan” and “Optimization” tabs.

MARKER_TAB_CLASSES = [<class 'schrodinger.application.jaguar.gui.tabs.optimization_tab.OptimizationTab'>, <class 'schrodinger.application.jaguar.gui.tabs.scan_tab.ScanTab'>]
SCAN = 'scan'
OPTIMIZATION = 'optimization'
setup()

Connect the appropriate signals from Scan and Optimization tabs

checkConstraintCoords(atoms, coordinate_type)

This function checks whether a given coordinate entity already exists in constraint coordinates list. If it is there already a warning message is shown.

checkScanCoords(atoms, coordinate_type)

This function checks whether a given coordinate entity already exists in scan coordinates list. If it is there already a warning message is shown.

resolveCoordsConflict(atoms, coordinate_type, is_scan)

Shows dialog that prompts user to resolve conflict between scan and constraint.

Parameters:
  • atoms (list) – list of atom for new coordinate
  • coordinate_type (int) – coordinate type
  • is_scan (bool) – flag coordinate as scan (True) or constraint (False)
showAllJaguarMarkers()

Display the appropriate markers if a marker tab is active. Hide all markers otherwise.

Note:This function is named showAllJaguarMarkers() so it will override the AF2 showAllJaguarMarkers() function. Note that it never actually shows all markers.
stopPicking()

Stop atom picking in response to changing tabs

__init__

Initialize self. See help(type(self)) for accurate signature.

clearConstraintsIfProject()

Check to see if coordinate picking is allowed or if constraints need to be cleared in response to a project table change.

clearConstraintsIfWorkspace(what_changed)

Check to see if coordinate picking is allowed or if constraints need to be cleared in response to a workspace change. This callback is needed when the user adds or deleted atoms.

Parameters:what_changed (str) – A flag indicating what has changed in the workspace
layOut()

Once setup is complete, properly initialize the selected entries for the Scan and/or Optimization tabs

class schrodinger.application.jaguar.gui.base_panel.SubTabMixin

Bases: object

A mixin for panels that contain an InputTab with sub-tabs. This mixin controls markers and atom picking activation/deactivation. Requires InputTabMixin and must appear before InputTabMixin on the inheritance list.

setup()
deactivateTabs()

Deactivate workspace atom picking in all tabs

showEvent(event)

When the panel is shown, activate workspace atom picking if necessary

See Qt documentation for an explanation of the argument

tabChanged(new_index)

When the tab is changed, activate the newly selected tab

Parameters:new_index (int) – The index of the newly selected tab
showAllJaguarMarkers()

Display only markers for the current sub-tab and apply the sub-tab- specific settings

Note:This function is named showAllJaguarMarkers() so it will override the AF2 showAllJaguarMarkers() function. Note that it doesn’t always show all markers.
addSubTabMarker(atoms, settings, sub_tab_name)

Add a workspace marker for the specified sub-tab. If a marker already exists for the given atoms, sub-tab-specific settings will be added to the marker.

Parameters:
  • atoms (list) – A list of atoms to add the marker for
  • settings (dict) – The marker settings
  • sub_tab_name (str) – The name of the sub-tab that the marker is for
removeSubTabMarker(atoms, sub_tab_name)

Delete a workspace marker for the specified sub-tab. If the marker applies to other sub-tabs, then only the sub-tab-specific settings for the given sub-tab will be deleted.

Parameters:
  • atoms (list) – A list of atoms to remove the marker for
  • sub_tab_name (str) – The name of the sub-tab that the marker is for
setSubTabMarkerHighlighting(atoms, highlight, sub_tab_name)

Change the workspace marker highlighting for the specified marker.

Parameters:
  • atoms (list) – A list of atoms to change the highlighting for
  • highlight (bool) – Whether to highlight (True) or unhighlight (False) the specified marker
  • sub_tab_name (str) – The name of the sub-tab that the marker is for
Note:

This function assumes that the specified sub-tab is currently active.

projectUpdated()

Make sure that marker visibility is updated after the Input table has updated the included structures so that we can remove markers for structures that have been removed from the panel.

theoryToInput()

When the level of theory changes, pass the new theory level to the Input tab so it can enable or disable the Charge Constraints sub-tab as necessary.

__init__

Initialize self. See help(type(self)) for accurate signature.

class schrodinger.application.jaguar.gui.base_panel.AutomaticJobnameMixin

Bases: object

A mixin that automatically generates the jobname using the current panel settings. See PANEL-2712 for additional information.

setup()

Search for any tabs that contain jobname-relevant settings and connect signals so that the jobname updates when the appropriate settings change.

setPanelOptions()
jobnameData()
__init__

Initialize self. See help(type(self)) for accurate signature.

class schrodinger.application.jaguar.gui.base_panel.StandardPanel

Bases: schrodinger.application.jaguar.gui.base_panel.AutomaticJobnameMixin, schrodinger.application.jaguar.gui.base_panel.InputTabJobMixin, schrodinger.application.jaguar.gui.base_panel.StandardStatusMixin, schrodinger.application.jaguar.gui.base_panel.PropertiesMixin, schrodinger.application.jaguar.gui.base_panel.ReadEditMixin, schrodinger.application.jaguar.gui.base_panel.PropertiesValidatorMixin, schrodinger.application.jaguar.gui.base_panel.ExcitedStateValidatorMixin, schrodinger.application.jaguar.gui.base_panel.BaseJaguarPanel

A convenience class for standard Jaguar panels that:
  • Use the standard status bar message
  • Contain a Theory tab, a Propertiy tab, and an Input tab with a basis selector
  • Have Read… and Edit… options in the gear menu
DrawChildren = 2
DrawWindowBackground = 1
IGNORE_DELAYED_CALLBACKS = False
INPUT_SUB_TABS = []
IgnoreMask = 4
NO_PROGRESS_BAR = 0
PROGRESS_BAR_NO_TEXT = 2
PROGRESS_BAR_WITH_TEXT = 1
class PaintDeviceMetric

Bases: int

__init__

Initialize self. See help(type(self)) for accurate signature.

bit_length() → int

Number of bits necessary to represent self in binary. >>> bin(37) ‘0b100101’ >>> (37).bit_length() 6

conjugate()

Returns self, the complex conjugate of any int.

denominator

the denominator of a rational number in lowest terms

from_bytes(bytes, byteorder, *, signed=False) → int

Return the integer represented by the given array of bytes.

The bytes argument must be a bytes-like object (e.g. bytes or bytearray).

The byteorder argument determines the byte order used to represent the integer. If byteorder is ‘big’, the most significant byte is at the beginning of the byte array. If byteorder is ‘little’, the most significant byte is at the end of the byte array. To request the native byte order of the host system, use `sys.byteorder’ as the byte order value.

The signed keyword-only argument indicates whether two’s complement is used to represent the integer.

imag

the imaginary part of a complex number

numerator

the numerator of a rational number in lowest terms

real

the real part of a complex number

to_bytes(length, byteorder, *, signed=False) → bytes

Return an array of bytes representing an integer.

The integer is represented using length bytes. An OverflowError is raised if the integer is not representable with the given number of bytes.

The byteorder argument determines the byte order used to represent the integer. If byteorder is ‘big’, the most significant byte is at the beginning of the byte array. If byteorder is ‘little’, the most significant byte is at the end of the byte array. To request the native byte order of the host system, use `sys.byteorder’ as the byte order value.

The signed keyword-only argument determines whether two’s complement is used to represent the integer. If signed is False and a negative integer is given, an OverflowError is raised.

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

Bases: int

__init__

Initialize self. See help(type(self)) for accurate signature.

bit_length() → int

Number of bits necessary to represent self in binary. >>> bin(37) ‘0b100101’ >>> (37).bit_length() 6

conjugate()

Returns self, the complex conjugate of any int.

denominator

the denominator of a rational number in lowest terms

from_bytes(bytes, byteorder, *, signed=False) → int

Return the integer represented by the given array of bytes.

The bytes argument must be a bytes-like object (e.g. bytes or bytearray).

The byteorder argument determines the byte order used to represent the integer. If byteorder is ‘big’, the most significant byte is at the beginning of the byte array. If byteorder is ‘little’, the most significant byte is at the end of the byte array. To request the native byte order of the host system, use `sys.byteorder’ as the byte order value.

The signed keyword-only argument indicates whether two’s complement is used to represent the integer.

imag

the imaginary part of a complex number

numerator

the numerator of a rational number in lowest terms

real

the real part of a complex number

to_bytes(length, byteorder, *, signed=False) → bytes

Return an array of bytes representing an integer.

The integer is represented using length bytes. An OverflowError is raised if the integer is not representable with the given number of bytes.

The byteorder argument determines the byte order used to represent the integer. If byteorder is ‘big’, the most significant byte is at the beginning of the byte array. If byteorder is ‘little’, the most significant byte is at the end of the byte array. To request the native byte order of the host system, use `sys.byteorder’ as the byte order value.

The signed keyword-only argument determines whether two’s complement is used to represent the integer. If signed is False and a negative integer is given, an OverflowError is raised.

class RenderFlags

Bases: sip.simplewrapper

QWidget.RenderFlags(Union[QWidget.RenderFlags, QWidget.RenderFlag]) QWidget.RenderFlags(QWidget.RenderFlags)

__init__

Initialize self. See help(type(self)) for accurate signature.

SHORT_NAME = ''
TABS = []
TASK_NAME = ''
__init__()

Connect signals so the status bar is updated whenever the user changes the basis or theory level

acceptDrops(self) → bool
accessibleDescription(self) → str
accessibleName(self) → str
actionEvent(self, QActionEvent)
actions(self) → List[QAction]
activateWindow(self)
addAction(self, QAction)
addActions(self, object)
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
addProjectJobNote(job_id, jobname)

Adds a note to the project annotation file. :param job_id: The ID of the job, as assigned by Maestro :type job_id: string :param jobname: The name of the job, as shown in the job panel :type jobname: string

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, bool) → bool
buildCallbackDicts()

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

changeEvent(self, QEvent)
checkKeywordsLE(**kwargs)
checkMultiplicity(**kwargs)
checkMultiplicityProperty(**kwargs)
childAt(self, QPoint) → QWidget

childAt(self, int, int) -> QWidget

childEvent(self, QChildEvent)
children(self) → object
childrenRect(self) → QRect
childrenRegion(self) → QRegion
cleanup()
cleanupWriteCmd(cmdlist)

Removes options from the command that only work within Maestro. :param cmdlist: the job invocation command :type cmdlist: list

clearFocus(self)
clearMask(self)
close(self) → bool
closeEvent(event)

Receives the close event and calls the panel’s ‘close’-decorated appmethod. If the appmethod specifically returns False, the close event will be ignored and the panel will remain open. All other return values (including None) will allow the panel to proceed with closing.

This is a PyQT slot method and should not be explicitly called.

cmdListToCmd(cmdlist)

Converts a command list to a command string.

Parameters:cmdlist (list) – a list of commands
Returns:a command string with all arguments wrapped in double quotes
colorCount(self) → int
configDialogSettings()
connectNotify(self, QMetaMethod)
contentsMargins(self) → QMargins
contentsRect(self) → QRect
contextMenuEvent(self, QContextMenuEvent)
contextMenuPolicy(self) → Qt.ContextMenuPolicy
create(self, window: sip.voidptr = 0, initializeWindow: bool = True, destroyOldWindow: bool = True)
createBottomBar()
createCmd()

Create the command line for job launching. Note that the input file name will be added in launchJaguarJob.

Note:This function is intended to be overridden in BaseJaguarPanel subclassses that use different command lines. This code should not be moved into launchJaguarJob.
createInputSelector()
createJobDir()
createWindowContainer(QWindow, parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = 0) → QWidget
currentTaskRunner()
cursor(self) → QCursor
customContextMenuRequested

customContextMenuRequested(self, QPoint) [signal]

customEvent(self, 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, QObject = None) [signal]

devType(self) → int
devicePixelRatio(self) → int
devicePixelRatioF(self) → float
devicePixelRatioFScale() → float
disconnect(self)
disconnectNotify(self, QMetaMethod)
dragEnterEvent(self, QDragEnterEvent)
dragLeaveEvent(self, QDragLeaveEvent)
dragMoveEvent(self, QDragMoveEvent)
dropEvent(self, QDropEvent)
dumpObjectInfo(self)
dumpObjectTree(self)
dynamicPropertyNames(self) → object
editInput()

Display the edit dialog

effectiveWinId(self) → sip.voidptr
ensurePolished(self)
enterEvent(self, QEvent)
error(text, preferences=None, key='')

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 (schrodinger.utils.preferences.Preferences object) – The Preferences class to use to store the show/don’t show preference for this dialog. Note that the Preferences object must currently be set to the preference group containing key.
  • key (str) – The key to store the preference under
Return type:

None

event(self, QEvent) → bool
eventFilter(self, QObject, QEvent) → bool
find(sip.voidptr) → QWidget
findChild(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) → QObject

findChild(self, Tuple, name: str = ‘’, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> QObject

findChildren(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) → List[QObject]

findChildren(self, Tuple, name: str = ‘’, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, type, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, Tuple, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, type, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, Tuple, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject]

focusInEvent(self, QFocusEvent)
focusNextChild(self) → bool
focusNextPrevChild(self, bool) → bool
focusOutEvent(self, 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
generateJaguarStatus()

Create the standard Jaguar status bar message, such as “Jaguar: B3LYP / 6-31**, Single Point Energy”

Returns:The Jaguar status bar message
Return type:str
generateStatus()

Create the status bar message. This function will prepend any Jaguar- specific status bar message before the standard job information. The Jaguar-specific status bar message can be generated by defining generateJaguarStatus().

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
getCmdListArgValue(cmdlist, arg)
getConfigDialog()

Get the job configuration dialog

getContentsMargins(self) → Tuple[int, int, int, int]
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.
getJobSpec()
getMmJagKeywords()

Get Jaguar keywords that are specific to this panel and not set in any of the tabs.

Returns:A dictionary of Jaguar keywords
Return type:dict
getNumStructures()
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)
getTab(tab_class)

Get the tab of the specified class

Parameters:tab_class (type) – The class of the tab to retrieve
getTabParentAndLayout()

Get the parent widget for all tabs and layout to place the tabs into.

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, Qt.GestureType, flags: Union[Qt.GestureFlags, Qt.GestureFlag] = Qt.GestureFlags())
grabKeyboard(self)
grabMouse(self)

grabMouse(self, Union[QCursor, Qt.CursorShape])

grabShortcut(self, 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, 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.

hideEvent(event)
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 (schrodinger.utils.preferences.Preferences object) – The Preferences class to use to store the show/don’t show preference for this dialog. Note that the Preferences object must currently be set to the preference group containing key.
  • key (str) – The key to store the preference under
Return type:

None

inherits(self, str) → bool
initPainter(self, QPainter)
inputMethodEvent(self, QInputMethodEvent)
inputMethodHints(self) → Qt.InputMethodHints
inputMethodQuery(self, Qt.InputMethodQuery) → Any
insertAction(self, QAction, QAction)
insertActions(self, QAction, Iterable[QAction])
installEventFilter(self, QObject)
isActiveWindow(self) → bool
isAncestorOf(self, QWidget) → bool
isEnabled(self) → bool
isEnabledTo(self, 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, QMetaMethod) → bool
isVisible(self) → bool
isVisibleTo(self, QWidget) → bool
isWidgetType(self) → bool
isWindow(self) → bool
isWindowModified(self) → bool
isWindowType(self) → bool
jagInputEdited(jag_input, new_struc_flag)

Process the Jaguar settings that the user entered in the Edit dialog.

Parameters:
  • jag_input (schrodinger.application.jaguar.input.JaguarInput) – The Jaguar settings from the Edit dialog
  • new_struc_flag (int) –

    A flag indicating whether the structure in jag_input object should be loaded into the workspace. The flag must be one of:

    • EditDialog.SAME_STRUCTURE: The workspace was not changed by the Edit dialog and does not need to be changed.
    • NEW_STRUCTURE: The structure in jag_input is new and should be loaded into the workspace.
    • RELOAD_STRUCTURE: The structure in jag_input is not new, but the Edit dialog changed the workspace, so the workspace should be restored to its previous state.
jobDir()
jobname()

Return the job name currently set for the current task.

jobnameArg()

Build the command line arguments for passing the job name.

Returns:A list of command line arguments
Return type:list
jobnameData()
jobnameDataChanged()

If the job name includes panel settings, then this method should be called whenever the relevant panel settings are modified

keyPressEvent(self, QKeyEvent)
keyReleaseEvent(self, QKeyEvent)
keyboardGrabber() → QWidget
killTimer(self, int)
lastJobCompleted
launchFromJobSpec(oplsdir=None)

Call this function in start method if the calling script implements the launch api. This function requires implementation of getJobSpec to return the job specification.

Parameters:oplsdir (None, False or str) – If None (default), search widgets on the panel for a schrodinger.ui.qt.forcefield.ForceFieldSelector (or subclass thereof) and get any custom OPLS directory information from that widget. If False, do not use a custom OPLS directory. If a str, this is the path to use for the custom OPLS directory. Note that the OPLSDIR setting found by oplsdir=None is ambiguous if there is more than one ForceFieldSelector child widget, and that ForceFieldSelector widgets that are NOT child widgets of this panel - such as a widget on a dialog - will not be found. Setting this parameter to False for a panel that does not use a ForceFieldSelector widget avoids the widget search but will only shave a few thousandths of a second off job startup time even for very complex panels.
launchJaguarJob(jag_input)

Launch the specified job.

Parameters:jag_input (schrodinger.application.jaguar.input.JaguarInput) – A JaguarInput object to run
Returns:A job object for the launched job
Return type:schrodinger.job.jobcontrol.Job
launchJobCmd(cmdlist, show_progress_bar=0, auto_add_host=True, use_parallel_flag=True)

Launches a job control command. Use this to launch scripts that accept the standard job control options arguments like -HOST, -DISP, etc. By default, automatically populates standard arguments from the config dialog, but will not overwrite if they are already found in cmdlist. For example, if -HOST is found in cmdlist, launchJobCmd will ignore the host specified in the config dialog.

This method honors self.start_mode; it can either launch the script or write out a job file to the job directory.

Parameters:
  • cmdlist (list) – the command list
  • show_progress_bar (int) – Whether or not to show a progress bar tracking the job’s status. If NO_PROGRESS_BAR, no progress bar will be shown. If PROGRESS_BAR_NO_TEXT, a progress bar will be shown. If PROGRESS_BAR_WITH_TEXT, a progress bar will be shown and will also display the job progress text description.
  • auto_add_host (bool) – Whether or not to automatically add -HOST flag to command when it is not already included.
  • use_parallel_flag (bool) – Whether requesting CPUs > 1 without specifying threads > 1 should be represented by the use of the -PARALLEL X flag (True, default) or -HOST host:X (False). -PARALLEL is a Jaguar flag and may not be appropriate for other programs.
launchLauncher(slauncher, show_progress_bar=0)

Either launches a launcher instance or writes the job invocation command, depending on the state of self.start_mode. This allows the panel’s start method to double as a write method.

Calling launchLauncher() is only necessary if creating a customized launcher using makeLauncher().

Parameters:show_progress_bar (int) – Whether or not to show a progress bar tracking the job’s status. If NO_PROGRESS_BAR, no progress bar will be shown. If PROGRESS_BAR_NO_TEXT, a progress bar will be shown. If PROGRESS_BAR_WITH_TEXT, a progress bar will be shown and will also display the job progress text description.
launchScript(script, script_args=None, input_files=[], structure_output_file=None, output_files=[], aux_modules=[], show_progress_bar=0, **kwargs)

DEPRECATED for launchFromJobSpec.

Creates and launches a script using makeLauncher. For documentation on method parameters, see makeLauncher below. Use this method for scripts that do not themselves integrate with job control.

This method honors self.start_mode; it can either launch the script or write out a job file to the job directory.

Parameters:show_progress_bar (int) – Whether or not to show a progress bar tracking the job’s status. If NO_PROGRESS_BAR, no progress bar will be shown. If PROGRESS_BAR_NO_TEXT, a progress bar will be shown. If PROGRESS_BAR_WITH_TEXT, a progress bar will be shown and will also display the job progress text description.
launcherToCmdList(slauncher)
layOut()
layout(self) → QLayout
layoutDirection(self) → Qt.LayoutDirection
leaveEvent(self, 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)
makeLauncher(script, script_args=[], input_files=[], structure_output_file=None, output_files=[], aux_modules=[], **kwargs)

DEPRECATED for launchFromJobSpec.

Create a launcher.Launcher instance using the settings defined by the panel, its config dialog, and specified arguments. Returns a launcher instance ready to be launched or further modified. Use this method for scripts that do not themselves integrate with job control.

Only use this method if you need to modify the launcher before launching it. Otherwise, the method launchScript() is preferred to create the launcher and launch it.

Parameters:
  • script (str) – Remote path to the script to be launched. See Launcher documentation for more info. If only launching to localhost is desired, then a local path can be specified.
  • script_args (list of str) – arguments to be added to the script’s command line
  • input_files (list of str) – input files that will be copied to the temporary job directory.
  • structure_output_file (str) – this is the file that will be registered with job control to incorporate at the end of the job
  • output_files (list of str) – additional output files to be copied back from the temporary job directory
  • aux_modules (list of modules) – Additional modules required by the script
Returns:

A prepped launcher

Return type:

Launcher

mapFrom(self, QWidget, QPoint) → QPoint
mapFromGlobal(self, QPoint) → QPoint
mapFromParent(self, QPoint) → QPoint
mapTo(self, QWidget, QPoint) → QPoint
mapToGlobal(self, QPoint) → QPoint
mapToParent(self, QPoint) → QPoint
mask(self) → QRegion
maximumHeight(self) → int
maximumSize(self) → QSize
maximumWidth(self) → int
metaObject(self) → QMetaObject
metric(self, QPaintDevice.PaintDeviceMetric) → int
minimumHeight(self) → int
minimumSize(self) → QSize
minimumSizeHint(self) → QSize
minimumWidth(self) → int
mouseDoubleClickEvent(self, QMouseEvent)
mouseGrabber() → QWidget
mouseMoveEvent(self, QMouseEvent)
mousePressEvent(self, QMouseEvent)
mouseReleaseEvent(self, QMouseEvent)
move(self, QPoint)

move(self, int, int)

moveEvent(self, QMoveEvent)
moveToThread(self, QThread)
nativeEvent(self, Union[QByteArray, bytes, bytearray], sip.voidptr) → Tuple[bool, int]
nativeParentWidget(self) → QWidget
nextInFocusChain(self) → QWidget
normalGeometry(self) → QRect
objectName(self) → str
objectNameChanged

objectNameChanged(self, str) [signal]

overrideWindowFlags(self, Union[Qt.WindowFlags, Qt.WindowType])
overrideWindowState(self, Union[Qt.WindowStates, Qt.WindowState])
paintEngine(self) → QPaintEngine
paintEvent(self, 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
projectUpdated()

Update the table whenever the project updates

property(self, 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)
read(allowed_options=None)

Read in the user-specified Jaguar input file and apply it’s settings to the panel.

Parameters:allowed_options (list) – list of allowed options for the Read dialog. Items of the list should be keys in the schrodinger.jaguar.gui.filedialog.ReadFileDialog.OPTION_TEXT dictionary.
readShFile(jobname)

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

receivers(self, PYQT_SIGNAL) → int
rect(self) → QRect
registerJob(job, show_progress_bar=0)

Registers a job with the periodic job check callback and starts timer.

Parameters:
  • job (jobcontrol.Job) – job to register
  • show_progress_bar (int) – Whether or not to show a progress bar tracking the job’s status. If NO_PROGRESS_BAR, no progress bar will be shown. If PROGRESS_BAR_NO_TEXT, a progress bar will be shown. If PROGRESS_BAR_WITH_TEXT, a progress bar will be shown and will also display the job progress text description.
releaseKeyboard(self)
releaseMouse(self)
releaseShortcut(self, int)
removeAction(self, 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, 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, QPaintDevice, targetOffset: QPoint = QPoint(), sourceRegion: QRegion = QRegion(), flags: Union[QWidget.RenderFlags, QWidget.RenderFlag] = QWidget.RenderFlags(QWidget.DrawWindowBackground|QWidget.DrawChildren))

render(self, QPainter, targetOffset: QPoint = QPoint(), sourceRegion: QRegion = QRegion(), flags: Union[QWidget.RenderFlags, QWidget.RenderFlag] = QWidget.RenderFlags(QWidget.DrawWindowBackground|QWidget.DrawChildren))

repaint(self)

repaint(self, int, int, int, int) repaint(self, QRect) repaint(self, QRegion)

reportValidation(results)

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

Parameters:results (ValidationResults) – Set of results generated by validate()
reset()

Reset the panel after prompting the user for confirmation

Returns:Returns False if the user does not want to reset. This will prevent AF2 from resetting the input selector.
Return type:bool or NoneType
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, QSize)

resize(self, int, int)

resizeEvent(self, 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, Union[QByteArray, bytes, bytearray]) → bool
restorePreviouslyIncludedEntry()

Restore the workspace to it’s previous state if the Edit dialog didn’t change the structure but did clear the workspace via a Preview.

Returns:A tuple of - The entry id of the previously included entry, or None if there
wasn’t one
  • The title of the previously included entry, or None if there wasn’t one
Return type:tuple
run()
runCanvas()

This handles Canvas-specific logic

runEditedInput(jag_input)

Run a job using the JaguarInput file created in the Edit dialog.

Parameters:jag_input (schrodinger.application.jaguar.input.JaguarInput) – The JaguarInput object to run
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()
runTabValidation(**kwargs)
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

sanitizeJobnameText(text)

Modify the given text so it can be used in a job name. White space is replaced with underscores and all other disallowed characters are removed.

Parameters:text (basestring) – The text to sanitize
Returns:The sanitized text
Return type:basestring
saveGeometry(self) → QByteArray
savePersistentOptions()

Store all persistent options to the preferences.

scroll(self, int, int)

scroll(self, int, int, QRect)

sender(self) → QObject
senderSignalIndex(self) → int
setAcceptDrops(self, bool)
setAccessibleDescription(self, str)
setAccessibleName(self, 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, Qt.WidgetAttribute, on: bool = True)
setAutoFillBackground(self, bool)
setBackgroundRole(self, QPalette.ColorRole)
setBaseSize(self, int, int)

setBaseSize(self, QSize)

setConfigDialogSettings(new_values)
setContentsMargins(self, int, int, int, int)

setContentsMargins(self, QMargins)

setContextMenuPolicy(self, 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, Union[QCursor, Qt.CursorShape])
setDefaults()
setDisabled(self, bool)
setEnabled(self, bool)
setFixedHeight(self, int)
setFixedSize(self, QSize)

setFixedSize(self, int, int)

setFixedWidth(self, int)
setFocus(self)

setFocus(self, Qt.FocusReason)

setFocusPolicy(self, Qt.FocusPolicy)
setFocusProxy(self, QWidget)
setFont(self, QFont)
setForegroundRole(self, QPalette.ColorRole)
setGeometry(self, QRect)

setGeometry(self, int, int, int, int)

setGraphicsEffect(self, QGraphicsEffect)
setHidden(self, bool)
setInputMethodHints(self, Union[Qt.InputMethodHints, Qt.InputMethodHint])
setJobname(jobname)

Set the job name for the current task.

setLayout(self, QLayout)
setLayoutDirection(self, Qt.LayoutDirection)
setLocale(self, QLocale)
setMask(self, QBitmap)

setMask(self, QRegion)

setMaximumHeight(self, int)
setMaximumSize(self, int, int)

setMaximumSize(self, QSize)

setMaximumWidth(self, int)
setMinimumHeight(self, int)
setMinimumSize(self, int, int)

setMinimumSize(self, QSize)

setMinimumWidth(self, int)
setMouseTracking(self, bool)
setObjValue(obj, value)
setObjectName(self, str)
setPalette(self, QPalette)
setPanelOptions()
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, QWidget)

setParent(self, QWidget, Union[Qt.WindowFlags, Qt.WindowType])

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, str, Any) → bool
setShortcutAutoRepeat(self, int, enabled: bool = True)
setShortcutEnabled(self, int, enabled: bool = True)
setSizeIncrement(self, int, int)

setSizeIncrement(self, QSize)

setSizePolicy(self, QSizePolicy)

setSizePolicy(self, QSizePolicy.Policy, QSizePolicy.Policy)

setStatusTip(self, str)
setStyle(self, QStyle)
setStyleSheet(self, str)
setTabOrder(QWidget, QWidget)
setTabletTracking(self, bool)
setToolTip(self, str)
setToolTipDuration(self, int)
setUpdatesEnabled(self, bool)
setVisible(self, 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, str)
setWindowFilePath(self, str)
setWindowFlag(self, Qt.WindowType, on: bool = True)
setWindowFlags(self, Union[Qt.WindowFlags, Qt.WindowType])
setWindowIcon(self, QIcon)
setWindowIconText(self, str)
setWindowModality(self, Qt.WindowModality)
setWindowModified(self, bool)
setWindowOpacity(self, float)
setWindowRole(self, str)
setWindowState(self, Union[Qt.WindowStates, Qt.WindowState])
setWindowTitle(self, str)
setup()

Search for any tabs that contain jobname-relevant settings and connect signals so that the jobname updates when the appropriate settings change.

setupJobCmd(cmdlist, auto_add_host=True, use_parallel_flag=True)

Adds standard arguments HOST, NJOBS, PROJ, DISP, VIEWNAME to the cmdlist if they are set in the config dialog. Settings pre-existing in the cmdlist take precedence over the config dialog settings.

Parameters:
  • cmdlist (list) – the command list
  • auto_add_host (bool) – Whether or not to automatically add -HOST flat to command when it is not already included.
  • use_parallel_flag (bool) – Whether requesting CPUs > 1 without specifying threads > 1 should be represented by the use of the -PARALLEL X flag (True, default) or -HOST host:X (False). -PARALLEL is a Jaguar flag and may not be appropriate for other programs.
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.

showEvent(event)

When the panel is shown, call the panel’s ‘show’-decorated methods. Note that restoring a minimized panel will not trigger the ‘show’ methods.

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.
showSTUDialog(sh_txt, jobname)

Shows dialog with information necessary to start a STU test, including a label that links to the test suite.

Parameters:sh_txt (str) – Text contained within the .sh file
signalsBlocked(self) → bool
size(self) → QSize
sizeHint(self) → QSize
sizeIncrement(self) → QSize
sizePolicy(self) → QSizePolicy
stackUnder(self, QWidget)
start()

Launch the job. Note that _getGeneralSettings must be run before this function to update and validate self._jag_input.

Returns:A job object for the launched job
Return type:schrodinger.job.jobcontrol.Job
startDebug()
startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) → int
startUp()
staticMetaObject = <PyQt5.QtCore.QMetaObject object>
statusTip(self) → str
style(self) → QStyle
styleSheet(self) → str
syncConfigDialog()
tabletEvent(self, QTabletEvent)
testAttribute(self, Qt.WidgetAttribute) → bool
thread(self) → QThread
timerEvent(self, QTimerEvent)
title
toolTip(self) → str
toolTipDuration(self) → int
tr(self, str, disambiguation: str = None, n: int = -1) → str
underMouse(self) → bool
ungrabGesture(self, Qt.GestureType)
unsetCursor(self)
unsetLayoutDirection(self)
unsetLocale(self)
update(self)

update(self, QRect) update(self, QRegion) update(self, int, int, int, int)

updateGeometry(self)
updateJobname(uniquify_custom=True)

Generate a new job name based on the current panel settings

Parameters:uniquify_custom (bool) – Whether we should uniquify custom job name by adding integers to the end. If False, only standard and modified job names will be uniquified. (See JobnameType for an explanation of job name types.)
updateMicroFocus(self)
updatePropertiesTab()

Notify the properties tab that the level of theory or basis set has been updated.

updateStatusBar()

Updates the status bar.

updatesEnabled(self) → bool
validForceFieldSelectorCustomOPLSDir()

Check whether a force field selector exists and if so whether it is set to use a custom OPLS directory that is valid. :return: whether OPLS directory has issues :rtype: 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 (schrodinger.utils.preferences.Preferences object) – The Preferences class to use to store the show/don’t show preference for this dialog. Note that the Preferences object must currently be set to the preference group containing key.
  • key (str) – The key to store the preference under
Return type:

None

whatsThis(self) → str
wheelEvent(self, QWheelEvent)
width(self) → int
widthMM(self) → int
winId(self) → sip.voidptr
window(self) → QWidget
windowFilePath(self) → str
windowFlags(self) → Qt.WindowFlags
windowHandle(self) → QWindow
windowIcon(self) → QIcon
windowIconChanged

windowIconChanged(self, QIcon) [signal]

windowIconText(self) → str
windowIconTextChanged

windowIconTextChanged(self, str) [signal]

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

windowTitleChanged(self, str) [signal]

windowType(self) → Qt.WindowType
workspaceChanged(what_changed)

Update the table whenever the workspace changes in case the user changed the charge of a molecule.

Parameters:what_changed (str) – A flag indicating what changed in the workspace
writeJobCmd(cmdlist)

Writes the job invocation command to a file named “<jobname>.sh” Removes options from the command that are maestro-specific.

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 and close the panel.

x(self) → int
y(self) → int
class schrodinger.application.jaguar.gui.base_panel.StandardPanelNoInputTab

Bases: schrodinger.application.jaguar.gui.base_panel.StandardStatusMixin, schrodinger.application.jaguar.gui.base_panel.PropertiesMixin, schrodinger.application.jaguar.gui.base_panel.ReadEditMixin, schrodinger.application.jaguar.gui.base_panel.NoInputTabJobMixin, schrodinger.application.jaguar.gui.base_panel.BaseJaguarPanel

A convenience class for standard Jaguar panels that use a “Molecule” tab (with a basis selector) in place of an “Input” tab.

DrawChildren = 2
DrawWindowBackground = 1
IGNORE_DELAYED_CALLBACKS = False
INPUT_SUB_TABS = []
IgnoreMask = 4
NO_PROGRESS_BAR = 0
PROGRESS_BAR_NO_TEXT = 2
PROGRESS_BAR_WITH_TEXT = 1
class PaintDeviceMetric

Bases: int

__init__

Initialize self. See help(type(self)) for accurate signature.

bit_length() → int

Number of bits necessary to represent self in binary. >>> bin(37) ‘0b100101’ >>> (37).bit_length() 6

conjugate()

Returns self, the complex conjugate of any int.

denominator

the denominator of a rational number in lowest terms

from_bytes(bytes, byteorder, *, signed=False) → int

Return the integer represented by the given array of bytes.

The bytes argument must be a bytes-like object (e.g. bytes or bytearray).

The byteorder argument determines the byte order used to represent the integer. If byteorder is ‘big’, the most significant byte is at the beginning of the byte array. If byteorder is ‘little’, the most significant byte is at the end of the byte array. To request the native byte order of the host system, use `sys.byteorder’ as the byte order value.

The signed keyword-only argument indicates whether two’s complement is used to represent the integer.

imag

the imaginary part of a complex number

numerator

the numerator of a rational number in lowest terms

real

the real part of a complex number

to_bytes(length, byteorder, *, signed=False) → bytes

Return an array of bytes representing an integer.

The integer is represented using length bytes. An OverflowError is raised if the integer is not representable with the given number of bytes.

The byteorder argument determines the byte order used to represent the integer. If byteorder is ‘big’, the most significant byte is at the beginning of the byte array. If byteorder is ‘little’, the most significant byte is at the end of the byte array. To request the native byte order of the host system, use `sys.byteorder’ as the byte order value.

The signed keyword-only argument determines whether two’s complement is used to represent the integer. If signed is False and a negative integer is given, an OverflowError is raised.

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

Bases: int

__init__

Initialize self. See help(type(self)) for accurate signature.

bit_length() → int

Number of bits necessary to represent self in binary. >>> bin(37) ‘0b100101’ >>> (37).bit_length() 6

conjugate()

Returns self, the complex conjugate of any int.

denominator

the denominator of a rational number in lowest terms

from_bytes(bytes, byteorder, *, signed=False) → int

Return the integer represented by the given array of bytes.

The bytes argument must be a bytes-like object (e.g. bytes or bytearray).

The byteorder argument determines the byte order used to represent the integer. If byteorder is ‘big’, the most significant byte is at the beginning of the byte array. If byteorder is ‘little’, the most significant byte is at the end of the byte array. To request the native byte order of the host system, use `sys.byteorder’ as the byte order value.

The signed keyword-only argument indicates whether two’s complement is used to represent the integer.

imag

the imaginary part of a complex number

numerator

the numerator of a rational number in lowest terms

real

the real part of a complex number

to_bytes(length, byteorder, *, signed=False) → bytes

Return an array of bytes representing an integer.

The integer is represented using length bytes. An OverflowError is raised if the integer is not representable with the given number of bytes.

The byteorder argument determines the byte order used to represent the integer. If byteorder is ‘big’, the most significant byte is at the beginning of the byte array. If byteorder is ‘little’, the most significant byte is at the end of the byte array. To request the native byte order of the host system, use `sys.byteorder’ as the byte order value.

The signed keyword-only argument determines whether two’s complement is used to represent the integer. If signed is False and a negative integer is given, an OverflowError is raised.

class RenderFlags

Bases: sip.simplewrapper

QWidget.RenderFlags(Union[QWidget.RenderFlags, QWidget.RenderFlag]) QWidget.RenderFlags(QWidget.RenderFlags)

__init__

Initialize self. See help(type(self)) for accurate signature.

SHORT_NAME = ''
TABS = []
TASK_NAME = ''
__init__()

Connect signals so the status bar is updated whenever the user changes the basis or theory level

acceptDrops(self) → bool
accessibleDescription(self) → str
accessibleName(self) → str
actionEvent(self, QActionEvent)
actions(self) → List[QAction]
activateWindow(self)
addAction(self, QAction)
addActions(self, object)
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
addProjectJobNote(job_id, jobname)

Adds a note to the project annotation file. :param job_id: The ID of the job, as assigned by Maestro :type job_id: string :param jobname: The name of the job, as shown in the job panel :type jobname: string

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, bool) → bool
buildCallbackDicts()

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

changeEvent(self, QEvent)
checkKeywordsLE(**kwargs)
childAt(self, QPoint) → QWidget

childAt(self, int, int) -> QWidget

childEvent(self, QChildEvent)
children(self) → object
childrenRect(self) → QRect
childrenRegion(self) → QRegion
cleanup()
cleanupWriteCmd(cmdlist)

Removes options from the command that only work within Maestro. :param cmdlist: the job invocation command :type cmdlist: list

clearFocus(self)
clearMask(self)
close(self) → bool
closeEvent(event)

Receives the close event and calls the panel’s ‘close’-decorated appmethod. If the appmethod specifically returns False, the close event will be ignored and the panel will remain open. All other return values (including None) will allow the panel to proceed with closing.

This is a PyQT slot method and should not be explicitly called.

cmdListToCmd(cmdlist)

Converts a command list to a command string.

Parameters:cmdlist (list) – a list of commands
Returns:a command string with all arguments wrapped in double quotes
colorCount(self) → int
configDialogSettings()
connectNotify(self, QMetaMethod)
contentsMargins(self) → QMargins
contentsRect(self) → QRect
contextMenuEvent(self, QContextMenuEvent)
contextMenuPolicy(self) → Qt.ContextMenuPolicy
create(self, window: sip.voidptr = 0, initializeWindow: bool = True, destroyOldWindow: bool = True)
createBottomBar()
createCmd()

Create the command line for job launching. Note that the input file name will be added in launchJaguarJob.

Note:This function is intended to be overridden in BaseJaguarPanel subclassses that use different command lines. This code should not be moved into launchJaguarJob.
createInputSelector()
createJobDir()
createWindowContainer(QWindow, parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = 0) → QWidget
currentTaskRunner()
cursor(self) → QCursor
customContextMenuRequested

customContextMenuRequested(self, QPoint) [signal]

customEvent(self, 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, QObject = None) [signal]

devType(self) → int
devicePixelRatio(self) → int
devicePixelRatioF(self) → float
devicePixelRatioFScale() → float
disconnect(self)
disconnectNotify(self, QMetaMethod)
dragEnterEvent(self, QDragEnterEvent)
dragLeaveEvent(self, QDragLeaveEvent)
dragMoveEvent(self, QDragMoveEvent)
dropEvent(self, QDropEvent)
dumpObjectInfo(self)
dumpObjectTree(self)
dynamicPropertyNames(self) → object
editInput()

Display the edit dialog

effectiveWinId(self) → sip.voidptr
ensurePolished(self)
enterEvent(self, QEvent)
error(text, preferences=None, key='')

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 (schrodinger.utils.preferences.Preferences object) – The Preferences class to use to store the show/don’t show preference for this dialog. Note that the Preferences object must currently be set to the preference group containing key.
  • key (str) – The key to store the preference under
Return type:

None

event(self, QEvent) → bool
eventFilter(self, QObject, QEvent) → bool
find(sip.voidptr) → QWidget
findChild(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) → QObject

findChild(self, Tuple, name: str = ‘’, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> QObject

findChildren(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) → List[QObject]

findChildren(self, Tuple, name: str = ‘’, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, type, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, Tuple, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, type, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, Tuple, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject]

focusInEvent(self, QFocusEvent)
focusNextChild(self) → bool
focusNextPrevChild(self, bool) → bool
focusOutEvent(self, 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
generateJaguarStatus()

Create the standard Jaguar status bar message, such as “Jaguar: B3LYP / 6-31**, Single Point Energy”

Returns:The Jaguar status bar message
Return type:str
generateStatus()

Create the status bar message. This function will prepend any Jaguar- specific status bar message before the standard job information. The Jaguar-specific status bar message can be generated by defining generateJaguarStatus().

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
getCmdListArgValue(cmdlist, arg)
getConfigDialog()

Get the job configuration dialog

getContentsMargins(self) → Tuple[int, int, int, int]
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.
getJobSpec()
getMmJagKeywords()

Get Jaguar keywords that are specific to this panel and not set in any of the tabs.

Returns:A dictionary of Jaguar keywords
Return type:dict
getNumStructures()

Get the number of structures that this panel is currently representing

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)
getTab(tab_class)

Get the tab of the specified class

Parameters:tab_class (type) – The class of the tab to retrieve
getTabParentAndLayout()

Get the parent widget for all tabs and layout to place the tabs into.

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, Qt.GestureType, flags: Union[Qt.GestureFlags, Qt.GestureFlag] = Qt.GestureFlags())
grabKeyboard(self)
grabMouse(self)

grabMouse(self, Union[QCursor, Qt.CursorShape])

grabShortcut(self, 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, 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.

hideEvent(event)
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 (schrodinger.utils.preferences.Preferences object) – The Preferences class to use to store the show/don’t show preference for this dialog. Note that the Preferences object must currently be set to the preference group containing key.
  • key (str) – The key to store the preference under
Return type:

None

inherits(self, str) → bool
initPainter(self, QPainter)
inputMethodEvent(self, QInputMethodEvent)
inputMethodHints(self) → Qt.InputMethodHints
inputMethodQuery(self, Qt.InputMethodQuery) → Any
insertAction(self, QAction, QAction)
insertActions(self, QAction, Iterable[QAction])
installEventFilter(self, QObject)
isActiveWindow(self) → bool
isAncestorOf(self, QWidget) → bool
isEnabled(self) → bool
isEnabledTo(self, 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, QMetaMethod) → bool
isVisible(self) → bool
isVisibleTo(self, QWidget) → bool
isWidgetType(self) → bool
isWindow(self) → bool
isWindowModified(self) → bool
isWindowType(self) → bool
jagInputEdited(jag_input, new_struc_flag)

Process the Jaguar settings that the user entered in the Edit dialog.

Parameters:
  • jag_input (schrodinger.application.jaguar.input.JaguarInput) – The Jaguar settings from the Edit dialog
  • new_struc_flag (int) –

    A flag indicating whether the structure in jag_input object should be loaded into the workspace. The flag must be one of:

    • EditDialog.SAME_STRUCTURE: The workspace was not changed by the Edit dialog and does not need to be changed.
    • NEW_STRUCTURE: The structure in jag_input is new and should be loaded into the workspace.
    • RELOAD_STRUCTURE: The structure in jag_input is not new, but the Edit dialog changed the workspace, so the workspace should be restored to its previous state.
jobDir()
jobname()

Return the job name currently set for the current task.

jobnameArg()

Build the command line arguments for passing the job name.

Returns:A list of command line arguments
Return type:list
jobnameData()

Provides panel settings that are to be incorporated into job names. If self.default_jobname includes string formatting characters (i.e. %s, {0}, etc.), then this method must be implemented. It should return a tuple or a dictionary to be interpolated into the job name.

jobnameDataChanged()

If the job name includes panel settings, then this method should be called whenever the relevant panel settings are modified

keyPressEvent(self, QKeyEvent)
keyReleaseEvent(self, QKeyEvent)
keyboardGrabber() → QWidget
killTimer(self, int)
lastJobCompleted
launchFromJobSpec(oplsdir=None)

Call this function in start method if the calling script implements the launch api. This function requires implementation of getJobSpec to return the job specification.

Parameters:oplsdir (None, False or str) – If None (default), search widgets on the panel for a schrodinger.ui.qt.forcefield.ForceFieldSelector (or subclass thereof) and get any custom OPLS directory information from that widget. If False, do not use a custom OPLS directory. If a str, this is the path to use for the custom OPLS directory. Note that the OPLSDIR setting found by oplsdir=None is ambiguous if there is more than one ForceFieldSelector child widget, and that ForceFieldSelector widgets that are NOT child widgets of this panel - such as a widget on a dialog - will not be found. Setting this parameter to False for a panel that does not use a ForceFieldSelector widget avoids the widget search but will only shave a few thousandths of a second off job startup time even for very complex panels.
launchJaguarJob(jag_input)

Launch the specified job.

Parameters:jag_input (schrodinger.application.jaguar.input.JaguarInput) – A JaguarInput object to run
Returns:A job object for the launched job
Return type:schrodinger.job.jobcontrol.Job
launchJobCmd(cmdlist, show_progress_bar=0, auto_add_host=True, use_parallel_flag=True)

Launches a job control command. Use this to launch scripts that accept the standard job control options arguments like -HOST, -DISP, etc. By default, automatically populates standard arguments from the config dialog, but will not overwrite if they are already found in cmdlist. For example, if -HOST is found in cmdlist, launchJobCmd will ignore the host specified in the config dialog.

This method honors self.start_mode; it can either launch the script or write out a job file to the job directory.

Parameters:
  • cmdlist (list) – the command list
  • show_progress_bar (int) – Whether or not to show a progress bar tracking the job’s status. If NO_PROGRESS_BAR, no progress bar will be shown. If PROGRESS_BAR_NO_TEXT, a progress bar will be shown. If PROGRESS_BAR_WITH_TEXT, a progress bar will be shown and will also display the job progress text description.
  • auto_add_host (bool) – Whether or not to automatically add -HOST flag to command when it is not already included.
  • use_parallel_flag (bool) – Whether requesting CPUs > 1 without specifying threads > 1 should be represented by the use of the -PARALLEL X flag (True, default) or -HOST host:X (False). -PARALLEL is a Jaguar flag and may not be appropriate for other programs.
launchLauncher(slauncher, show_progress_bar=0)

Either launches a launcher instance or writes the job invocation command, depending on the state of self.start_mode. This allows the panel’s start method to double as a write method.

Calling launchLauncher() is only necessary if creating a customized launcher using makeLauncher().

Parameters:show_progress_bar (int) – Whether or not to show a progress bar tracking the job’s status. If NO_PROGRESS_BAR, no progress bar will be shown. If PROGRESS_BAR_NO_TEXT, a progress bar will be shown. If PROGRESS_BAR_WITH_TEXT, a progress bar will be shown and will also display the job progress text description.
launchScript(script, script_args=None, input_files=[], structure_output_file=None, output_files=[], aux_modules=[], show_progress_bar=0, **kwargs)

DEPRECATED for launchFromJobSpec.

Creates and launches a script using makeLauncher. For documentation on method parameters, see makeLauncher below. Use this method for scripts that do not themselves integrate with job control.

This method honors self.start_mode; it can either launch the script or write out a job file to the job directory.

Parameters:show_progress_bar (int) – Whether or not to show a progress bar tracking the job’s status. If NO_PROGRESS_BAR, no progress bar will be shown. If PROGRESS_BAR_NO_TEXT, a progress bar will be shown. If PROGRESS_BAR_WITH_TEXT, a progress bar will be shown and will also display the job progress text description.
launcherToCmdList(slauncher)
layOut()
layout(self) → QLayout
layoutDirection(self) → Qt.LayoutDirection
leaveEvent(self, 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)
makeLauncher(script, script_args=[], input_files=[], structure_output_file=None, output_files=[], aux_modules=[], **kwargs)

DEPRECATED for launchFromJobSpec.

Create a launcher.Launcher instance using the settings defined by the panel, its config dialog, and specified arguments. Returns a launcher instance ready to be launched or further modified. Use this method for scripts that do not themselves integrate with job control.

Only use this method if you need to modify the launcher before launching it. Otherwise, the method launchScript() is preferred to create the launcher and launch it.

Parameters:
  • script (str) – Remote path to the script to be launched. See Launcher documentation for more info. If only launching to localhost is desired, then a local path can be specified.
  • script_args (list of str) – arguments to be added to the script’s command line
  • input_files (list of str) – input files that will be copied to the temporary job directory.
  • structure_output_file (str) – this is the file that will be registered with job control to incorporate at the end of the job
  • output_files (list of str) – additional output files to be copied back from the temporary job directory
  • aux_modules (list of modules) – Additional modules required by the script
Returns:

A prepped launcher

Return type:

Launcher

mapFrom(self, QWidget, QPoint) → QPoint
mapFromGlobal(self, QPoint) → QPoint
mapFromParent(self, QPoint) → QPoint
mapTo(self, QWidget, QPoint) → QPoint
mapToGlobal(self, QPoint) → QPoint
mapToParent(self, QPoint) → QPoint
mask(self) → QRegion
maximumHeight(self) → int
maximumSize(self) → QSize
maximumWidth(self) → int
metaObject(self) → QMetaObject
metric(self, QPaintDevice.PaintDeviceMetric) → int
minimumHeight(self) → int
minimumSize(self) → QSize
minimumSizeHint(self) → QSize
minimumWidth(self) → int
mouseDoubleClickEvent(self, QMouseEvent)
mouseGrabber() → QWidget
mouseMoveEvent(self, QMouseEvent)
mousePressEvent(self, QMouseEvent)
mouseReleaseEvent(self, QMouseEvent)
move(self, QPoint)

move(self, int, int)

moveEvent(self, QMoveEvent)
moveToThread(self, QThread)
nativeEvent(self, Union[QByteArray, bytes, bytearray], sip.voidptr) → Tuple[bool, int]
nativeParentWidget(self) → QWidget
nextInFocusChain(self) → QWidget
normalGeometry(self) → QRect
objectName(self) → str
objectNameChanged

objectNameChanged(self, str) [signal]

overrideWindowFlags(self, Union[Qt.WindowFlags, Qt.WindowType])
overrideWindowState(self, Union[Qt.WindowStates, Qt.WindowState])
paintEngine(self) → QPaintEngine
paintEvent(self, 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, 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)
read(allowed_options=None)

Read in the user-specified Jaguar input file and apply it’s settings to the panel.

Parameters:allowed_options (list) – list of allowed options for the Read dialog. Items of the list should be keys in the schrodinger.jaguar.gui.filedialog.ReadFileDialog.OPTION_TEXT dictionary.
readShFile(jobname)

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

receivers(self, PYQT_SIGNAL) → int
rect(self) → QRect
registerJob(job, show_progress_bar=0)

Registers a job with the periodic job check callback and starts timer.

Parameters:
  • job (jobcontrol.Job) – job to register
  • show_progress_bar (int) – Whether or not to show a progress bar tracking the job’s status. If NO_PROGRESS_BAR, no progress bar will be shown. If PROGRESS_BAR_NO_TEXT, a progress bar will be shown. If PROGRESS_BAR_WITH_TEXT, a progress bar will be shown and will also display the job progress text description.
releaseKeyboard(self)
releaseMouse(self)
releaseShortcut(self, int)
removeAction(self, 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, 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, QPaintDevice, targetOffset: QPoint = QPoint(), sourceRegion: QRegion = QRegion(), flags: Union[QWidget.RenderFlags, QWidget.RenderFlag] = QWidget.RenderFlags(QWidget.DrawWindowBackground|QWidget.DrawChildren))

render(self, QPainter, targetOffset: QPoint = QPoint(), sourceRegion: QRegion = QRegion(), flags: Union[QWidget.RenderFlags, QWidget.RenderFlag] = QWidget.RenderFlags(QWidget.DrawWindowBackground|QWidget.DrawChildren))

repaint(self)

repaint(self, int, int, int, int) repaint(self, QRect) repaint(self, QRegion)

reportValidation(results)

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

Parameters:results (ValidationResults) – Set of results generated by validate()
reset()

Reset the panel after prompting the user for confirmation

Returns:Returns False if the user does not want to reset. This will prevent AF2 from resetting the input selector.
Return type:bool or NoneType
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, QSize)

resize(self, int, int)

resizeEvent(self, 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, Union[QByteArray, bytes, bytearray]) → bool
restorePreviouslyIncludedEntry()

Restore the workspace to it’s previous state if the Edit dialog didn’t change the structure but did clear the workspace via a Preview.

Returns:A tuple of - The entry id of the previously included entry, or None if there
wasn’t one
  • The title of the previously included entry, or None if there wasn’t one
Return type:tuple
run()
runCanvas()

This handles Canvas-specific logic

runEditedInput(jag_input)

Run a job using the JaguarInput file created in the Edit dialog.

Parameters:jag_input (schrodinger.application.jaguar.input.JaguarInput) – The JaguarInput object to run
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()
runTabValidation(**kwargs)
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

sanitizeJobnameText(text)

Modify the given text so it can be used in a job name. White space is replaced with underscores and all other disallowed characters are removed.

Parameters:text (basestring) – The text to sanitize
Returns:The sanitized text
Return type:basestring
saveGeometry(self) → QByteArray
savePersistentOptions()

Store all persistent options to the preferences.

scroll(self, int, int)

scroll(self, int, int, QRect)

sender(self) → QObject
senderSignalIndex(self) → int
setAcceptDrops(self, bool)
setAccessibleDescription(self, str)
setAccessibleName(self, 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, Qt.WidgetAttribute, on: bool = True)
setAutoFillBackground(self, bool)
setBackgroundRole(self, QPalette.ColorRole)
setBaseSize(self, int, int)

setBaseSize(self, QSize)

setConfigDialogSettings(new_values)
setContentsMargins(self, int, int, int, int)

setContentsMargins(self, QMargins)

setContextMenuPolicy(self, 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, Union[QCursor, Qt.CursorShape])
setDefaults()
setDisabled(self, bool)
setEnabled(self, bool)
setFixedHeight(self, int)
setFixedSize(self, QSize)

setFixedSize(self, int, int)

setFixedWidth(self, int)
setFocus(self)

setFocus(self, Qt.FocusReason)

setFocusPolicy(self, Qt.FocusPolicy)
setFocusProxy(self, QWidget)
setFont(self, QFont)
setForegroundRole(self, QPalette.ColorRole)
setGeometry(self, QRect)

setGeometry(self, int, int, int, int)

setGraphicsEffect(self, QGraphicsEffect)
setHidden(self, bool)
setInputMethodHints(self, Union[Qt.InputMethodHints, Qt.InputMethodHint])
setJobname(jobname)

Set the job name for the current task.

setLayout(self, QLayout)
setLayoutDirection(self, Qt.LayoutDirection)
setLocale(self, QLocale)
setMask(self, QBitmap)

setMask(self, QRegion)

setMaximumHeight(self, int)
setMaximumSize(self, int, int)

setMaximumSize(self, QSize)

setMaximumWidth(self, int)
setMinimumHeight(self, int)
setMinimumSize(self, int, int)

setMinimumSize(self, QSize)

setMinimumWidth(self, int)
setMouseTracking(self, bool)
setObjValue(obj, value)
setObjectName(self, str)
setPalette(self, QPalette)
setPanelOptions()

Define instance variables that specify the creation of the panel.

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, QWidget)

setParent(self, QWidget, Union[Qt.WindowFlags, Qt.WindowType])

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, str, Any) → bool
setShortcutAutoRepeat(self, int, enabled: bool = True)
setShortcutEnabled(self, int, enabled: bool = True)
setSizeIncrement(self, int, int)

setSizeIncrement(self, QSize)

setSizePolicy(self, QSizePolicy)

setSizePolicy(self, QSizePolicy.Policy, QSizePolicy.Policy)

setStatusTip(self, str)
setStyle(self, QStyle)
setStyleSheet(self, str)
setTabOrder(QWidget, QWidget)
setTabletTracking(self, bool)
setToolTip(self, str)
setToolTipDuration(self, int)
setUpdatesEnabled(self, bool)
setVisible(self, 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, str)
setWindowFilePath(self, str)
setWindowFlag(self, Qt.WindowType, on: bool = True)
setWindowFlags(self, Union[Qt.WindowFlags, Qt.WindowType])
setWindowIcon(self, QIcon)
setWindowIconText(self, str)
setWindowModality(self, Qt.WindowModality)
setWindowModified(self, bool)
setWindowOpacity(self, float)
setWindowRole(self, str)
setWindowState(self, Union[Qt.WindowStates, Qt.WindowState])
setWindowTitle(self, str)
setup()
setupJobCmd(cmdlist, auto_add_host=True, use_parallel_flag=True)

Adds standard arguments HOST, NJOBS, PROJ, DISP, VIEWNAME to the cmdlist if they are set in the config dialog. Settings pre-existing in the cmdlist take precedence over the config dialog settings.

Parameters:
  • cmdlist (list) – the command list
  • auto_add_host (bool) – Whether or not to automatically add -HOST flat to command when it is not already included.
  • use_parallel_flag (bool) – Whether requesting CPUs > 1 without specifying threads > 1 should be represented by the use of the -PARALLEL X flag (True, default) or -HOST host:X (False). -PARALLEL is a Jaguar flag and may not be appropriate for other programs.
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.

showEvent(event)

When the panel is shown, call the panel’s ‘show’-decorated methods. Note that restoring a minimized panel will not trigger the ‘show’ methods.

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.
showSTUDialog(sh_txt, jobname)

Shows dialog with information necessary to start a STU test, including a label that links to the test suite.

Parameters:sh_txt (str) – Text contained within the .sh file
signalsBlocked(self) → bool
size(self) → QSize
sizeHint(self) → QSize
sizeIncrement(self) → QSize
sizePolicy(self) → QSizePolicy
stackUnder(self, QWidget)
start()

Launch the job. Note that updateAndCheckMmJag must be run before this function to update and validate self._jag_input.

Returns:A job object for the launched job
Return type:schrodinger.job.jobcontrol.Job
startDebug()
startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) → int
startUp()
staticMetaObject = <PyQt5.QtCore.QMetaObject object>
statusTip(self) → str
style(self) → QStyle
styleSheet(self) → str
syncConfigDialog()
tabletEvent(self, QTabletEvent)
testAttribute(self, Qt.WidgetAttribute) → bool
thread(self) → QThread
timerEvent(self, QTimerEvent)
title
toolTip(self) → str
toolTipDuration(self) → int
tr(self, str, disambiguation: str = None, n: int = -1) → str
underMouse(self) → bool
ungrabGesture(self, Qt.GestureType)
unsetCursor(self)
unsetLayoutDirection(self)
unsetLocale(self)
update(self)

update(self, QRect) update(self, QRegion) update(self, int, int, int, int)

updateAndCheckMmJag(**kwargs)
updateGeometry(self)
updateJobname(uniquify_custom=True)

Generate a new job name based on the current panel settings

Parameters:uniquify_custom (bool) – Whether we should uniquify custom job name by adding integers to the end. If False, only standard and modified job names will be uniquified. (See JobnameType for an explanation of job name types.)
updateMicroFocus(self)
updatePropertiesTab()

Notify the properties tab that the level of theory or basis set has been updated.

updateStatusBar()

Updates the status bar.

updatesEnabled(self) → bool
validForceFieldSelectorCustomOPLSDir()

Check whether a force field selector exists and if so whether it is set to use a custom OPLS directory that is valid. :return: whether OPLS directory has issues :rtype: 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 (schrodinger.utils.preferences.Preferences object) – The Preferences class to use to store the show/don’t show preference for this dialog. Note that the Preferences object must currently be set to the preference group containing key.
  • key (str) – The key to store the preference under
Return type:

None

whatsThis(self) → str
wheelEvent(self, QWheelEvent)
width(self) → int
widthMM(self) → int
winId(self) → sip.voidptr
window(self) → QWidget
windowFilePath(self) → str
windowFlags(self) → Qt.WindowFlags
windowHandle(self) → QWindow
windowIcon(self) → QIcon
windowIconChanged

windowIconChanged(self, QIcon) [signal]

windowIconText(self) → str
windowIconTextChanged

windowIconTextChanged(self, str) [signal]

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

windowTitleChanged(self, str) [signal]

windowType(self) → Qt.WindowType
writeJobCmd(cmdlist)

Writes the job invocation command to a file named “<jobname>.sh” Removes options from the command that are maestro-specific.

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 and close the panel.

x(self) → int
y(self) → int
class schrodinger.application.jaguar.gui.base_panel.MultiStructurePanel

Bases: schrodinger.application.jaguar.gui.base_panel.AutomaticJobnameMixin, schrodinger.application.jaguar.gui.base_panel.MultiStructurePanelMarkerMixin, schrodinger.application.jaguar.gui.base_panel.StandardPanelNoInputTab

A convenience class for standard Jaguar panels that use a MultiStructureTab.

DrawChildren = 2
DrawWindowBackground = 1
IGNORE_DELAYED_CALLBACKS = False
INPUT_SUB_TABS = []
IgnoreMask = 4
MARKER_TAB_CLASSES = [<class 'schrodinger.application.jaguar.gui.tabs.optimization_tab.OptimizationTab'>]
NO_PROGRESS_BAR = 0
PROGRESS_BAR_NO_TEXT = 2
PROGRESS_BAR_WITH_TEXT = 1
class PaintDeviceMetric

Bases: int

__init__

Initialize self. See help(type(self)) for accurate signature.

bit_length() → int

Number of bits necessary to represent self in binary. >>> bin(37) ‘0b100101’ >>> (37).bit_length() 6

conjugate()

Returns self, the complex conjugate of any int.

denominator

the denominator of a rational number in lowest terms

from_bytes(bytes, byteorder, *, signed=False) → int

Return the integer represented by the given array of bytes.

The bytes argument must be a bytes-like object (e.g. bytes or bytearray).

The byteorder argument determines the byte order used to represent the integer. If byteorder is ‘big’, the most significant byte is at the beginning of the byte array. If byteorder is ‘little’, the most significant byte is at the end of the byte array. To request the native byte order of the host system, use `sys.byteorder’ as the byte order value.

The signed keyword-only argument indicates whether two’s complement is used to represent the integer.

imag

the imaginary part of a complex number

numerator

the numerator of a rational number in lowest terms

real

the real part of a complex number

to_bytes(length, byteorder, *, signed=False) → bytes

Return an array of bytes representing an integer.

The integer is represented using length bytes. An OverflowError is raised if the integer is not representable with the given number of bytes.

The byteorder argument determines the byte order used to represent the integer. If byteorder is ‘big’, the most significant byte is at the beginning of the byte array. If byteorder is ‘little’, the most significant byte is at the end of the byte array. To request the native byte order of the host system, use `sys.byteorder’ as the byte order value.

The signed keyword-only argument determines whether two’s complement is used to represent the integer. If signed is False and a negative integer is given, an OverflowError is raised.

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

Bases: int

__init__

Initialize self. See help(type(self)) for accurate signature.

bit_length() → int

Number of bits necessary to represent self in binary. >>> bin(37) ‘0b100101’ >>> (37).bit_length() 6

conjugate()

Returns self, the complex conjugate of any int.

denominator

the denominator of a rational number in lowest terms

from_bytes(bytes, byteorder, *, signed=False) → int

Return the integer represented by the given array of bytes.

The bytes argument must be a bytes-like object (e.g. bytes or bytearray).

The byteorder argument determines the byte order used to represent the integer. If byteorder is ‘big’, the most significant byte is at the beginning of the byte array. If byteorder is ‘little’, the most significant byte is at the end of the byte array. To request the native byte order of the host system, use `sys.byteorder’ as the byte order value.

The signed keyword-only argument indicates whether two’s complement is used to represent the integer.

imag

the imaginary part of a complex number

numerator

the numerator of a rational number in lowest terms

real

the real part of a complex number

to_bytes(length, byteorder, *, signed=False) → bytes

Return an array of bytes representing an integer.

The integer is represented using length bytes. An OverflowError is raised if the integer is not representable with the given number of bytes.

The byteorder argument determines the byte order used to represent the integer. If byteorder is ‘big’, the most significant byte is at the beginning of the byte array. If byteorder is ‘little’, the most significant byte is at the end of the byte array. To request the native byte order of the host system, use `sys.byteorder’ as the byte order value.

The signed keyword-only argument determines whether two’s complement is used to represent the integer. If signed is False and a negative integer is given, an OverflowError is raised.

class RenderFlags

Bases: sip.simplewrapper

QWidget.RenderFlags(Union[QWidget.RenderFlags, QWidget.RenderFlag]) QWidget.RenderFlags(QWidget.RenderFlags)

__init__

Initialize self. See help(type(self)) for accurate signature.

SHORT_NAME = ''
TABS = []
TASK_NAME = ''
__init__()

Connect signals so the status bar is updated whenever the user changes the basis or theory level

acceptDrops(self) → bool
accessibleDescription(self) → str
accessibleName(self) → str
actionEvent(self, QActionEvent)
actions(self) → List[QAction]
activateWindow(self)
addAction(self, QAction)
addActions(self, object)
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
addProjectJobNote(job_id, jobname)

Adds a note to the project annotation file. :param job_id: The ID of the job, as assigned by Maestro :type job_id: string :param jobname: The name of the job, as shown in the job panel :type jobname: string

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, bool) → bool
buildCallbackDicts()

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

changeEvent(self, QEvent)
checkKeywordsLE(**kwargs)
childAt(self, QPoint) → QWidget

childAt(self, int, int) -> QWidget

childEvent(self, QChildEvent)
children(self) → object
childrenRect(self) → QRect
childrenRegion(self) → QRegion
cleanup()
cleanupWriteCmd(cmdlist)

Removes options from the command that only work within Maestro. :param cmdlist: the job invocation command :type cmdlist: list

clearConstraintsIfMultiStrucTab()

If the user changes the structures listed on the MultiStructureTab, clear all constraints. Only allow picking if the listed structures have the same number of atoms and atom names, and only allow picking for the listed structures.

clearConstraintsIfProject()

Since the MultiStructureTab input is not dependant on the project table, ignore project table changes. (Note that this function overrides the CoordinateMarkerMixin function of the same name.

clearConstraintsIfWorkspace(what_changed)

Check to see if coordinate picking is allowed or if constraints need to be cleared in response to a workspace change. This callback is needed when the user adds or deleted atoms.

Parameters:what_changed (str) – A flag indicating what has changed in the workspace
clearFocus(self)
clearMask(self)
close(self) → bool
closeEvent(event)

Receives the close event and calls the panel’s ‘close’-decorated appmethod. If the appmethod specifically returns False, the close event will be ignored and the panel will remain open. All other return values (including None) will allow the panel to proceed with closing.

This is a PyQT slot method and should not be explicitly called.

cmdListToCmd(cmdlist)

Converts a command list to a command string.

Parameters:cmdlist (list) – a list of commands
Returns:a command string with all arguments wrapped in double quotes
colorCount(self) → int
configDialogSettings()
connectNotify(self, QMetaMethod)
contentsMargins(self) → QMargins
contentsRect(self) → QRect
contextMenuEvent(self, QContextMenuEvent)
contextMenuPolicy(self) → Qt.ContextMenuPolicy
create(self, window: sip.voidptr = 0, initializeWindow: bool = True, destroyOldWindow: bool = True)
createBottomBar()
createCmd()

Create the command line for job launching. Note that the input file name will be added in launchJaguarJob.

Note:This function is intended to be overridden in BaseJaguarPanel subclassses that use different command lines. This code should not be moved into launchJaguarJob.
createInputSelector()
createJobDir()
createWindowContainer(QWindow, parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = 0) → QWidget
currentTaskRunner()
cursor(self) → QCursor
customContextMenuRequested

customContextMenuRequested(self, QPoint) [signal]

customEvent(self, 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, QObject = None) [signal]

devType(self) → int
devicePixelRatio(self) → int
devicePixelRatioF(self) → float
devicePixelRatioFScale() → float
disconnect(self)
disconnectNotify(self, QMetaMethod)
dragEnterEvent(self, QDragEnterEvent)
dragLeaveEvent(self, QDragLeaveEvent)
dragMoveEvent(self, QDragMoveEvent)
dropEvent(self, QDropEvent)
dumpObjectInfo(self)
dumpObjectTree(self)
dynamicPropertyNames(self) → object
editInput()

Override the ReadEditMixin function to display the edit dialog. Since we have no input selector, the checks present in ReadEditMixin.editInput() are not necessary here (and would lead to tracebacks).

effectiveWinId(self) → sip.voidptr
ensurePolished(self)
enterEvent(self, QEvent)
error(text, preferences=None, key='')

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 (schrodinger.utils.preferences.Preferences object) – The Preferences class to use to store the show/don’t show preference for this dialog. Note that the Preferences object must currently be set to the preference group containing key.
  • key (str) – The key to store the preference under
Return type:

None

event(self, QEvent) → bool
eventFilter(self, QObject, QEvent) → bool
find(sip.voidptr) → QWidget
findChild(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) → QObject

findChild(self, Tuple, name: str = ‘’, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> QObject

findChildren(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) → List[QObject]

findChildren(self, Tuple, name: str = ‘’, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, type, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, Tuple, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, type, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject] findChildren(self, Tuple, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) -> List[QObject]

focusInEvent(self, QFocusEvent)
focusNextChild(self) → bool
focusNextPrevChild(self, bool) → bool
focusOutEvent(self, 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
generateJaguarStatus()

Create the standard Jaguar status bar message, such as “Jaguar: B3LYP / 6-31**, Single Point Energy”

Returns:The Jaguar status bar message
Return type:str
generateStatus()

Create the status bar message. This function will prepend any Jaguar- specific status bar message before the standard job information. The Jaguar-specific status bar message can be generated by defining generateJaguarStatus().

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
getCmdListArgValue(cmdlist, arg)
getConfigDialog()

Get the job configuration dialog

getContentsMargins(self) → Tuple[int, int, int, int]
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.
getJobSpec()
getMmJagKeywords()

Get Jaguar keywords that are specific to this panel and not set in any of the tabs.

Returns:A dictionary of Jaguar keywords
Return type:dict
getNumStructures()

Get the number of structures that this panel is currently representing

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)
getTab(tab_class)

Get the tab of the specified class

Parameters:tab_class (type) – The class of the tab to retrieve
getTabParentAndLayout()

Get the parent widget for all tabs and layout to place the tabs into.

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, Qt.GestureType, flags: Union[Qt.GestureFlags, Qt.GestureFlag] = Qt.GestureFlags())
grabKeyboard(self)
grabMouse(self)

grabMouse(self, Union[QCursor, Qt.CursorShape])

grabShortcut(self, 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, 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.

hideEvent(event)
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 (schrodinger.utils.preferences.Preferences object) – The Preferences class to use to store the show/don’t show preference for this dialog. Note that the Preferences object must currently be set to the preference group containing key.
  • key (str) – The key to store the preference under
Return type:

None

inherits(self, str) → bool
initPainter(self, QPainter)
inputMethodEvent(self, QInputMethodEvent)
inputMethodHints(self) → Qt.InputMethodHints
inputMethodQuery(self, Qt.InputMethodQuery) → Any
insertAction(self, QAction, QAction)
insertActions(self, QAction, Iterable[QAction])
installEventFilter(self, QObject)
isActiveWindow(self) → bool
isAncestorOf(self, QWidget) → bool
isEnabled(self) → bool
isEnabledTo(self, 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, QMetaMethod) → bool
isVisible(self) → bool
isVisibleTo(self, QWidget) → bool
isWidgetType(self) → bool
isWindow(self) → bool
isWindowModified(self) → bool
isWindowType(self) → bool
jagInputEdited(jag_input, new_struc_flag)

Process the Jaguar settings that the user entered in the Edit dialog.

Parameters:
  • jag_input (schrodinger.application.jaguar.input.JaguarInput) – The Jaguar settings from the Edit dialog
  • new_struc_flag (int) –

    A flag indicating whether the structure in jag_input object should be loaded into the workspace. The flag must be one of:

    • EditDialog.SAME_STRUCTURE: The workspace was not changed by the Edit dialog and does not need to be changed.
    • NEW_STRUCTURE: The structure in jag_input is new and should be loaded into the workspace.
    • RELOAD_STRUCTURE: The structure in jag_input is not new, but the Edit dialog changed the workspace, so the workspace should be restored to its previous state.
jobDir()
jobname()

Return the job name currently set for the current task.

jobnameArg()

Build the command line arguments for passing the job name.

Returns:A list of command line arguments
Return type:list
jobnameData()
jobnameDataChanged()

If the job name includes panel settings, then this method should be called whenever the relevant panel settings are modified

keyPressEvent(self, QKeyEvent)
keyReleaseEvent(self, QKeyEvent)
keyboardGrabber() → QWidget
killTimer(self, int)
lastJobCompleted
launchFromJobSpec(oplsdir=None)

Call this function in start method if the calling script implements the launch api. This function requires implementation of getJobSpec to return the job specification.

Parameters:oplsdir (None, False or str) – If None (default), search widgets on the panel for a schrodinger.ui.qt.forcefield.ForceFieldSelector (or subclass thereof) and get any custom OPLS directory information from that widget. If False, do not use a custom OPLS directory. If a str, this is the path to use for the custom OPLS directory. Note that the OPLSDIR setting found by oplsdir=None is ambiguous if there is more than one ForceFieldSelector child widget, and that ForceFieldSelector widgets that are NOT child widgets of this panel - such as a widget on a dialog - will not be found. Setting this parameter to False for a panel that does not use a ForceFieldSelector widget avoids the widget search but will only shave a few thousandths of a second off job startup time even for very complex panels.
launchJaguarJob(jag_input)

Launch the specified job.

Parameters:jag_input (schrodinger.application.jaguar.input.JaguarInput) – A JaguarInput object to run
Returns:A job object for the launched job
Return type:schrodinger.job.jobcontrol.Job
launchJobCmd(cmdlist, show_progress_bar=0, auto_add_host=True, use_parallel_flag=True)

Launches a job control command. Use this to launch scripts that accept the standard job control options arguments like -HOST, -DISP, etc. By default, automatically populates standard arguments from the config dialog, but will not overwrite if they are already found in cmdlist. For example, if -HOST is found in cmdlist, launchJobCmd will ignore the host specified in the config dialog.

This method honors self.start_mode; it can either launch the script or write out a job file to the job directory.

Parameters:
  • cmdlist (list) – the command list
  • show_progress_bar (int) – Whether or not to show a progress bar tracking the job’s status. If NO_PROGRESS_BAR, no progress bar will be shown. If PROGRESS_BAR_NO_TEXT, a progress bar will be shown. If PROGRESS_BAR_WITH_TEXT, a progress bar will be shown and will also display the job progress text description.
  • auto_add_host (bool) – Whether or not to automatically add -HOST flag to command when it is not already included.
  • use_parallel_flag (bool) – Whether requesting CPUs > 1 without specifying threads > 1 should be represented by the use of the -PARALLEL X flag (True, default) or -HOST host:X (False). -PARALLEL is a Jaguar flag and may not be appropriate for other programs.
launchLauncher(slauncher, show_progress_bar=0)

Either launches a launcher instance or writes the job invocation command, depending on the state of self.start_mode. This allows the panel’s start method to double as a write method.

Calling launchLauncher() is only necessary if creating a customized launcher using makeLauncher().

Parameters:show_progress_bar (int) – Whether or not to show a progress bar tracking the job’s status. If NO_PROGRESS_BAR, no progress bar will be shown. If PROGRESS_BAR_NO_TEXT, a progress bar will be shown. If PROGRESS_BAR_WITH_TEXT, a progress bar will be shown and will also display the job progress text description.
launchScript(script, script_args=None, input_files=[], structure_output_file=None, output_files=[], aux_modules=[], show_progress_bar=0, **kwargs)

DEPRECATED for launchFromJobSpec.

Creates and launches a script using makeLauncher. For documentation on method parameters, see makeLauncher below. Use this method for scripts that do not themselves integrate with job control.

This method honors self.start_mode; it can either launch the script or write out a job file to the job directory.

Parameters:show_progress_bar (int) – Whether or not to show a progress bar tracking the job’s status. If NO_PROGRESS_BAR, no progress bar will be shown. If PROGRESS_BAR_NO_TEXT, a progress bar will be shown. If PROGRESS_BAR_WITH_TEXT, a progress bar will be shown and will also display the job progress text description.
launcherToCmdList(slauncher)
layOut()

Once setup is complete, properly initialize the selected entries for the Scan and/or Optimization tabs

layout(self) → QLayout
layoutDirection(self) → Qt.LayoutDirection
leaveEvent(self, 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)
makeLauncher(script, script_args=[], input_files=[], structure_output_file=None, output_files=[], aux_modules=[], **kwargs)

DEPRECATED for launchFromJobSpec.

Create a launcher.Launcher instance using the settings defined by the panel, its config dialog, and specified arguments. Returns a launcher instance ready to be launched or further modified. Use this method for scripts that do not themselves integrate with job control.

Only use this method if you need to modify the launcher before launching it. Otherwise, the method launchScript() is preferred to create the launcher and launch it.

Parameters:
  • script (str) – Remote path to the script to be launched. See Launcher documentation for more info. If only launching to localhost is desired, then a local path can be specified.
  • script_args (list of str) – arguments to be added to the script’s command line
  • input_files (list of str) – input files that will be copied to the temporary job directory.
  • structure_output_file (str) – this is the file that will be registered with job control to incorporate at the end of the job
  • output_files (list of str) – additional output files to be copied back from the temporary job directory
  • aux_modules (list of modules) – Additional modules required by the script
Returns:

A prepped launcher

Return type:

Launcher

mapFrom(self, QWidget, QPoint) → QPoint
mapFromGlobal(self, QPoint) → QPoint
mapFromParent(self, QPoint) → QPoint
mapTo(self, QWidget, QPoint) → QPoint
mapToGlobal(self, QPoint) → QPoint
mapToParent(self, QPoint) → QPoint
mask(self) → QRegion
maximumHeight(self) → int
maximumSize(self) → QSize
maximumWidth(self) → int
metaObject(self) → QMetaObject
metric(self, QPaintDevice.PaintDeviceMetric) → int
minimumHeight(self) → int
minimumSize(self) → QSize
minimumSizeHint(self) → QSize
minimumWidth(self) → int
mouseDoubleClickEvent(self, QMouseEvent)
mouseGrabber() → QWidget
mouseMoveEvent(self, QMouseEvent)
mousePressEvent(self, QMouseEvent)
mouseReleaseEvent(self, QMouseEvent)
move(self, QPoint)

move(self, int, int)

moveEvent(self, QMoveEvent)
moveToThread(self, QThread)
nativeEvent(self, Union[QByteArray, bytes, bytearray], sip.voidptr) → Tuple[bool, int]
nativeParentWidget(self) → QWidget
nextInFocusChain(self) → QWidget
normalGeometry(self) → QRect
objectName(self) → str
objectNameChanged

objectNameChanged(self, str) [signal]

overrideWindowFlags(self, Union[Qt.WindowFlags, Qt.WindowType])
overrideWindowState(self, Union[Qt.WindowStates, Qt.WindowState])
paintEngine(self) → QPaintEngine
paintEvent(self, 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
projectUpdated()
property(self, 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)
read(allowed_options=None)

Read in the user-specified Jaguar input file and apply it’s settings to the panel.

Parameters:allowed_options (list) – list of allowed options for the Read dialog. Items of the list should be keys in the schrodinger.jaguar.gui.filedialog.ReadFileDialog.OPTION_TEXT dictionary.
readShFile(jobname)

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

receivers(self, PYQT_SIGNAL) → int
rect(self) → QRect
registerJob(job, show_progress_bar=0)

Registers a job with the periodic job check callback and starts timer.

Parameters:
  • job (jobcontrol.Job) – job to register
  • show_progress_bar (int) – Whether or not to show a progress bar tracking the job’s status. If NO_PROGRESS_BAR, no progress bar will be shown. If PROGRESS_BAR_NO_TEXT, a progress bar will be shown. If PROGRESS_BAR_WITH_TEXT, a progress bar will be shown and will also display the job progress text description.
releaseKeyboard(self)
releaseMouse(self)
releaseShortcut(self, int)
removeAction(self, 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, 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, QPaintDevice, targetOffset: QPoint = QPoint(), sourceRegion: QRegion = QRegion(), flags: Union[QWidget.RenderFlags, QWidget.RenderFlag] = QWidget.RenderFlags(QWidget.DrawWindowBackground|QWidget.DrawChildren))

render(self, QPainter, targetOffset: QPoint = QPoint(), sourceRegion: QRegion = QRegion(), flags: Union[QWidget.RenderFlags, QWidget.RenderFlag] = QWidget.RenderFlags(QWidget.DrawWindowBackground|QWidget.DrawChildren))

repaint(self)

repaint(self, int, int, int, int) repaint(self, QRect) repaint(self, QRegion)

reportValidation(results)

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

Parameters:results (ValidationResults) – Set of results generated by validate()
reset()

Reset the panel after prompting the user for confirmation

Returns:Returns False if the user does not want to reset. This will prevent AF2 from resetting the input selector.
Return type:bool or NoneType
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, QSize)

resize(self, int, int)

resizeEvent(self, 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, Union[QByteArray, bytes, bytearray]) → bool
restorePreviouslyIncludedEntry()

Restore the workspace to it’s previous state if the Edit dialog didn’t change the structure but did clear the workspace via a Preview.

Returns:A tuple of - The entry id of the previously included entry, or None if there
wasn’t one
  • The title of the previously included entry, or None if there wasn’t one
Return type:tuple
run()
runCanvas()

This handles Canvas-specific logic

runEditedInput(jag_input)

Run a job using the JaguarInput file created in the Edit dialog.

Parameters:jag_input (schrodinger.application.jaguar.input.JaguarInput) – The JaguarInput object to run
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()
runTabValidation(**kwargs)
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

sanitizeJobnameText(text)

Modify the given text so it can be used in a job name. White space is replaced with underscores and all other disallowed characters are removed.

Parameters:text (basestring) – The text to sanitize
Returns:The sanitized text
Return type:basestring
saveGeometry(self) → QByteArray
savePersistentOptions()

Store all persistent options to the preferences.

scroll(self, int, int)

scroll(self, int, int, QRect)

sender(self) → QObject
senderSignalIndex(self) → int
setAcceptDrops(self, bool)
setAccessibleDescription(self, str)
setAccessibleName(self, 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, Qt.WidgetAttribute, on: bool = True)
setAutoFillBackground(self, bool)
setBackgroundRole(self, QPalette.ColorRole)
setBaseSize(self, int, int)

setBaseSize(self, QSize)

setConfigDialogSettings(new_values)
setContentsMargins(self, int, int, int, int)

setContentsMargins(self, QMargins)

setContextMenuPolicy(self, 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, Union[QCursor, Qt.CursorShape])
setDefaults()
setDisabled(self, bool)
setEnabled(self, bool)
setFixedHeight(self, int)
setFixedSize(self, QSize)

setFixedSize(self, int, int)

setFixedWidth(self, int)
setFocus(self)

setFocus(self, Qt.FocusReason)

setFocusPolicy(self, Qt.FocusPolicy)
setFocusProxy(self, QWidget)
setFont(self, QFont)
setForegroundRole(self, QPalette.ColorRole)
setGeometry(self, QRect)

setGeometry(self, int, int, int, int)

setGraphicsEffect(self, QGraphicsEffect)
setHidden(self, bool)
setInputMethodHints(self, Union[Qt.InputMethodHints, Qt.InputMethodHint])
setJobname(jobname)

Set the job name for the current task.

setLayout(self, QLayout)
setLayoutDirection(self, Qt.LayoutDirection)
setLocale(self, QLocale)
setMask(self, QBitmap)

setMask(self, QRegion)

setMaximumHeight(self, int)
setMaximumSize(self, int, int)

setMaximumSize(self, QSize)

setMaximumWidth(self, int)
setMinimumHeight(self, int)
setMinimumSize(self, int, int)

setMinimumSize(self, QSize)

setMinimumWidth(self, int)
setMouseTracking(self, bool)
setObjValue(obj, value)
setObjectName(self, str)
setPalette(self, QPalette)
setPanelOptions()
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, QWidget)

setParent(self, QWidget, Union[Qt.WindowFlags, Qt.WindowType])

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, str, Any) → bool
setShortcutAutoRepeat(self, int, enabled: bool = True)
setShortcutEnabled(self, int, enabled: bool = True)
setSizeIncrement(self, int, int)

setSizeIncrement(self, QSize)

setSizePolicy(self, QSizePolicy)

setSizePolicy(self, QSizePolicy.Policy, QSizePolicy.Policy)

setStatusTip(self, str)
setStyle(self, QStyle)
setStyleSheet(self, str)
setTabOrder(QWidget, QWidget)
setTabletTracking(self, bool)
setToolTip(self, str)
setToolTipDuration(self, int)
setUpdatesEnabled(self, bool)
setVisible(self, 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, str)
setWindowFilePath(self, str)
setWindowFlag(self, Qt.WindowType, on: bool = True)
setWindowFlags(self, Union[Qt.WindowFlags, Qt.WindowType])
setWindowIcon(self, QIcon)
setWindowIconText(self, str)
setWindowModality(self, Qt.WindowModality)
setWindowModified(self, bool)
setWindowOpacity(self, float)
setWindowRole(self, str)
setWindowState(self, Union[Qt.WindowStates, Qt.WindowState])
setWindowTitle(self, str)
setup()

Search for any tabs that contain jobname-relevant settings and connect signals so that the jobname updates when the appropriate settings change.

setupJobCmd(cmdlist, auto_add_host=True, use_parallel_flag=True)

Adds standard arguments HOST, NJOBS, PROJ, DISP, VIEWNAME to the cmdlist if they are set in the config dialog. Settings pre-existing in the cmdlist take precedence over the config dialog settings.

Parameters:
  • cmdlist (list) – the command list
  • auto_add_host (bool) – Whether or not to automatically add -HOST flat to command when it is not already included.
  • use_parallel_flag (bool) – Whether requesting CPUs > 1 without specifying threads > 1 should be represented by the use of the -PARALLEL X flag (True, default) or -HOST host:X (False). -PARALLEL is a Jaguar flag and may not be appropriate for other programs.
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()

Display markers if a marker tab is active. Hide all markers otherwise.

Note:This function is named showAllJaguarMarkers() so it will override the AF2 showAllJaguarMarkers() function. Note that it doesn’t always show all 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.

showEvent(event)

When the panel is shown, call the panel’s ‘show’-decorated methods. Note that restoring a minimized panel will not trigger the ‘show’ methods.

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.
showSTUDialog(sh_txt, jobname)

Shows dialog with information necessary to start a STU test, including a label that links to the test suite.

Parameters:sh_txt (str) – Text contained within the .sh file
signalsBlocked(self) → bool
size(self) → QSize
sizeHint(self) → QSize
sizeIncrement(self) → QSize
sizePolicy(self) → QSizePolicy
stackUnder(self, QWidget)
start()

Launch the job. Note that updateAndCheckMmJag must be run before this function to update and validate self._jag_input.

Returns:A job object for the launched job
Return type:schrodinger.job.jobcontrol.Job
startDebug()
startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) → int
startUp()
staticMetaObject = <PyQt5.QtCore.QMetaObject object>
statusTip(self) → str
stopPicking()

Stop atom picking in response to changing tabs

style(self) → QStyle
styleSheet(self) → str
syncConfigDialog()
tabletEvent(self, QTabletEvent)
testAttribute(self, Qt.WidgetAttribute) → bool
thread(self) → QThread
timerEvent(self, QTimerEvent)
title
toolTip(self) → str
toolTipDuration(self) → int
tr(self, str, disambiguation: str = None, n: int = -1) → str
underMouse(self) → bool
ungrabGesture(self, Qt.GestureType)
unsetCursor(self)
unsetLayoutDirection(self)
unsetLocale(self)
update(self)

update(self, QRect) update(self, QRegion) update(self, int, int, int, int)

updateAndCheckMmJag(**kwargs)
updateGeometry(self)
updateJobname(uniquify_custom=True)

Generate a new job name based on the current panel settings

Parameters:uniquify_custom (bool) – Whether we should uniquify custom job name by adding integers to the end. If False, only standard and modified job names will be uniquified. (See JobnameType for an explanation of job name types.)
updateMicroFocus(self)
updatePropertiesTab()

Notify the properties tab that the level of theory or basis set has been updated.

updateStatusBar()

Updates the status bar.

updatesEnabled(self) → bool
useParallelArg()
validForceFieldSelectorCustomOPLSDir()

Check whether a force field selector exists and if so whether it is set to use a custom OPLS directory that is valid. :return: whether OPLS directory has issues :rtype: 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 (schrodinger.utils.preferences.Preferences object) – The Preferences class to use to store the show/don’t show preference for this dialog. Note that the Preferences object must currently be set to the preference group containing key.
  • key (str) – The key to store the preference under
Return type:

None

whatsThis(self) → str
wheelEvent(self, QWheelEvent)
width(self) → int
widthMM(self) → int
winId(self) → sip.voidptr
window(self) → QWidget
windowFilePath(self) → str
windowFlags(self) → Qt.WindowFlags
windowHandle(self) → QWindow
windowIcon(self) → QIcon
windowIconChanged

windowIconChanged(self, QIcon) [signal]

windowIconText(self) → str
windowIconTextChanged

windowIconTextChanged(self, str) [signal]

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

windowTitleChanged(self, str) [signal]

windowType(self) → Qt.WindowType
writeJobCmd(cmdlist)

Writes the job invocation command to a file named “<jobname>.sh” Removes options from the command that are maestro-specific.

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 and close the panel.

x(self) → int
y(self) → int