schrodinger.application.matsci.multiapp module¶
Module for af2 App classes that run multiple jobs
Copyright Schrodinger, LLC. All rights reserved.
- class schrodinger.application.matsci.multiapp.CMD_DRIVER_DATA(driver, cmd)¶
Bases:
tuple
- __contains__(key, /)¶
Return key in self.
- __len__()¶
Return len(self).
- cmd¶
Alias for field number 1
- count(value, /)¶
Return number of occurrences of value.
- driver¶
Alias for field number 0
- index(value, start=0, stop=9223372036854775807, /)¶
Return first index of value.
Raises ValueError if the value is not present.
- class schrodinger.application.matsci.multiapp.MultiJobApp(**kwargs)¶
Bases:
schrodinger.ui.qt.appframework2.af2.JobApp
Subclass of AF2 JobApp that allows launching multiple simultanious jobs.
Every panel subclassing this should re-implement getJobCount() and getJobSpec() methods. A start method should NOT be implemented.
- validateJobCount(**kwargs)¶
- showLaunchStatus(num_succeeded, njobs)¶
Show a label at the bottom of the panel with status of the launch.
- Parameters
num_succeeded (int) – Number of jobs that were successfully launched
njobs (int) – Total number of jobs
- getJobCount()¶
Over-ride in the subclass to return the number of jobs that the user would like to start. Used for validation.
:return the number of jobs that the user requests. :rtype: int
- multiJobStart()¶
Custom “start” method. For each job, creates a job sub-directory, cd’s into it, and launches the job there.
- :return list of return values from self.launchFromJobSpec() calls.
Each value is a Job object or False, in start mode, or True/False in write mode.
- getValidatedOPLSDir(oplsdir=None)¶
Validate the existing oplsdir or get a requested oplsdir from the user’s selection in the force field selector widget
- Parameters
oplsdir (str) – The currently requested oplsdir
- Return type
False, None or str
- Returns
False if no valid oplsdir can be found, None if there is no custom dir requested, or the path to the custom directory
- makeJobSpec(sub_jobname, job_num)¶
Return job spec from job spec itself or some other data.
- Parameters
sub_jobname (str) – The job name for the subjob
job_num (int) – The subjob number
- Return type
launchapi.JobSpecification
- Returns
JobSpecification object
- Raises
SystemExit – On driver.get_job_spec_from_args error
- launchFromJobSpec(sub_jobname, job_num, oplsdir=None)¶
Re-implemented from JobApp; options and behavior is somewhat differnt.
Starts or write the command for the given subjob.
- Parameters
sub_jobname (str) – The job name for the subjob
job_num (int) – The subjob number
oplsdir (str) – Path to OPLS directory
- Returns
Job object on successful start; True on successful write, False on failure.
- DrawChildren = 2¶
- DrawWindowBackground = 1¶
- IGNORE_DELAYED_CALLBACKS = False¶
- IgnoreMask = 4¶
- class PaintDeviceMetric(value)¶
Bases:
enum.Enum
An enumeration.
- PdmWidth = 1¶
- PdmHeight = 2¶
- PdmWidthMM = 3¶
- PdmHeightMM = 4¶
- PdmNumColors = 5¶
- PdmDepth = 6¶
- PdmDpiX = 7¶
- PdmDpiY = 8¶
- PdmPhysicalDpiX = 9¶
- PdmPhysicalDpiY = 10¶
- PdmDevicePixelRatio = 11¶
- PdmDevicePixelRatioScaled = 12¶
- PdmDepth = 6¶
- PdmDevicePixelRatio = 11¶
- PdmDevicePixelRatioScaled = 12¶
- PdmDpiX = 7¶
- PdmDpiY = 8¶
- PdmHeight = 2¶
- PdmHeightMM = 4¶
- PdmNumColors = 5¶
- PdmPhysicalDpiX = 9¶
- PdmPhysicalDpiY = 10¶
- PdmWidth = 1¶
- PdmWidthMM = 3¶
- class RenderFlag(value)¶
Bases:
enum.Flag
An enumeration.
- DrawWindowBackground = 1¶
- DrawChildren = 2¶
- IgnoreMask = 4¶
- __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, a0: QActionEvent)¶
- actions(self) List[QAction] ¶
- activateWindow(self)¶
- addAction(self, action: QAction)¶
- addActions(self, actions: Iterable[QAction])¶
- addJaguarMarker(atoms, color=None, icon=None, text='', alt_color=None, highlight=False)¶
Add a marker to the specified atom(s)
- Parameters
atoms (list or
schrodinger.structure._StructureAtom
) – The atom or list of atoms to mark. A list may contain between one and four atoms (inclusive).color (tuple, str, int, or
schrodinger.structutils.color
) – The color of the marker and icon. May be an RGB tuple, color name, color index, orschrodinger.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 whenhighlight
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 ofcolor
.
- 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 markedcolor (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, b: bool) bool ¶
- buildCallbackDicts()¶
Create a dictionary of all methods that have a maestro_callback decorator.
- changeEvent(self, a0: QEvent)¶
- childAt(self, p: QPoint) QWidget ¶
- childAt(self, ax: int, ay: int) QWidget
- childEvent(self, a0: QChildEvent)¶
- children(self) List[QObject] ¶
- childrenRect(self) QRect ¶
- childrenRegion(self) QRegion ¶
- cleanup()¶
- clearFocus(self)¶
- clearMask(self)¶
- close(self) bool ¶
- 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.
- colorCount(self) int ¶
- configDialogSettings()¶
- connectNotify(self, signal: QMetaMethod)¶
- contentsMargins(self) QMargins ¶
- contentsRect(self) QRect ¶
- contextMenuEvent(self, a0: QContextMenuEvent)¶
- contextMenuPolicy(self) Qt.ContextMenuPolicy ¶
- create(self, window: PyQt6.sip.voidptr = 0, initializeWindow: bool = True, destroyOldWindow: bool = True)¶
- createBottomBar()¶
- createInputSelector()¶
- createJobDir()¶
- createWindowContainer(window: QWindow, parent: typing.Optional[QWidget] = None, flags: Qt.WindowType = Qt.WindowFlags()) QWidget ¶
- currentTaskRunner()¶
- cursor(self) QCursor ¶
- customContextMenuRequested¶
customContextMenuRequested(self, pos: QPoint) [signal]
- customEvent(self, a0: QEvent)¶
- definePanelSettings()¶
Override this method to define the settings for the panel. The aliased settings provide an interface for saving/restoring panel state as well as for interacting with task/job runners that need to access the panel state in a way that is agnostic to the specifics of widget names and types.
Each panel setting is defined by a tuple that specifies the mapping of alias to panel setting. An optional third element in the tuple can be used to group settings by category. This allows multiple settings to share the same alias.
Each setting can either point to a specific object (usually a qt widget), or a pair of setter/getter functions.
If the mapped object is a string, this will be interpreted by af2 as referring to an attribute on the panel, and a AttributeSettingWrapper instance will automatically be created. For example, specifying the string ‘num_atoms’ will create a mapping to self.num_atoms which will simply get and set the value of that instance member.
Custom setter and getter functions should take the form getter(), returning a value that can be encoded/decoded by JSON, and setter(value), where the type of value is the same as the return type of the getter.
Commonly used objects/widgets should be handled automatically in settings.py. It’s worth considering whether it makes more sense to use a custom setter/getter here or add support for the widget in settings.py.
- Returns
a list of tuples defining the custom settings.
- Return type
list of tuples. Each tuple can be of type (str, object, str) or (str, (callable, callable), str) where the final str is optional.
Custom settings tuples consists of up to three elements:
alias - a string identier for the setting. Ex. “box_centroid”
either:
an object of a type that is supported by settings.py or
the string name of an existing panel attribute (i.e. member variable), or
a (getter, setter) tuple. The getter should take no arguments, and the setter should take a single value.
optionally, a group identifier. This can be useful if the panel runs two different jobs that both have a parameter with the same name but that needs to map to different widgets. If a setting has a group name, it will be ignored by runners unless the runner name matches the group name.
- deleteLater(self)¶
- depth(self) int ¶
- destroy(self, destroyWindow: bool = True, destroySubWindows: bool = True)¶
- destroyed¶
destroyed(self, object: typing.Optional[QObject] = None) [signal]
- devType(self) int ¶
- devicePixelRatio(self) float ¶
- devicePixelRatioF(self) float ¶
- devicePixelRatioFScale() float ¶
- disconnect(a0: QMetaObject.Connection) bool ¶
- disconnect(self) None
- disconnectNotify(self, signal: QMetaMethod)¶
- dragEnterEvent(self, a0: QDragEnterEvent)¶
- dragLeaveEvent(self, a0: QDragLeaveEvent)¶
- dragMoveEvent(self, a0: QDragMoveEvent)¶
- dropEvent(self, a0: QDropEvent)¶
- dumpObjectInfo(self)¶
- dumpObjectTree(self)¶
- dynamicPropertyNames(self) List[QByteArray] ¶
- effectiveWinId(self) PyQt6.sip.voidptr ¶
- ensurePolished(self)¶
- enterEvent(self, event: QEnterEvent)¶
- error(text, preferences=None, key='', detailed_text=None)¶
Display an error dialog with the specified text. If preferences and key are both supplied, then the dialog will contain a “Don’t show this again” checkbox. Future invocations of this dialog with the same preferences and key values will obey the user’s show preference.
- Parameters
text (str) – The information to display in the dialog
preferences – obsolete; ignored.
key (str) – The key to store the preference under. If specified, a “Do not show again” checkbox will be rendered in the dialog box.
detailed_text (str) – Detailed (selectable) error text if any.
- Return type
None
- event(self, a0: QEvent) bool ¶
- eventFilter(self, a0: QObject, a1: QEvent) bool ¶
- find(a0: PyQt6.sip.voidptr) QWidget ¶
- findChild(self, type: type, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) QObject ¶
- findChild(self, types: Tuple, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) QObject
- findChildren(self, type: type, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject] ¶
- findChildren(self, types: Tuple, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, type: type, re: QRegularExpression, options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, types: Tuple, re: QRegularExpression, options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
- focusInEvent(self, a0: QFocusEvent)¶
- focusNextChild(self) bool ¶
- focusNextPrevChild(self, next: bool) bool ¶
- focusOutEvent(self, a0: QFocusEvent)¶
- focusPolicy(self) Qt.FocusPolicy ¶
- focusPreviousChild(self) bool ¶
- focusProxy(self) QWidget ¶
- focusWidget(self) QWidget ¶
- font(self) QFont ¶
- fontInfo(self) QFontInfo ¶
- fontMetrics(self) QFontMetrics ¶
- foregroundRole(self) QPalette.ColorRole ¶
- frameGeometry(self) QRect ¶
- frameSize(self) QSize ¶
- generateStatus()¶
Generate the text to put into the status bar
- Returns
The text to put into the status bar
- Return type
str
- 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()¶
- 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 atomschrodinger.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, type: Qt.GestureType, flags: Qt.GestureFlag = Qt.GestureFlags())¶
- grabKeyboard(self)¶
- grabMouse(self)¶
- grabMouse(self, a0: Union[QCursor, Qt.CursorShape]) None
- grabShortcut(self, key: Union[QKeySequence, QKeySequence.StandardKey, str, int], context: Qt.ShortcutContext = Qt.WindowShortcut) int ¶
- graphicsEffect(self) QGraphicsEffect ¶
- graphicsProxyWidget(self) QGraphicsProxyWidget ¶
- gui_closed¶
- hasFocus(self) bool ¶
- hasHeightForWidth(self) bool ¶
- hasMouseTracking(self) bool ¶
- hasTabletTracking(self) bool ¶
- height(self) int ¶
- heightForWidth(self, a0: int) int ¶
- heightMM(self) int ¶
- hide(self)¶
- hideAllJaguarMarkers()¶
Hide all
schrodinger.maestro.markers._BaseMarker
markers for this panel
- hideAllMarkers()¶
Hide all
schrodinger.maestro.markers.Marker
markers for this panel.
- hideEvent(self, a0: QHideEvent)¶
- hideLayoutElements(layout)¶
Hide all elements from the given layout. Used for customizing KNIME panel wrappers.
- ignoreMaestroCallbacks()¶
A context manager for temporarily disabling Maestro callbacks created using the decorators above. (Note that callbacks that have been manually added using maestro.*_callback_add() will not be disabled.)
Example:
def includeEntry(self, entry_id): proj = maestro.project_table_get() with self.ignoreMaestroCallbacks(): proj[entry_id].in_workspace = project.IN_WORKSPACE @maestro_callback.project_changed def onProjectChanged(self): print "This method will not be called during includeEntry." @maestro_callback.workspace_changed def onWorkspaceChanged(self): print "Neither will this one."
- info(text, preferences=None, key='')¶
Display an information dialog with the specified text. If preferences and key are both supplied, then the dialog will contain a “Don’t show this again” checkbox. Future invocations of this dialog with the same preferences and key values will obey the user’s show preference.
- Parameters
text (str) – The information to display in the dialog
preferences – obsolete; ignored.
key (str) – The key to store the preference under. If specified, a “Do not show again” checkbox will be rendered in the dialog box.
- Return type
None
- inherits(self, classname: str) bool ¶
- initPainter(self, painter: QPainter)¶
- inputMethodEvent(self, a0: QInputMethodEvent)¶
- inputMethodHints(self) Qt.InputMethodHint ¶
- inputMethodQuery(self, a0: Qt.InputMethodQuery) Any ¶
- insertAction(self, before: QAction, action: QAction)¶
- insertActions(self, before: QAction, actions: Iterable[QAction])¶
- installEventFilter(self, a0: QObject)¶
- isActiveWindow(self) bool ¶
- isAncestorOf(self, child: QWidget) bool ¶
- isEnabled(self) bool ¶
- isEnabledTo(self, a0: QWidget) bool ¶
- isFullScreen(self) bool ¶
- isHidden(self) bool ¶
- isLeftToRight(self) bool ¶
- isMaximized(self) bool ¶
- isMinimized(self) bool ¶
- isModal(self) bool ¶
- isRightToLeft(self) bool ¶
- isSignalConnected(self, signal: QMetaMethod) bool ¶
- isVisible(self) bool ¶
- isVisibleTo(self, a0: QWidget) bool ¶
- isWidgetType(self) bool ¶
- isWindow(self) bool ¶
- isWindowModified(self) bool ¶
- isWindowType(self) bool ¶
- jobCompleted¶
- 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, a0: QKeyEvent)¶
- keyReleaseEvent(self, a0: QKeyEvent)¶
- keyboardGrabber() QWidget ¶
- killTimer(self, id: int)¶
- lastJobCompleted¶
- launchJobCmd(cmdlist, show_progress_bar=False, auto_add_host=True, use_parallel_flag=True, jobdir=None)¶
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 (bool) – Whether or not to show a progress bar tracking the job’s status.
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.
jobdir (str) – launch the job from this dir, if provided.
- Returns
Job object for started job, or None if job start failed or if writing instead of starting. Panels should in general ignore the return value.
- launchLauncher(slauncher, show_progress_bar=False)¶
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.
- launchScript(script, script_args=None, input_files=[], structure_output_file=None, output_files=[], aux_modules=[], show_progress_bar=False, **kwargs)¶
DEPRECATED, add get_job_spec_from_args() to the backend script and launch it using launchJobCmd() or also add getJobSpec() to the panel and launch using 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 (bool) – Whether or not to show a progress bar tracking the job’s status.
- launcherToCmdList(slauncher)¶
- layOut()¶
- layout(self) QLayout ¶
- layoutDirection(self) Qt.LayoutDirection ¶
- leaveEvent(self, a0: QEvent)¶
- loadPanelState(filename=None)¶
Load the panel state from a JSON file
- Parameters
filename (str) – the JSON filename. Defaults to “panelstate.json”
- loadPersistentOptions()¶
Load all persistent options from the preferences.
- loadSettings(jobname)¶
Load the GUI state for the job in the CWD with the given name. Default implementation will return False. Each KNIME panel will need to implement a custom version. For example, the panel may want to read the <jobname.sh> file, parse the list of command-line options, and populate the GUI accordintly. If a panel writes key/value file, then it would need to read it here.
- Returns
True if panel state was restored, False if saved state was not found.
- Return type
bool
- locale(self) QLocale ¶
- logicalDpiX(self) int ¶
- logicalDpiY(self) int ¶
- lower(self)¶
- makeLauncher(script, script_args=[], input_files=[], structure_output_file=None, output_files=[], aux_modules=[], **kwargs)¶
DEPRECATED, add get_job_spec_from_args() to the backend script and launch it using launchJobCmd() or also add getJobSpec() to the panel and launch using 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
- mapFrom(self, a0: QWidget, a1: QPoint) QPoint ¶
- mapFrom(self, a0: QWidget, a1: QPointF) QPointF
- mapFromGlobal(self, a0: QPoint) QPoint ¶
- mapFromGlobal(self, a0: QPointF) QPointF
- mapFromParent(self, a0: QPoint) QPoint ¶
- mapFromParent(self, a0: QPointF) QPointF
- mapTo(self, a0: QWidget, a1: QPoint) QPoint ¶
- mapTo(self, a0: QWidget, a1: QPointF) QPointF
- mapToGlobal(self, a0: QPoint) QPoint ¶
- mapToGlobal(self, a0: QPointF) QPointF
- mapToParent(self, a0: QPoint) QPoint ¶
- mapToParent(self, a0: QPointF) QPointF
- mask(self) QRegion ¶
- maximumHeight(self) int ¶
- maximumSize(self) QSize ¶
- maximumWidth(self) int ¶
- metaObject(self) QMetaObject ¶
- metric(self, a0: QPaintDevice.PaintDeviceMetric) int ¶
- minimumHeight(self) int ¶
- minimumSize(self) QSize ¶
- minimumSizeHint(self) QSize ¶
- minimumWidth(self) int ¶
- mouseDoubleClickEvent(self, a0: QMouseEvent)¶
- mouseGrabber() QWidget ¶
- mouseMoveEvent(self, a0: QMouseEvent)¶
- mousePressEvent(self, a0: QMouseEvent)¶
- mouseReleaseEvent(self, a0: QMouseEvent)¶
- move(self, a0: QPoint)¶
- move(self, ax: int, ay: int) None
- moveEvent(self, a0: QMoveEvent)¶
- moveToThread(self, thread: QThread)¶
- nativeEvent(self, eventType: QByteArray, message: PyQt6.sip.voidptr) Tuple[bool, PyQt6.sip.voidptr] ¶
- nativeParentWidget(self) QWidget ¶
- nextInFocusChain(self) QWidget ¶
- normalGeometry(self) QRect ¶
- objectName(self) str ¶
- objectNameChanged¶
objectNameChanged(self, objectName: str) [signal]
- overrideWindowFlags(self, type: Qt.WindowType)¶
- overrideWindowState(self, state: Qt.WindowState)¶
- paintEngine(self) QPaintEngine ¶
- paintEvent(self, a0: QPaintEvent)¶
- paintingActive(self) bool ¶
- palette(self) QPalette ¶
- classmethod panel(run=True)¶
Launch a singleton instance of this class. If the panel has already been instantiated, the existing panel instance will be re-opened and brought to the front.
- Parameters
run (bool) – Whether to launch the panel
- Returns
The singleton panel instance
- Return type
- parent(self) QObject ¶
- parentWidget(self) QWidget ¶
- physicalDpiX(self) int ¶
- physicalDpiY(self) int ¶
- pos(self) QPoint ¶
- previousInFocusChain(self) QWidget ¶
- processSettings(settings=None, runner=None)¶
This method is meant to be used as a callback to a task runner. If it is called with no arguments, it returns a dictionary of all the alieased settings. If settings are passed, the settings are first applied to self, and then the newly modified settings are returned.
- Parameters
settings (dict or None) – a settings dictionary to apply to this object
runner (tasks.AbstractTaskRuner) – the task runner that is invoking this callback. This optional argument is necessary for per-runner grouping of settings
- processTaskMessage(message_type, text, options=None, runner=None)¶
This method is meant to be used as a callback to a task runner, and provides a single point of interaction from the runner to the user.
- Parameters
message_type (int) – the type of message being sent
text (str) – the main text to show the user
options – extra options
- property(self, name: str) Any ¶
- pyqtConfigure(...)¶
Each keyword argument is either the name of a Qt property or a Qt signal. For properties the property is set to the given value which should be of an appropriate type. For signals the signal is connected to the given value which should be a callable.
- question(msg, button1='OK', button2='Cancel', title='Question')¶
Display a prompt dialog window with specified text. Returns True if first button (default OK) is pressed, False otherwise.
- raise_(self)¶
- readShFile(jobname)¶
Reads the jobname.sh file (written by _write()) and returns the list of command line arguments
- receivers(self, signal: PYQT_SIGNAL) int ¶
- rect(self) QRect ¶
- registerJob(job, show_progress_bar=False)¶
Registers a job with the periodic job check callback and starts timer.
- Parameters
job (jobcontrol.Job) – job to register
show_progress_bar (bool) – Whether or not to show a progress bar tracking the job’s status.
- releaseKeyboard(self)¶
- releaseMouse(self)¶
- releaseShortcut(self, id: int)¶
- removeAction(self, action: QAction)¶
- removeAllJaguarMarkers()¶
Remove all markers
schrodinger.maestro.markers._BaseMarker
markers from this panel
- removeAllJaguarMarkersForEntry(eid)¶
Remove all markers for the specified entry id from this panel
- Parameters
eid (str) – The entry id to remove markers for
- removeAllMarkers()¶
Remove all
schrodinger.maestro.markers.Marker
markers from this panel.
- removeEventFilter(self, a0: QObject)¶
- removeJaguarMarker(marker)¶
Removes the specified marker
- Parameters
marker (
schrodinger.maestro.markers._BaseMarker
) – The marker to remove- Raises
ValueError – If there is no marker on the specified atoms
- removeJaguarMarkerForAtoms(atoms)¶
Removes the marker for specified atom(s)
- Parameters
atoms (list or
schrodinger.structure._StructureAtom
) – The atom or list of atoms to retrieve the marker for. A list may contain between one and four atoms (inclusive).- Raises
ValueError – If no marker exists for the specified atoms
- removeMarker(marker)¶
Remove the
schrodinger.maestro.markers.Marker
- Parameters
marker (
schrodinger.maestro.markers.Marker
) – Marker to remove- Raises
ValueError – If marker is the wrong type or is not associated with the panel.
- render(self, target: QPaintDevice, targetOffset: QPoint = QPoint(), sourceRegion: QRegion = QRegion(), flags: QWidget.RenderFlag = QWidget.RenderFlags(QWidget.DrawWindowBackground | QWidget.DrawChildren))¶
- render(self, painter: QPainter, targetOffset: QPoint = QPoint(), sourceRegion: QRegion = QRegion(), flags: QWidget.RenderFlag = QWidget.RenderFlags(QWidget.DrawWindowBackground | QWidget.DrawChildren)) None
- repaint(self)¶
- repaint(self, x: int, y: int, w: int, h: int) None
- repaint(self, a0: QRect) None
- repaint(self, a0: QRegion) None
- reportValidation(results)¶
Present validation messages to the user. This is an implmentation of the
ValidationMixin
interface and does not need to be called directly.This method assumes that
error
andquestion
methods have been defined in the subclass, as in e.g.widget_mixins.MessageBoxMixin
.- Parameters
results (
validation.ValidationResults
) – Set of validation results generated byvalidate
- Returns
if True, there were no validation errors and the user decided to continue despite any warnings. If False, there was at least one validation error or the user decided to abort when faced with a warning.
- resetAllRunners()¶
Resets all task runners associated with this panel (main tasks and other tasks added via setupTaskRunner). This is called from _reset() and normally does not need to be called directly.
- resize(self, a0: QSize)¶
- resize(self, w: int, h: int) None
- resizeEvent(self, a0: QResizeEvent)¶
- restoreCursor(app_wide=True)¶
Restore the application level cursor to the default. If ‘app_wide’ is True then if will be restored for the entire application, if it’s False, it will be just for this panel.
- Parameters
app_wide (bool) – If True then this will restore the cursor for the entire application (including Maestro if running there). If False then this will apply only to this panel.
- restoreGeometry(self, geometry: QByteArray) bool ¶
- run()¶
- runCanvas()¶
This handles Canvas-specific logic
- classmethod runKnime(input_selector_file=None, workspace_st_file=None, jobname=None, run=True, load_settings=True, panel_state_file=None)¶
Call this static method to instantiate this panel in KNIME mode - where OK & Cancel buttons are shown at the bottom. Pressing OK button cases the job files to be written to the CWD.
- Parameters
input_selector_file (str) – the filename to be fed into the input selector, replacing interactive input from the user. Required if the panel contains an input selector.
workspace_st_file (str) – the filename containing the
schrodinger.structure.Structure
that replaces the workspace structure in a Maestro session.jobname (str) – Jobname for the panel
run (bool) – Whether to launch the panel. If False, just returns the panel instance without starting the event loop.
load_settings (bool) – Whether to load previous settings for the given jobname from the CWD.
panel_state_file – Unused (added for backwards compatability)
- runMaestro()¶
This can be extended in derived classes to perform maestro-only tasks such as setting up the mini-monitor or connecting maestro callbacks
- runMode()¶
- runStandalone()¶
- runSubpanel()¶
- runValidation(silent=False, validate_children=True, stop_on_fail=True)¶
Runs validation and reports the results (unless run silently).
- Parameters
silent (bool) – run without any reporting (i.e. error messages to the user). This is useful if we want to programmatically test validity. Changes return value of this method from
ValidationResults
to a boolean.validate_children (bool) – run validation on all child objects. See
_validateChildren
for documentation on what this entails.stop_on_fail (bool) – stop validation when first failure is encountered
- Returns
if silent is False, returns the validation results. If silent is True, returns a boolean generated by
reportValidation
.- Return type
ValidationResults
or bool
- 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.
- screen(self) QScreen ¶
- scroll(self, dx: int, dy: int)¶
- scroll(self, dx: int, dy: int, a2: QRect) None
- sender(self) QObject ¶
- senderSignalIndex(self) int ¶
- setAcceptDrops(self, on: bool)¶
- setAccessibleDescription(self, description: str)¶
- setAccessibleName(self, name: str)¶
- setAlias(alias, obj, persistent=False)¶
Sets an alias to conveniently access an object.
- Parameters
alias (hashable) – any hashable, but typically a string name
obj (object) – the actual object to be referenced
persistent (bool) – whether to make the setting persistent
- setAliasedValue(alias, value)¶
- setAliases(alias_dict, persistent=False)¶
Sets multiple aliases at once. Already used aliases are overwritten; other existing aliases are not affected.
- Parameters
alias_dict (dict) – map of aliases to objects
persistent (bool) – whether to make the settings persistent
- setAttribute(self, attribute: Qt.WidgetAttribute, on: bool = True)¶
- setAutoFillBackground(self, enabled: bool)¶
- setBackgroundRole(self, a0: QPalette.ColorRole)¶
- setBaseSize(self, basew: int, baseh: int)¶
- setBaseSize(self, s: QSize) None
- setConfigDialogSettings(new_values)¶
- setContentsMargins(self, left: int, top: int, right: int, bottom: int)¶
- setContentsMargins(self, margins: QMargins) None
- setContextMenuPolicy(self, policy: Qt.ContextMenuPolicy)¶
- setCurrentTask(index)¶
Selects the current main task for the panel. Switching to a new task involves several steps. These are 1) saving the current panel state to the task runner, 2) hiding the current task widget (and all others), 3) showing the widget for the new task, and 4) setting the panel state to correspond to the new task runner’s settings.
- Parameters
index (int) – the index of the task to be selected. The index for each main task is set sequentially from 0 as each task as added using self.addMainTaskRunner()
- setCursor(self, a0: Union[QCursor, Qt.CursorShape])¶
- setDefaults()¶
- setDisabled(self, a0: bool)¶
- setEnabled(self, a0: bool)¶
- setFixedHeight(self, h: int)¶
- setFixedSize(self, a0: QSize)¶
- setFixedSize(self, w: int, h: int) None
- setFixedWidth(self, w: int)¶
- setFocus(self)¶
- setFocus(self, reason: Qt.FocusReason) None
- setFocusPolicy(self, policy: Qt.FocusPolicy)¶
- setFocusProxy(self, a0: QWidget)¶
- setFont(self, a0: QFont)¶
- setForegroundRole(self, a0: QPalette.ColorRole)¶
- setGeometry(self, a0: QRect)¶
- setGeometry(self, ax: int, ay: int, aw: int, ah: int) None
- setGraphicsEffect(self, effect: QGraphicsEffect)¶
- setHidden(self, hidden: bool)¶
- setInputMethodHints(self, hints: Qt.InputMethodHint)¶
- setJobname(jobname)¶
Set the job name for the current task.
- setLayout(self, a0: QLayout)¶
- setLayoutDirection(self, direction: Qt.LayoutDirection)¶
- setLocale(self, locale: QLocale)¶
- setMask(self, a0: QBitmap)¶
- setMask(self, a0: QRegion) None
- setMaximumHeight(self, maxh: int)¶
- setMaximumSize(self, maxw: int, maxh: int)¶
- setMaximumSize(self, s: QSize) None
- setMaximumWidth(self, maxw: int)¶
- setMinimumHeight(self, minh: int)¶
- setMinimumSize(self, minw: int, minh: int)¶
- setMinimumSize(self, s: QSize) None
- setMinimumWidth(self, minw: int)¶
- setMouseTracking(self, enable: bool)¶
- setObjValue(obj, value)¶
- setObjectName(self, name: str)¶
- setPalette(self, a0: QPalette)¶
- setPanelOptions()¶
See parent class for more options.
self.use_mini_jobbar - whether this panel use the narrow version of the bottom job bar. This is useful for narrow panels where the regular job bar is too wide to fit. Default: False
self.viewname - this identifier is used by the job status button so that it knows which jobs belong to this panel. This is automatically generated from the module and class name of the panel and so it does not need to be set unless the module/class names are generic.
self.program_name - a human-readable text name for the job this panel launches. This shows up in the main job monitor to help the user identify the job. Example: “Glide grid generation”. Default: “Job”
self.omit_one_from_standard_jobname - see documentation in jobnames.py
add_driverhost - If True, the backend supports running -DRIVERHOST to specify a different host for the driver job than subjobs. Only certain workflows support this option.
- setPanelState(state)¶
Resets the panel and then sets the panel to the specified state
- Parameters
state (PanelState) – the panel state to set. This object should originate from a call to getPanelState()
- setParent(self, parent: QWidget)¶
- setParent(self, parent: QWidget, f: Qt.WindowType) None
- setPersistent(alias=None)¶
Set options to be persistent. Any options to be made persistent must be aliased, since the alias is used to form the preference key. If no alias is specified, all aliased settings will be made persistent.
- Parameters
alias (str or None) – the alias to save, or None
- setProperty(self, name: str, value: Any) bool ¶
- setScreen(self, a0: QScreen)¶
- setShortcutAutoRepeat(self, id: int, enabled: bool = True)¶
- setShortcutEnabled(self, id: int, enabled: bool = True)¶
- setSizeIncrement(self, w: int, h: int)¶
- setSizeIncrement(self, s: QSize) None
- setSizePolicy(self, a0: QSizePolicy)¶
- setSizePolicy(self, hor: QSizePolicy.Policy, ver: QSizePolicy.Policy) None
- setStatusTip(self, a0: str)¶
- setStyle(self, a0: QStyle)¶
- setStyleSheet(self, styleSheet: str)¶
- setTabOrder(a0: QWidget, a1: QWidget)¶
- setTabletTracking(self, enable: bool)¶
- setToolTip(self, a0: str)¶
- setToolTipDuration(self, msec: int)¶
- setUpdatesEnabled(self, enable: bool)¶
- setVisible(self, visible: bool)¶
- setWaitCursor(app_wide=True)¶
Set the cursor to the wait cursor. This will be an hourglass, clock or similar. Call restoreCursor() to return to the default cursor.
- Parameters
app_wide (bool) – If True then this will apply to the entire application (including Maestro if running there). If False then this will apply only to this panel.
- setWhatsThis(self, a0: str)¶
- setWindowFilePath(self, filePath: str)¶
- setWindowFlag(self, a0: Qt.WindowType, on: bool = True)¶
- setWindowFlags(self, type: Qt.WindowType)¶
- setWindowIcon(self, icon: QIcon)¶
- setWindowIconText(self, a0: str)¶
- setWindowModality(self, windowModality: Qt.WindowModality)¶
- setWindowModified(self, a0: bool)¶
- setWindowOpacity(self, level: float)¶
- setWindowRole(self, a0: str)¶
- setWindowState(self, state: Qt.WindowState)¶
- setWindowTitle(self, a0: str)¶
- 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
- 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 trackshow_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, a0: QWidget)¶
- startDebug()¶
- startTimer(self, interval: int, timerType: Qt.TimerType = Qt.CoarseTimer) int ¶
- startUp()¶
- staticMetaObject = <PyQt6.QtCore.QMetaObject object>¶
- statusTip(self) str ¶
- style(self) QStyle ¶
- styleSheet(self) str ¶
- syncConfigDialog()¶
- tabletEvent(self, a0: QTabletEvent)¶
- testAttribute(self, attribute: Qt.WidgetAttribute) bool ¶
- thread(self) QThread ¶
- timerEvent(self, a0: QTimerEvent)¶
- property title¶
- toolTip(self) str ¶
- toolTipDuration(self) int ¶
- tr(sourceText: str, disambiguation: typing.Optional[str] = None, n: int = - 1) str ¶
- underMouse(self) bool ¶
- ungrabGesture(self, type: Qt.GestureType)¶
- unsetCursor(self)¶
- unsetLayoutDirection(self)¶
- unsetLocale(self)¶
- update(self)¶
- update(self, a0: QRect) None
- update(self, a0: QRegion) None
- update(self, ax: int, ay: int, aw: int, ah: int) None
- updateGeometry(self)¶
- 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, query: Qt.InputMethodQuery = Qt.ImQueryAll)¶
- 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
- visibleRegion(self) QRegion ¶
- warning(text, preferences=None, key='')¶
Display a warning dialog with the specified text. If preferences and key are both supplied, then the dialog will contain a “Don’t show this again” checkbox. Future invocations of this dialog with the same preferences and key values will obey the user’s show preference.
- Parameters
text (str) – The information to display in the dialog
preferences – obsolete; ignored.
key (str) – The key to store the preference under. If specified, a “Do not show again” checkbox will be rendered in the dialog box.
- Return type
None
- whatsThis(self) str ¶
- wheelEvent(self, a0: QWheelEvent)¶
- width(self) int ¶
- widthMM(self) int ¶
- winId(self) PyQt6.sip.voidptr ¶
- window(self) QWidget ¶
- windowFilePath(self) str ¶
- windowFlags(self) Qt.WindowType ¶
- windowHandle(self) QWindow ¶
- windowIcon(self) QIcon ¶
- windowIconChanged¶
windowIconChanged(self, icon: QIcon) [signal]
- windowIconText(self) str ¶
- windowIconTextChanged¶
windowIconTextChanged(self, iconText: str) [signal]
- windowModality(self) Qt.WindowModality ¶
- windowOpacity(self) float ¶
- windowRole(self) str ¶
- windowState(self) Qt.WindowState ¶
- windowTitle(self) str ¶
- windowTitleChanged¶
windowTitleChanged(self, title: str) [signal]
- windowType(self) Qt.WindowType ¶
- writeJobCmd(cmdlist, job_spec=None, launch_params=None)¶
Writes the job invocation command to a file named “<jobname>.sh” Removes options from the command that are maestro-specific.
Note this may modify the contents of
cmdlist
- Parameters
job_spec (schrodinger.job.launchapi.JobSpecification) – The job specification for the command you want to write. This is NOT used to write the command that is run; it is used to write a commented-out, un-hashed, human-readable command in the
sh
file. IfNone
(which is also the default), then the human-readable comment is not written. If it is present, launch_params must be present too.launch_params (job.launchparams.LaunchParameters) – Job launch params
- writePanelState(filename=None)¶
Write the panel state to a JSON file
- Parameters
filename (str) – the JSON filename. Defaults to “panelstate.json”
- writeReadableCmdComment(cmdlist)¶
Append a readable and portable command (something that starts with $SCHRODINGER/run <script.py>) to the shell run file.
- Parameters
cmdlist (list) – Commands to launch/submit the job
- writeStateAndClose()¶
Will “write” the job files and close the panel.
- x(self) int ¶
- y(self) int ¶
- class schrodinger.application.matsci.multiapp.CmdJobMixin¶
Bases:
object
Mixin for multi apps that uses launchJobCmd() instead of launchFromJobSpec()
- multiJobStart()¶
Custom “start” method. For each job, creates a job sub-directory, cd’s into it, and launches the job there.
- Return type
list
- Returns
list of return values from self.launchFromJobSpec() calls. Each value is a Job object or False, in start mode, or True/False in write mode.
- class schrodinger.application.matsci.multiapp.MultiDesmondJobApp(**kwargs)¶
Bases:
schrodinger.application.matsci.multiapp.MultiJobApp
Class with functionality for setting up, validating and running multiple Desmond jobs.
- setup()¶
- setDefaults()¶
- setPanelOptions()¶
Override the generic parent class to set panel options.
- getModel(index)¶
Return the model system at the specified index.
- Parameters
index (int) – Index of the system to return
- Return type
cms.Cms
orstructure.Structure
- Returns
Model system at the specified job index or structure (if allow_mixed_cms_mae is enabled)
- getJobCount()¶
Return the number of jobs that the user would like to run.
- Returns
Number of jobs to run
- Return type
int
- getStructFromPtEntry()¶
Get the first included entry in the Workspace if that entry is one of the chosen entries, or the first selected entry if no included entry is chosen.
- Return type
(
schrodinger.structure.Structure
, string) or (None, None)- Returns
one structure from selected or included entries, the structure entry id
- customOPLSDirForModel(job_num)¶
Get the custom OPLS directory (if any) for the model corresponding to job_num
- Parameters
job_num (int) – The index of the job number
- Return type
str or None
- Returns
The opls directory to use, or None if this model does not use it
- launchFromJobSpec(sub_jobname, job_num, oplsdir=None)¶
See parent class for documentation. Here mainly OPLS directory is obtained from structure properties.
- validateModelLoaded(**kwargs)¶
- DrawChildren = 2¶
- DrawWindowBackground = 1¶
- IGNORE_DELAYED_CALLBACKS = False¶
- IgnoreMask = 4¶
- class PaintDeviceMetric(value)¶
Bases:
enum.Enum
An enumeration.
- PdmWidth = 1¶
- PdmHeight = 2¶
- PdmWidthMM = 3¶
- PdmHeightMM = 4¶
- PdmNumColors = 5¶
- PdmDepth = 6¶
- PdmDpiX = 7¶
- PdmDpiY = 8¶
- PdmPhysicalDpiX = 9¶
- PdmPhysicalDpiY = 10¶
- PdmDevicePixelRatio = 11¶
- PdmDevicePixelRatioScaled = 12¶
- PdmDepth = 6¶
- PdmDevicePixelRatio = 11¶
- PdmDevicePixelRatioScaled = 12¶
- PdmDpiX = 7¶
- PdmDpiY = 8¶
- PdmHeight = 2¶
- PdmHeightMM = 4¶
- PdmNumColors = 5¶
- PdmPhysicalDpiX = 9¶
- PdmPhysicalDpiY = 10¶
- PdmWidth = 1¶
- PdmWidthMM = 3¶
- class RenderFlag(value)¶
Bases:
enum.Flag
An enumeration.
- DrawWindowBackground = 1¶
- DrawChildren = 2¶
- IgnoreMask = 4¶
- __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, a0: QActionEvent)¶
- actions(self) List[QAction] ¶
- activateWindow(self)¶
- addAction(self, action: QAction)¶
- addActions(self, actions: Iterable[QAction])¶
- addJaguarMarker(atoms, color=None, icon=None, text='', alt_color=None, highlight=False)¶
Add a marker to the specified atom(s)
- Parameters
atoms (list or
schrodinger.structure._StructureAtom
) – The atom or list of atoms to mark. A list may contain between one and four atoms (inclusive).color (tuple, str, int, or
schrodinger.structutils.color
) – The color of the marker and icon. May be an RGB tuple, color name, color index, orschrodinger.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 whenhighlight
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 ofcolor
.
- 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 markedcolor (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, b: bool) bool ¶
- buildCallbackDicts()¶
Create a dictionary of all methods that have a maestro_callback decorator.
- changeEvent(self, a0: QEvent)¶
- childAt(self, p: QPoint) QWidget ¶
- childAt(self, ax: int, ay: int) QWidget
- childEvent(self, a0: QChildEvent)¶
- children(self) List[QObject] ¶
- childrenRect(self) QRect ¶
- childrenRegion(self) QRegion ¶
- cleanup()¶
- clearFocus(self)¶
- clearMask(self)¶
- close(self) bool ¶
- 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.
- colorCount(self) int ¶
- configDialogSettings()¶
- connectNotify(self, signal: QMetaMethod)¶
- contentsMargins(self) QMargins ¶
- contentsRect(self) QRect ¶
- contextMenuEvent(self, a0: QContextMenuEvent)¶
- contextMenuPolicy(self) Qt.ContextMenuPolicy ¶
- create(self, window: PyQt6.sip.voidptr = 0, initializeWindow: bool = True, destroyOldWindow: bool = True)¶
- createBottomBar()¶
- createInputSelector()¶
- createJobDir()¶
- createWindowContainer(window: QWindow, parent: typing.Optional[QWidget] = None, flags: Qt.WindowType = Qt.WindowFlags()) QWidget ¶
- currentTaskRunner()¶
- cursor(self) QCursor ¶
- customContextMenuRequested¶
customContextMenuRequested(self, pos: QPoint) [signal]
- customEvent(self, a0: QEvent)¶
- definePanelSettings()¶
Override this method to define the settings for the panel. The aliased settings provide an interface for saving/restoring panel state as well as for interacting with task/job runners that need to access the panel state in a way that is agnostic to the specifics of widget names and types.
Each panel setting is defined by a tuple that specifies the mapping of alias to panel setting. An optional third element in the tuple can be used to group settings by category. This allows multiple settings to share the same alias.
Each setting can either point to a specific object (usually a qt widget), or a pair of setter/getter functions.
If the mapped object is a string, this will be interpreted by af2 as referring to an attribute on the panel, and a AttributeSettingWrapper instance will automatically be created. For example, specifying the string ‘num_atoms’ will create a mapping to self.num_atoms which will simply get and set the value of that instance member.
Custom setter and getter functions should take the form getter(), returning a value that can be encoded/decoded by JSON, and setter(value), where the type of value is the same as the return type of the getter.
Commonly used objects/widgets should be handled automatically in settings.py. It’s worth considering whether it makes more sense to use a custom setter/getter here or add support for the widget in settings.py.
- Returns
a list of tuples defining the custom settings.
- Return type
list of tuples. Each tuple can be of type (str, object, str) or (str, (callable, callable), str) where the final str is optional.
Custom settings tuples consists of up to three elements:
alias - a string identier for the setting. Ex. “box_centroid”
either:
an object of a type that is supported by settings.py or
the string name of an existing panel attribute (i.e. member variable), or
a (getter, setter) tuple. The getter should take no arguments, and the setter should take a single value.
optionally, a group identifier. This can be useful if the panel runs two different jobs that both have a parameter with the same name but that needs to map to different widgets. If a setting has a group name, it will be ignored by runners unless the runner name matches the group name.
- deleteLater(self)¶
- depth(self) int ¶
- destroy(self, destroyWindow: bool = True, destroySubWindows: bool = True)¶
- destroyed¶
destroyed(self, object: typing.Optional[QObject] = None) [signal]
- devType(self) int ¶
- devicePixelRatio(self) float ¶
- devicePixelRatioF(self) float ¶
- devicePixelRatioFScale() float ¶
- disconnect(a0: QMetaObject.Connection) bool ¶
- disconnect(self) None
- disconnectNotify(self, signal: QMetaMethod)¶
- dragEnterEvent(self, a0: QDragEnterEvent)¶
- dragLeaveEvent(self, a0: QDragLeaveEvent)¶
- dragMoveEvent(self, a0: QDragMoveEvent)¶
- dropEvent(self, a0: QDropEvent)¶
- dumpObjectInfo(self)¶
- dumpObjectTree(self)¶
- dynamicPropertyNames(self) List[QByteArray] ¶
- effectiveWinId(self) PyQt6.sip.voidptr ¶
- ensurePolished(self)¶
- enterEvent(self, event: QEnterEvent)¶
- error(text, preferences=None, key='', detailed_text=None)¶
Display an error dialog with the specified text. If preferences and key are both supplied, then the dialog will contain a “Don’t show this again” checkbox. Future invocations of this dialog with the same preferences and key values will obey the user’s show preference.
- Parameters
text (str) – The information to display in the dialog
preferences – obsolete; ignored.
key (str) – The key to store the preference under. If specified, a “Do not show again” checkbox will be rendered in the dialog box.
detailed_text (str) – Detailed (selectable) error text if any.
- Return type
None
- event(self, a0: QEvent) bool ¶
- eventFilter(self, a0: QObject, a1: QEvent) bool ¶
- find(a0: PyQt6.sip.voidptr) QWidget ¶
- findChild(self, type: type, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) QObject ¶
- findChild(self, types: Tuple, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) QObject
- findChildren(self, type: type, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject] ¶
- findChildren(self, types: Tuple, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, type: type, re: QRegularExpression, options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, types: Tuple, re: QRegularExpression, options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
- focusInEvent(self, a0: QFocusEvent)¶
- focusNextChild(self) bool ¶
- focusNextPrevChild(self, next: bool) bool ¶
- focusOutEvent(self, a0: QFocusEvent)¶
- focusPolicy(self) Qt.FocusPolicy ¶
- focusPreviousChild(self) bool ¶
- focusProxy(self) QWidget ¶
- focusWidget(self) QWidget ¶
- font(self) QFont ¶
- fontInfo(self) QFontInfo ¶
- fontMetrics(self) QFontMetrics ¶
- foregroundRole(self) QPalette.ColorRole ¶
- frameGeometry(self) QRect ¶
- frameSize(self) QSize ¶
- generateStatus()¶
Generate the text to put into the status bar
- Returns
The text to put into the status bar
- Return type
str
- 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()¶
- 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 atomschrodinger.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)¶
- getValidatedOPLSDir(oplsdir=None)¶
Validate the existing oplsdir or get a requested oplsdir from the user’s selection in the force field selector widget
- Parameters
oplsdir (str) – The currently requested oplsdir
- Return type
False, None or str
- Returns
False if no valid oplsdir can be found, None if there is no custom dir requested, or the path to the custom directory
- getWorkspaceStructure()¶
If panel is open in Maestro session, returns the current workspace
schrodinger.strucutre.Structure
.If panel is open from outside of Maestro, returns the self.workspace_st if self.workspace_st_file is available. Used while running from command line or starting the panel from KNIME.
Returns None otherwise.
- Return type
schrodinger.structure.Structure
or None- Returns
Maestro workspace structure or None
- grab(self, rectangle: QRect = QRect(QPoint(0, 0), QSize(- 1, - 1))) QPixmap ¶
- grabGesture(self, type: Qt.GestureType, flags: Qt.GestureFlag = Qt.GestureFlags())¶
- grabKeyboard(self)¶
- grabMouse(self)¶
- grabMouse(self, a0: Union[QCursor, Qt.CursorShape]) None
- grabShortcut(self, key: Union[QKeySequence, QKeySequence.StandardKey, str, int], context: Qt.ShortcutContext = Qt.WindowShortcut) int ¶
- graphicsEffect(self) QGraphicsEffect ¶
- graphicsProxyWidget(self) QGraphicsProxyWidget ¶
- gui_closed¶
- hasFocus(self) bool ¶
- hasHeightForWidth(self) bool ¶
- hasMouseTracking(self) bool ¶
- hasTabletTracking(self) bool ¶
- height(self) int ¶
- heightForWidth(self, a0: int) int ¶
- heightMM(self) int ¶
- hide(self)¶
- hideAllJaguarMarkers()¶
Hide all
schrodinger.maestro.markers._BaseMarker
markers for this panel
- hideAllMarkers()¶
Hide all
schrodinger.maestro.markers.Marker
markers for this panel.
- hideEvent(self, a0: QHideEvent)¶
- hideLayoutElements(layout)¶
Hide all elements from the given layout. Used for customizing KNIME panel wrappers.
- ignoreMaestroCallbacks()¶
A context manager for temporarily disabling Maestro callbacks created using the decorators above. (Note that callbacks that have been manually added using maestro.*_callback_add() will not be disabled.)
Example:
def includeEntry(self, entry_id): proj = maestro.project_table_get() with self.ignoreMaestroCallbacks(): proj[entry_id].in_workspace = project.IN_WORKSPACE @maestro_callback.project_changed def onProjectChanged(self): print "This method will not be called during includeEntry." @maestro_callback.workspace_changed def onWorkspaceChanged(self): print "Neither will this one."
- info(text, preferences=None, key='')¶
Display an information dialog with the specified text. If preferences and key are both supplied, then the dialog will contain a “Don’t show this again” checkbox. Future invocations of this dialog with the same preferences and key values will obey the user’s show preference.
- Parameters
text (str) – The information to display in the dialog
preferences – obsolete; ignored.
key (str) – The key to store the preference under. If specified, a “Do not show again” checkbox will be rendered in the dialog box.
- Return type
None
- inherits(self, classname: str) bool ¶
- initPainter(self, painter: QPainter)¶
- inputMethodEvent(self, a0: QInputMethodEvent)¶
- inputMethodHints(self) Qt.InputMethodHint ¶
- inputMethodQuery(self, a0: Qt.InputMethodQuery) Any ¶
- insertAction(self, before: QAction, action: QAction)¶
- insertActions(self, before: QAction, actions: Iterable[QAction])¶
- installEventFilter(self, a0: QObject)¶
- isActiveWindow(self) bool ¶
- isAncestorOf(self, child: QWidget) bool ¶
- isEnabled(self) bool ¶
- isEnabledTo(self, a0: QWidget) bool ¶
- isFullScreen(self) bool ¶
- isHidden(self) bool ¶
- isLeftToRight(self) bool ¶
- isMaximized(self) bool ¶
- isMinimized(self) bool ¶
- isModal(self) bool ¶
- isRightToLeft(self) bool ¶
- isSignalConnected(self, signal: QMetaMethod) bool ¶
- isVisible(self) bool ¶
- isVisibleTo(self, a0: QWidget) bool ¶
- isWidgetType(self) bool ¶
- isWindow(self) bool ¶
- isWindowModified(self) bool ¶
- isWindowType(self) bool ¶
- jobCompleted¶
- 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, a0: QKeyEvent)¶
- keyReleaseEvent(self, a0: QKeyEvent)¶
- keyboardGrabber() QWidget ¶
- killTimer(self, id: int)¶
- lastJobCompleted¶
- launchJobCmd(cmdlist, show_progress_bar=False, auto_add_host=True, use_parallel_flag=True, jobdir=None)¶
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 (bool) – Whether or not to show a progress bar tracking the job’s status.
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.
jobdir (str) – launch the job from this dir, if provided.
- Returns
Job object for started job, or None if job start failed or if writing instead of starting. Panels should in general ignore the return value.
- launchLauncher(slauncher, show_progress_bar=False)¶
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.
- launchScript(script, script_args=None, input_files=[], structure_output_file=None, output_files=[], aux_modules=[], show_progress_bar=False, **kwargs)¶
DEPRECATED, add get_job_spec_from_args() to the backend script and launch it using launchJobCmd() or also add getJobSpec() to the panel and launch using 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 (bool) – Whether or not to show a progress bar tracking the job’s status.
- launcherToCmdList(slauncher)¶
- layOut()¶
- layout(self) QLayout ¶
- layoutDirection(self) Qt.LayoutDirection ¶
- leaveEvent(self, a0: QEvent)¶
- loadPanelState(filename=None)¶
Load the panel state from a JSON file
- Parameters
filename (str) – the JSON filename. Defaults to “panelstate.json”
- loadPersistentOptions()¶
Load all persistent options from the preferences.
- loadSettings(jobname)¶
Load the GUI state for the job in the CWD with the given name. Default implementation will return False. Each KNIME panel will need to implement a custom version. For example, the panel may want to read the <jobname.sh> file, parse the list of command-line options, and populate the GUI accordintly. If a panel writes key/value file, then it would need to read it here.
- Returns
True if panel state was restored, False if saved state was not found.
- Return type
bool
- locale(self) QLocale ¶
- logicalDpiX(self) int ¶
- logicalDpiY(self) int ¶
- lower(self)¶
- makeJobSpec(sub_jobname, job_num)¶
Return job spec from job spec itself or some other data.
- Parameters
sub_jobname (str) – The job name for the subjob
job_num (int) – The subjob number
- Return type
launchapi.JobSpecification
- Returns
JobSpecification object
- Raises
SystemExit – On driver.get_job_spec_from_args error
- makeLauncher(script, script_args=[], input_files=[], structure_output_file=None, output_files=[], aux_modules=[], **kwargs)¶
DEPRECATED, add get_job_spec_from_args() to the backend script and launch it using launchJobCmd() or also add getJobSpec() to the panel and launch using 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
- mapFrom(self, a0: QWidget, a1: QPoint) QPoint ¶
- mapFrom(self, a0: QWidget, a1: QPointF) QPointF
- mapFromGlobal(self, a0: QPoint) QPoint ¶
- mapFromGlobal(self, a0: QPointF) QPointF
- mapFromParent(self, a0: QPoint) QPoint ¶
- mapFromParent(self, a0: QPointF) QPointF
- mapTo(self, a0: QWidget, a1: QPoint) QPoint ¶
- mapTo(self, a0: QWidget, a1: QPointF) QPointF
- mapToGlobal(self, a0: QPoint) QPoint ¶
- mapToGlobal(self, a0: QPointF) QPointF
- mapToParent(self, a0: QPoint) QPoint ¶
- mapToParent(self, a0: QPointF) QPointF
- mask(self) QRegion ¶
- maximumHeight(self) int ¶
- maximumSize(self) QSize ¶
- maximumWidth(self) int ¶
- metaObject(self) QMetaObject ¶
- metric(self, a0: QPaintDevice.PaintDeviceMetric) int ¶
- minimumHeight(self) int ¶
- minimumSize(self) QSize ¶
- minimumSizeHint(self) QSize ¶
- minimumWidth(self) int ¶
- mouseDoubleClickEvent(self, a0: QMouseEvent)¶
- mouseGrabber() QWidget ¶
- mouseMoveEvent(self, a0: QMouseEvent)¶
- mousePressEvent(self, a0: QMouseEvent)¶
- mouseReleaseEvent(self, a0: QMouseEvent)¶
- move(self, a0: QPoint)¶
- move(self, ax: int, ay: int) None
- moveEvent(self, a0: QMoveEvent)¶
- moveToThread(self, thread: QThread)¶
- multiJobStart()¶
Custom “start” method. For each job, creates a job sub-directory, cd’s into it, and launches the job there.
- :return list of return values from self.launchFromJobSpec() calls.
Each value is a Job object or False, in start mode, or True/False in write mode.
- nativeEvent(self, eventType: QByteArray, message: PyQt6.sip.voidptr) Tuple[bool, PyQt6.sip.voidptr] ¶
- nativeParentWidget(self) QWidget ¶
- nextInFocusChain(self) QWidget ¶
- normalGeometry(self) QRect ¶
- objectName(self) str ¶
- objectNameChanged¶
objectNameChanged(self, objectName: str) [signal]
- overrideWindowFlags(self, type: Qt.WindowType)¶
- overrideWindowState(self, state: Qt.WindowState)¶
- paintEngine(self) QPaintEngine ¶
- paintEvent(self, a0: QPaintEvent)¶
- paintingActive(self) bool ¶
- palette(self) QPalette ¶
- classmethod panel(run=True)¶
Launch a singleton instance of this class. If the panel has already been instantiated, the existing panel instance will be re-opened and brought to the front.
- Parameters
run (bool) – Whether to launch the panel
- Returns
The singleton panel instance
- Return type
- parent(self) QObject ¶
- parentWidget(self) QWidget ¶
- physicalDpiX(self) int ¶
- physicalDpiY(self) int ¶
- pos(self) QPoint ¶
- previousInFocusChain(self) QWidget ¶
- processSettings(settings=None, runner=None)¶
This method is meant to be used as a callback to a task runner. If it is called with no arguments, it returns a dictionary of all the alieased settings. If settings are passed, the settings are first applied to self, and then the newly modified settings are returned.
- Parameters
settings (dict or None) – a settings dictionary to apply to this object
runner (tasks.AbstractTaskRuner) – the task runner that is invoking this callback. This optional argument is necessary for per-runner grouping of settings
- processTaskMessage(message_type, text, options=None, runner=None)¶
This method is meant to be used as a callback to a task runner, and provides a single point of interaction from the runner to the user.
- Parameters
message_type (int) – the type of message being sent
text (str) – the main text to show the user
options – extra options
- property(self, name: str) Any ¶
- pyqtConfigure(...)¶
Each keyword argument is either the name of a Qt property or a Qt signal. For properties the property is set to the given value which should be of an appropriate type. For signals the signal is connected to the given value which should be a callable.
- question(msg, button1='OK', button2='Cancel', title='Question')¶
Display a prompt dialog window with specified text. Returns True if first button (default OK) is pressed, False otherwise.
- raise_(self)¶
- readShFile(jobname)¶
Reads the jobname.sh file (written by _write()) and returns the list of command line arguments
- receivers(self, signal: PYQT_SIGNAL) int ¶
- rect(self) QRect ¶
- registerJob(job, show_progress_bar=False)¶
Registers a job with the periodic job check callback and starts timer.
- Parameters
job (jobcontrol.Job) – job to register
show_progress_bar (bool) – Whether or not to show a progress bar tracking the job’s status.
- releaseKeyboard(self)¶
- releaseMouse(self)¶
- releaseShortcut(self, id: int)¶
- removeAction(self, action: QAction)¶
- removeAllJaguarMarkers()¶
Remove all markers
schrodinger.maestro.markers._BaseMarker
markers from this panel
- removeAllJaguarMarkersForEntry(eid)¶
Remove all markers for the specified entry id from this panel
- Parameters
eid (str) – The entry id to remove markers for
- removeAllMarkers()¶
Remove all
schrodinger.maestro.markers.Marker
markers from this panel.
- removeEventFilter(self, a0: QObject)¶
- removeJaguarMarker(marker)¶
Removes the specified marker
- Parameters
marker (
schrodinger.maestro.markers._BaseMarker
) – The marker to remove- Raises
ValueError – If there is no marker on the specified atoms
- removeJaguarMarkerForAtoms(atoms)¶
Removes the marker for specified atom(s)
- Parameters
atoms (list or
schrodinger.structure._StructureAtom
) – The atom or list of atoms to retrieve the marker for. A list may contain between one and four atoms (inclusive).- Raises
ValueError – If no marker exists for the specified atoms
- removeMarker(marker)¶
Remove the
schrodinger.maestro.markers.Marker
- Parameters
marker (
schrodinger.maestro.markers.Marker
) – Marker to remove- Raises
ValueError – If marker is the wrong type or is not associated with the panel.
- render(self, target: QPaintDevice, targetOffset: QPoint = QPoint(), sourceRegion: QRegion = QRegion(), flags: QWidget.RenderFlag = QWidget.RenderFlags(QWidget.DrawWindowBackground | QWidget.DrawChildren))¶
- render(self, painter: QPainter, targetOffset: QPoint = QPoint(), sourceRegion: QRegion = QRegion(), flags: QWidget.RenderFlag = QWidget.RenderFlags(QWidget.DrawWindowBackground | QWidget.DrawChildren)) None
- repaint(self)¶
- repaint(self, x: int, y: int, w: int, h: int) None
- repaint(self, a0: QRect) None
- repaint(self, a0: QRegion) None
- reportValidation(results)¶
Present validation messages to the user. This is an implmentation of the
ValidationMixin
interface and does not need to be called directly.This method assumes that
error
andquestion
methods have been defined in the subclass, as in e.g.widget_mixins.MessageBoxMixin
.- Parameters
results (
validation.ValidationResults
) – Set of validation results generated byvalidate
- Returns
if True, there were no validation errors and the user decided to continue despite any warnings. If False, there was at least one validation error or the user decided to abort when faced with a warning.
- resetAllRunners()¶
Resets all task runners associated with this panel (main tasks and other tasks added via setupTaskRunner). This is called from _reset() and normally does not need to be called directly.
- resize(self, a0: QSize)¶
- resize(self, w: int, h: int) None
- resizeEvent(self, a0: QResizeEvent)¶
- restoreCursor(app_wide=True)¶
Restore the application level cursor to the default. If ‘app_wide’ is True then if will be restored for the entire application, if it’s False, it will be just for this panel.
- Parameters
app_wide (bool) – If True then this will restore the cursor for the entire application (including Maestro if running there). If False then this will apply only to this panel.
- restoreGeometry(self, geometry: QByteArray) bool ¶
- run()¶
- runCanvas()¶
This handles Canvas-specific logic
- classmethod runKnime(input_selector_file=None, workspace_st_file=None, jobname=None, run=True, load_settings=True, panel_state_file=None)¶
Call this static method to instantiate this panel in KNIME mode - where OK & Cancel buttons are shown at the bottom. Pressing OK button cases the job files to be written to the CWD.
- Parameters
input_selector_file (str) – the filename to be fed into the input selector, replacing interactive input from the user. Required if the panel contains an input selector.
workspace_st_file (str) – the filename containing the
schrodinger.structure.Structure
that replaces the workspace structure in a Maestro session.jobname (str) – Jobname for the panel
run (bool) – Whether to launch the panel. If False, just returns the panel instance without starting the event loop.
load_settings (bool) – Whether to load previous settings for the given jobname from the CWD.
panel_state_file – Unused (added for backwards compatability)
- runMaestro()¶
This can be extended in derived classes to perform maestro-only tasks such as setting up the mini-monitor or connecting maestro callbacks
- runMode()¶
- runStandalone()¶
- runSubpanel()¶
- runValidation(silent=False, validate_children=True, stop_on_fail=True)¶
Runs validation and reports the results (unless run silently).
- Parameters
silent (bool) – run without any reporting (i.e. error messages to the user). This is useful if we want to programmatically test validity. Changes return value of this method from
ValidationResults
to a boolean.validate_children (bool) – run validation on all child objects. See
_validateChildren
for documentation on what this entails.stop_on_fail (bool) – stop validation when first failure is encountered
- Returns
if silent is False, returns the validation results. If silent is True, returns a boolean generated by
reportValidation
.- Return type
ValidationResults
or bool
- 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.
- screen(self) QScreen ¶
- scroll(self, dx: int, dy: int)¶
- scroll(self, dx: int, dy: int, a2: QRect) None
- sender(self) QObject ¶
- senderSignalIndex(self) int ¶
- setAcceptDrops(self, on: bool)¶
- setAccessibleDescription(self, description: str)¶
- setAccessibleName(self, name: str)¶
- setAlias(alias, obj, persistent=False)¶
Sets an alias to conveniently access an object.
- Parameters
alias (hashable) – any hashable, but typically a string name
obj (object) – the actual object to be referenced
persistent (bool) – whether to make the setting persistent
- setAliasedValue(alias, value)¶
- setAliases(alias_dict, persistent=False)¶
Sets multiple aliases at once. Already used aliases are overwritten; other existing aliases are not affected.
- Parameters
alias_dict (dict) – map of aliases to objects
persistent (bool) – whether to make the settings persistent
- setAttribute(self, attribute: Qt.WidgetAttribute, on: bool = True)¶
- setAutoFillBackground(self, enabled: bool)¶
- setBackgroundRole(self, a0: QPalette.ColorRole)¶
- setBaseSize(self, basew: int, baseh: int)¶
- setBaseSize(self, s: QSize) None
- setConfigDialogSettings(new_values)¶
- setContentsMargins(self, left: int, top: int, right: int, bottom: int)¶
- setContentsMargins(self, margins: QMargins) None
- setContextMenuPolicy(self, policy: Qt.ContextMenuPolicy)¶
- setCurrentTask(index)¶
Selects the current main task for the panel. Switching to a new task involves several steps. These are 1) saving the current panel state to the task runner, 2) hiding the current task widget (and all others), 3) showing the widget for the new task, and 4) setting the panel state to correspond to the new task runner’s settings.
- Parameters
index (int) – the index of the task to be selected. The index for each main task is set sequentially from 0 as each task as added using self.addMainTaskRunner()
- setCursor(self, a0: Union[QCursor, Qt.CursorShape])¶
- setDisabled(self, a0: bool)¶
- setEnabled(self, a0: bool)¶
- setFixedHeight(self, h: int)¶
- setFixedSize(self, a0: QSize)¶
- setFixedSize(self, w: int, h: int) None
- setFixedWidth(self, w: int)¶
- setFocus(self)¶
- setFocus(self, reason: Qt.FocusReason) None
- setFocusPolicy(self, policy: Qt.FocusPolicy)¶
- setFocusProxy(self, a0: QWidget)¶
- setFont(self, a0: QFont)¶
- setForegroundRole(self, a0: QPalette.ColorRole)¶
- setGeometry(self, a0: QRect)¶
- setGeometry(self, ax: int, ay: int, aw: int, ah: int) None
- setGraphicsEffect(self, effect: QGraphicsEffect)¶
- setHidden(self, hidden: bool)¶
- setInputMethodHints(self, hints: Qt.InputMethodHint)¶
- setJobname(jobname)¶
Set the job name for the current task.
- setLayout(self, a0: QLayout)¶
- setLayoutDirection(self, direction: Qt.LayoutDirection)¶
- setLocale(self, locale: QLocale)¶
- setMask(self, a0: QBitmap)¶
- setMask(self, a0: QRegion) None
- setMaximumHeight(self, maxh: int)¶
- setMaximumSize(self, maxw: int, maxh: int)¶
- setMaximumSize(self, s: QSize) None
- setMaximumWidth(self, maxw: int)¶
- setMinimumHeight(self, minh: int)¶
- setMinimumSize(self, minw: int, minh: int)¶
- setMinimumSize(self, s: QSize) None
- setMinimumWidth(self, minw: int)¶
- setMouseTracking(self, enable: bool)¶
- setObjValue(obj, value)¶
- setObjectName(self, name: str)¶
- setPalette(self, a0: QPalette)¶
- setPanelState(state)¶
Resets the panel and then sets the panel to the specified state
- Parameters
state (PanelState) – the panel state to set. This object should originate from a call to getPanelState()
- setParent(self, parent: QWidget)¶
- setParent(self, parent: QWidget, f: Qt.WindowType) None
- setPersistent(alias=None)¶
Set options to be persistent. Any options to be made persistent must be aliased, since the alias is used to form the preference key. If no alias is specified, all aliased settings will be made persistent.
- Parameters
alias (str or None) – the alias to save, or None
- setProperty(self, name: str, value: Any) bool ¶
- setScreen(self, a0: QScreen)¶
- setShortcutAutoRepeat(self, id: int, enabled: bool = True)¶
- setShortcutEnabled(self, id: int, enabled: bool = True)¶
- setSizeIncrement(self, w: int, h: int)¶
- setSizeIncrement(self, s: QSize) None
- setSizePolicy(self, a0: QSizePolicy)¶
- setSizePolicy(self, hor: QSizePolicy.Policy, ver: QSizePolicy.Policy) None
- setStatusTip(self, a0: str)¶
- setStyle(self, a0: QStyle)¶
- setStyleSheet(self, styleSheet: str)¶
- setTabOrder(a0: QWidget, a1: QWidget)¶
- setTabletTracking(self, enable: bool)¶
- setToolTip(self, a0: str)¶
- setToolTipDuration(self, msec: int)¶
- setUpdatesEnabled(self, enable: bool)¶
- setVisible(self, visible: bool)¶
- setWaitCursor(app_wide=True)¶
Set the cursor to the wait cursor. This will be an hourglass, clock or similar. Call restoreCursor() to return to the default cursor.
- Parameters
app_wide (bool) – If True then this will apply to the entire application (including Maestro if running there). If False then this will apply only to this panel.
- setWhatsThis(self, a0: str)¶
- setWindowFilePath(self, filePath: str)¶
- setWindowFlag(self, a0: Qt.WindowType, on: bool = True)¶
- setWindowFlags(self, type: Qt.WindowType)¶
- setWindowIcon(self, icon: QIcon)¶
- setWindowIconText(self, a0: str)¶
- setWindowModality(self, windowModality: Qt.WindowModality)¶
- setWindowModified(self, a0: bool)¶
- setWindowOpacity(self, level: float)¶
- setWindowRole(self, a0: str)¶
- setWindowState(self, state: Qt.WindowState)¶
- setWindowTitle(self, a0: str)¶
- 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
- 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)¶
- showLaunchStatus(num_succeeded, njobs)¶
Show a label at the bottom of the panel with status of the launch.
- Parameters
num_succeeded (int) – Number of jobs that were successfully launched
njobs (int) – Total number of jobs
- 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 trackshow_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, a0: QWidget)¶
- startDebug()¶
- startTimer(self, interval: int, timerType: Qt.TimerType = Qt.CoarseTimer) int ¶
- startUp()¶
- staticMetaObject = <PyQt6.QtCore.QMetaObject object>¶
- statusTip(self) str ¶
- style(self) QStyle ¶
- styleSheet(self) str ¶
- syncConfigDialog()¶
- tabletEvent(self, a0: QTabletEvent)¶
- testAttribute(self, attribute: Qt.WidgetAttribute) bool ¶
- thread(self) QThread ¶
- timerEvent(self, a0: QTimerEvent)¶
- property title¶
- toolTip(self) str ¶
- toolTipDuration(self) int ¶
- tr(sourceText: str, disambiguation: typing.Optional[str] = None, n: int = - 1) str ¶
- underMouse(self) bool ¶
- ungrabGesture(self, type: Qt.GestureType)¶
- unsetCursor(self)¶
- unsetLayoutDirection(self)¶
- unsetLocale(self)¶
- update(self)¶
- update(self, a0: QRect) None
- update(self, a0: QRegion) None
- update(self, ax: int, ay: int, aw: int, ah: int) None
- updateGeometry(self)¶
- 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, query: Qt.InputMethodQuery = Qt.ImQueryAll)¶
- 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
- validateJobCount(**kwargs)¶
- 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
- visibleRegion(self) QRegion ¶
- warning(text, preferences=None, key='')¶
Display a warning dialog with the specified text. If preferences and key are both supplied, then the dialog will contain a “Don’t show this again” checkbox. Future invocations of this dialog with the same preferences and key values will obey the user’s show preference.
- Parameters
text (str) – The information to display in the dialog
preferences – obsolete; ignored.
key (str) – The key to store the preference under. If specified, a “Do not show again” checkbox will be rendered in the dialog box.
- Return type
None
- whatsThis(self) str ¶
- wheelEvent(self, a0: QWheelEvent)¶
- width(self) int ¶
- widthMM(self) int ¶
- winId(self) PyQt6.sip.voidptr ¶
- window(self) QWidget ¶
- windowFilePath(self) str ¶
- windowFlags(self) Qt.WindowType ¶
- windowHandle(self) QWindow ¶
- windowIcon(self) QIcon ¶
- windowIconChanged¶
windowIconChanged(self, icon: QIcon) [signal]
- windowIconText(self) str ¶
- windowIconTextChanged¶
windowIconTextChanged(self, iconText: str) [signal]
- windowModality(self) Qt.WindowModality ¶
- windowOpacity(self) float ¶
- windowRole(self) str ¶
- windowState(self) Qt.WindowState ¶
- windowTitle(self) str ¶
- windowTitleChanged¶
windowTitleChanged(self, title: str) [signal]
- windowType(self) Qt.WindowType ¶
- writeJobCmd(cmdlist, job_spec=None, launch_params=None)¶
Writes the job invocation command to a file named “<jobname>.sh” Removes options from the command that are maestro-specific.
Note this may modify the contents of
cmdlist
- Parameters
job_spec (schrodinger.job.launchapi.JobSpecification) – The job specification for the command you want to write. This is NOT used to write the command that is run; it is used to write a commented-out, un-hashed, human-readable command in the
sh
file. IfNone
(which is also the default), then the human-readable comment is not written. If it is present, launch_params must be present too.launch_params (job.launchparams.LaunchParameters) – Job launch params
- writePanelState(filename=None)¶
Write the panel state to a JSON file
- Parameters
filename (str) – the JSON filename. Defaults to “panelstate.json”
- writeReadableCmdComment(cmdlist)¶
Append a readable and portable command (something that starts with $SCHRODINGER/run <script.py>) to the shell run file.
- Parameters
cmdlist (list) – Commands to launch/submit the job
- writeStateAndClose()¶
Will “write” the job files and close the panel.
- x(self) int ¶
- y(self) int ¶
- class schrodinger.application.matsci.multiapp.MultiCmdJobApp(**kwargs)¶
Bases:
schrodinger.application.matsci.multiapp.CmdJobMixin
,schrodinger.application.matsci.multiapp.MultiDesmondJobApp
Class with functionality for setting up, validating and running multiple Desmond jobs with GPU subhosts via commands.
Note: multiJobStart() fires off multiple jobs by launchJobCmd(), which calls setupJobCmd() to add HOST and SUBHOST flags.
- getJobCmd(jobname, job_number, cmd=None)¶
Must be inherited by subclasses to yield a command list
- Parameters
jobname (str) – The job name
job_number (int) – the job number
cmd (list) – The list of command args to this point
- Return type
list of str
- Returns
a list of the command args for job submission
- setupJobCmd(cmdlist, auto_add_host=True, auto_add_subhost=True, **kwargs)¶
Adds arguments such as HOST, SUBHOST, and GPU flags to cmdlist beyond the parent class method 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.
auto_add_subhost (bool) – Whether or not to automatically add -SUBHOST flat to command when it is not already included.
- DrawChildren = 2¶
- DrawWindowBackground = 1¶
- IGNORE_DELAYED_CALLBACKS = False¶
- IgnoreMask = 4¶
- class PaintDeviceMetric(value)¶
Bases:
enum.Enum
An enumeration.
- PdmWidth = 1¶
- PdmHeight = 2¶
- PdmWidthMM = 3¶
- PdmHeightMM = 4¶
- PdmNumColors = 5¶
- PdmDepth = 6¶
- PdmDpiX = 7¶
- PdmDpiY = 8¶
- PdmPhysicalDpiX = 9¶
- PdmPhysicalDpiY = 10¶
- PdmDevicePixelRatio = 11¶
- PdmDevicePixelRatioScaled = 12¶
- PdmDepth = 6¶
- PdmDevicePixelRatio = 11¶
- PdmDevicePixelRatioScaled = 12¶
- PdmDpiX = 7¶
- PdmDpiY = 8¶
- PdmHeight = 2¶
- PdmHeightMM = 4¶
- PdmNumColors = 5¶
- PdmPhysicalDpiX = 9¶
- PdmPhysicalDpiY = 10¶
- PdmWidth = 1¶
- PdmWidthMM = 3¶
- class RenderFlag(value)¶
Bases:
enum.Flag
An enumeration.
- DrawWindowBackground = 1¶
- DrawChildren = 2¶
- IgnoreMask = 4¶
- __init__(**kwargs)¶
- acceptDrops(self) bool ¶
- accessibleDescription(self) str ¶
- accessibleName(self) str ¶
- actionEvent(self, a0: QActionEvent)¶
- actions(self) List[QAction] ¶
- activateWindow(self)¶
- addAction(self, action: QAction)¶
- addActions(self, actions: Iterable[QAction])¶
- addJaguarMarker(atoms, color=None, icon=None, text='', alt_color=None, highlight=False)¶
Add a marker to the specified atom(s)
- Parameters
atoms (list or
schrodinger.structure._StructureAtom
) – The atom or list of atoms to mark. A list may contain between one and four atoms (inclusive).color (tuple, str, int, or
schrodinger.structutils.color
) – The color of the marker and icon. May be an RGB tuple, color name, color index, orschrodinger.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 whenhighlight
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 ofcolor
.
- 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 markedcolor (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, b: bool) bool ¶
- buildCallbackDicts()¶
Create a dictionary of all methods that have a maestro_callback decorator.
- changeEvent(self, a0: QEvent)¶
- childAt(self, p: QPoint) QWidget ¶
- childAt(self, ax: int, ay: int) QWidget
- childEvent(self, a0: QChildEvent)¶
- children(self) List[QObject] ¶
- childrenRect(self) QRect ¶
- childrenRegion(self) QRegion ¶
- cleanup()¶
- clearFocus(self)¶
- clearMask(self)¶
- close(self) bool ¶
- 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.
- colorCount(self) int ¶
- configDialogSettings()¶
- connectNotify(self, signal: QMetaMethod)¶
- contentsMargins(self) QMargins ¶
- contentsRect(self) QRect ¶
- contextMenuEvent(self, a0: QContextMenuEvent)¶
- contextMenuPolicy(self) Qt.ContextMenuPolicy ¶
- create(self, window: PyQt6.sip.voidptr = 0, initializeWindow: bool = True, destroyOldWindow: bool = True)¶
- createBottomBar()¶
- createInputSelector()¶
- createJobDir()¶
- createWindowContainer(window: QWindow, parent: typing.Optional[QWidget] = None, flags: Qt.WindowType = Qt.WindowFlags()) QWidget ¶
- currentTaskRunner()¶
- cursor(self) QCursor ¶
- customContextMenuRequested¶
customContextMenuRequested(self, pos: QPoint) [signal]
- customEvent(self, a0: QEvent)¶
- customOPLSDirForModel(job_num)¶
Get the custom OPLS directory (if any) for the model corresponding to job_num
- Parameters
job_num (int) – The index of the job number
- Return type
str or None
- Returns
The opls directory to use, or None if this model does not use it
- 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:
alias - a string identier for the setting. Ex. “box_centroid”
either:
an object of a type that is supported by settings.py or
the string name of an existing panel attribute (i.e. member variable), or
a (getter, setter) tuple. The getter should take no arguments, and the setter should take a single value.
optionally, a group identifier. This can be useful if the panel runs two different jobs that both have a parameter with the same name but that needs to map to different widgets. If a setting has a group name, it will be ignored by runners unless the runner name matches the group name.
- deleteLater(self)¶
- depth(self) int ¶
- destroy(self, destroyWindow: bool = True, destroySubWindows: bool = True)¶
- destroyed¶
destroyed(self, object: typing.Optional[QObject] = None) [signal]
- devType(self) int ¶
- devicePixelRatio(self) float ¶
- devicePixelRatioF(self) float ¶
- devicePixelRatioFScale() float ¶
- disconnect(a0: QMetaObject.Connection) bool ¶
- disconnect(self) None
- disconnectNotify(self, signal: QMetaMethod)¶
- dragEnterEvent(self, a0: QDragEnterEvent)¶
- dragLeaveEvent(self, a0: QDragLeaveEvent)¶
- dragMoveEvent(self, a0: QDragMoveEvent)¶
- dropEvent(self, a0: QDropEvent)¶
- dumpObjectInfo(self)¶
- dumpObjectTree(self)¶
- dynamicPropertyNames(self) List[QByteArray] ¶
- effectiveWinId(self) PyQt6.sip.voidptr ¶
- ensurePolished(self)¶
- enterEvent(self, event: QEnterEvent)¶
- error(text, preferences=None, key='', detailed_text=None)¶
Display an error dialog with the specified text. If preferences and key are both supplied, then the dialog will contain a “Don’t show this again” checkbox. Future invocations of this dialog with the same preferences and key values will obey the user’s show preference.
- Parameters
text (str) – The information to display in the dialog
preferences – obsolete; ignored.
key (str) – The key to store the preference under. If specified, a “Do not show again” checkbox will be rendered in the dialog box.
detailed_text (str) – Detailed (selectable) error text if any.
- Return type
None
- event(self, a0: QEvent) bool ¶
- eventFilter(self, a0: QObject, a1: QEvent) bool ¶
- find(a0: PyQt6.sip.voidptr) QWidget ¶
- findChild(self, type: type, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) QObject ¶
- findChild(self, types: Tuple, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) QObject
- findChildren(self, type: type, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject] ¶
- findChildren(self, types: Tuple, name: str = '', options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, type: type, re: QRegularExpression, options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
- findChildren(self, types: Tuple, re: QRegularExpression, options: Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObject]
- focusInEvent(self, a0: QFocusEvent)¶
- focusNextChild(self) bool ¶
- focusNextPrevChild(self, next: bool) bool ¶
- focusOutEvent(self, a0: QFocusEvent)¶
- focusPolicy(self) Qt.FocusPolicy ¶
- focusPreviousChild(self) bool ¶
- focusProxy(self) QWidget ¶
- focusWidget(self) QWidget ¶
- font(self) QFont ¶
- fontInfo(self) QFontInfo ¶
- fontMetrics(self) QFontMetrics ¶
- foregroundRole(self) QPalette.ColorRole ¶
- frameGeometry(self) QRect ¶
- frameSize(self) QSize ¶
- generateStatus()¶
Generate the text to put into the status bar
- Returns
The text to put into the status bar
- Return type
str
- 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()¶
- 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 atomschrodinger.maestro.markers.Marker
type markers are not accessible in this way.
- getJobCount()¶
Return the number of jobs that the user would like to run.
- Returns
Number of jobs to run
- Return type
int
- getJobSpec()¶
- getModel(index)¶
Return the model system at the specified index.
- Parameters
index (int) – Index of the system to return
- Return type
cms.Cms
orstructure.Structure
- Returns
Model system at the specified job index or structure (if allow_mixed_cms_mae is enabled)
- 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)¶
- getStructFromPtEntry()¶
Get the first included entry in the Workspace if that entry is one of the chosen entries, or the first selected entry if no included entry is chosen.
- Return type
(
schrodinger.structure.Structure
, string) or (None, None)- Returns
one structure from selected or included entries, the structure entry id
- getValidatedOPLSDir(oplsdir=None)¶
Validate the existing oplsdir or get a requested oplsdir from the user’s selection in the force field selector widget
- Parameters
oplsdir (str) – The currently requested oplsdir
- Return type
False, None or str
- Returns
False if no valid oplsdir can be found, None if there is no custom dir requested, or the path to the custom directory
- getWorkspaceStructure()¶
If panel is open in Maestro session, returns the current workspace
schrodinger.strucutre.Structure
.If panel is open from outside of Maestro, returns the self.workspace_st if self.workspace_st_file is available. Used while running from command line or starting the panel from KNIME.
Returns None otherwise.
- Return type
schrodinger.structure.Structure
or None- Returns
Maestro workspace structure or None
- grab(self, rectangle: QRect = QRect(QPoint(0, 0), QSize(- 1, - 1))) QPixmap ¶
- grabGesture(self, type: Qt.GestureType, flags: Qt.GestureFlag = Qt.GestureFlags())¶
- grabKeyboard(self)¶
- grabMouse(self)¶
- grabMouse(self, a0: Union[QCursor, Qt.CursorShape]) None
- grabShortcut(self, key: Union[QKeySequence, QKeySequence.StandardKey, str, int], context: Qt.ShortcutContext = Qt.WindowShortcut) int ¶
- graphicsEffect(self) QGraphicsEffect ¶
- graphicsProxyWidget(self) QGraphicsProxyWidget ¶
- gui_closed¶
- hasFocus(self) bool ¶
- hasHeightForWidth(self) bool ¶
- hasMouseTracking(self) bool ¶
- hasTabletTracking(self) bool ¶
- height(self) int ¶
- heightForWidth(self, a0: int) int ¶
- heightMM(self) int ¶
- hide(self)¶
- hideAllJaguarMarkers()¶
Hide all
schrodinger.maestro.markers._BaseMarker
markers for this panel
- hideAllMarkers()¶
Hide all
schrodinger.maestro.markers.Marker
markers for this panel.
- hideEvent(self, a0: QHideEvent)¶
- hideLayoutElements(layout)¶
Hide all elements from the given layout. Used for customizing KNIME panel wrappers.
- ignoreMaestroCallbacks()¶
A context manager for temporarily disabling Maestro callbacks created using the decorators above. (Note that callbacks that have been manually added using maestro.*_callback_add() will not be disabled.)
Example:
def includeEntry(self, entry_id): proj = maestro.project_table_get() with self.ignoreMaestroCallbacks(): proj[entry_id].in_workspace = project.IN_WORKSPACE @maestro_callback.project_changed def onProjectChanged(self): print "This method will not be called during includeEntry." @maestro_callback.workspace_changed def onWorkspaceChanged(self): print "Neither will this one."
- info(text, preferences=None, key='')¶
Display an information dialog with the specified text. If preferences and key are both supplied, then the dialog will contain a “Don’t show this again” checkbox. Future invocations of this dialog with the same preferences and key values will obey the user’s show preference.
- Parameters
text (str) – The information to display in the dialog
preferences – obsolete; ignored.
key (str) – The key to store the preference under. If specified, a “Do not show again” checkbox will be rendered in the dialog box.
- Return type
None
- inherits(self, classname: str) bool ¶
- initPainter(self, painter: QPainter)¶
- inputMethodEvent(self, a0: QInputMethodEvent)¶
- inputMethodHints(self) Qt.InputMethodHint ¶
- inputMethodQuery(self, a0: Qt.InputMethodQuery) Any ¶
- insertAction(self, before: QAction, action: QAction)¶
- insertActions(self, before: QAction, actions: Iterable[QAction])¶
- installEventFilter(self, a0: QObject)¶
- isActiveWindow(self) bool ¶
- isAncestorOf(self, child: QWidget) bool ¶
- isEnabled(self) bool ¶
- isEnabledTo(self, a0: QWidget) bool ¶
- isFullScreen(self) bool ¶
- isHidden(self) bool ¶
- isLeftToRight(self) bool ¶
- isMaximized(self) bool ¶
- isMinimized(self) bool ¶
- isModal(self) bool ¶
- isRightToLeft(self) bool ¶
- isSignalConnected(self, signal: QMetaMethod) bool ¶
- isVisible(self) bool ¶
- isVisibleTo(self, a0: QWidget) bool ¶
- isWidgetType(self) bool ¶
- isWindow(self) bool ¶
- isWindowModified(self) bool ¶
- isWindowType(self) bool ¶
- jobCompleted¶
- 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, a0: QKeyEvent)¶
- keyReleaseEvent(self, a0: QKeyEvent)¶
- keyboardGrabber() QWidget ¶
- killTimer(self, id: int)¶
- lastJobCompleted¶
- launchFromJobSpec(sub_jobname, job_num, oplsdir=None)¶
See parent class for documentation. Here mainly OPLS directory is obtained from structure properties.
- launchJobCmd(cmdlist, show_progress_bar=False, auto_add_host=True, use_parallel_flag=True, jobdir=None)¶
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 (bool) – Whether or not to show a progress bar tracking the job’s status.
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.
jobdir (str) – launch the job from this dir, if provided.
- Returns
Job object for started job, or None if job start failed or if writing instead of starting. Panels should in general ignore the return value.
- launchLauncher(slauncher, show_progress_bar=False)¶
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.
- launchScript(script, script_args=None, input_files=[], structure_output_file=None, output_files=[], aux_modules=[], show_progress_bar=False, **kwargs)¶
DEPRECATED, add get_job_spec_from_args() to the backend script and launch it using launchJobCmd() or also add getJobSpec() to the panel and launch using 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 (bool) – Whether or not to show a progress bar tracking the job’s status.
- launcherToCmdList(slauncher)¶
- layOut()¶
- layout(self) QLayout ¶
- layoutDirection(self) Qt.LayoutDirection ¶
- leaveEvent(self, a0: QEvent)¶
- loadPanelState(filename=None)¶
Load the panel state from a JSON file
- Parameters
filename (str) – the JSON filename. Defaults to “panelstate.json”
- loadPersistentOptions()¶
Load all persistent options from the preferences.
- loadSettings(jobname)¶
Load the GUI state for the job in the CWD with the given name. Default implementation will return False. Each KNIME panel will need to implement a custom version. For example, the panel may want to read the <jobname.sh> file, parse the list of command-line options, and populate the GUI accordintly. If a panel writes key/value file, then it would need to read it here.
- Returns
True if panel state was restored, False if saved state was not found.
- Return type
bool
- locale(self) QLocale ¶
- logicalDpiX(self) int ¶
- logicalDpiY(self) int ¶
- lower(self)¶
- makeJobSpec(sub_jobname, job_num)¶
Return job spec from job spec itself or some other data.
- Parameters
sub_jobname (str) – The job name for the subjob
job_num (int) – The subjob number
- Return type
launchapi.JobSpecification
- Returns
JobSpecification object
- Raises
SystemExit – On driver.get_job_spec_from_args error
- makeLauncher(script, script_args=[], input_files=[], structure_output_file=None, output_files=[], aux_modules=[], **kwargs)¶
DEPRECATED, add get_job_spec_from_args() to the backend script and launch it using launchJobCmd() or also add getJobSpec() to the panel and launch using 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
- mapFrom(self, a0: QWidget, a1: QPoint) QPoint ¶
- mapFrom(self, a0: QWidget, a1: QPointF) QPointF
- mapFromGlobal(self, a0: QPoint) QPoint ¶
- mapFromGlobal(self, a0: QPointF) QPointF
- mapFromParent(self, a0: QPoint) QPoint ¶
- mapFromParent(self, a0: QPointF) QPointF
- mapTo(self, a0: QWidget, a1: QPoint) QPoint ¶
- mapTo(self, a0: QWidget, a1: QPointF) QPointF
- mapToGlobal(self, a0: QPoint) QPoint ¶
- mapToGlobal(self, a0: QPointF) QPointF
- mapToParent(self, a0: QPoint) QPoint ¶
- mapToParent(self, a0: QPointF) QPointF
- mask(self) QRegion ¶
- maximumHeight(self) int ¶
- maximumSize(self) QSize ¶
- maximumWidth(self) int ¶
- metaObject(self) QMetaObject ¶
- metric(self, a0: QPaintDevice.PaintDeviceMetric) int ¶
- minimumHeight(self) int ¶
- minimumSize(self) QSize ¶
- minimumSizeHint(self) QSize ¶
- minimumWidth(self) int ¶
- mouseDoubleClickEvent(self, a0: QMouseEvent)¶
- mouseGrabber() QWidget ¶
- mouseMoveEvent(self, a0: QMouseEvent)¶
- mousePressEvent(self, a0: QMouseEvent)¶
- mouseReleaseEvent(self, a0: QMouseEvent)¶
- move(self, a0: QPoint)¶
- move(self, ax: int, ay: int) None
- moveEvent(self, a0: QMoveEvent)¶
- moveToThread(self, thread: QThread)¶
- multiJobStart()¶
Custom “start” method. For each job, creates a job sub-directory, cd’s into it, and launches the job there.
- Return type
list
- Returns
list of return values from self.launchFromJobSpec() calls. Each value is a Job object or False, in start mode, or True/False in write mode.
- nativeEvent(self, eventType: QByteArray, message: PyQt6.sip.voidptr) Tuple[bool, PyQt6.sip.voidptr] ¶
- nativeParentWidget(self) QWidget ¶
- nextInFocusChain(self) QWidget ¶
- normalGeometry(self) QRect ¶
- objectName(self) str ¶
- objectNameChanged¶
objectNameChanged(self, objectName: str) [signal]
- overrideWindowFlags(self, type: Qt.WindowType)¶
- overrideWindowState(self, state: Qt.WindowState)¶
- paintEngine(self) QPaintEngine ¶
- paintEvent(self, a0: QPaintEvent)¶
- paintingActive(self) bool ¶
- palette(self) QPalette ¶
- classmethod panel(run=True)¶
Launch a singleton instance of this class. If the panel has already been instantiated, the existing panel instance will be re-opened and brought to the front.
- Parameters
run (bool) – Whether to launch the panel
- Returns
The singleton panel instance
- Return type
- parent(self) QObject ¶
- parentWidget(self) QWidget ¶
- physicalDpiX(self) int ¶
- physicalDpiY(self) int ¶
- pos(self) QPoint ¶
- previousInFocusChain(self) QWidget ¶
- processSettings(settings=None, runner=None)¶
This method is meant to be used as a callback to a task runner. If it is called with no arguments, it returns a dictionary of all the alieased settings. If settings are passed, the settings are first applied to self, and then the newly modified settings are returned.
- Parameters
settings (dict or None) – a settings dictionary to apply to this object
runner (tasks.AbstractTaskRuner) – the task runner that is invoking this callback. This optional argument is necessary for per-runner grouping of settings
- processTaskMessage(message_type, text, options=None, runner=None)¶
This method is meant to be used as a callback to a task runner, and provides a single point of interaction from the runner to the user.
- Parameters
message_type (int) – the type of message being sent
text (str) – the main text to show the user
options – extra options
- property(self, name: str) Any ¶
- pyqtConfigure(...)¶
Each keyword argument is either the name of a Qt property or a Qt signal. For properties the property is set to the given value which should be of an appropriate type. For signals the signal is connected to the given value which should be a callable.
- question(msg, button1='OK', button2='Cancel', title='Question')¶
Display a prompt dialog window with specified text. Returns True if first button (default OK) is pressed, False otherwise.
- raise_(self)¶
- readShFile(jobname)¶
Reads the jobname.sh file (written by _write()) and returns the list of command line arguments
- receivers(self, signal: PYQT_SIGNAL) int ¶
- rect(self) QRect ¶
- registerJob(job, show_progress_bar=False)¶
Registers a job with the periodic job check callback and starts timer.
- Parameters
job (jobcontrol.Job) – job to register
show_progress_bar (bool) – Whether or not to show a progress bar tracking the job’s status.
- releaseKeyboard(self)¶
- releaseMouse(self)¶
- releaseShortcut(self, id: int)¶
- removeAction(self, action: QAction)¶
- removeAllJaguarMarkers()¶
Remove all markers
schrodinger.maestro.markers._BaseMarker
markers from this panel
- removeAllJaguarMarkersForEntry(eid)¶
Remove all markers for the specified entry id from this panel
- Parameters
eid (str) – The entry id to remove markers for
- removeAllMarkers()¶
Remove all
schrodinger.maestro.markers.Marker
markers from this panel.
- removeEventFilter(self, a0: QObject)¶
- removeJaguarMarker(marker)¶
Removes the specified marker
- Parameters
marker (
schrodinger.maestro.markers._BaseMarker
) – The marker to remove- Raises
ValueError – If there is no marker on the specified atoms
- removeJaguarMarkerForAtoms(atoms)¶
Removes the marker for specified atom(s)
- Parameters
atoms (list or
schrodinger.structure._StructureAtom
) – The atom or list of atoms to retrieve the marker for. A list may contain between one and four atoms (inclusive).- Raises
ValueError – If no marker exists for the specified atoms
- removeMarker(marker)¶
Remove the
schrodinger.maestro.markers.Marker
- Parameters
marker (
schrodinger.maestro.markers.Marker
) – Marker to remove- Raises
ValueError – If marker is the wrong type or is not associated with the panel.
- render(self, target: QPaintDevice, targetOffset: QPoint = QPoint(), sourceRegion: QRegion = QRegion(), flags: QWidget.RenderFlag = QWidget.RenderFlags(QWidget.DrawWindowBackground | QWidget.DrawChildren))¶
- render(self, painter: QPainter, targetOffset: QPoint = QPoint(), sourceRegion: QRegion = QRegion(), flags: QWidget.RenderFlag = QWidget.RenderFlags(QWidget.DrawWindowBackground | QWidget.DrawChildren)) None
- repaint(self)¶
- repaint(self, x: int, y: int, w: int, h: int) None
- repaint(self, a0: QRect) None
- repaint(self, a0: QRegion) None
- reportValidation(results)¶
Present validation messages to the user. This is an implmentation of the
ValidationMixin
interface and does not need to be called directly.This method assumes that
error
andquestion
methods have been defined in the subclass, as in e.g.widget_mixins.MessageBoxMixin
.- Parameters
results (
validation.ValidationResults
) – Set of validation results generated byvalidate
- Returns
if True, there were no validation errors and the user decided to continue despite any warnings. If False, there was at least one validation error or the user decided to abort when faced with a warning.
- resetAllRunners()¶
Resets all task runners associated with this panel (main tasks and other tasks added via setupTaskRunner). This is called from _reset() and normally does not need to be called directly.
- resize(self, a0: QSize)¶
- resize(self, w: int, h: int) None
- resizeEvent(self, a0: QResizeEvent)¶
- restoreCursor(app_wide=True)¶
Restore the application level cursor to the default. If ‘app_wide’ is True then if will be restored for the entire application, if it’s False, it will be just for this panel.
- Parameters
app_wide (bool) – If True then this will restore the cursor for the entire application (including Maestro if running there). If False then this will apply only to this panel.
- restoreGeometry(self, geometry: QByteArray) bool ¶
- run()¶
- runCanvas()¶
This handles Canvas-specific logic
- classmethod runKnime(input_selector_file=None, workspace_st_file=None, jobname=None, run=True, load_settings=True, panel_state_file=None)¶
Call this static method to instantiate this panel in KNIME mode - where OK & Cancel buttons are shown at the bottom. Pressing OK button cases the job files to be written to the CWD.
- Parameters
input_selector_file (str) – the filename to be fed into the input selector, replacing interactive input from the user. Required if the panel contains an input selector.
workspace_st_file (str) – the filename containing the
schrodinger.structure.Structure
that replaces the workspace structure in a Maestro session.jobname (str) – Jobname for the panel
run (bool) – Whether to launch the panel. If False, just returns the panel instance without starting the event loop.
load_settings (bool) – Whether to load previous settings for the given jobname from the CWD.
panel_state_file – Unused (added for backwards compatability)
- runMaestro()¶
This can be extended in derived classes to perform maestro-only tasks such as setting up the mini-monitor or connecting maestro callbacks
- runMode()¶
- runStandalone()¶
- runSubpanel()¶
- runValidation(silent=False, validate_children=True, stop_on_fail=True)¶
Runs validation and reports the results (unless run silently).
- Parameters
silent (bool) – run without any reporting (i.e. error messages to the user). This is useful if we want to programmatically test validity. Changes return value of this method from
ValidationResults
to a boolean.validate_children (bool) – run validation on all child objects. See
_validateChildren
for documentation on what this entails.stop_on_fail (bool) – stop validation when first failure is encountered
- Returns
if silent is False, returns the validation results. If silent is True, returns a boolean generated by
reportValidation
.- Return type
ValidationResults
or bool
- 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.
- screen(self) QScreen ¶
- scroll(self, dx: int, dy: int)¶
- scroll(self, dx: int, dy: int, a2: QRect) None
- sender(self) QObject ¶
- senderSignalIndex(self) int ¶
- setAcceptDrops(self, on: bool)¶
- setAccessibleDescription(self, description: str)¶
- setAccessibleName(self, name: str)¶
- setAlias(alias, obj, persistent=False)¶
Sets an alias to conveniently access an object.
- Parameters
alias (hashable) – any hashable, but typically a string name
obj (object) – the actual object to be referenced
persistent (bool) – whether to make the setting persistent
- setAliasedValue(alias, value)¶
- setAliases(alias_dict, persistent=False)¶
Sets multiple aliases at once. Already used aliases are overwritten; other existing aliases are not affected.
- Parameters
alias_dict (dict) – map of aliases to objects
persistent (bool) – whether to make the settings persistent
- setAttribute(self, attribute: Qt.WidgetAttribute, on: bool = True)¶
- setAutoFillBackground(self, enabled: bool)¶
- setBackgroundRole(self, a0: QPalette.ColorRole)¶
- setBaseSize(self, basew: int, baseh: int)¶
- setBaseSize(self, s: QSize) None
- setConfigDialogSettings(new_values)¶
- setContentsMargins(self, left: int, top: int, right: int, bottom: int)¶
- setContentsMargins(self, margins: QMargins) None
- setContextMenuPolicy(self, policy: Qt.ContextMenuPolicy)¶
- setCurrentTask(index)¶
Selects the current main task for the panel. Switching to a new task involves several steps. These are 1) saving the current panel state to the task runner, 2) hiding the current task widget (and all others), 3) showing the widget for the new task, and 4) setting the panel state to correspond to the new task runner’s settings.
- Parameters
index (int) – the index of the task to be selected. The index for each main task is set sequentially from 0 as each task as added using self.addMainTaskRunner()
- setCursor(self, a0: Union[QCursor, Qt.CursorShape])¶
- setDefaults()¶
- setDisabled(self, a0: bool)¶
- setEnabled(self, a0: bool)¶
- setFixedHeight(self, h: int)¶
- setFixedSize(self, a0: QSize)¶
- setFixedSize(self, w: int, h: int) None
- setFixedWidth(self, w: int)¶
- setFocus(self)¶
- setFocus(self, reason: Qt.FocusReason) None
- setFocusPolicy(self, policy: Qt.FocusPolicy)¶
- setFocusProxy(self, a0: QWidget)¶
- setFont(self, a0: QFont)¶
- setForegroundRole(self, a0: QPalette.ColorRole)¶
- setGeometry(self, a0: QRect)¶
- setGeometry(self, ax: int, ay: int, aw: int, ah: int) None
- setGraphicsEffect(self, effect: QGraphicsEffect)¶
- setHidden(self, hidden: bool)¶
- setInputMethodHints(self, hints: Qt.InputMethodHint)¶
- setJobname(jobname)¶
Set the job name for the current task.
- setLayout(self, a0: QLayout)¶
- setLayoutDirection(self, direction: Qt.LayoutDirection)¶
- setLocale(self, locale: QLocale)¶
- setMask(self, a0: QBitmap)¶
- setMask(self, a0: QRegion) None
- setMaximumHeight(self, maxh: int)¶
- setMaximumSize(self, maxw: int, maxh: int)¶
- setMaximumSize(self, s: QSize) None
- setMaximumWidth(self, maxw: int)¶
- setMinimumHeight(self, minh: int)¶
- setMinimumSize(self, minw: int, minh: int)¶
- setMinimumSize(self, s: QSize) None
- setMinimumWidth(self, minw: int)¶
- setMouseTracking(self, enable: bool)¶
- setObjValue(obj, value)¶
- setObjectName(self, name: str)¶
- setPalette(self, a0: QPalette)¶
- setPanelOptions()¶
Override the generic parent class to set panel options.
- setPanelState(state)¶
Resets the panel and then sets the panel to the specified state
- Parameters
state (PanelState) – the panel state to set. This object should originate from a call to getPanelState()
- setParent(self, parent: QWidget)¶
- setParent(self, parent: QWidget, f: Qt.WindowType) None
- setPersistent(alias=None)¶
Set options to be persistent. Any options to be made persistent must be aliased, since the alias is used to form the preference key. If no alias is specified, all aliased settings will be made persistent.
- Parameters
alias (str or None) – the alias to save, or None
- setProperty(self, name: str, value: Any) bool ¶
- setScreen(self, a0: QScreen)¶
- setShortcutAutoRepeat(self, id: int, enabled: bool = True)¶
- setShortcutEnabled(self, id: int, enabled: bool = True)¶
- setSizeIncrement(self, w: int, h: int)¶
- setSizeIncrement(self, s: QSize) None
- setSizePolicy(self, a0: QSizePolicy)¶
- setSizePolicy(self, hor: QSizePolicy.Policy, ver: QSizePolicy.Policy) None
- setStatusTip(self, a0: str)¶
- setStyle(self, a0: QStyle)¶
- setStyleSheet(self, styleSheet: str)¶
- setTabOrder(a0: QWidget, a1: QWidget)¶
- setTabletTracking(self, enable: bool)¶
- setToolTip(self, a0: str)¶
- setToolTipDuration(self, msec: int)¶
- setUpdatesEnabled(self, enable: bool)¶
- setVisible(self, visible: bool)¶
- setWaitCursor(app_wide=True)¶
Set the cursor to the wait cursor. This will be an hourglass, clock or similar. Call restoreCursor() to return to the default cursor.
- Parameters
app_wide (bool) – If True then this will apply to the entire application (including Maestro if running there). If False then this will apply only to this panel.
- setWhatsThis(self, a0: str)¶
- setWindowFilePath(self, filePath: str)¶
- setWindowFlag(self, a0: Qt.WindowType, on: bool = True)¶
- setWindowFlags(self, type: Qt.WindowType)¶
- setWindowIcon(self, icon: QIcon)¶
- setWindowIconText(self, a0: str)¶
- setWindowModality(self, windowModality: Qt.WindowModality)¶
- setWindowModified(self, a0: bool)¶
- setWindowOpacity(self, level: float)¶
- setWindowRole(self, a0: str)¶
- setWindowState(self, state: Qt.WindowState)¶
- setWindowTitle(self, a0: str)¶
- setup()¶
- 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
- 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)¶
- showLaunchStatus(num_succeeded, njobs)¶
Show a label at the bottom of the panel with status of the launch.
- Parameters
num_succeeded (int) – Number of jobs that were successfully launched
njobs (int) – Total number of jobs
- 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 trackshow_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, a0: QWidget)¶
- startDebug()¶
- startTimer(self, interval: int, timerType: Qt.TimerType = Qt.CoarseTimer) int ¶
- startUp()¶
- staticMetaObject = <PyQt6.QtCore.QMetaObject object>¶
- statusTip(self) str ¶
- style(self) QStyle ¶
- styleSheet(self) str ¶
- syncConfigDialog()¶
- tabletEvent(self, a0: QTabletEvent)¶
- testAttribute(self, attribute: Qt.WidgetAttribute) bool ¶
- thread(self) QThread ¶
- timerEvent(self, a0: QTimerEvent)¶
- property title¶
- toolTip(self) str ¶
- toolTipDuration(self) int ¶
- tr(sourceText: str, disambiguation: typing.Optional[str] = None, n: int = - 1) str ¶
- underMouse(self) bool ¶
- ungrabGesture(self, type: Qt.GestureType)¶
- unsetCursor(self)¶
- unsetLayoutDirection(self)¶
- unsetLocale(self)¶
- update(self)¶
- update(self, a0: QRect) None
- update(self, a0: QRegion) None
- update(self, ax: int, ay: int, aw: int, ah: int) None
- updateGeometry(self)¶
- 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, query: Qt.InputMethodQuery = Qt.ImQueryAll)¶
- 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
- validateJobCount(**kwargs)¶
- validateModelLoaded(**kwargs)¶
- 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
- visibleRegion(self) QRegion ¶
- warning(text, preferences=None, key='')¶
Display a warning dialog with the specified text. If preferences and key are both supplied, then the dialog will contain a “Don’t show this again” checkbox. Future invocations of this dialog with the same preferences and key values will obey the user’s show preference.
- Parameters
text (str) – The information to display in the dialog
preferences – obsolete; ignored.
key (str) – The key to store the preference under. If specified, a “Do not show again” checkbox will be rendered in the dialog box.
- Return type
None
- whatsThis(self) str ¶
- wheelEvent(self, a0: QWheelEvent)¶
- width(self) int ¶
- widthMM(self) int ¶
- winId(self) PyQt6.sip.voidptr ¶
- window(self) QWidget ¶
- windowFilePath(self) str ¶
- windowFlags(self) Qt.WindowType ¶
- windowHandle(self) QWindow ¶
- windowIcon(self) QIcon ¶
- windowIconChanged¶
windowIconChanged(self, icon: QIcon) [signal]
- windowIconText(self) str ¶
- windowIconTextChanged¶
windowIconTextChanged(self, iconText: str) [signal]
- windowModality(self) Qt.WindowModality ¶
- windowOpacity(self) float ¶
- windowRole(self) str ¶
- windowState(self) Qt.WindowState ¶
- windowTitle(self) str ¶
- windowTitleChanged¶
windowTitleChanged(self, title: str) [signal]
- windowType(self) Qt.WindowType ¶
- writeJobCmd(cmdlist, job_spec=None, launch_params=None)¶
Writes the job invocation command to a file named “<jobname>.sh” Removes options from the command that are maestro-specific.
Note this may modify the contents of
cmdlist
- Parameters
job_spec (schrodinger.job.launchapi.JobSpecification) – The job specification for the command you want to write. This is NOT used to write the command that is run; it is used to write a commented-out, un-hashed, human-readable command in the
sh
file. IfNone
(which is also the default), then the human-readable comment is not written. If it is present, launch_params must be present too.launch_params (job.launchparams.LaunchParameters) – Job launch params
- writePanelState(filename=None)¶
Write the panel state to a JSON file
- Parameters
filename (str) – the JSON filename. Defaults to “panelstate.json”
- writeReadableCmdComment(cmdlist)¶
Append a readable and portable command (something that starts with $SCHRODINGER/run <script.py>) to the shell run file.
- Parameters
cmdlist (list) – Commands to launch/submit the job
- writeStateAndClose()¶
Will “write” the job files and close the panel.
- x(self) int ¶
- y(self) int ¶