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

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

Bases: PyQt6.QtCore.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: schrodinger.application.jaguar.gui.tabs.properties_tab.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: schrodinger.application.jaguar.gui.tabs.properties_tab.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: schrodinger.application.jaguar.gui.tabs.properties_tab.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: schrodinger.application.jaguar.gui.tabs.properties_tab.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: schrodinger.application.jaguar.gui.tabs.properties_tab.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: schrodinger.application.jaguar.gui.tabs.properties_tab.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: PyQt6.QtCore.Qt.CheckState)

Update whether static options widgets are enabled.

Parameters

state – The current state of the static check box.

onDynamicStateChanged(state: PyQt6.QtCore.Qt.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: schrodinger.application.jaguar.gui.tabs.properties_tab.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: schrodinger.application.jaguar.gui.tabs.properties_tab.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: schrodinger.application.jaguar.gui.tabs.base_tab.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: schrodinger.application.jaguar.gui.tabs.properties_tab.PropertiesTabBase

UI_MODULES = (<module 'schrodinger.application.jaguar.gui.ui.properties_tab_ui' from '/scr/buildbot/savedbuilds/2024-4/NB/build-117/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]
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.