schrodinger.application.jaguar.gui.tabs.properties_tab module

class schrodinger.application.jaguar.gui.tabs.properties_tab.BaseSubTab(ui, row_id=None)

Bases: QObject

Base class for all properties tab subtabs. Subtabs that contain options should be subclassed. Subclasses should redefine getMmJagKeywords and loadSettings functions. Function theoryUpdated need to be redefined only for sub tabs that depend on theory options.

Variables:
  • theory_level (str) – current theory level

  • spin (bool) – current state of ‘spin unrestricted’ toggle in theory tab

  • row_id (int) – sub tab id a.k.a. property row number it is associated with

  • ui (QWidget) – And object that provides access to all subtab widgets

__init__(ui, row_id=None)

Sub tab initializer.

setup()

This function is called to customize sub tab behavior. It should be reimplemented for any subclass that has custom features.

getMmJagKeywords(checked)

This function returns dictionary of mmjag keywords for this sub tab. It is only used for tabs that don’t have options.

Parameters:

checked (bool) – True if property row is ‘checked’

Returns:

mmjag keywords dictionary

Return type:

dict

loadSettings(keywords)

This function restores this sub tab from the keywords dictionary.

Parameters:

keywords (dict) – mmjag keywrods dictionary

theoryUpdated(theory_level, dft_functional, spin_treatment, basis)

Respond to the user changing the level of theory or the basis set.

Parameters:
  • theory (str) – The current level of theory. Must be one of “DFT”, “HF”, “LMP2” or “RIMP2”

  • dft_functional (str or NoneType) – If c{theory} is “DFT”, the currently selected functional level. If theory is not “DFT” or if the user has not specified a functional level, should be None.

  • spin_unrestricted (bool) – Whether the spin-unrestricted check box is checked in the theory tab. If theory is “LMP2” or “RIMP2”, should be None.

  • basis (str) – The currently selected basis set without the polarization or diffuse levels (i.e. “6-31G” rather than “6-31G**+”)

class schrodinger.application.jaguar.gui.tabs.properties_tab.RamanSubTab(ui, row_id=None)

Bases: BaseSubTab

getMmJagKeywords(checked)

This function returns dictionary of mmjag keywords for Raman Spectroscopy

Parameters:

checked (bool) – True if property row is ‘checked’

Returns:

mmjag keywords dictionary

Return type:

dict

loadSettings(keywords)

This function restores this sub tab from the keywords dictionary.

Parameters:

keywords (dict) – mmjag keywrods dictionary

class schrodinger.application.jaguar.gui.tabs.properties_tab.VibrationalSubTab(ui, row_id=None)

Bases: BaseSubTab

This sub tab class is used for Vibrational property.

Variables:

VIBRATION_MASS_METHOD (collections.OrderedDict) – An OrderedDict of {atomic masses method: mmjag keyword value} used to populate ‘Atomic masses’ combo box.

VIBRATION_MASS_METHOD = {'Average isotopic masses': 1, 'Most abundant isotopes': 0}
NUM_SCALING = 4
VIBRATION_SCALING_NONE = 0
VIBRATION_SCALING_PULAY = 1
VIBRATION_SCALING_AUTO = 2
VIBRATION_SCALING_CUSTOM = 3
setup()

This function is called to customize sub tab behavior. It should be reimplemented for any subclass that has custom features.

getMmJagKeywords(checked)

This function returns dictionary of mmjag keywords for this sub tab. It is only used for tabs that don’t have options.

Parameters:

checked (bool) – True if property row is ‘checked’

Returns:

mmjag keywords dictionary

Return type:

dict

loadSettings(keywords)

This function restores this sub tab from the keywords dictionary.

Parameters:

keywords (dict) – mmjag keywrods dictionary

theoryUpdated(theory_level, dft_functional, spin_treatment, basis)

This slot is called when basis set is changed in Molecule tab. Depending on the type of basis set it would enable or disable ‘Pulay SQM’ item in the scaling combo box.

class schrodinger.application.jaguar.gui.tabs.properties_tab.SurfacesSubTab(ui, row_id=None)

Bases: BaseSubTab

This sub tab class is used for Surfaces property.

Variables:

ENERGY_UNIT_METHOD (collections.OrderedDict) – An OrderedDict of {energy unit method: mmjag keyword value} used to populate ‘Energy units’ combo box.

SURFACES_ORBITAL_HOMOMINUS = 'homo-'
SURFACES_ORBITAL_LUMOPLUS = 'lumo+'
MOLECULAR_ORBITALS = {'HOMO-': 'homo-', 'LUMO+': 'lumo+'}
ALPHA_ORBITALS = ['iorb1a', 'iorb2a']
BETA_ORBITALS = ['iorb1b', 'iorb2b']
DEFAULT_ORBITAL = '0'
ENERGY_UNIT_METHOD = {'eV': 6, 'hartrees': 3, 'kT at 298.15K': 5, 'kT/electorn at 298.15K': 2, 'kcal/mol': 4, 'kcal/mol/electron': 1}
setup()

This function is called to customize sub tab behavior. It should be reimplemented for any subclass that has custom features.

getMmJagKeywords(checked)

This function returns dictionary of mmjag keywords for this sub tab. It is only used for tabs that don’t have options.

Parameters:

checked (bool) – True if property row is ‘checked’

Returns:

mmjag keywords dictionary

Return type:

dict

loadSettings(keywords)

This function restores this sub tab from the keywords dictionary.

Parameters:

keywords (dict) – mmjag keywrods dictionary

theoryUpdated(theory_level, dft_functional, spin_treatment, basis)

This sub tab needs to be updated when theory level or ‘spin unrestricted’ toggle state are changed.

getSettingsAffectedBySpinTreatment()

Get all mmjag values that need to be set on a per-structure basis dependent on the spin treatment and the spin multiplicity.

Returns:

A tuple of:

  • A dictionary of {keyword: value} for all settings required for an unrestricted spin treatment

  • A dictionary of {keyword: value} for all settings required for a restricted spin treatment

Return type:

tuple

class schrodinger.application.jaguar.gui.tabs.properties_tab.ESPSubTab(ui, row_id=None)

Bases: BaseSubTab

This sub tab class is used for ESP property.

Variables:
  • FIT_ESP_METHOD (collections.OrderedDict) – An OrderedDict of {fit ESP method: mmjag keyword value} used to populate ‘Fot ESP to’ combo box.

  • CONSTRAINTS_METHOD (collections.OrderedDict) – An OrderedDict of {constraints method: mmjag keyword value} used to populate ‘Constraints’ combo box.

FIT_ESP_METHOD = {'Atom + bond midpoints': 2, 'Atom centers': 1}
CONSTRAINTS_METHOD = {'Charge + dipole moment': 1, 'Charge -> octupole moment': 111, 'Charge -> quadrupole moment': 11, 'Total charge only': 0}
setup()

This function is called to customize sub tab behavior. It should be reimplemented for any subclass that has custom features.

getMmJagKeywords(checked)

This function returns dictionary of mmjag keywords for this sub tab. It is only used for tabs that don’t have options.

Parameters:

checked (bool) – True if property row is ‘checked’

Returns:

mmjag keywords dictionary

Return type:

dict

loadSettings(keywords)

This function restores this sub tab from the keywords dictionary.

Parameters:

keywords (dict) – mmjag keywrods dictionary

class schrodinger.application.jaguar.gui.tabs.properties_tab.MullikenSubTab(ui, row_id=None)

Bases: BaseSubTab

This sub tab class is used for Mulliken property.

getMmJagKeywords(checked)

This function returns dictionary of mmjag keywords for this sub tab. It is only used for tabs that don’t have options.

Parameters:

checked (bool) – True if property row is ‘checked’

Returns:

mmjag keywords dictionary

Return type:

dict

loadSettings(keywords)

ATTENTION!!! The corresponding function in Maestro also had support for the following keywords: MMJAG_MULKEN_ATOM_GEOPT, MMJAG_MULKEN_BASIS_GEOPT and MMJAG_MULKEN_BOND_GEOPT. These were set using internal variable, which was not exposed in the GUI. This part of the code was not ported here to avoid possible errors.

class schrodinger.application.jaguar.gui.tabs.properties_tab.PolarizabilitySubTab(ui, row_id=None)

Bases: BaseSubTab

This sub tab class is used for Polarizability property.

Variables:

PROPERTY_METHOD (collections.OrderedDict) – An OrderedDict of {property method: mmjag keyword value} used to populate ‘Property / Method’ combo box.

PROPERTY_METHOD = {'alpha / 3-point finite field': 1, 'alpha, beta / 3-point finite field': 2, 'alpha, beta / 5-point finite field': 5, 'alpha, beta / 7-point finite field': 7, 'alpha, beta / analytic': -1, 'alpha, beta, gamma / analytic': -2}
setup()

This function is used to define connections between widgets in this sub tab.

methodChanged()

This function is used to enable/disable ‘finite field’ widget when static polarizability property/method is changed.

Parameters:

index (int) – method combo box index

getMmJagKeywords(checked)

This function returns dictionary of mmjag keywords for this sub tab. It is only used for tabs that don’t have options.

Parameters:

checked (bool) – True if property row is ‘checked’

Returns:

mmjag keywords dictionary

Return type:

dict

loadSettings(keywords)

This function restores this sub tab from the keywords dictionary.

Parameters:

keywords (dict) – mmjag keywrods dictionary

onStaticStateChanged(state: CheckState)

Update whether static options widgets are enabled.

Parameters:

state – The current state of the static check box.

onDynamicStateChanged(state: CheckState)

Update whether dynamic options widgets are enabled.

Parameters:

state – The current state of the dynamic check box.

class schrodinger.application.jaguar.gui.tabs.properties_tab.MultipoleSubTab(ui, row_id=None)

Bases: BaseSubTab

This sub tab class is used for Multipole property.

getMmJagKeywords(checked)

This function returns dictionary of mmjag keywords for this sub tab. It is only used for tabs that don’t have options.

Parameters:

checked (bool) – True if property row is ‘checked’

Returns:

mmjag keywords dictionary

Return type:

dict

loadSettings(keywords)

This function restores this sub tab from the keywords dictionary.

Parameters:

keywords (dict) – mmjag keywrods dictionary

theoryUpdated(theory_level, dft_functional, spin_treatment, basis)

FIXME

class schrodinger.application.jaguar.gui.tabs.properties_tab.MossbauerSubTab(ui, row_id=None)

Bases: BaseSubTab

Mössbauer properties tab options.

Variables:
  • DEFAULT_MOSS_ATNUM (int) – Default value for Mössbauer atomic number.

  • DEFAULT_MOSS_NUC_QUADRUPOLE_MOMENT (float) – Default value for Mössbauer nuclear quadrupole moment.

DEFAULT_MOSS_ATNUM = 26
DEFAULT_MOSS_NUC_QUADRUPOLE_MOMENT = 0.16
getMmJagKeywords(checked)

This function returns dictionary of mmjag keywords for this sub tab. It is only used for tabs that don’t have options.

Parameters:

checked (bool) – True if property row is ‘checked’

Returns:

mmjag keywords dictionary

Return type:

dict

loadSettings(keywords)

This function restores this sub tab from the keywords dictionary.

Parameters:

keywords (dict) – mmjag keywrods dictionary

class schrodinger.application.jaguar.gui.tabs.properties_tab.PropertiesTabBase(parent, input_selector=None)

Bases: BaseTab

NAME = 'Properties'
HELP_TOPIC = 'JAGUAR_TOPIC_PROPERTIES_FOLDER'
ES_EXCLUDE_ROWS = [0, 6, 7, 10, 12]
LMP2_ROWS = [0, 1, 2, 4, 12]
setup()

Common setup for all properties tabs.

propertyTableSelectionChanged(selected, deselected)

Triggered when selection within the properties table changes.

Parameters:
  • selcted – Indices of the table that were selected type selected: QItemSelection

  • deselected – Indices of the table that were deselected

getMmJagKeywords()

This function returns dictionary of mmjag keywords for this tab.

Returns:

mmjag keywords dictionary

Return type:

dict

loadSettings(keywords)

This function restores this tab from the keywords dictionary

Parameters:

keywords (dict) – mmjag keywrods dictionary

theoryOrBasisUpdated(theory_level, dft_functional, spin_treatment, excited_state_info, basis, hamiltonian)

Respond to the user changing the level of theory or the basis set.

Parameters:
  • theory (str) – The current level of theory. Must be one of “DFT”, “HF”, “LMP2”, “RIMP2” or “Mixed”

  • dft_functional (str or NoneType) – If c{theory} is “DFT”, the currently selected functional level. If theory is not “DFT” or if the user has not specified a functional level, should be None.

  • spin_treatment (bool) – True if the spin restriction option is set to ‘Unrestricted’ in the theory tab. If theory is “LMP2” or “RIMP2”, should be None.

  • excited_state_info (theory_tab.ExcitedStateInfo) – Tuple that stores excited state info. If theory is “LMP2” or “RIMP2”, tuple will contain None values.

  • basis (str) – The currently selected basis set without the polarization or diffuse levels (i.e. “6-31G” rather than “6-31G**+”)

  • hamiltonian (str) – The current Hamiltonian setting from the theory tab.

updatePropertiesTable()

This function enables and disables rows in the properties table depending on current theory and theory options. It needs to be defined for each subclass.

getAllowedRows()

This function returns list of property rows that need to be enabled. This function needs to be reimplemented in derived classes.

Returns:

list property rows that should be enabled

Return type:

list

selectFirstAllowedPropertyRow()

Find the first allowed row in the Properties table and select it if one exists.

enableRows()

This function updates properties table to enable rows that were specified in self.allowed_rows member variable.

filterRowsByExcitedState()

If self.excited_states variable is True remove certain properties from list of enabled rows stored in self.allowed_rows.

getSpecialProperties()

This function returns a list of checked properties that can not be calculated for entries with spin multiplicity > 1. This function needs to be implemented in derived classes.

getCheckedRowNumbers()

Return a list of all checked row numbers

Return type:

list

Returns:

Each item is the index of a checked row

getSettingsAffectedBySpinTreatment()

Get all mmjag values that need to be set on a per-structure basis dependent on the spin treatment and the spin multiplicity.

Returns:

A tuple of:

  • A dictionary of {keyword: value} for all settings required for an unrestricted spin treatment

  • A dictionary of {keyword: value} for all settings required for a restricted spin treatment

Return type:

tuple

class schrodinger.application.jaguar.gui.tabs.properties_tab.PropertiesTab(parent, input_selector=None)

Bases: PropertiesTabBase

UI_MODULES = (<module 'schrodinger.application.jaguar.gui.ui.properties_tab_ui' from '/scr/buildbot/builds/core-suite-build/core-suite-build/build/internal/lib/python3.11/site-packages/schrodinger/application/jaguar/gui/ui/properties_tab_ui.py'>,)
DFT_BASE_ROWS = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13]
ZORA_ROWS = [5, 13]
LMP2_ROWS = [0, 1, 2, 4, 12, 13]
RIMP2_ROWS = [0]
vibrationalRowToggled

A pyqtSignal emitted by instances of the class.

setup()

Common setup for all properties tabs.

getAllowedRows()

This function returns list of property rows that need to be enabled for all tasks.

Returns:

list of property rows that should be enabled

Return type:

list

getSpecialProperties()

This function returns a list of checked properties that can not be calculated for entries with spin multiplicity > 1. This function needs to be implemented in derived classes.