schrodinger.application.matsci.chargegui module

Classes to aid in assigning charges to atoms in a GUI

Copyright Schrodinger, LLC. All rights reserved.

class schrodinger.application.matsci.chargegui.ChargePropertySelector(label, layout=None, tip=None)

Bases: schrodinger.ui.qt.propertyselector.PropertySelectorMenu

A widget that allows the user to pick from a list of properties from a combobox and shows the user the “User” version of the property name (Property Name rather than x_prog_Property_Name)

__init__(label, layout=None, tip=None)

Create a Charge PropertySelector instance

Parameters
  • label (str) – The label for the combobox

  • layout (QBoxLayout) – The layout to place the SLabeledComboBox into

  • tip (str) – The tooltip for the combobox

setVisible(state)

Set the combobox and label visible or hidden

Parameters

state (bool) – Whether to show (True) or hide (False) the widgets

isVisible()

Check if the combobox is visible

Return type

bool

Returns

True if visible, False if not

reset()

Reset the combobox

updateProperties(structs, monomer_charge=True)

Fill the combobox with all allowed atom properties available in structs

Parameters
  • structs (list or None) – If a list, each item is a schrodinger.structure.Structure object. Use None to remove all atom properties but the default

  • monomer_charge (bool) – If True, monomer charges shows up in the charge combo box.

getSelectedProp()

Return the x_prog_property_name form of the selected property

Return type

str or None

Returns

The x_prog_property_name value of the selected property or None if no property is selected

static getAllPotentialAtomChargeProperties(structs)

Accumulate a list of all numeric atomic properties in all structures, removing any on the NON_CHARGE_PROPS list

Parameters

structs (list) – Each item is a schrodinger.structure.Structure object.

Return type

list

Returns

A list of all numeric (r_, i_) atom properties found in structs. The list is sorted alphabetically.

class schrodinger.application.matsci.chargegui.NeighborTreatment(quantum=False, label=None, basis_set='3-21G', layout_type='horizontal', **kwargs)

Bases: schrodinger.ui.qt.swidgets.SFrame

An SFrame that contains a set of widgets that allows the user to pick whether neighboring atoms will be dealt with as atoms, existing charges or on-the-fly ESP charges

__init__(quantum=False, label=None, basis_set='3-21G', layout_type='horizontal', **kwargs)

Create a NeighborTreatment instance

Parameters
  • quantum (bool) – Whether the option to treat the neighbors as atoms is to be offered

  • label (str) – The leading label on the line

  • basis_set (str) – The basis set to use by default for quantum and ESP treatments

All other kwargs are passed to the SFrame __init__ method. In particular, pass in the layout keyword to place these widgets into a parent layout.

methodChanged()

React to changing the treatment method

reset()

Reset all the widgets

updateProperties(structs)

Update the available charge properties based on structs

Parameters

structs (list) – A list of structures to pull charge properties from

validate()

Validate that the widgets are in a proper state

Return type

True or (False, msg)

Returns

True if everything is OK or (False, msg) if something is wrong. msg will describe the issue. The return value is consistent with af2 validation methods

getMethod()

Get the current treatment method

Return type

str

Returns

The selected treatment method

getBasis()

Get the currently selected basis set if the treatment method requires one

Return type

str or None

Returns

A current basis set or None if the current treatment does not use a basis set

getQProp()

Get the currently selected charge property if applicable

Return type

str or None

Returns

The current charge property or None if the current treatment does not use a charge property (or none is available). The property will be in the x_prog_property_name format.

getFlags(flag_names=None)

Get the command line flags generated by this set of widgets

Parameters

flag_names (dict) – Used to modify flag names to custom values. Keys are default flag names (BASIS_FLAG, USE_Q_FLAG module constants) and values are the new flag string to use.

Return type

list

Returns

A list of command line flags and values that capture the current state of these widgets.

class schrodinger.application.matsci.chargegui.ChargeDialog(master, user_accept_function=None, standard_buttons=None, nonstandard_buttons=None, help_topic='', title=None)

Bases: schrodinger.ui.qt.swidgets.SDialog

A dialog that allows the user to choose custom charges for atoms

layOut()

Lay out the dialog widgets

setEnabledState(enabled)

The the enabled state for custom charge widgets.

Parameters

enabled (bool) – Whether the custom charge widgets are enabled.

reset()

Reset the dialog

selectAtoms()

Open the select atoms panel to help the user build an ASL for custom-charged atoms

testASL(asl=None)

Check to see if an ASL is valid

Parameters

asl (str) – The ASL to check

Return type

bool

Returns

Whether the ASL is valid and matches atoms or not

updateProperties(structs)

Update the properties in the charge property combobox.

Parameters

structs (list or None) – If a list, each item is a schrodinger.structure.Structure object. Use None to remove all atom properties but the default

accept()

Allow the user to close the dialog only if the widgets are in a valid state

closeEvent(event)

Allow the user to close the dialog via the window manager X button only if the widgets are in a valid state

Parameters

event (QtGui.QCloseEvent) – The event object from the triggered event

validateASL()

Check that the custom atom charge ASL is valid. Post a dialog if that ASL is not valid or matches no atoms.

Return type

bool

Returns

True if everything is OK, False if validation fails.

getCustomChargeInfo()

Return the ASL for custom charge atoms and the custom charge property

Return type

(str, str)

Returns

The ASL specifying which atoms to charge and the name of the property that stores the custom charges

allowAtomSelection(state)

Enable/disable the atom selection button

Parameters

state (bool) – The enabled state of the button

class schrodinger.application.matsci.chargegui.FFInfo(ffdialog, layout, cbox=None)

Bases: schrodinger.ui.qt.swidgets.SFrame

A frame that contains information about the chosen forcefield and a button to change those options

__init__(ffdialog, layout, cbox=None)

Create an FFInfo object

Parameters
  • ffdialog (schrodinger.ui.qt.swidgets.SDialog) – The dialog to open when the options button is pressed

  • layout (QtWidgets.QBoxLayout) – The layout to place this frame into

  • cbox (QtWidgets.QCheckBox) – A checkbox that will control whether this frame is enabled or not

forceFieldChanged(name=None)

Update the label when the forcefield changes

Parameters

name (str) – The name of the new forcefield

showFFDialog()

Show the force field options dialog

enableWithCBox()

Set this frame enabled/disabled when the controlling checkbox is checked/unchecked

class schrodinger.application.matsci.chargegui.ForceFieldDialog(master, user_accept_function=None, standard_buttons=None, nonstandard_buttons=None, help_topic='', title=None)

Bases: schrodinger.ui.qt.swidgets.SDialog

A dialog that contains forcefield options

OK = True
NOT_OK = False
layOut()

Lay out the dialog widgets

getForceFieldMenuItem()
Returns

the text as the force field menu item.

Return type

str

showChargeDialog()

Show the dialog that allows custom charges

reset()

Reset the dialog widgets

customOPLSDir()

Return the custom OPLS directory if one was requested

Return type

str or None

Returns

The path to the custom directory, or None if no such directory was requested

getFlags()

Get the command line flags based on the GUI settings

Return type

list

Returns

List of command line flags and arguments

findInvalidFFStructures(structs)

Check a list of structures to see if any are invalid with the given forcefield

Parameters

structs (list) – A list of structures to check

Return type

str or bool

Returns

If bool, whether any of the structures are invalid. If str, then invalid structures were found and the str is an error message. An error message is only returned if the previous state is was all valid. This avoids continually showing the failure dialog.