schrodinger.application.desmond.feputils module¶
- class schrodinger.application.desmond.feputils.ProteinReliabilityTask(*args, _param_type=<object object>, **kwargs)¶
Bases:
schrodinger.tasks.tasks.SubprocessCmdTask
- DEFAULT_TASKDIR_SETTING = 2¶
- REPORT_FILE_NAME = 'prot_probs.txt'¶
- OUTPUT_FILE_NAME = 'prot_rel.mae'¶
- class Input(*args, _param_type=<object object>, **kwargs)¶
Bases:
schrodinger.models.parameters.CompoundParam
- protein_file: schrodinger.tasks.tasks.TaskFile¶
Base class for all Param classes. A Param is a descriptor for storing data, which means that a single Param instance will manage the data values for multiple instances of the class that owns it. Example:
class Coord(CompoundParam): x: int y: int
An instance of the Coord class can be created normally, and Params can be accessed as normal attributes:
coord = Coord() coord.x = 4
When a Param value is set, the
valueChanged
signal is emitted. Params can be serialized and deserialized to and from JSON. Params can also be nested:class Atom(CompoundParam): coord: Coord element: str
- protein_fileChanged¶
pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- protein_fileReplaced¶
pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- class Output(*args, _param_type=<object object>, **kwargs)¶
Bases:
schrodinger.models.parameters.CompoundParam
- receptor_issue_msg: str¶
Base class for all Param classes. A Param is a descriptor for storing data, which means that a single Param instance will manage the data values for multiple instances of the class that owns it. Example:
class Coord(CompoundParam): x: int y: int
An instance of the Coord class can be created normally, and Params can be accessed as normal attributes:
coord = Coord() coord.x = 4
When a Param value is set, the
valueChanged
signal is emitted. Params can be serialized and deserialized to and from JSON. Params can also be nested:class Atom(CompoundParam): coord: Coord element: str
- model: schrodinger.protein._reliability.ModelCheck¶
Base class for all Param classes. A Param is a descriptor for storing data, which means that a single Param instance will manage the data values for multiple instances of the class that owns it. Example:
class Coord(CompoundParam): x: int y: int
An instance of the Coord class can be created normally, and Params can be accessed as normal attributes:
coord = Coord() coord.x = 4
When a Param value is set, the
valueChanged
signal is emitted. Params can be serialized and deserialized to and from JSON. Params can also be nested:class Atom(CompoundParam): coord: Coord element: str
- modelChanged¶
pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- modelReplaced¶
pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- receptor_issue_msgChanged¶
pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- receptor_issue_msgReplaced¶
pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- getPotentialReceptorIssues() str ¶
- makeCmd()¶
- calling_contextChanged¶
pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- calling_contextReplaced¶
pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- failure_infoChanged¶
pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- failure_infoReplaced¶
pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- input: parameters.CompoundParam¶
- inputChanged¶
pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- inputReplaced¶
pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- max_progressChanged¶
pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- max_progressReplaced¶
pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- nameChanged¶
pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- nameReplaced¶
pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- output: parameters.CompoundParam¶
- outputChanged¶
pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- outputReplaced¶
pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- progressChanged¶
pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- progressReplaced¶
pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- progress_stringChanged¶
pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- progress_stringReplaced¶
pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- statusChanged¶
pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- statusReplaced¶
pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- schrodinger.application.desmond.feputils.run_protein_reliability(protein_file)¶
Takes a protein ct and returns a message indicating problems, if any.
Warning
This function runs very slowly (i.e., easily around 20 seconds).
Note
This function must not directly be run from a GUI thread since it uses task.wait to wait for completion of a task.
- Parameters
protein_file (
str
) – Path to the protein file to assess- Returns
A tuple that contains a message indicating any problems with the protein and model that can be used to bring up protein reliability panel.
- Return type
tuple
- schrodinger.application.desmond.feputils.is_prepped(protein)¶
Check if a protein has been prepared in Protein PrepWizard
- Parameters
protein (protein:
schrodinger.structure.Structure
) – protein to check
- class schrodinger.application.desmond.feputils.LabelSpinner(text=None, parent=None)¶
Bases:
PyQt6.QtWidgets.QLabel
A label that can replace its icon with a spinning progress icon.
- DEFAULT_ICON_HEIGHT = 10¶
- ANIMATION_TIME = 250¶
- animationTimeElapsed¶
pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- __init__(text=None, parent=None)¶
- updateAnimationSize()¶
Set the size of the spinner animation to the height of the current permanent icon, or else some default value if it is not available.
- updatePermanentPic()¶
Set the permenent icon picture to the current pixmap value and update the size of the spinner animation to match.
- setPixmap(pixmap)¶
Set a new pixmap, and update the spinner animation frames in response.
The
setTemporaryPixmap()
method should be called internally when setting a temporary pixmap for the spinner animation frames and other temporary icon images.- Parameters
pixmap (QtGui.QPixmap) – the icon to be displayed by this label
- setTemporaryPixmap(pixmap)¶
Set the displayed pixmap without overwriting the “permanent” cached pixmap value or altering the size of the animation frames. Meant to be used to display animation frames or other temporary icon images.
- Parameters
pixmap (QtGui.QPixmap) – the icon to be displayed by this label
- updateAnimation()¶
Advance the animation by one frame. This method gets called periodically while the spinner is running.
- start()¶
Start the spinner animation.
- stop()¶
Stop the spinner animation and restore the original icon.
- class schrodinger.application.desmond.feputils.BaseSpinnerWidget(*args, **kwargs)¶
Bases:
schrodinger.ui.qt.widgetmixins.basicmixins.InitMixin
,PyQt6.QtWidgets.QWidget
A widget that maintains a label and a button for displaying health check status information.
- Variables
tooltip_calculating (str) – the tooltip text for when the health is being calculated
- tooltip_calculating = ''¶
- initSetOptions()¶
Suggested subclass use: set instance variables, excluding layouts and subwidgets. Also use here to (optionally) apply the legacy stylesheet spacing settings (PANEL-19101).
- initSetUp()¶
Creates widget from
ui
and stores itui_widget
.Suggested subclass use: create and initialize subwidgets, and connect signals.
- initLayOut()¶
Create a vertical layout for the widget (
widget_layout
) and populate it with two vertical sub-layouts:main_layout
andbottom_layout
.If the user has specified the
ui
data member, insert the resultantui_widget
intomain_layout
.If the widget already has a layout defined, this method will produce a warning (but not a traceback).
main_layout
andbottom_layout
will be inserted into the existing widget layout, which will not be the same aswidget_layout
. It is therefore recommended that this mixin is used only with widgets that do not already have a layout.Suggested subclass use: create, initialize, and populate layouts.
- initFinalize()¶
Suggested subclass use: perform any remaining initialization.
- showSubwidgets(show_label, show_button)¶
Convenience method for showing or hiding the label and button.
- Raise
ValueError
- Parameters
show_label (bool) – whether to show the label
show_button (bool) – whether to show the button
- start()¶
Display a spinning animation in the label widget.
- stop()¶
Stop the animation and restore the original icon.
- setButtonIcon(icon)¶
- Parameters
icon (QtGui.QIcon) – the icon to display in the button
- setLabelPixmap(pixmap)¶
- Parameters
pixmap (QtGui.QPixmap) – the pixmap to display in the label
- clearLabelPixmap()¶
Replace the label pixmap with a transparent pixmap.
- setLabelToolTip(text)¶
- setButtonToolTip(text)¶
- class schrodinger.application.desmond.feputils.ProteinCheckSpinnerWidget(parent=None, use_cache=False)¶
Bases:
schrodinger.application.desmond.feputils.BaseSpinnerWidget
A protein checker widget that includes a button to display the health status and a label to display a spinner. Shows a spinning animation in the label while the check is running.
- Variables
receptorHealthChanged (QtCore.pyqtSignal(str)) – signal emitted containing the tooltip for the visible widget (label or button)
- results_cache = {}¶
- tooltip_calculating = 'Calculating protein health'¶
- receptorHealthChanged¶
pyqtSignal(*types, name: str = …, revision: int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- __init__(parent=None, use_cache=False)¶
- Parameters
use_cache (bool) – whether or not to cache results based upon the string representation, which introduces latency in the string generation, but saves completed results and checks if the protein changes before starting a new check thread when calling
setProtein
. Defaults toFalse
.
- initSetOptions()¶
Suggested subclass use: set instance variables, excluding layouts and subwidgets. Also use here to (optionally) apply the legacy stylesheet spacing settings (PANEL-19101).
- initSetUp()¶
Creates widget from
ui
and stores itui_widget
.Suggested subclass use: create and initialize subwidgets, and connect signals.
- initSetDefaults()¶
Set widget to its default state. If the widget uses a model/mapper, it’s preferable to reset the widget state by resetting the model.
- start()¶
Start the protein health check and spinner animation.
- startValidate()¶
- Returns
whether a health check needs to be run
- Return type
bool
- stop()¶
Stop the spinner animation and health check process task.
- onFinishedTask()¶
Stop the spinner animation and display the health check results.
- updateToolTips()¶
Update widget tooltips depending on the status of the health check.
- finish()¶
Display the health check results. If there are any problems, the warning label is set to visible and the tooltip will report the issue. If there are no problems, the label is hidden.
- setProtein(protein)¶
Set the protein for the spinner, stopping and restarting the spinner with the new protein if it has changed or if
_use_cache
isFalse
. :param protein: the new protein :type protein: structure.Structure
- showProteinHealthReport()¶
Bring up protein reliability panel to show results of protein check.
- schrodinger.application.desmond.feputils.truncate_label(label, label_string, max_chars=40)¶
Sets the text on a label to label_string, truncating the text if necessary and setting the full text in a tooltip, if the text has been truncated. The original tooltip text will be returned.
- Parameters
label (QtWidgets.QLabel) – the label to modify
label_string (str) – the text for the label
max_chars (int) – maximum number of characters in the label text
- Returns
the original tooltip text
- Return type
str
- schrodinger.application.desmond.feputils.get_protein_label_string(ct)¶
Returns a string for use in GUI to indicate the protein. Returns the title if available; otherwise returns a short description. If called with None, returns “–“.
- Parameters
ct (
schrodinger.structure.Structure
) – the protein
- schrodinger.application.desmond.feputils.format_structure_label(ct, label, max_chars=40)¶
Sets the protein name on a label, truncating the text if necessary and setting the untruncated text in a tooltip, if the text has been truncated.
- Parameters
ct (
schrodinger.structure.Structure
) – the proteinlabel (QtWidgets.QLabel) – The label to modify
max_chars (int) – The max number of characters to allow on the label
- schrodinger.application.desmond.feputils.get_proteins(ct_list)¶
Iterates through a list of structures and returns only the proteins
- Parameters
ct_list (list) – a list of structures
- schrodinger.application.desmond.feputils.get_ligands(ct_list)¶
Iterates through a list of structures and returns only the ligands.
- Parameters
ct_list (list) – a list of structures
- schrodinger.application.desmond.feputils.import_pt_entries()¶
Imports selected entries from the project table. For convenience, workspace-included proteins are also imported.
- Returns
a list of imported structures. Each structure is tagged with a property ‘s_fepmapper_entryid’ to store the entry id.
- Return type
list
- schrodinger.application.desmond.feputils.import_pv_file(filename)¶
Imports a list of structures from a structure file. Typically used on PV files, but can be used on any structure file. :param filename: the filename :type filename: str
- schrodinger.application.desmond.feputils.get_opls_dir_cmd(opls_dir)¶
Construct and return the cmd for the given OPLS directory.
- Parameters
opls_dir (str) – OPLS directory path
- Returns
a command list for the OPLS directory
- Return type
list[str]
- schrodinger.application.desmond.feputils.get_restart_opls_dir(jobname)¶
Create opls dir command for use in restarting/extending scripts
- Parameters
jobname (str) – Jobname
- Returns
a command list for the OPLS directory
- Return type
list[str]
- schrodinger.application.desmond.feputils.make_fep_cmd(cd_params, ao, jobname, struct_fname, opt=[], opls_dir=None, use_ffbuilder=False, opls_version=16)¶
Generates an FEP command list based on the specified parameters.
- Parameters
cd_params (dict) – config dialog parameters
ao (dict) – FEP Advanced Options (AO) parameters
jobname (str) – the jobname
main_msj_fname (str) – the filename for the main msj file
struct_fname (str) – the filename for the input structure
opls_dir (str or None) – OPLS directory path
use_ffbuilder (bool) – whether ffbuilder arguments should be used
opls_version (int) – the OPLS version to use for the FEP+ job
- Returns
a command list for launching the job
- Return type
list
- schrodinger.application.desmond.feputils.write_script(fname, cmd)¶
Write the list of commands to a script file and make the file executable.
- Parameters
fname (str) – the filename of the script file
cmd (list of str) – the list of commands
- schrodinger.application.desmond.feputils.generate_scripts(cd_params, jobname, cmd, opls_dir_setting, use_ffbuilder=False)¶
Write the start, restart and extend scripts.
- Parameters
cd_params (dict) – the configuration dialog parameters
jobname (str) – the job name
cmd (list of str) – the command list
opls_dir_setting (list of str) – the opls_dir_setting
use_ffbuilder (bool) – whether ffbuilder arguments should be used
- schrodinger.application.desmond.feputils.get_restraints_file_options() list[str, str] ¶
Returns the command line options for the receptor restraints file. Expects the restraints file to always have the same name.
- schrodinger.application.desmond.feputils.generate_ffbuilder_options(ffb_host, ffb_subjobs=0)¶
Generates command for using FFBuilder in the FEP executable