openforcefield.utils.toolkits.ToolkitRegistry¶
-
class
openforcefield.utils.toolkits.
ToolkitRegistry
(register_imported_toolkit_wrappers=False, toolkit_precedence=None, exception_if_unavailable=True)[source]¶ Registry for ToolkitWrapper objects
Examples
Register toolkits in a specified order, skipping if unavailable
>>> from openforcefield.utils.toolkits import ToolkitRegistry >>> toolkit_registry = ToolkitRegistry() >>> toolkit_precedence = [OpenEyeToolkitWrapper, RDKitToolkitWrapper, AmberToolsToolkitWrapper] >>> for toolkit in toolkit_precedence: ... if toolkit.is_available(): ... toolkit_registry.register_toolkit(toolkit)
Register specified toolkits, raising an exception if one is unavailable
>>> toolkit_registry = ToolkitRegistry() >>> toolkits = [OpenEyeToolkitWrapper, AmberToolsToolkitWrapper] >>> for toolkit in toolkits: ... toolkit_registry.register_toolkit(toolkit)
Register all available toolkits in arbitrary order
>>> from openforcefield.utils import all_subclasses >>> toolkits = all_subclasses(ToolkitWrapper) >>> for toolkit in toolkit_precedence: ... if toolkit.is_available(): ... toolkit_registry.register_toolkit(toolkit)
Retrieve the global singleton toolkit registry, which is created when this module is imported from all available toolkits:
>>> from openforcefield.utils.toolkits import GLOBAL_TOOLKIT_REGISTRY as toolkit_registry >>> available_toolkits = toolkit_registry.registered_toolkits
Warning
This API is experimental and subject to change.
- Attributes
registered_toolkits
List registered toolkits.
Methods
add_toolkit
(toolkit_wrapper)Append a ToolkitWrapper onto the list of toolkits in this ToolkitRegistry
call
(method_name, *args[, raise_exception_types])Execute the requested method by attempting to use all registered toolkits in order of precedence.
register_toolkit
(toolkit_wrapper[, …])Register the provided toolkit wrapper class, instantiating an object of it.
resolve
(method_name)Resolve the requested method name by checking all registered toolkits in order of precedence for one that provides the requested method.
-
__init__
(register_imported_toolkit_wrappers=False, toolkit_precedence=None, exception_if_unavailable=True)[source]¶ Create an empty toolkit registry.
- Parameters
- register_imported_toolkit_wrappersbool, optional, default=False
- If True, will attempt to register all imported ToolkitWrapper subclasses that can be found, in no particular
order.
- toolkit_precedencelist, optional, default=None
List of toolkit wrapper classes, in order of desired precedence when performing molecule operations. If None, defaults to [OpenEyeToolkitWrapper, RDKitToolkitWrapper, AmberToolsToolkitWrapper].
- exception_if_unavailablebool, optional, default=True
If True, an exception will be raised if the toolkit is unavailable
Methods
__init__
([…])Create an empty toolkit registry.
add_toolkit
(toolkit_wrapper)Append a ToolkitWrapper onto the list of toolkits in this ToolkitRegistry
call
(method_name, *args[, raise_exception_types])Execute the requested method by attempting to use all registered toolkits in order of precedence.
register_toolkit
(toolkit_wrapper[, …])Register the provided toolkit wrapper class, instantiating an object of it.
resolve
(method_name)Resolve the requested method name by checking all registered toolkits in order of precedence for one that provides the requested method.
Attributes
registered_toolkits
List registered toolkits.