Package schrodinger :: Package application :: Package matsci :: Module builderwidgets :: Class SketcherBox
[hide private]
[frames] | no frames]

Class SketcherBox

       object --+                        
                |                        
sip.simplewrapper --+                    
                    |                    
          sip.wrapper --+                
                        |                
     PyQt4.QtCore.QObject --+            
                            |            
           object --+       |            
                    |       |            
    sip.simplewrapper --+   |            
                        |   |            
 PyQt4.QtGui.QPaintDevice --+            
                            |            
          PyQt4.QtGui.QWidget --+        
                                |        
               PyQt4.QtGui.QFrame --+    
                                    |    
                ui.qt.swidgets.SFrame --+
                                        |
                                       SketcherBox
Known Subclasses:

Set of widgets that controls a 2D sketcher and has additional widgets that allow the user to load/save/delete templates for the sketcher and import structures from the workspace into the sketcher.

Nested Classes [hide private]

Inherited from PyQt4.QtGui.QFrame: Shadow, Shape, StyleMask

Inherited from PyQt4.QtGui.QWidget: RenderFlag, RenderFlags

Inherited from PyQt4.QtGui.QPaintDevice: PaintDeviceMetric

Instance Methods [hide private]
 
templatesUpdated(...)
 
__init__(self, master, builtin_path, custom_dirname, layout)
Create a SketcherBox instance
 
getDefaultCustomTemplateDir(self)
Get the default directory for user templates
 
setCustomTemplateDir(self, path)
The user changed the custom template directory
str
getRecentTemplatePath(self)
Get the path to the recent template file
 
importWorkspace(self)
Get the workspace structure and place it in the sketcher
 
clearSketcher(self)
Remove the current structure from the sketcher
 
buildTemplateList(self, select='')
Build a list of all templates - built in or user-defined.
list
getUserTemplateList(self)
Get the list of user templates
list of str
getRecentTemplatesList(self)
Get a list of recently used templates.
 
updateRecentTemplateFile(self, name)
Add a template as the most recently used template file.
 
saveTemplate(self)
Save the current sketcher structure as a new user-defined template
schrodinger.structure.Structure
readTemplateStructure(self, name)
Read in a template file based name.
 
loadTemplate(self, template_index)
Load a template into the sketcher
 
setSketcherStructure(self, struct)
Set struct as the structure in the sketcher
 
manageTemplates(self)
Open a window to allow the user to manage existing templates
schrodinger.infra.canvas2d.ChmMol
_getChmMolFromCT(self, struct)
Create a schrodinger.infra.canvas2d.ChmMol structure from a schrodinger.structure.Structure object.
 
changeMarkerAtomsToTempElement(self, struct, rx_atoms=None)
Change all the marker atoms in the structure to a specific element
schrodinger.structure.Structure or None
getSketcherStructure(self, quiet_if_empty=False)
Get the structure from the sketcher and set it up for use as a Ligand
(dict, int)
getRxAtoms(self)
Find the atoms marked as R groups in the sketcher structure
bool
validateRAtomIdentity(self, rx_atoms, max_x)
Overwrite in a child class to run validation on the values of the R atoms and error code.
bool
validateRAtomStructure(self, struct, rx_atoms, max_x)
Overwrite in a child class to run validation on the R atoms that requires a schrodinger.structure.Structure object.
 
reset(self)
Reset all widgets

Inherited from PyQt4.QtGui.QFrame: changeEvent, drawFrame, event, frameRect, frameShadow, frameShape, frameStyle, frameWidth, lineWidth, midLineWidth, paintEvent, setFrameRect, setFrameShadow, setFrameShape, setFrameStyle, setLineWidth, setMidLineWidth, sizeHint

Inherited from PyQt4.QtGui.QWidget: acceptDrops, accessibleDescription, accessibleName, actionEvent, actions, activateWindow, addAction, addActions, adjustSize, autoFillBackground, backgroundRole, baseSize, childAt, childrenRect, childrenRegion, clearFocus, clearMask, close, closeEvent, contentsMargins, contentsRect, contextMenuEvent, contextMenuPolicy, create, cursor, customContextMenuRequested, destroy, devType, dragEnterEvent, dragLeaveEvent, dragMoveEvent, dropEvent, effectiveWinId, enabledChange, ensurePolished, enterEvent, find, focusInEvent, focusNextChild, focusNextPrevChild, focusOutEvent, focusPolicy, focusPreviousChild, focusProxy, focusWidget, font, fontChange, fontInfo, fontMetrics, foregroundRole, frameGeometry, frameSize, geometry, getContentsMargins, grabGesture, grabKeyboard, grabMouse, grabShortcut, graphicsEffect, graphicsProxyWidget, handle, hasFocus, hasMouseTracking, height, heightForWidth, hide, hideEvent, inputContext, inputMethodEvent, inputMethodHints, inputMethodQuery, insertAction, insertActions, isActiveWindow, isAncestorOf, isEnabled, isEnabledTo, isEnabledToTLW, isFullScreen, isHidden, isLeftToRight, isMaximized, isMinimized, isModal, isRightToLeft, isTopLevel, isVisible, isVisibleTo, isWindow, isWindowModified, keyPressEvent, keyReleaseEvent, keyboardGrabber, languageChange, layout, layoutDirection, leaveEvent, locale, lower, mapFrom, mapFromGlobal, mapFromParent, mapTo, mapToGlobal, mapToParent, mask, maximumHeight, maximumSize, maximumWidth, metric, minimumHeight, minimumSize, minimumSizeHint, minimumWidth, mouseDoubleClickEvent, mouseGrabber, mouseMoveEvent, mousePressEvent, mouseReleaseEvent, move, moveEvent, nativeParentWidget, nextInFocusChain, normalGeometry, overrideWindowFlags, overrideWindowState, paintEngine, palette, paletteChange, parentWidget, pos, previousInFocusChain, raise_, rect, releaseKeyboard, releaseMouse, releaseShortcut, removeAction, render, repaint, resetInputContext, resize, resizeEvent, restoreGeometry, saveGeometry, scroll, setAcceptDrops, setAccessibleDescription, setAccessibleName, setAttribute, setAutoFillBackground, setBackgroundRole, setBaseSize, setContentsMargins, setContextMenuPolicy, setCursor, setDisabled, setEnabled, setFixedHeight, setFixedSize, setFixedWidth, setFocus, setFocusPolicy, setFocusProxy, setFont, setForegroundRole, setGeometry, setGraphicsEffect, setHidden, setInputContext, setInputMethodHints, setLayout, setLayoutDirection, setLocale, setMask, setMaximumHeight, setMaximumSize, setMaximumWidth, setMinimumHeight, setMinimumSize, setMinimumWidth, setMouseTracking, setPalette, setParent, setShortcutAutoRepeat, setShortcutEnabled, setShown, setSizeIncrement, setSizePolicy, setStatusTip, setStyle, setStyleSheet, setTabOrder, setToolTip, setUpdatesEnabled, setVisible, setWhatsThis, setWindowFilePath, setWindowFlags, setWindowIcon, setWindowIconText, setWindowModality, setWindowModified, setWindowOpacity, setWindowRole, setWindowState, setWindowTitle, show, showEvent, showFullScreen, showMaximized, showMinimized, showNormal, size, sizeIncrement, sizePolicy, stackUnder, statusTip, style, styleSheet, tabletEvent, testAttribute, toolTip, topLevelWidget, underMouse, ungrabGesture, unsetCursor, unsetLayoutDirection, unsetLocale, update, updateGeometry, updateMicroFocus, updatesEnabled, visibleRegion, whatsThis, wheelEvent, width, winId, window, windowActivationChange, windowFilePath, windowFlags, windowIcon, windowIconText, windowModality, windowOpacity, windowRole, windowState, windowTitle, windowType, x, x11Info, x11PictureHandle, y

Inherited from PyQt4.QtCore.QObject: __getattr__, blockSignals, childEvent, children, connect, connectNotify, customEvent, deleteLater, destroyed, disconnect, disconnectNotify, dumpObjectInfo, dumpObjectTree, dynamicPropertyNames, emit, eventFilter, findChild, findChildren, inherits, installEventFilter, isWidgetType, killTimer, metaObject, moveToThread, objectName, parent, property, pyqtConfigure, receivers, removeEventFilter, sender, senderSignalIndex, setObjectName, setProperty, signalsBlocked, startTimer, thread, timerEvent, tr, trUtf8

Inherited from PyQt4.QtGui.QPaintDevice: colorCount, depth, heightMM, logicalDpiX, logicalDpiY, numColors, paintingActive, physicalDpiX, physicalDpiY, widthMM

Inherited from sip.simplewrapper: __new__

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Class Variables [hide private]
  MARKING_INFO = 'To mark an atom, either right click on it and ...

Inherited from PyQt4.QtGui.QFrame: Box, HLine, NoFrame, Panel, Plain, Raised, Shadow_Mask, Shape_Mask, StyledPanel, Sunken, VLine, WinPanel

Inherited from PyQt4.QtGui.QWidget: DrawChildren, DrawWindowBackground, IgnoreMask

Inherited from PyQt4.QtCore.QObject: staticMetaObject

Inherited from PyQt4.QtGui.QPaintDevice: PdmDepth, PdmDpiX, PdmDpiY, PdmHeight, PdmHeightMM, PdmNumColors, PdmPhysicalDpiX, PdmPhysicalDpiY, PdmWidth, PdmWidthMM

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, master, builtin_path, custom_dirname, layout)
(Constructor)

 

Create a SketcherBox instance

Parameters:
  • master (QWidget) - Must have a warning method
  • builtin_path (str) - The absolute path to the built-in templates
  • custom_dirname (str) - The base name of the path to the custom templates
  • layout (QBoxLayout) - The layout to place this widget into
Overrides: object.__init__

setCustomTemplateDir(self, path)

 

The user changed the custom template directory

Parameters:
  • path (str) - The new custom directory path. Use the module constant RESET_TO_DEFAULT_CUSTOM_DIR to reset to the Schrodinger default

getRecentTemplatePath(self)

 

Get the path to the recent template file

Returns: str
The path to the recent template file

buildTemplateList(self, select='')

 

Build a list of all templates - built in or user-defined. This list is stored in self.templates and replaces the current list in the Template Combobox.

Parameters:
  • select (str) - The template that should be selected in the Template Combobox when all is said and done.

getUserTemplateList(self)

 

Get the list of user templates

Returns: list
list of template names in the self.custom_path

getRecentTemplatesList(self)

 

Get a list of recently used templates.

Returns: list of str
Items of the list are the names of recently used templates. The list is sorted in order from most to least recently used.

updateRecentTemplateFile(self, name)

 

Add a template as the most recently used template file.

Parameters:
  • name (str) - The name of the most recently used template - should correspond to the name of the template structure file.

readTemplateStructure(self, name)

 

Read in a template file based name. The file name read is name + TEMPLATE_EXTENSION.

Parameters:
  • name (str) - The base name of the template file without the extension
Returns: schrodinger.structure.Structure
The structure that was read in

loadTemplate(self, template_index)

 

Load a template into the sketcher

Parameters:
  • template_index (int) - The index in the templates list of the template to load

_getChmMolFromCT(self, struct)

 

Create a schrodinger.infra.canvas2d.ChmMol structure from a schrodinger.structure.Structure object.

Parameters:
Returns: schrodinger.infra.canvas2d.ChmMol
A ChmMol object derived from struct

changeMarkerAtomsToTempElement(self, struct, rx_atoms=None)

 

Change all the marker atoms in the structure to a specific element

Parameters:
  • struct (schrodinger.structure.Structure) - The structure to modify
  • rx_atoms (dict) - A dictionary with keys that are the x value for Rx atoms and values that are lists of atom indexes with that x value. If not supplied, the Rx atoms will be found from structure properties

getSketcherStructure(self, quiet_if_empty=False)

 

Get the structure from the sketcher and set it up for use as a Ligand

Performs the following manipulations:

  • Stores the index of the R1/R2 marker atoms as structure properties
  • Changes R1/R2 to hydrogen atoms
  • Checks to ensure consistent use of Rx in the structure
Parameters:
  • quiet_if_empty (bool) - If True, do not post a warning if the sketcher contains no structure
Returns: schrodinger.structure.Structure or None
The structure object from the sketcher, or None if an error occured along the way

getRxAtoms(self)

 

Find the atoms marked as R groups in the sketcher structure

Returns: (dict, int)
dict keys are the int value of x in Rx, values are lists of atom indexes set to that Rx value (atom indexes are 1-based). The int return value is the largest value of x in the dictionary keys.

validateRAtomIdentity(self, rx_atoms, max_x)

 

Overwrite in a child class to run validation on the values of the R atoms and error code. An error message should be displayed to the user by this method if appropriate

Parameters:
  • rx_atoms (dict) - keys are the int value of x in Rx, values are lists of atom indexes set to that Rx value (atom indexes are 1-based)
  • max_x (int) - The larget value of x in the keys of rx_atoms
Returns: bool
True if everything is OK, False if not

validateRAtomStructure(self, struct, rx_atoms, max_x)

 

Overwrite in a child class to run validation on the R atoms that requires a schrodinger.structure.Structure object. An error message should be displayed to the user by this method if appropriate.

Parameters:
  • struct (schrodinger.structure.Structure) - The structure to use for validating the Ra atoms
  • rx_atoms (dict) - keys are the int value of x in Rx, values are lists of atom indexes set to that Rx value (atom indexes are 1-based)
  • max_x (int) - The larget value of x in the keys of rx_atoms
Returns: bool
True if everything is OK, False if not

Class Variable Details [hide private]

MARKING_INFO

Value:
'To mark an atom, either right click on it and choose "Set R group" or\
 hover over it and type "Rx", where x is the desired R group number.'