tools¶
- pyrosetta.distributed.cluster.tools.get_protocols(protocols: Optional[Union[Callable[[...], Union[Pose, PackedPose, Dict[str, Any], None, List[Optional[Union[Pose, PackedPose, Dict[str, Any]]]], Tuple[Optional[Union[Pose, PackedPose, Dict[str, Any]]], ...], Generator[Optional[Union[Pose, PackedPose, Dict[str, Any]]], None, None]]], List[Callable[[...], Union[Pose, PackedPose, Dict[str, Any], None, List[Optional[Union[Pose, PackedPose, Dict[str, Any]]]], Tuple[Optional[Union[Pose, PackedPose, Dict[str, Any]]], ...], Generator[Optional[Union[Pose, PackedPose, Dict[str, Any]]], None, None]]]], Tuple[Callable[[...], Union[Pose, PackedPose, Dict[str, Any], None, List[Optional[Union[Pose, PackedPose, Dict[str, Any]]]], Tuple[Optional[Union[Pose, PackedPose, Dict[str, Any]]], ...], Generator[Optional[Union[Pose, PackedPose, Dict[str, Any]]], None, None]]], ...]]] = None, input_file: Optional[Union[str, Pose, PackedPose]] = None, scorefile: Optional[str] = None, decoy_name: Optional[str] = None) List[Callable[[...], Union[Pose, PackedPose, Dict[str, Any], None, List[Optional[Union[Pose, PackedPose, Dict[str, Any]]]], Tuple[Optional[Union[Pose, PackedPose, Dict[str, Any]]], ...], Generator[Optional[Union[Pose, PackedPose, Dict[str, Any]]], None, None]]]]¶
Given an input file that was written by PyRosettaCluster, or a scorefile with full simulation records that was written by PyRosettaCluster and a decoy name, if an iterable of PyRosetta protocols is provided then validate the PyRosetta protocols against those in the full simulation record, otherwise if PyRosetta protocols are not provided then attempt to return the PyRosetta protocols from back two frames of the current scope where callable names may match the PyRosetta protocol names in the full simulation record. If the protocols keyword argument value is None, it is recommended to validate that the returned PyRosetta protocols are indeed those executed in the original PyRosettaCluster simulation.
Warning: This function uses the pickle module to deserialize pickled Pose objects and pickled pandas.DataFrame objects. Using the pickle module is not secure, so please only run with input files you trust. Learn more about the pickle module and its security here.
- Args:
- protocols: PyRosettaProtocol | list[PyRosettaProtocol] | tuple[PyRosettaProtocol, …] | None
An ordered iterable of callables (each of types.GeneratorType and/or types.FunctionType type) or a single callable of type types.GeneratorType or types.FunctionType, specifying the user-defined PyRosetta protocol(s) to execute for the reproduction simulation. If None, then the PyRosetta protocols are automatically detected (by a best effort only) from back two frames of the current scope.
Default: None
- input_file: str | Pose | PackedPose | None
A str object specifying the path to the “.pdb”, “.pdb.bz2”, “.pkl_pose”, “.pkl_pose.bz2”, “.b64_pose”, “.b64_pose.bz2”, “.init” or “.init.bz2” file from which to extract PyRosettaCluster instance attributes. If input_file is provided, then ignore the scorefile and decoy_name keyword arguments. Note that “.pkl_pose”, “.pkl_pose.bz2”, “.b64_pose”, “.b64_pose.bz2”, “.init” and “.init.bz2” files contain pickled Pose objects that are deserialized using the SecureSerializerBase class in PyRosetta upon calling the this function, but please still only input these file types if you know and trust their source. Learn more here.
Default: None
- scorefile: str | None
A str object specifying the path to a JSON Lines (JSONL)-formatted scorefile or pickled pandas.DataFrame scorefile from a PyRosettaCluster simulation from which to extract PyRosettaCluster instance attributes. If scorefile is provided, then decoy_name must also be provided. In order to use a scorefile, it must contain full simulation records from the original PyRosettaCluster simulation; i.e., the simulation_records_in_scorefile keyword argument value was set to True. Note that in order to securely load pickled pandas.DataFrame objects, please ensure that pyrosetta.secure_unpickle.add_secure_package(“pandas”) has been run. If using pandas version >=3.0.0, PyArrow-backed datatypes may be enabled by default; in this case, please ensure that pyrosetta.secure_unpickle.add_secure_package(“pyarrow”) has also first been run.
Default: None
- decoy_name: str | None
A str object specifying the decoy name for which to extract PyRosettaCluster instance attributes. If decoy_name is provided, then scorefile must also be provided.
Default: None
- Returns:
A list object of callable PyRosetta protocols as determined from the full simulation record. If the protocols keyword argument value is None, then attempt to return the callable PyRosetta protocols (by a best effort only) from back two frames of the current scope where callable names may match the PyRosetta protocol names in the full simulation record.
- pyrosetta.distributed.cluster.tools.get_instance_kwargs(input_file: Optional[Union[str, Pose, PackedPose]] = None, scorefile: Optional[str] = None, decoy_name: Optional[str] = None, skip_corrections: Optional[bool] = None, with_metadata_kwargs: Optional[bool] = None) Union[Dict[str, Any], Tuple[Dict[str, Any], Dict[str, Any]]]¶
Given an input file that was written by PyRosettaCluster, or a scorefile with full simulation records that was written by PyRosettaCluster and a decoy name, return the PyRosettaCluster instance attributes (and optionally the “metadata” keyword arguments) needed to reproduce the decoy using PyRosettaCluster.
Warning: This function uses the pickle module to deserialize pickled Pose objects and pickled pandas.DataFrame objects. Using the pickle module is not secure, so please only run with input files you trust. Learn more about the pickle module and its security here.
- Args:
- input_file: str | Pose | PackedPose | None
A str object specifying the path to the “.pdb”, “.pdb.bz2”, “.pkl_pose”, “.pkl_pose.bz2”, “.b64_pose”, “.b64_pose.bz2”, “.init” or “.init.bz2” file from which to extract PyRosettaCluster instance attributes. If input_file is provided, then ignore the scorefile and decoy_name keyword arguments. Note that “.pkl_pose”, “.pkl_pose.bz2”, “.b64_pose”, “.b64_pose.bz2”, “.init” and “.init.bz2” files contain pickled Pose objects that are deserialized using the SecureSerializerBase class in PyRosetta upon calling the this function, but please still only input these file types if you know and trust their source. Learn more here.
Default: None
- scorefile: str | None
A str object specifying the path to a JSON Lines (JSONL)-formatted scorefile or pickled pandas.DataFrame scorefile from a PyRosettaCluster simulation from which to extract PyRosettaCluster instance attributes. If scorefile is provided, then decoy_name must also be provided. In order to use a scorefile, it must contain full simulation records from the original PyRosettaCluster simulation; i.e., the simulation_records_in_scorefile keyword argument value was set to True. Note that in order to securely load pickled pandas.DataFrame objects, please ensure that pyrosetta.secure_unpickle.add_secure_package(“pandas”) has been run. If using pandas version >=3.0.0, PyArrow-backed datatypes may be enabled by default; in this case, please ensure that pyrosetta.secure_unpickle.add_secure_package(“pyarrow”) has also first been run.
Default: None
- decoy_name: str | None
A str object specifying the decoy name for which to extract PyRosettaCluster instance attributes. If decoy_name is provided, then scorefile must also be provided.
Default: None
- skip_corrections: bool | None
A bool object specifying whether or not to skip any ScoreFunction corrections specified in the PyRosettaCluster task’s PyRosetta initialization options (extracted from the full simulation record in the input_file or scorefile keyword argument value). If None, then False.
Default: None
- with_metadata_kwargs: bool | None
A bool object specifying whether or not to return a tuple object with the PyRosettaCluster instance attributes as the first element and the “metadata” keyword arguments as the second element. If None, then False.
Default: None
- Returns:
A dict object of PyRosettaCluster instance attributes, or a tuple object of dict objects with the PyRosettaCluster instance attributes as the first element and the “metadata” keyword arguments as the second element when the with_metadata_kwargs keyword argument value is set to True.
- pyrosetta.distributed.cluster.tools.reserve_scores(func: PyRosettaProtocolType) PyRosettaProtocolType¶
A decorator for any user-defined PyRosetta protocol. If any non-scoreterm keys are present in the input PackedPose object’s Pose.cache dictionary, and if they are deleted during execution of the decorated PyRosetta protocol, then restore those non-scoreterm keys and their values back into the Pose.cache dictionary after execution. If any keys are present in the input PackedPose object’s Pose.cache dictionary and also present in the returned or yielded output Pose or PackedPose object’s Pose.cache dictionary, then do not set the original values back into the Pose.cache dictionary after execution (that is, do not overwrite the new values in the Pose.cache dictionary). Any new keys acquired in the decorated PyRosetta protocol will never be overwritten. This allows users to maintain keys and values acquired in upstream PyRosetta protocols if needing to execute RosettaScripts Mover objects that happen to delete cached scores from Pose objects. Note that this decorator reserves keys and values from the input PackedPose.scores and Pose.cache dictionaries, and any keys and values restored to any output Pose.cache dictionaries are set as SimpleMetrics metrics.
Warning: This decorator uses the pickle module to deserialize pickled Pose objects and arbitrary Python types in Pose.cache dictionary. Using the pickle module is not secure, so please only run with input data you trust. Learn more about the pickle module and its security here.
Example:
>>> @reserve_scores ... def my_pyrosetta_protocol(packed_pose, /, **kwargs): ... from pyrosetta import MyMover ... pose = packed_pose.pose ... MyMover().apply(pose) # Deletes scores ... return pose
- Args:
- func: PyRosettaProtocol
A callable of type types.GeneratorType or types.FunctionType representing a user-defined PyRosetta protocol.
- Returns:
The output from the decorated user-defined PyRosetta protocol with reserved scores from the input PackedPose object’s Pose.cache dictionary updated into the output Pose or PackedPose object’s (or objects’) Pose.cache dictionary (or dictionaries).
- pyrosetta.distributed.cluster.tools.requires_packed_pose(func: PyRosettaProtocolType) PyRosettaProtocolType¶
A decorator for any user-defined PyRosetta protocol. If a PyRosetta protocol requires that the first positional-or-keyword parameter be a non-empty PackedPose object, then immediately return any bound empty PackedPose or None objects and skip the decorated PyRosetta protocol, otherwise run the decorated PyRosetta protocol. If using PyRosettaCluster(filter_results=False) and the preceding PyRosetta protocol produces either None, an empty Pose object, or an empty PackedPose object, then an empty PackedPose object is distributed to the next PyRosetta protocol, in which case the next protocol and/or any downstream PyRosetta protocols are skipped if they are decorated with this decorator. If using PyRosettaCluster(ignore_errors=True) and a standard Python exception is raised or a Rosetta segmentation fault is thrown in the preceding PyRosetta protocol, then None is distributed to the next PyRosetta protocol, in which case the next PyRosetta protocol and/or any downstream PyRosetta protocols are skipped if they are decorated with this decorator.
Example:
>>> @requires_packed_pose ... def my_pyrosetta_protocol(packed_pose, /, **kwargs): ... assert not packed_pose.empty() or packed_pose.pose.size() > 0 ... return packed_pose
- Args:
- func: PyRosettaProtocol
A callable of type types.GeneratorType or types.FunctionType representing a user-defined PyRosetta protocol.
- Returns:
The first positional-or-keyword parameter if it is an empty PackedPose object or None, otherwise the produced results from the decorated user-defined PyRosetta protocol.
- pyrosetta.distributed.cluster.tools.reproduce(input_file: Optional[str] = None, scorefile: Optional[str] = None, decoy_name: Optional[str] = None, protocols: Optional[Union[Callable[[...], Union[Pose, PackedPose, Dict[str, Any], None, List[Optional[Union[Pose, PackedPose, Dict[str, Any]]]], Tuple[Optional[Union[Pose, PackedPose, Dict[str, Any]]], ...], Generator[Optional[Union[Pose, PackedPose, Dict[str, Any]]], None, None]]], List[Callable[[...], Union[Pose, PackedPose, Dict[str, Any], None, List[Optional[Union[Pose, PackedPose, Dict[str, Any]]]], Tuple[Optional[Union[Pose, PackedPose, Dict[str, Any]]], ...], Generator[Optional[Union[Pose, PackedPose, Dict[str, Any]]], None, None]]]], Tuple[Callable[[...], Union[Pose, PackedPose, Dict[str, Any], None, List[Optional[Union[Pose, PackedPose, Dict[str, Any]]]], Tuple[Optional[Union[Pose, PackedPose, Dict[str, Any]]], ...], Generator[Optional[Union[Pose, PackedPose, Dict[str, Any]]], None, None]]], ...]]] = None, client: Optional[Client] = None, clients: Optional[Union[List[Client], Tuple[Client, ...]]] = None, input_packed_pose: Optional[Union[Pose, PackedPose]] = None, instance_kwargs: Optional[Dict[str, Any]] = None, clients_indices: Optional[Union[List[int], Tuple[int, ...]]] = None, resources: Optional[Union[List[Optional[Dict[str, Union[float, int]]]], Tuple[Optional[Dict[str, Union[float, int]]], ...]]] = None, retries: Optional[Union[int, List[int], Tuple[int, ...]]] = None, skip_corrections: bool = False, init_from_file_kwargs: Optional[Dict[str, Any]] = None) None¶
Given an input file (or a scorefile with full simulation records and a decoy name) that was written by PyRosettaCluster and any additional PyRosettaCluster class keyword arguments, execute the decoy reproduction simulation with a new instance of PyRosettaCluster.
Warning: This method uses the cloudpickle and pickle modules to serialize and deserialize Pose objects, arbitrary Python types in Pose.cache dictionaries, pandas.DataFrame objects (if configured), user-defined task dictionaries, user-defined PyRosetta protocols, and other user-provided data. Using the cloudpickle and pickle modules is not secure, so please only run this method with input data you fully understand and trust. Learn more about the cloudpickle and pickle modules and their security here and here.
- Args:
- input_file: str | None
A str object specifying the path to the “.pdb”, “.pdb.bz2”, “.pkl_pose”, “.pkl_pose.bz2”, “.b64_pose”, “.b64_pose.bz2”, “.init” or “.init.bz2” file from which to extract PyRosettaCluster instance attributes. If input_file is provided, then ignore the scorefile and decoy_name keyword arguments. If a “.init” or “.init.bz2” file is provided and PyRosetta is not yet initialized, then first initialize PyRosetta with the PyRosetta initialization file (see the init_from_file_kwargs keyword argument). Note that “.pkl_pose”, “.pkl_pose.bz2”, “.b64_pose”, “.b64_pose.bz2”, “.init” and “.init.bz2” files contain pickled Pose objects that are deserialized using the SecureSerializerBase class in PyRosetta upon calling the reproduce function, but please still only input these file types if you know and trust their source. Learn more here.
Default: None
- scorefile: str | None
A str object specifying the path to a JSON Lines (JSONL)-formatted scorefile or pickled pandas.DataFrame scorefile from a PyRosettaCluster simulation from which to extract PyRosettaCluster instance attributes. If scorefile is provided, then decoy_name must also be provided. In order to use a scorefile, it must contain full simulation records from the original PyRosettaCluster simulation; i.e., the simulation_records_in_scorefile keyword argument value was set to True. Note that in order to securely load pickled pandas.DataFrame objects, please ensure that pyrosetta.secure_unpickle.add_secure_package(“pandas”) has been run. If using pandas version >=3.0.0, PyArrow-backed datatypes may be enabled by default; in this case, please ensure that pyrosetta.secure_unpickle.add_secure_package(“pyarrow”) has also first been run.
Default: None
- decoy_name: str | None
A str object specifying the decoy name for which to extract PyRosettaCluster instance attributes. If decoy_name is provided, then scorefile must also be provided.
Default: None
- protocols: PyRosettaProtocol | list[PyRosettaProtocol] | tuple[PyRosettaProtocol, …] | None
An ordered iterable of callables (each of types.GeneratorType and/or types.FunctionType type) or a single callable of type types.GeneratorType or types.FunctionType, specifying the user-defined PyRosetta protocol(s) to execute for the reproduction simulation. If None, the PyRosetta protocols are automatically detected (by a best effort only) in the scope from which the reproduce function is called.
Default: None
- client: distributed.Client | None
An initialized Dask distributed.Client object to be used as the Dask client interface to the local or remote Dask cluster. If None, then PyRosettaCluster initializes its own Dask client based on the scheduler keyword argument value (see instance_kwargs keyword argument). Deprecated by the clients keyword argument, but supported for legacy purposes. Either or both of the client or clients keyword argument values must be None.
Default: None
- clients: list[distributed.Client] | tuple[distributed.Client, …] | None
A list or tuple object of initialized Dask distributed.Client objects to be used as the Dask client interface(s) to the local or remote Dask cluster(s). If None, then PyRosettaCluster initializes its own Dask client based on the scheduler keyword argument value (see instance_kwargs keyword argument). Optionally used in combination with the clients_indices keyword argument. Either or both of the client or clients keyword argument values must be None.
Default: None
- input_packed_pose: Pose | PackedPose | None
An input PackedPose object that is accessible via the first positional-or-keyword parameter of the first user-defined PyRosetta protocol.
Default: None
- instance_kwargs: dict[str, Any] | None
A dict object of valid PyRosettaCluster keyword arguments which will override any PyRosettaCluster instance attributes that were used to generate the original decoy and that were stored in the full simulation record.
Default: None
- clients_indices: list[int] | tuple[int, …] | None
A list or tuple object of int objects, where each int object represents a zero-based index corresponding to the initialized Dask distributed.Client object(s) passed to the clients keyword argument value. If not None, then the length of the clients_indices object must equal the number of PyRosetta protocols (see protocols keyword argument).
Default: None
- resources: list[dict[str, float | int] | None] | tuple[dict[str, float | int] | None, …] | None
A list or tuple object of dict objects, where each dict object represents an abstract, arbitrary resource to constrain which Dask workers execute the user-defined PyRosetta protocols. If None, then do not impose resource constaints on any PyRosetta protocols. If not None, then the length of the resources object must equal the number of PyRosetta protocols passed to the protocols keyword argument, such that each resource specified indicates the unique resource constraints for the protocol at the corresponding index of the PyRosetta protocols passed to the protocols keyword argument. Note that this feature is only useful when one passes in their own instantiated Dask client(s) with Dask workers set up with various resource constraints. If Dask workers were not instantiated to satisfy the specified resource constraints, PyRosetta protocols will hang indefinitely by design because the Dask scheduler is waiting for Dask workers that meet the specified resource constraints so that it may schedule these tasks. Unless Dask workers were created with these resource tags applied, the PyRosetta protocols will not run.
See https://distributed.dask.org/en/stable/resources.html for more information.
Default: None
- retries: list[int] | tuple[int, …] | int | None
A list or tuple of int objects, where each int object (≥0) sets the number of allowed automatic retries of each failed task that was applied to the corresponding user-defined PyRosetta protocol (i.e., indexed the same as client_indices keyword argument value). If an int object (≥0) is provided, then apply that number of allowed automatic retries to all PyRosetta protocols. If None is provided, then no explicit retries are allowed. If not None and not an int object, then the length of this value must equal the number of PyRosetta protocols passed to the PyRosettaCluster.distribute method, and each int value determines the number of automatic retries the Dask scheduler allows for that the tasks applied to that PyRosetta protocol. Allowing retries of failed tasks may be useful if the PyRosetta protocol raises a standard Python exception or Rosetta throws a segmentation fault in the billiard subprocess while the Dask worker remains alive and the value of the ignore_errors key in the instance_kwargs keyword argument value is set to False. If ignore_errors is set to True, then protocols failing due to standard Python exceptions or Rosetta segmentation faults will still be considered successes, and this keyword argument has no effect since these PyRosetta protocol errors are ignored. Note that if a compute resource executing a PyRosetta protocol is preempted, then the Dask worker process does not remain alive and the Dask scheduler registers that failed task as incomplete or cancelled. In this case, the number of allowed task retries is controlled by the Dask configuration parameter distributed.scheduler.allowed-failures; please use the max_task_replices and task_registry keys of the dictionary passed to the instance_kwargs keyword argument value for further configuration of task retries after compute resource preemption.
See https://distributed.dask.org/en/latest/scheduling-state.html#task-state for more information.
Default: None
- skip_corrections: bool
A bool object specifying whether or not to skip any ScoreFunction corrections specified in the values of the “options” or “extra_options” keys from task dictionary of the original simulation. (extracted from the full simulation record from either the input_file or scorefile keyword argument value), which are set in-code upon PyRosetta initialization. If the current PyRosetta build and Conda/Mamba/uv/Pixi environment are identical to those used for the original simulation, this keyword argument value may be set to True to enable the reproduced output decoy file to be used for successive reproductions; however, some ScoreFunction corrections may be critical for decoy reproducibility. Therefore, it may be prudent to set this keyword argument value to False unless there is absolute certainty that ScoreFunction corrections may be skipped without influencing decoy reproducibility. If reproducing from a PyRosetta initialization file, it is recommended to also set the value of the skip_corrections key from the init_from_file_kwargs keyword argument value to the same boolean value.
See https://docs.rosettacommons.org/docs/latest/full-options-list#corrections and https://docs.rosettacommons.org/docs/latest/full-options-list#1-corrections for more information.
Default: False
- init_from_file_kwargs: dict[str, Any] | None
A dict object to override the default pyrosetta.init_from_file keyword arguments if the input_file keyword argument value is a path to a PyRosetta initialization file, otherwise it is has no effect. See the pyrosetta.init_from_file docstring for more information.
- Default: A dict object with the following entries:
- output_dir:
Default: os.path.join(tempfile.TemporaryDirectory(prefix=”PyRosettaCluster_reproduce_”).name, “pyrosetta_init_input_files”)
- skip_corrections:
Default: The skip_corrections keyword argument value from the reproduce function.
- relative_paths:
Default: True
- dry_run:
Default: False
- max_decompressed_bytes:
Default: pow(2, 30) or 1 GiB.
- restore_rg_state:
Default: True
- database:
Default: None
- verbose:
Default: True
- set_logging_handler:
Default: “logging”
- notebook:
Default: None
- silent:
Default: False
- Returns:
None
- pyrosetta.distributed.cluster.tools.produce(**kwargs: Any) None¶
A PyRosettaCluster.distribute method shim requiring the protocols keyword argument, and optionally any PyRosettaCluster keyword arguments or PyRosettaCluster.distribute keyword arguments.
Warning: This method uses the cloudpickle and pickle modules to serialize and deserialize Pose objects, arbitrary Python types in Pose.cache dictionaries, pandas.DataFrame objects (if configured), user-defined task dictionaries, user-defined PyRosetta protocols, and other user-provided data. Using the cloudpickle and pickle modules is not secure, so please only run this method with input data you fully understand and trust. Learn more about the cloudpickle and pickle modules and their security here and here.
- Args:
- **kwargs: Any
See the PyRosettaCluster docstring. The keyword arguments must also include protocols, an iterable object of callable or generator function objects specifying an ordered sequence of user-defined PyRosetta protocols to execute for the simulation (see PyRosettaCluster.distribute docstring). The keyword arguments may also optionally include clients_indices, resources, priorities, and retries (see PyRosettaCluster.distribute docstring).
- Returns:
None
- pyrosetta.distributed.cluster.tools.run(**kwargs: Any) None¶
A PyRosettaCluster.distribute method shim requiring the protocols keyword argument, and optionally any PyRosettaCluster keyword arguments or PyRosettaCluster.distribute keyword arguments.
Warning: This method uses the cloudpickle and pickle modules to serialize and deserialize Pose objects, arbitrary Python types in Pose.cache dictionaries, pandas.DataFrame objects (if configured), user-defined task dictionaries, user-defined PyRosetta protocols, and other user-provided data. Using the cloudpickle and pickle modules is not secure, so please only run this method with input data you fully understand and trust. Learn more about the cloudpickle and pickle modules and their security here and here.
- Args:
- **kwargs: Any
See the PyRosettaCluster docstring. The keyword arguments must also include protocols, an iterable object of callable or generator function objects specifying an ordered sequence of user-defined PyRosetta protocols to execute for the simulation (see PyRosettaCluster.distribute docstring). The keyword arguments may also optionally include clients_indices, resources, priorities, and retries (see PyRosettaCluster.distribute docstring).
- Returns:
None
- pyrosetta.distributed.cluster.tools.iterate(**kwargs: Any) Generator[Tuple[Optional[PackedPose], Dict[str, Any]], None, None]¶
A PyRosettaCluster.generate method shim requiring the protocols keyword argument, and optionally any PyRosettaCluster keyword arguments or PyRosettaCluster.generate keyword arguments.
Warning: This method uses the cloudpickle and pickle modules to serialize and deserialize Pose objects, arbitrary Python types in Pose.cache dictionaries, pandas.DataFrame objects (if configured), user-defined task dictionaries, user-defined PyRosetta protocols, and other user-provided data. Using the cloudpickle and pickle modules is not secure, so please only run this method with input data you fully understand and trust. Learn more about the cloudpickle and pickle modules and their security here and here.
- Args:
- **kwargs: Any
See the PyRosettaCluster docstring. The keyword arguments must also include protocols, an iterable object of callable or generator function objects specifying an ordered sequence of user-defined PyRosetta protocols to execute for the simulation (see PyRosettaCluster.generate docstring). The keyword arguments may also optionally include clients_indices, resources, priorities, and retries (see PyRosettaCluster.generate docstring).
- Yields:
(`PackedPose`, `dict`)tuples from the most recently executed user-defined PyRosetta protocol if PyRosettaCluster(save_all=True) is used, otherwise from the final PyRosetta protocol.