schrodinger.ui.sequencealignment.sequence_area module

This class implements a sequence area widget that performs actual display and manipulation of the sequences and annotation data.

Copyright Schrodinger, LLC. All rights reserved.

class schrodinger.ui.sequencealignment.sequence_area.SequenceArea(parent=None)[source]

Bases: PyQt5.QtWidgets.QWidget

The sequence area displays sequence rows and associated annotations. It is a scrollable widget. The presence of horizontal and vertical scrollbars depends on current sequence viewer mode (wrapped or not wrapped).

__init__(parent=None)[source]
min_row

Used for Shift-click selection

focusInEvent(self, QFocusEvent)[source]
horizontalScrollBarChanged(value)[source]

Horizontal scrollbar callback.

Parameters

value (int) – new scrollbar value

verticalScrollBarChanged(value)[source]

Vertical scrollbar callback.

Parameters

value (int) – new scrollbar value

mouseToCoords(x, y)[source]

Translates mouse coordinates in global space to sequence area discrete coordinates (row, position).

Parameters
  • x (int) – x coordinate

  • y (int) – y coordinate

Return type

(int, int)

Returns

(row, position) coordinates

rowPosToCoords(row, pos, visible_only=True)[source]

Translates (row, position) coordinates to widget coordinates. This method is used for drawing auxiliary objects such as text edit cursor.

Parameters
  • row ((Sequence, int, int, int)) – row

  • pos (int) – row position

Return type

(int, int)

Returns

pair of widget coordinates, or (None, None) if the conversion fails.

mouseToRowPosition(x, y)[source]

Converts mouse coordinates to (row, position, residue) tuple.

Parameters
  • x (int) – x coordinate

  • y (int) – y coordinate

Return type

(row, int, Residue)

Returns

row, position pair or (None, None, None) if the conversion fails.

mouseDoubleClickEvent(event)[source]

Handles Qt double click event.

selectExtent(row, pos, reset=False)[source]

Select minimum residue extent between previous selection and current position.

mousePressEvent(event)[source]

Handles Qt mouse press event.

Parameters

event (QMouseEvent) – Qt mouse event.

startDraggingRect(row, pos)[source]

Begins rectangle dragging. Determines boundaries of the area that needs to be dragged and calculates coordinates of the auxiliary rectangle. The initial coordinates (row and position) should be inside the area that needs to be dragged. This method assumes the area is rectangular. Otherwise, results are non-predictable - usually a rectangular superset of irregular area will be dragged.

Parameters
  • row ((Sequence, int, int ,int)) – sequence viewer row in the dragged area

  • pos (int) – row position

mouseReleaseEvent(event)[source]

Handles Qt mouse release event.

Parameters

event (QMouseEvent) – Qt mouse event.

keyReleaseEvent(event)[source]

Handles Qt key release events.

Parameters

event (QKeyEvent) – Qt key release event

keyPressEvent(event)[source]

Handles Qt key press events.

Parameters

event (QKeyEvent) – Qt key press event

showToolTip(mouse_pos, seq_pos, res, sequence)[source]

Displays mouse move tooltip depending on the viewer mode and underlying object.

Parameters
  • mouse_pos (QPoint) – Global position of the mouse cursor.

  • seq_pos (int) – Sequence position where the mouse cursor is.

  • res (Residue) – Residue beneath the mouse cursor.

  • sequence (Sequence) – Sequence beneath the mouse cursor.

wheelEvent(event)[source]

Handles Qt mouse wheel event.

Parameters

event (QWheelEvent) – Qt mouse wheel event.

autoScroll()[source]
mouseMoveEvent(event)[source]

Handles mouse move event for the sequence viewer widget.

Parameters

event (QMouseEvent) – Qt mouse move event.

setViewer(viewer)[source]

Sets a parent sequence viewer widget for this sequence area.

resizeEvent(event)[source]

Qt resize event handler. When the widget is resized, the sequence viewer has to re-generate rows and update itself.

Parameters

event (QResizeEvent) – Qt resize event

paintAuxRectangle(painter)[source]

Paints the auxiliary rectangle on a specified painter. The aux rectangle is used to mark a sequence area in “select and slide” sequence viewer mode.

Parameters

painter (QPainter) – target Qt painter

paintUserAnnotations(painter)[source]

Renders user-defined annotations.

paintCursor(painter)[source]

Draw edit mode cursor at present cursor position.

Parameters

painter (QPainter) – painter used to draw the cursor

paintEvent(event)[source]

Qt paint event handler. Calls self.paintSequenceArea to paint the widget contents.

Parameters

event (QPaintEvent) – Qt paint event

paintRowBackground(painter, row, x_pos, y_pos, draw_text, selection_only=False, use_parent=False)[source]

Paints a row background.

paintRowText(painter, row, row_position, x_pos, y_pos, x_offset)[source]

Paints the row text contents.

Paints the row text contents.

paintRowSSA(painter, row, row_position)[source]
paintRowSSBond(painter, row, row_position)[source]

Paints disulfide bond row (both assignment and prediction).

paintRowConstraints(painter, row, row_position)[source]

Paints constraints row (both alignment and Prime).

paintRowAnnotationPlot(painter, row, row_position)[source]

Paints annotation plot.

cacheSSAImages()[source]

Paints a secondary structure annotation row.

paintSequenceArea(painter, event, clip=True, custom_width=None, custom_height=None)[source]

Actually paints the sequence area widget.

Note

This code should be re-factored. Each component of the sequence area should have its own painting method.

Parameters
  • painter (QPainter) – target Qt painter

  • event (QPaintEvent) – Qt paint event

updateColumns(start, end)[source]
DrawChildren = 2
DrawWindowBackground = 1
IgnoreMask = 4
class PaintDeviceMetric

Bases: int

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

Bases: int

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

Bases: sip.simplewrapper

__init__(*args, **kwargs)
acceptDrops(self) bool
accessibleDescription(self) str
accessibleName(self) str
actionEvent(self, QActionEvent)
actions(self) List[QAction]
activateWindow(self)
addAction(self, QAction)
addActions(self, Iterable[QAction])
adjustSize(self)
autoFillBackground(self) bool
backgroundRole(self) QPalette.ColorRole
baseSize(self) QSize
blockSignals(self, bool) bool
changeEvent(self, QEvent)
childAt(self, QPoint) QWidget
SequenceArea.childAt(self, int, int) -> QWidget
childEvent(self, QChildEvent)
children(self) List[QObject]
childrenRect(self) QRect
childrenRegion(self) QRegion
clearFocus(self)
clearMask(self)
close(self) bool
closeEvent(self, QCloseEvent)
colorCount(self) int
connectNotify(self, QMetaMethod)
contentsMargins(self) QMargins
contentsRect(self) QRect
contextMenuEvent(self, QContextMenuEvent)
contextMenuPolicy(self) Qt.ContextMenuPolicy
create(self, window: PyQt5.sip.voidptr = 0, initializeWindow: bool = True, destroyOldWindow: bool = True)
createWindowContainer(QWindow, parent: QWidget = None, flags: Union[Qt.WindowFlags, Qt.WindowType] = 0) QWidget
cursor(self) QCursor
customContextMenuRequested

customContextMenuRequested(self, QPoint) [signal]

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

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

devType(self) int
devicePixelRatio(self) int
devicePixelRatioF(self) float
devicePixelRatioFScale() float
disconnect(QMetaObject.Connection) bool
disconnect(self) None
disconnectNotify(self, QMetaMethod)
dragEnterEvent(self, QDragEnterEvent)
dragLeaveEvent(self, QDragLeaveEvent)
dragMoveEvent(self, QDragMoveEvent)
dropEvent(self, QDropEvent)
dumpObjectInfo(self)
dumpObjectTree(self)
dynamicPropertyNames(self) List[QByteArray]
effectiveWinId(self) PyQt5.sip.voidptr
ensurePolished(self)
enterEvent(self, QEvent)
event(self, QEvent) bool
eventFilter(self, QObject, QEvent) bool
find(PyQt5.sip.voidptr) QWidget
findChild(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) QObject
findChild(self, Tuple, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) QObject
findChildren(self, type, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
findChildren(self, Tuple, name: str = '', options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
findChildren(self, type, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
findChildren(self, Tuple, QRegExp, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
findChildren(self, type, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
findChildren(self, Tuple, QRegularExpression, options: Union[Qt.FindChildOptions, Qt.FindChildOption] = Qt.FindChildrenRecursively) List[QObject]
focusNextChild(self) bool
focusNextPrevChild(self, bool) bool
focusOutEvent(self, QFocusEvent)
focusPolicy(self) Qt.FocusPolicy
focusPreviousChild(self) bool
focusProxy(self) QWidget
focusWidget(self) QWidget
font(self) QFont
fontInfo(self) QFontInfo
fontMetrics(self) QFontMetrics
foregroundRole(self) QPalette.ColorRole
frameGeometry(self) QRect
frameSize(self) QSize
geometry(self) QRect
getContentsMargins(self) Tuple[int, int, int, int]
grab(self, rectangle: QRect = QRect(QPoint(0, 0), QSize(- 1, - 1))) QPixmap
grabGesture(self, Qt.GestureType, flags: Union[Qt.GestureFlags, Qt.GestureFlag] = Qt.GestureFlags())
grabKeyboard(self)
grabMouse(self)
grabMouse(self, Union[QCursor, Qt.CursorShape]) None
grabShortcut(self, Union[QKeySequence, QKeySequence.StandardKey, str, int], context: Qt.ShortcutContext = Qt.WindowShortcut) int
graphicsEffect(self) QGraphicsEffect
graphicsProxyWidget(self) QGraphicsProxyWidget
hasFocus(self) bool
hasHeightForWidth(self) bool
hasMouseTracking(self) bool
hasTabletTracking(self) bool
height(self) int
heightForWidth(self, int) int
heightMM(self) int
hide(self)
hideEvent(self, QHideEvent)
inherits(self, str) bool
initPainter(self, QPainter)
inputMethodEvent(self, QInputMethodEvent)
inputMethodHints(self) Qt.InputMethodHints
inputMethodQuery(self, Qt.InputMethodQuery) Any
SequenceArea.insertAction(self, QAction, QAction)
insertActions(self, QAction, Iterable[QAction])
installEventFilter(self, QObject)
isActiveWindow(self) bool
isAncestorOf(self, QWidget) bool
isEnabled(self) bool
isEnabledTo(self, QWidget) bool
isFullScreen(self) bool
isHidden(self) bool
isLeftToRight(self) bool
isMaximized(self) bool
isMinimized(self) bool
isModal(self) bool
isRightToLeft(self) bool
isSignalConnected(self, QMetaMethod) bool
isVisible(self) bool
isVisibleTo(self, QWidget) bool
isWidgetType(self) bool
isWindow(self) bool
isWindowModified(self) bool
isWindowType(self) bool
keyboardGrabber() QWidget
killTimer(self, int)
layout(self) QLayout
layoutDirection(self) Qt.LayoutDirection
leaveEvent(self, QEvent)
locale(self) QLocale
logicalDpiX(self) int
logicalDpiY(self) int
lower(self)
mapFrom(self, QWidget, QPoint) QPoint
mapFromGlobal(self, QPoint) QPoint
mapFromParent(self, QPoint) QPoint
mapTo(self, QWidget, QPoint) QPoint
mapToGlobal(self, QPoint) QPoint
mapToParent(self, QPoint) QPoint
mask(self) QRegion
maximumHeight(self) int
maximumSize(self) QSize
maximumWidth(self) int
metaObject(self) QMetaObject
metric(self, QPaintDevice.PaintDeviceMetric) int
minimumHeight(self) int
minimumSize(self) QSize
minimumSizeHint(self) QSize
minimumWidth(self) int
mouseGrabber() QWidget
move(self, QPoint)
SequenceArea.move(self, int, int) -> None
moveEvent(self, QMoveEvent)
moveToThread(self, QThread)
nativeEvent(self, Union[QByteArray, bytes, bytearray], sip.voidptr) Tuple[bool, int]
nativeParentWidget(self) QWidget
nextInFocusChain(self) QWidget
normalGeometry(self) QRect
objectName(self) str
objectNameChanged

objectNameChanged(self, str) [signal]

overrideWindowFlags(self, Union[Qt.WindowFlags, Qt.WindowType])
overrideWindowState(self, Union[Qt.WindowStates, Qt.WindowState])
paintEngine(self) QPaintEngine
paintingActive(self) bool
palette(self) QPalette
parent(self) QObject
parentWidget(self) QWidget
physicalDpiX(self) int
physicalDpiY(self) int
pos(self) QPoint
previousInFocusChain(self) QWidget
property(self, str) Any
pyqtConfigure(...)

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

raise_(self)
receivers(self, PYQT_SIGNAL) int
rect(self) QRect
releaseKeyboard(self)
releaseMouse(self)
releaseShortcut(self, int)
removeAction(self, QAction)
removeEventFilter(self, QObject)
render(self, QPaintDevice, targetOffset: QPoint = QPoint(), sourceRegion: QRegion = QRegion(), flags: Union[QWidget.RenderFlags, QWidget.RenderFlag] = QWidget.RenderFlags(QWidget.RenderFlag.DrawWindowBackground | QWidget.RenderFlag.DrawChildren))
render(self, QPainter, targetOffset: QPoint = QPoint(), sourceRegion: QRegion = QRegion(), flags: Union[QWidget.RenderFlags, QWidget.RenderFlag] = QWidget.RenderFlags(QWidget.RenderFlag.DrawWindowBackground | QWidget.RenderFlag.DrawChildren)) None
repaint(self)
SequenceArea.repaint(self, int, int, int, int) -> None
repaint(self, QRect) None
repaint(self, QRegion) None
resize(self, QSize)
SequenceArea.resize(self, int, int) -> None
restoreGeometry(self, Union[QByteArray, bytes, bytearray]) bool
saveGeometry(self) QByteArray
SequenceArea.scroll(self, int, int)
SequenceArea.scroll(self, int, int, QRect) -> None
sender(self) QObject
senderSignalIndex(self) int
setAcceptDrops(self, bool)
setAccessibleDescription(self, str)
setAccessibleName(self, str)
setAttribute(self, Qt.WidgetAttribute, on: bool = True)
setAutoFillBackground(self, bool)
setBackgroundRole(self, QPalette.ColorRole)
SequenceArea.setBaseSize(self, int, int)
setBaseSize(self, QSize) None
SequenceArea.setContentsMargins(self, int, int, int, int)
setContentsMargins(self, QMargins) None
setContextMenuPolicy(self, Qt.ContextMenuPolicy)
setCursor(self, Union[QCursor, Qt.CursorShape])
setDisabled(self, bool)
setEnabled(self, bool)
setFixedHeight(self, int)
setFixedSize(self, QSize)
SequenceArea.setFixedSize(self, int, int) -> None
setFixedWidth(self, int)
setFocus(self)
setFocus(self, Qt.FocusReason) None
setFocusPolicy(self, Qt.FocusPolicy)
setFocusProxy(self, QWidget)
setFont(self, QFont)
setForegroundRole(self, QPalette.ColorRole)
setGeometry(self, QRect)
SequenceArea.setGeometry(self, int, int, int, int) -> None
setGraphicsEffect(self, QGraphicsEffect)
setHidden(self, bool)
setInputMethodHints(self, Union[Qt.InputMethodHints, Qt.InputMethodHint])
setLayout(self, QLayout)
setLayoutDirection(self, Qt.LayoutDirection)
setLocale(self, QLocale)
setMask(self, QBitmap)
setMask(self, QRegion) None
setMaximumHeight(self, int)
SequenceArea.setMaximumSize(self, int, int)
setMaximumSize(self, QSize) None
setMaximumWidth(self, int)
setMinimumHeight(self, int)
SequenceArea.setMinimumSize(self, int, int)
setMinimumSize(self, QSize) None
setMinimumWidth(self, int)
setMouseTracking(self, bool)
setObjectName(self, str)
setPalette(self, QPalette)
setParent(self, QWidget)
setParent(self, QWidget, Union[Qt.WindowFlags, Qt.WindowType]) None
setProperty(self, str, Any) bool
setShortcutAutoRepeat(self, int, enabled: bool = True)
setShortcutEnabled(self, int, enabled: bool = True)
SequenceArea.setSizeIncrement(self, int, int)
setSizeIncrement(self, QSize) None
setSizePolicy(self, QSizePolicy)
setSizePolicy(self, QSizePolicy.Policy, QSizePolicy.Policy) None
setStatusTip(self, str)
setStyle(self, QStyle)
setStyleSheet(self, str)
SequenceArea.setTabOrder(QWidget, QWidget)
setTabletTracking(self, bool)
setToolTip(self, str)
setToolTipDuration(self, int)
setUpdatesEnabled(self, bool)
setVisible(self, bool)
setWhatsThis(self, str)
setWindowFilePath(self, str)
setWindowFlag(self, Qt.WindowType, on: bool = True)
setWindowFlags(self, Union[Qt.WindowFlags, Qt.WindowType])
setWindowIcon(self, QIcon)
setWindowIconText(self, str)
setWindowModality(self, Qt.WindowModality)
setWindowModified(self, bool)
setWindowOpacity(self, float)
setWindowRole(self, str)
setWindowState(self, Union[Qt.WindowStates, Qt.WindowState])
setWindowTitle(self, str)
sharedPainter(self) QPainter
show(self)
showEvent(self, QShowEvent)
showFullScreen(self)
showMaximized(self)
showMinimized(self)
showNormal(self)
signalsBlocked(self) bool
size(self) QSize
sizeHint(self) QSize
sizeIncrement(self) QSize
sizePolicy(self) QSizePolicy
stackUnder(self, QWidget)
startTimer(self, int, timerType: Qt.TimerType = Qt.CoarseTimer) int
staticMetaObject = <PyQt5.QtCore.QMetaObject object>
statusTip(self) str
style(self) QStyle
styleSheet(self) str
tabletEvent(self, QTabletEvent)
testAttribute(self, Qt.WidgetAttribute) bool
thread(self) QThread
timerEvent(self, QTimerEvent)
toolTip(self) str
toolTipDuration(self) int
tr(self, str, disambiguation: str = None, n: int = - 1) str
underMouse(self) bool
ungrabGesture(self, Qt.GestureType)
unsetCursor(self)
unsetLayoutDirection(self)
unsetLocale(self)
update(self)
update(self, QRect) None
update(self, QRegion) None
SequenceArea.update(self, int, int, int, int) -> None
updateGeometry(self)
updateMicroFocus(self)
updatesEnabled(self) bool
visibleRegion(self) QRegion
whatsThis(self) str
width(self) int
widthMM(self) int
winId(self) PyQt5.sip.voidptr
window(self) QWidget
windowFilePath(self) str
windowFlags(self) Qt.WindowFlags
windowHandle(self) QWindow
windowIcon(self) QIcon
windowIconChanged

windowIconChanged(self, QIcon) [signal]

windowIconText(self) str
windowIconTextChanged

windowIconTextChanged(self, str) [signal]

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

windowTitleChanged(self, str) [signal]

windowType(self) Qt.WindowType
x(self) int
y(self) int