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.