schrodinger.ui.residueselector module

schrodinger.ui.residueselector.muts_str_to_list(muts_str)

Convert the string of comma-separated residue names to a list. Strips spaces as needed, and properly handles an empty string.

schrodinger.ui.residueselector.clear_layout(layout)

Remove all widgets from the layout and delete them.

class schrodinger.ui.residueselector.ResidueGroups

Bases: object

Class representing the residue “groups” that appear as mixed-state checkboxes in the residue selector pop-up. Basically a collection of multiple residue name tuples.

class schrodinger.ui.residueselector.MutationSelectorFrame(parent=None)

Bases: PyQt5.QtWidgets.QFrame

This frame contains widgets for selecting one or more residue type (e.g. ALA, VAL, and GLY). The editor has a checkbox for each residue, along with convenience checkboxes that allow the user to toggle multiple residues that match a description (e.g., polar).

This frame is intended to be embedded in a layout. For using as a pop-up, see MutationSelectorPopUp.

dataChanged
getResidueGroups()
setupCheckboxes()

Populate the std residues, custom residues, and groups layouts with checkboxes based on the current residue groups. Can be called to re-populate the pop-up widget if the return value of getResidueGroups() of the subclass has changed.

getResidueCheckbox(residue_name)

Return the checkbox for the residue or residue group.

Parameters:residue_name (str) – The name of the residue
updateSelections()

Collect checked residues and then add any residues selected via the group checkboxes. Emits a set of selected residues.

setSelectedMutations(residues)
Parameters:residues (set of str) – The residues selected by the user

Checks the checkboxes corresponding to the given set of residue strings, and unchecks the other checkboxes. Connect to the dataChanged signal to get updates on the selected mutations.

selectResidueCheckbox(residue_name, check=True)

Selects (or deselects, if False) a single residue checkbox

Parameters:
  • residue_name (str) – The name of the residue corresponding to the checkbox
  • check (bool) – Whether to check or uncheck the checkbox
selectAll()

Selects every enabled residue checkbox in the pop up

applyGroupSelections()

Examines the relevant group checkboxes to determine which residues should be selected and selects them.

Our groups obey the following rules:

  • no residues in a group selected -> group deselected
  • some but not all residues in a group selected -> group partially selected
  • all residues in a group selected -> group selected
  • a user selects a group -> group selected
  • a user deselects a group -> group deselected

In other words, for users, the groups function as dual state, but in terms of display, the groups are tristate.

Note that this function can only be called as a signal, because it needs to call self.sender()

deselectAll()

Deselects all the residue checkboxes if the None convenience checkbox has been selected

Parameters:checked (bool) – Whether the None checkbox is checked
disableResidue(res_name, tooltip=None)

Disable the given residue checkbox in the pop-up dialog.

clear()

De-select all residues.

disableResidues(disable_residues)
Parameters:disable_residues (List of (str, str) tuples.) – List of residues to disable. Each item is a tuple of (res_name, tooltip).
class schrodinger.ui.residueselector.MutationSelectorPopUp(parent)

Bases: schrodinger.ui.qt.pop_up_widgets.PopUp, schrodinger.ui.residueselector.MutationSelectorFrame

A popup editor for selecting residue mutation targets. The editor has a checkbox for each residue, along with convenience checkboxes that allow the user to toggle multiple residues that match a description (e.g., polar).

This frame is intended to be added to a GUI layout. For using as a pop-up, see MutationSelectorPopUp.

dataChanged
setup()

Subclass-specific initialization. Subclasses must implement this function.

lineEditUpdated(mutations_txt)

Update this pop up in response to the user changing the line edit text. Note that, by default, this widget will not be able to send signals during execution of this method. This prevents an infinite loop of PopUp.lineEditUpdated and LineEditWithPopUp.popUpUpdated. To modify this behavior, subclass LineEditWithPopUp and reimplement LineEditWithPopUp.popUpUpdated.

Parameters:text (str) – The current text of the line edit
class schrodinger.ui.residueselector.MutationSelectorLineEdit(parent, pop_up_class=<class 'schrodinger.ui.residueselector.MutationSelectorPopUp'>)

Bases: schrodinger.ui.qt.pop_up_widgets.LineEditWithPopUp

This line edit will show a residue type selection pop-up box when clicked. It can be used in a Qt table by defining a custom Delegate, for example:

class MutationSelectorDelegate(pop_up_widgets.PopUpDelegate):
def _createEditor(self, parent, option, index):
return MutationSelectorLineEdit(parent)
def setModelData(self, editor, model, index):
mutations = editor.getSelectedMutations() model.setData(index, mutations)
popUpUpdated(mutations)

Over-ride the popUpUpdated() method of MutationSelectorLineEdit. Callback that passes the selected mutations back to the line edit.

Parameters:mutations (set of str) – The mutations selected by the user in the pop up
setSelectedMutations(mutations)

Set the mutations that should be selected.

Parameters:mutations (set of str) – The mutations selected by the user in the pop up
getSelectedMutations()

Get the mutations that have been selected by the user in the popup

Return type:set of str
Returns:Set of strings representing the user’s residue mutation selections
disableResidues(disable_residues)
Parameters:disable_residues (List of (str, str) tuples.) – List of residues to disable. Each item is a tuple of (res_name, tooltip).
class schrodinger.ui.residueselector.MutationSelectorComboBox(parent, pop_up_class=<class 'schrodinger.ui.residueselector.MutationSelectorPopUp'>)

Bases: schrodinger.ui.qt.pop_up_widgets.ComboBoxWithPopUp

This combo box will show a residue type selection pop-up box when clicked.

popUpUpdated(mutations)

Over-ride the popUpUpdated() method of MutationSelectorComboBox. Callback that passes the selected mutations back to the line edit.

Parameters:mutations (set of str) – The mutations selected by the user in the pop up
setSelectedMutations(mutations)

Set the mutations that should be selected.

Parameters:mutations (set of str) – The mutations selected by the user in the pop up
getSelectedMutations()

Get the mutations that have been selected by the user in the popup

Return type:set of str
Returns:Set of strings representing the user’s residue mutation selections
disableResidues(disable_residues)
Parameters:disable_residues (List of (str, str) tuples.) – List of residues to disable. Each item is a tuple of (res_name, tooltip).