schrodinger.application.jaguar.gui.tabs.input_tab module¶
- class schrodinger.application.jaguar.gui.tabs.input_tab.InputTabBase(parent, input_selector=None)¶
Bases:
ProvidesStructuresMixin
,BaseTab
A tab for specifying settings for the structures currently selected in the project table. Note that this class is not intended to be directly instantiated. Instead, the InputTab or InputTabPka classes should be used.
- Variables:
MODEL_CLASS (
schrodinger.application.jaguar.gui.input_tab_widgets. SelectedEntriesModel
) – The class to use for the table modelPROXY_CLASS (
schrodinger.application.jaguar.gui.input_tab_widgets. SelectedEntriesProxyModel
) – The class to use for the table proxy modelVIEW_CLASS (
schrodinger.application.jaguar.gui.input_tab_widgets. SelectedEntriesView
) – The class to use for the table viewstrucSourceChanged (
QtCore.pyqtSignal
) – A signal emitted when the structure source changes from included to selected or vice versa.
- strucSourceChanged¶
A
pyqtSignal
emitted by instances of the class.
- NAME = 'Input'¶
- MODEL_CLASS¶
alias of
InputEntriesModel
- PROXY_CLASS¶
alias of
InputEntriesProxyModel
- VIEW_CLASS¶
alias of
InputEntriesView
- setup()¶
Perform tab specific initialization. This function should be defined in subclasses if initialization is needed.
- projectUpdated()¶
When the project is updated, update the selected entries table
- workspaceChanged(what_changed)¶
Update the table whenever the workspace changes in case the user changed the charge of a molecule.
- Parameters:
what_changed (str) – A flag indicating what changed in the workspace
- loadSettings(jag_input)¶
Restore tab settings from mmjag keywords. This function should be defined in subclasses.
- Parameters:
jag_input (schrodinger.application.jaguar.input.JaguarInput) – The Jaguar settings to base the tab settings on
- validate()¶
Make sure that the tab settings will allow a job to be run successfully. Note that this validation should not be redundant with that performed in
getMmJagKeywords
. Any tab setting that prevents valid mmjag keywords from being generated should causegetMmJagKeywords
to raise a JaguarSettingError. Any tab setting that allows mmjag keywords to be successfully generated but will result in a job failure should cause avalidate
fail. This function should be defined in subclasses if validation is needed.- Returns:
If the validation passes, None is returned. If the validation fails, a string that describes the error is returned.
- Return type:
str or NoneType
- getStructures()¶
Get all structures loaded into the tab and their associated Jaguar settings
- Returns:
A list of tuples. Each tuple represents a single structure and contains:
Entry ID of the structure
A
schrodinger.structure.Structure
object containing the structure itselfA dictionary of keywords specific to the structure
- Return type:
list
- getNumStructures()¶
- getStructureTitleForJobname()¶
Get the structure title to be used in the job name. If the tab includes multiple structures, then
MULTIPLE_STRUC_JOB_TITLE
should be returned. If no structures have been specified yet, then None should be returned.- Returns:
The structure title
- Return type:
str or NoneType
- reset()¶
Reset any structure specific settings in the table. (The non-struture specific settings will be reset via loadSettings())
- useFromComboChanged()¶
Respond to the user changing the structure source (from included to selected or vice versa).
- usingSelected()¶
Return True if the tab is set to use selected entries. False if the tab is set to use included entries.
- getCurrentTableModel()¶
Get the current model, not the proxy model, for the input view
- Return type:
QtCore.QAbstractTableModel
- Returns:
The model the table is currently using
- getAllTableModels()¶
Get all table models regardless of whether they are the currently the model for the table view or not. This allows supporting panels such as pKa that switch between multiple models depending on panel options.
The proxy model is not included.
- Return type:
list
- Returns:
A list of models usable by the table view
- class schrodinger.application.jaguar.gui.tabs.input_tab.InputTab(parent, input_selector=None)¶
Bases:
ProvidesTheoryMixin
,ProvidesBasisMixin
,InputTabBase
An input tab that allows the user to specify basis sets.
- HELP_TOPIC = 'JAGUAR_INPUT_TAB'¶
- UI_MODULES = (<module 'schrodinger.application.jaguar.gui.ui.input_top_ui' from '/scr/buildbot/builds/core-suite-build/core-suite-build/build/internal/lib/python3.11/site-packages/schrodinger/application/jaguar/gui/ui/input_top_ui.py'>, <module 'schrodinger.application.jaguar.gui.ui.input_std_bottom_ui' from '/scr/buildbot/builds/core-suite-build/core-suite-build/build/internal/lib/python3.11/site-packages/schrodinger/application/jaguar/gui/ui/input_std_bottom_ui.py'>)¶
- setup()¶
Perform tab specific initialization. This function should be defined in subclasses if initialization is needed.
- getDefaultKeywords()¶
The mmjag default basis set is “”, which would cause a warning, so we set the default basis. Additionally, the mmjag default DFT functional name is “”, which would cause a HF level of theory. Instead, set a default functional of B3LYP-D3.
- Returns:
A keyword dictionary with the default basis set and functional.
- Return type:
dict
- loadSettings(jag_input)¶
Restore tab settings from mmjag keywords. This function should be defined in subclasses.
- Parameters:
jag_input (schrodinger.application.jaguar.input.JaguarInput) – The Jaguar settings to base the tab settings on
- getBasis(mixed_name='Mixed')¶
Get the currently selected basis. If more than one basis set is specified,
mixed_name
will be returned. If the tab does not allow for specifying multiple basis sets, then this argument may be ignored.- Parameters:
mixed_name (str) – The name to return if more than one basis set is specified
- Returns:
The currently selected basis
- Return type:
str
- getTheoryLevel()¶
Get the current theory level
- Returns:
The current theory level.
- Return type:
str
- getAllUsedTheoryLevels()¶
- Returns:
A tuple of all theory levels used
- Return type:
tuple
- getMethod()¶
Get the current method.
- Returns:
The current method
- Return type:
str
- getFunctional(cur_struc=None)¶
Get the current DFT functional.
- Parameters:
cur_struc (input_tab_widgets.ProjEntryTuple) – Current structure to get functional for. If not specified, functional will be returned based on default theory setting.
- Returns:
The current DFT functional
- Return type:
str or None
- validate()¶
Make sure that the tab settings will allow a job to be run successfully. Note that this validation should not be redundant with that performed in
getMmJagKeywords
. Any tab setting that prevents valid mmjag keywords from being generated should causegetMmJagKeywords
to raise a JaguarSettingError. Any tab setting that allows mmjag keywords to be successfully generated but will result in a job failure should cause avalidate
fail. This function should be defined in subclasses if validation is needed.- Returns:
If the validation passes, None is returned. If the validation fails, a string that describes the error is returned.
- Return type:
str or NoneType
- getCommonBasis()¶
If all structures use the same basis set, return the basis set name. Otherwise, return None.
- Returns:
The basis set name or None
- Return type:
str or NoneType
- getCommonMethod()¶
If all structures use the same method, return the method name. Otherwise, return None.
- Returns:
The method name or None
- Return type:
str or NoneType
- getCommonTheoryLevel()¶
- Returns:
If all current methods are of the same theory level, return the theory level. Otherwise return None.
- Return type:
str or None
- chargedStrucsPresent()¶
Determine if the user has specified any molecular charges
- Returns:
True if the user has specified a molecular charge for any molecule. False otherwise.
- Return type:
bool
- getBasisForEid(eid, per_atom_name)¶
Get the basis set for the specified entry id. If there are per-atom basis sets specified for the structure, the
per_atom_name
will be returned.- Parameters:
eid (str) – The entry id
per_atom_name (str) – The name to return if per-atom basis sets are specified
- Returns:
The basis set name, or
per_atom_name
if per-atom basis sets are specified- Return type:
Basis
or str
- getTheoryLevelForEid(eid)¶
Get the theory level for the specified entry ID.
- Parameters:
eid (int) – Entry ID to get theory level of.
- Returns:
Theory level for this entry ID.
- Return type:
str
- getMethodForEid(eid)¶
Get the method for the specified entry ID.
- Parameters:
eid (int) – Entry ID to get method of.
- Returns:
Method for this entry ID.
- Return type:
str
- class schrodinger.application.jaguar.gui.tabs.input_tab.InputTabPka(parent, input_selector=None)¶
Bases:
InputTabBase
An input tab that allows the user to specify pKa atoms.
- Variables:
set_pka_marker (
PyQt5.QtCore.pyqtSignal
) –A signal emitted when a new pKa atom should be marked in the workspace. Emitted with two arguments:
The entry id of the structure to be marked (str)
The atom to be marked (
schrodinger.structure._StructureAtom
)
remove_all_pka_markers (PyQt5.QtCore.pyqtSignal) – A signal emitted when the panel is reset and should thus remove all markers from the workspace.
- HELP_TOPIC = 'JAGUAR_INPUT_TAB'¶
- UI_MODULES = (<module 'schrodinger.application.jaguar.gui.ui.input_pka_top_ui' from '/scr/buildbot/builds/core-suite-build/core-suite-build/build/internal/lib/python3.11/site-packages/schrodinger/application/jaguar/gui/ui/input_pka_top_ui.py'>, <module 'schrodinger.application.jaguar.gui.ui.input_pka_bottom_ui' from '/scr/buildbot/builds/core-suite-build/core-suite-build/build/internal/lib/python3.11/site-packages/schrodinger/application/jaguar/gui/ui/input_pka_bottom_ui.py'>)¶
- MODEL_CLASS¶
alias of
InputEntriesModelPka
- VIEW_CLASS¶
alias of
InputEntriesViewPka
- set_pka_marker¶
A
pyqtSignal
emitted by instances of the class.
- remove_all_pka_markers¶
A
pyqtSignal
emitted by instances of the class.
- SMARTS = 'SMARTS'¶
- SMARTS_TOOLTIP = ''¶
- AUTO = 'Automatic search'¶
- AUTO_TOOLTIP = 'Application will attempt to locate all pKa atoms in all structures.\nStructures must be in the appropriate protonation form.\nNote that this search is not perfect and may miss some atoms or include others erroneously.'¶
- SELECTION_MICRO_TEXT = 'pKa predictions will run on all structures listed below. The pKa atom must be defined for each structure. Optionally choose an alternate method for identifying these atoms below.'¶
- SELECTION_MACRO_TEXT = 'Macro-pKa predictions will run on all structures listed below. The pKa atom will be automatically defined for each structure.'¶
- PKA = 'pKa'¶
- CHARGE = 'Relative Charge'¶
- setup()¶
Perform tab specific initialization. This function should be defined in subclasses if initialization is needed.
- isMacroPka()¶
Whether the current panel mode is Macro-pKa
- Return type:
bool
- Returns:
True if the panel mode is Macro, False if it is Micro
- isRangePka()¶
Whether the Macro-pKa mode range is for pKa
- Return type:
bool
- Returns:
True if the Macro range is pKa, False if it is relative charge
- swapInSourceModel(source)¶
Change the source model for the table view to the given model
- Parameters:
source (QtCore.QAbstractTableModel) – The model to use
- setPkaMarkers(*args, **kwargs)¶
Turn on workspace atom markers if the sending model is the current table model - ignore signals from other models
- updateForRangeType(rtype)¶
React to a change in which Macro-pKa range type is used
- Parameters:
rtype (str) – The new range type
- updateRelativeChargeInfo()¶
Update the label that informs the user about relative charges
- updateForMethod(micro)¶
React to the panel changing between micro and macro mode
- Parameters:
micro (bool) – True if the panel is in micro mode, False if in macro mode
- onFindCheckToggled(state)¶
If checked, disable editing of pka atom and enable combobox for choosing of pick mode. Update model to reflect new pick mode. Show smarts selector if new picking mode is SMARTS.
- Parameters:
state (bool) – If checkbox is checked or not
- onPickModeComboChanged()¶
Update model to reflect new pick mode. Show smarts selector if new picking mode is SMARTS.
- onPickModeChanged()¶
Update the model to reflect the new pick mode. If its SMARTS show and hide the define label and connect signals.
- showDefineButton()¶
Show the define label
- hideDefineButton()¶
Hide the define label
- getPickingMode()¶
Determine the current picking mode the tab is in
- Returns:
picking mode
- Return type:
- runSmartsSearch()¶
Run SMARTS searches on the entries in the entry table if the pick mode is SMARTS
- getMmJagKeywords()¶
Return all keywords that should be put into the mmjag handle. This function should be defined in subclasses.
- Returns:
All keywords that should be put into the mmjag handle
- Return type:
dict
- Raises:
schrodinger.application.jaguar.gui.utils.JaguarSettingError – If any settings are invalid.
- isZwitterionChecked()¶
- isConformationalSearchesChecked()¶
- validate()¶
Make sure that the tab settings will allow a job to be run successfully. Note that this validation should not be redundant with that performed in
getMmJagKeywords
. Any tab setting that prevents valid mmjag keywords from being generated should causegetMmJagKeywords
to raise a JaguarSettingError. Any tab setting that allows mmjag keywords to be successfully generated but will result in a job failure should cause avalidate
fail. This function should be defined in subclasses if validation is needed.- Returns:
If the validation passes, None is returned. If the validation fails, a string that describes the error is returned.
- Return type:
str or NoneType
- validateMacroSettings()¶
Validate any Macro-pKa settings on the input tab
- Return type:
str or None
- Returns:
An error message, or None if there are no issues
- validateMicroSettings()¶
Validate any Macro-pKa settings on the input tab
- Return type:
str or None
- Returns:
An error message, or None if there are no issues
- loadSettings(jag_input)¶
Restore tab settings from mmjag keywords. This function should be defined in subclasses.
- Parameters:
jag_input (schrodinger.application.jaguar.input.JaguarInput) – The Jaguar settings to base the tab settings on
- loadWorkflowSettings(workflow_input, eid)¶
Load workflow settings from the input file
- Parameters:
workflow_input (schrodinger.application.jaguar.workflow_input) – The workflow input object created from the input file
eid (str or None) – The entry ID of structure that was loaded during this read. If None, the settings are not associated with an entry.
- setPickMethodToManual()¶
- setPickMethodToAuto()¶
- reset()¶
Reset any structure specific settings in the table. (The non-struture specific settings will be reset via loadSettings())
- getAllTableModels()¶
Get all table models regardless of whether they are the currently the model for the table view or not.
- Return type:
list
- Returns:
A list of models usable by the table view
- class schrodinger.application.jaguar.gui.tabs.input_tab.InputTabHB(parent, input_selector=None)¶
Bases:
InputTabBase
An input tab that is used with Hydrogen Bond task.
- HELP_TOPIC = 'JAGUAR_HYDROGEN_BOND'¶
- UI_MODULES = (<module 'schrodinger.application.jaguar.gui.ui.input_hb_top_ui' from '/scr/buildbot/builds/core-suite-build/core-suite-build/build/internal/lib/python3.11/site-packages/schrodinger/application/jaguar/gui/ui/input_hb_top_ui.py'>, <module 'schrodinger.application.jaguar.gui.ui.input_hb_bottom_ui' from '/scr/buildbot/builds/core-suite-build/core-suite-build/build/internal/lib/python3.11/site-packages/schrodinger/application/jaguar/gui/ui/input_hb_bottom_ui.py'>)¶
- MODEL_CLASS¶
alias of
InputEntriesModelHB
- VIEW_CLASS¶
alias of
InputEntriesView
- getMmJagKeywords()¶
There are no jaguar handle keywords that this tab sets, but we need this function to override the one in the base class.
- loadSettings(jag_input)¶
Restore tab settings from mmjag keywords. This function should be defined in subclasses.
- Parameters:
jag_input (schrodinger.application.jaguar.input.JaguarInput) – The Jaguar settings to base the tab settings on
- isFastMode()¶
This function return True if ‘Fast Mode’ check box is checked.
- Returns:
True if ‘Fast Mode’ check box is toggled.
- Return type:
bool
- getOptimizationCmd()¶
This function returns command argument corresponding to the checked optimization option. If ‘Optimize all structure’ option is selected this function returns None.
- Returns:
optimization command argument
- Return type:
string or None
- reset()¶
This function resets optimization and ‘fast mode’ settings to default state. This function needs to be called every time when input file is loaded.
- class schrodinger.application.jaguar.gui.tabs.input_tab.InputTabWithSubTabs(parent, input_selector=None)¶
Bases:
InputTab
An Input tab with sub-tabs on the bottom. Sub-tabs can be set using
addSubTabs
, which is normally accessed by setting the INPUT_SUB_TABS panel class variable.- Variables:
DEFAULT_SUB_TAB_VISIBILITY (bool) – Whether the sub-tabs should be visible by default. Sub-tab visibility can be toggled at any time using
setSubTabsVisible
, which is connected to the “Atom-Level Settings” button.subTabChanged (
PyQt5.QtCore.pyqtSignal
) – A signal emitted when the active sub-tab has been changed, or when the sub-tab visibility has been toggled.addJaguarMarker (
PyQt5.QtCore.pyqtSignal
) –A signal emitted when a workspace marker should be added. Emitted with:
The list of atoms to add the marker for (list)
The marker settings (dict)
The name of the sub-tab that the marker is for (str)
removeJaguarMarker (
PyQt5.QtCore.pyqtSignal
) –A signal emitted when a workspace marker should be removed. Emitted with:
The list of atoms to remove the marker for (list)
The name of the sub-tab that the marker is for (str)
setMarkerHighlighting (
PyQt5.QtCore.pyqtSignal
) –A signal emitted when the highlighting of a workspace marker should be changed. Emitted with:
The list of atoms to change the highlighting for (list)
Whether the marker should be highlighted (True) or unhighlighted (False) (bool)
The name of the sub-tab that the marker is for (str)
- UI_MODULES = (<module 'schrodinger.application.jaguar.gui.ui.input_top_ui' from '/scr/buildbot/builds/core-suite-build/core-suite-build/build/internal/lib/python3.11/site-packages/schrodinger/application/jaguar/gui/ui/input_top_ui.py'>, <module 'schrodinger.application.jaguar.gui.ui.input_std_bottom_ui' from '/scr/buildbot/builds/core-suite-build/core-suite-build/build/internal/lib/python3.11/site-packages/schrodinger/application/jaguar/gui/ui/input_std_bottom_ui.py'>)¶
- DEFAULT_SUB_TAB_VISIBILITY = False¶
- SUB_TAB_NAME = '%s (%i)'¶
- subTabChanged¶
A
pyqtSignal
emitted by instances of the class.
- addJaguarMarker¶
A
pyqtSignal
emitted by instances of the class.
- removeJaguarMarker¶
A
pyqtSignal
emitted by instances of the class.
- setMarkerHighlighting¶
A
pyqtSignal
emitted by instances of the class.
- addSubTabs(sub_tab_classes)¶
Add a sub tab for each of the specified classes. Note that this function should be called only once per instance.
- Parameters:
sub_tab_classes (iterable) – An iterable of
schrodinger.application.jaguar. gui.tabs.input_sub_tabs.base_sub_tab.BaseSubTab
sub-classes to be instantiated.
- getChargeConstraintSubTab()¶
Get the subtab that holds the charge constraint settings
- Return type:
schrodinger.application.jaguar.gui.input_sub_tabs. ChargeConstraintsSubTab
- Returns:
The charge constraint subtab, or None if no such tab exists
- getBasisSetSubTab()¶
Get the subtab that holds the by-atom basis set settings
- Return type:
schrodinger.application.jaguar.gui.input_sub_tabs. BasisSetSubTab
- Returns:
The by-atom basis set subtab, or None if no such tab exists
- getSubTab(sub_tab_class)¶
Get the sub-tab of the specified class
- Parameters:
sub_tab_class (type) – The class of the sub-tab to retrieve
- setup()¶
Perform tab specific initialization. This function should be defined in subclasses if initialization is needed.
- projectUpdated()¶
Whenever the project is updated, update the structure titles and the structures shown in the sub tabs.
- reset()¶
Reset any structure specific settings in the table. (The non-struture specific settings will be reset via loadSettings())
- setSubTabsVisible(visible=None)¶
Set whether the sub-tabs are visible in response to the user clicking on the “Atom-Level Settings” button.
- Parameters:
visible (bool or NoneType) – Should the sub-tabs be made visible. If not specified, the visibility will be toggled.
- subTabsVisible()¶
Are the sub-tabs currently visible?
- Returns:
True if the sub-tabs are visible. False otherwise.
- Return type:
bool
- validate()¶
Make sure that the tab settings will allow a job to be run successfully. Note that this validation should not be redundant with that performed in
getMmJagKeywords
. Any tab setting that prevents valid mmjag keywords from being generated should causegetMmJagKeywords
to raise a JaguarSettingError. Any tab setting that allows mmjag keywords to be successfully generated but will result in a job failure should cause avalidate
fail. This function should be defined in subclasses if validation is needed.- Returns:
If the validation passes, None is returned. If the validation fails, a string that describes the error is returned.
- Return type:
str or NoneType
- saveSettings(jag_input, eid)¶
Save tab settings in jaguar handle. It is only used for settings which are not defined using keywords (typically per-atom settings). This function should be defined in subclasses for any tabs that contain per- atom settings.
- Parameters:
jag_input (schrodinger.application.jaguar.input.JaguarInput) – The Jaguar handle to store the tab settings in
eid (str) – The entry id of the structure in
jag_input
- loadPerAtomSettings(jag_input, eid, title)¶
Restore per-atom tab settings from mmjag keywords. This function should be defined in subclasses for any tabs that contain per-atom settings.
- Parameters:
jag_input (schrodinger.application.jaguar.input.JaguarInput) – The Jaguar settings to base the tab settings on
eid (str) – The entry id of the structure in
jag_input
title (str) – The title of the structure in
jag_input
- activeSubTab()¶
Get the active sub tab
- Returns:
The active sub-tab or None if the sub-tabs are not visible
- Return type:
schrodinger.application.jaguar.gui.input_sub_tabs. base_sub_tab.BaseSubTab
or NoneType
- activeSubTabName()¶
Get the name of the active sub-tab
- Returns:
The name of the active sub-tab or None if the sub-tabs are not visible
- Return type:
str or NoneType
- activate()¶
Activate the appropriate sub-tab (if any) when this tab is activated
- deactivate()¶
Deactivate the active sub-tab (if any)
- displayedEntryIds()¶
Return the entry IDs for all structures that are currently displayed in the input table
- Returns:
A set of entry ids
- Return type:
set
- perAtomBasisSetsPresent()¶
Have any per-atom basis sets been set?
- Returns:
True if there are per-atom basis sets for any currently selected structures. False otherwise.
- Return type:
bool
- getCommonBasis()¶
If all structures use the same basis set and there are no per-atom basis sets, return the basis set name. Otherwise, return None.
- Returns:
The basis set name or None
- Return type:
str or NoneType
- theoryChanged(theory_level)¶
If there is a Charge Constraints sub-tab, disable or enable it when the level of theory changes.
- Parameters:
theory_level (str) – The current level of theory. Should be one of “DFT”, “HF”, “LMP2”, “RIMP2” or “Mixed”.
- useFromComboChanged()¶
Update the sub-tabs when the user changes the structure source (from included to selected or vice versa).
- class schrodinger.application.jaguar.gui.tabs.input_tab.InputTabCoordinateScan(parent, input_selector=None)¶
Bases:
InputTab
Input tab used in Rigid and Relaxed Coordinate scan GUIs. It modifies ‘Input structures from’ combo box to include only the ‘Workspace (included)’ item.
- setup()¶
Perform tab specific initialization. This function should be defined in subclasses if initialization is needed.