Rosetta
Public Member Functions | Public Attributes | Static Public Attributes | Private Member Functions | Static Private Attributes | List of all members
pyrosetta.distributed.cluster.core.PyRosettaCluster Class Reference
Inheritance diagram for pyrosetta.distributed.cluster.core.PyRosettaCluster:
Inheritance graph
[legend]

Public Member Functions

def __attrs_post_init__ (self)
 
Union[NoReturn, Generator[Tuple[PackedPose, Dict[Any, Any]], None, None]] generate (self, *Any args, Any protocols=None, Any clients_indices=None, Any resources=None)
 
Optional[NoReturn] distribute (self, *Any args, Any protocols=None, Any clients_indices=None, Any resources=None)
 
- Public Member Functions inherited from pyrosetta.distributed.cluster.logging_support.LoggingSupport
None __init__ (self)
 

Public Attributes

 serializer
 
 clients_dict
 
- Public Attributes inherited from pyrosetta.distributed.cluster.logging_support.LoggingSupport
 socket_listener
 
- Public Attributes inherited from pyrosetta.distributed.cluster.utilities.SchedulerManager
 scheduler
 

Static Public Attributes

 tasks
 
 nstruct
 
 tasks_size
 
 input_packed_pose
 
 seeds
 
 decoy_ids
 
 client
 
 clients
 
 scheduler
 
 cores
 
 processes
 
 memory
 
 scratch_dir
 
 adapt_threshold
 
 min_workers
 
 max_workers
 
 dashboard_address
 
 project_name
 
 simulation_name
 
 output_path
 
 scorefile_name
 
 scorefile_path
 
 simulation_records_in_scorefile
 
 decoy_dir_name
 
 decoy_path
 
 logs_dir_name
 
 logs_path
 
 logging_level
 
 logging_file
 
 logging_address
 
 compressed
 
 compression
 
 sha1
 
 ignore_errors
 
 timeout
 
 max_delay_time
 
 filter_results
 
 save_all
 
 dry_run
 
 yield_results
 
 cooldown_time
 
 protocols_key
 
 system_info
 
 pyrosetta_build
 
 environment
 
 environment_file
 
 pyrosetta_init_args
 
- Static Public Attributes inherited from pyrosetta.distributed.cluster.io.IO
 str
 

Private Member Functions

Future _create_future (self, Client client, str protocol_name, bytes compressed_protocol, bytes compressed_packed_pose, bytes compressed_kwargs, Dict[str, Any] pyrosetta_init_kwargs, Dict[str, Any] extra_args, bytes passkey, Optional[Dict[Any, Any]] resource)
 
Union[NoReturn, Generator[Tuple[PackedPose, Dict[Any, Any]], None, None]] _run (self, *Any args, Any protocols=None, Any clients_indices=None, Any resources=None)
 

Static Private Attributes

 __doc__
 

Member Function Documentation

◆ __attrs_post_init__()

def pyrosetta.distributed.cluster.core.PyRosettaCluster.__attrs_post_init__ (   self)

◆ _create_future()

Future pyrosetta.distributed.cluster.core.PyRosettaCluster._create_future (   self,
Client  client,
str  protocol_name,
bytes  compressed_protocol,
bytes  compressed_packed_pose,
bytes  compressed_kwargs,
Dict[str, Any]  pyrosetta_init_kwargs,
Dict[str, Any]  extra_args,
bytes  passkey,
Optional[Dict[Any, Any]]  resource 
)
private
Scatter data and return submitted 'user_spawn_thread' future.

References pyrosetta.distributed.cluster.hkdf.derive_task_key().

Referenced by pyrosetta.distributed.cluster.core.PyRosettaCluster._run().

◆ _run()

Union[NoReturn, Generator[Tuple[PackedPose, Dict[Any, Any]], None, None]] pyrosetta.distributed.cluster.core.PyRosettaCluster._run (   self,
*Any  args,
Any   protocols = None,
Any   clients_indices = None,
Any   resources = None 
)
private
Run user-provided PyRosetta protocols on a local or remote compute cluster using
the user-customized PyRosettaCluster instance. Either arguments or the 'protocols'
keyword argument is required. If both are provided, then the 'protocols' keyword
argument gets concatenated after the input arguments.

Examples:
    PyRosettaCluster().distribute(protocol_1)
    PyRosettaCluster().distribute(protocols=protocol_1)
    PyRosettaCluster().distribute(protocol_1, protocol_2, protocol_3)
    PyRosettaCluster().distribute(protocols=(protocol_1, protocol_2, protocol_3))
    PyRosettaCluster().distribute(protocol_1, protocol_2, protocols=[protocol_3, protocol_4])

    # Run `protocol_1` on `client_1`,
    # then `protocol_2` on `client_2`, 
    # then `protocol_3` on `client_1`,
    # then `protocol_4` on `client_2`:
    PyRosettaCluster(clients=[client_1, client_2]).distribute(
        protocols=[protocol_1, protocol_2, protocol_3, protocol_4],
        clients_indices=[0, 1, 0, 1],
    )

    # Run `protocol_1` on `client_2`,
    # then `protocol_2` on `client_3`,
    # then `protocol_3` on `client_1`:
    PyRosettaCluster(clients=[client_1, client_2, client_3]).distribute(
        protocols=[protocol_1, protocol_2, protocol_3],
        clients_indices=[1, 2, 0],
    )

    # Run `protocol_1` on `client_1` with dask worker resource constraints "GPU=2",
    # then `protocol_2` on `client_1` with dask worker resource constraints "MEMORY=100e9",
    # then `protocol_3` on `client_1` without dask worker resource constraints:
    PyRosettaCluster(client=client_1).distribute(
        protocols=[protocol_1, protocol_2, protocol_3],
        resources=[{"GPU": 2}, {"MEMORY": 100e9}, None],
    )

    # Run `protocol_1` on `client_1` with dask worker resource constraints "GPU=2",
    # then `protocol_2` on `client_2` with dask worker resource constraints "MEMORY=100e9":
    PyRosettaCluster(clients=[client_1, client_2]).distribute(
        protocols=[protocol_1, protocol_2],
        clients_indices=[0, 1],
        resources=[{"GPU": 2}, {"MEMORY": 100e9}],
    )
    
Args:
    *args: Optional instances of type `types.GeneratorType` or `types.FunctionType`,
        in the order of protocols to be executed.
    protocols: An optional iterable of extra callable PyRosetta protocols,
        i.e. an iterable of objects of `types.GeneratorType` and/or
        `types.FunctionType` types; or a single instance of type
        `types.GeneratorType` or `types.FunctionType`.
        Default: None
    clients_indices: An optional `list` or `tuple` object of `int` objects, where each `int` object represents
        a zero-based index corresponding to the initialized dask `distributed.client.Client` object(s) passed 
        to the `PyRosettaCluster(clients=...)` class attribute. If not `None`, then the length of the 
        `clients_indices` object must equal the number of protocols passed to the `PyRosettaCluster().distribute`
        method.
        Default: None
    resources: An optional `list` or `tuple` object of `dict` objects, where each `dict` object represents
        an abstract, arbitrary resource to constrain which dask workers run the user-defined PyRosetta protocols.
        If `None`, then do not impose resource constaints on any protocols. If not `None`, then the length
        of the `resources` object must equal the number of protocols passed to the `PyRosettaCluster().distribute`
        method, such that each resource specified indicates the unique resource constraints for the protocol at the
        corresponding index of the protocols passed to `PyRosettaCluster().distribute`. Note that this feature is only 
        useful when one passes in their own instantiated client(s) with dask workers set up with various resource
        constraints. If dask workers were not instantiated to satisfy the specified resource constraints, protocols
        will hang indefinitely because the dask scheduler is waiting for workers that meet the specified resource 
        constraints so that it can schedule these protocols. Unless workers were created with these resource tags
        applied, the protocols will not run. See https://distributed.dask.org/en/stable/resources.html for more
        information.
        Default: None

References pyrosetta.distributed.cluster.logging_support.LoggingSupport._close_logger(), pyrosetta.distributed.cluster.logging_support.LoggingSupport._close_socket_listener(), pyrosetta.distributed.cluster.core.PyRosettaCluster._create_future(), pyrosetta.distributed.cluster.utilities.SchedulerManager._maybe_adapt(), pyrosetta.distributed.cluster.utilities.SchedulerManager._maybe_teardown(), pyrosetta.distributed.cluster.converters._parse_yield_results(), pyrosetta.distributed.cluster.io.IO._save_results(), pyrosetta.distributed.cluster.utilities.SchedulerManager._setup_clients_cluster_adaptive(), pyrosetta.distributed.cluster.base.TaskBase._setup_initial_kwargs(), pyrosetta.distributed.cluster.base.TaskBase._setup_kwargs(), pyrosetta.distributed.cluster.base.TaskBase._setup_protocols_protocol_seed(), pyrosetta.distributed.cluster.logging_support.LoggingSupport._setup_socket_listener(), pyrosetta.distributed.cluster.core.PyRosettaCluster.compression, pyrosetta.distributed.cluster.serialization.Serialization.compression, pyrosetta.distributed.cluster.core.PyRosettaCluster.decoy_ids, basic::options::OptionKeys::stepwise.enumerate, pyrosetta.distributed.cluster.core.PyRosettaCluster.filter_results, pyrosetta.tests.distributed.test_dask.format, pyrosetta.distributed.cluster.core.PyRosettaCluster.ignore_errors, pyrosetta.distributed.cluster.logging_listeners.SocketListener.ignore_errors, pyrosetta.distributed.cluster.core.PyRosettaCluster.input_packed_pose, pyrosetta.tests.distributed.cluster.test_smoke.ScoresTest.input_packed_pose, pyrosetta.tests.distributed.cluster.test_smoke.TestBase.input_packed_pose, pyrosetta.distributed.cluster.core.PyRosettaCluster.logging_level, pyrosetta.distributed.cluster.core.PyRosettaCluster.max_delay_time, pyrosetta.distributed.cluster.core.PyRosettaCluster.nstruct, pyrosetta.toolbox.py_jobdistributor.PyJobDistributor.nstruct, ui::task::Task::Job.nstruct, pyrosetta.distributed.cluster.core.PyRosettaCluster.protocols_key, range, pyrosetta.distributed.cluster.core.PyRosettaCluster.save_all, pyrosetta.distributed.cluster.core.PyRosettaCluster.serializer, pyrosetta.distributed.cluster.core.PyRosettaCluster.tasks, ui::task::Project.tasks(), pyrosetta.distributed.cluster.core.PyRosettaCluster.tasks_size, pyrosetta.distributed.cluster.core.PyRosettaCluster.timeout, pyrosetta.distributed.cluster.logging_listeners.SocketListener.timeout, ui::network::B.timeout, and pyrosetta.distributed.cluster.core.PyRosettaCluster.yield_results.

Referenced by pyrosetta.distributed.cluster.core.PyRosettaCluster.distribute(), and pyrosetta.distributed.cluster.core.PyRosettaCluster.generate().

◆ distribute()

Optional[NoReturn] pyrosetta.distributed.cluster.core.PyRosettaCluster.distribute (   self,
*Any  args,
Any   protocols = None,
Any   clients_indices = None,
Any   resources = None 
)

◆ generate()

Union[NoReturn, Generator[Tuple[PackedPose, Dict[Any, Any]], None, None]] pyrosetta.distributed.cluster.core.PyRosettaCluster.generate (   self,
*Any  args,
Any   protocols = None,
Any   clients_indices = None,
Any   resources = None 
)

Member Data Documentation

◆ __doc__

pyrosetta.distributed.cluster.core.PyRosettaCluster.__doc__
staticprivate

◆ adapt_threshold

pyrosetta.distributed.cluster.core.PyRosettaCluster.adapt_threshold
static
Initial value:
= attr.ib(
type=int,
default=1000,
init=False,
validator=[_validate_int, attr.validators.instance_of(int)],
)

Referenced by pyrosetta.distributed.cluster.utilities.SchedulerManager._maybe_adapt().

◆ client

pyrosetta.distributed.cluster.core.PyRosettaCluster.client
static
Initial value:
= attr.ib(
type=Optional[distributed.client.Client],
default=None,
validator=attr.validators.optional(
attr.validators.instance_of(distributed.client.Client)
),
)

Referenced by pyrosetta.distributed.cluster.utilities.SchedulerManager._setup_clients_dict(), pyrosetta.tests.distributed.test_dask.TestDaskDistribution.tearDown(), pyrosetta.tests.distributed.test_dask.TestDaskDistribution.test_basic(), and pyrosetta.tests.distributed.test_dask.TestDaskDistribution.test_rosetta_scripts().

◆ clients

pyrosetta.distributed.cluster.core.PyRosettaCluster.clients
static
Initial value:
= attr.ib(
type=Optional[List[distributed.client.Client]],
default=None,
validator=[
attr.validators.optional(
attr.validators.deep_iterable(
member_validator=attr.validators.instance_of(distributed.client.Client),
iterable_validator=attr.validators.instance_of((tuple, list)),
),
),
_validate_min_len,
],
)

Referenced by pyrosetta.distributed.cluster.utilities.SchedulerManager._setup_clients_dict(), pyrosetta.tests.distributed.cluster.test_smoke.TestBase.tearDownClass(), pyrosetta.tests.distributed.cluster.test_smoke.GeneratorTest.test_generate_multi_user_clients(), pyrosetta.tests.distributed.cluster.test_smoke.GeneratorTest.test_generate_partition_clients(), pyrosetta.tests.distributed.cluster.test_smoke.RuntimeTest.test_timing_multi_instance(), and pyrosetta.tests.distributed.cluster.test_smoke.RuntimeTest.test_timing_single_instance().

◆ clients_dict

pyrosetta.distributed.cluster.core.PyRosettaCluster.clients_dict

◆ compressed

pyrosetta.distributed.cluster.core.PyRosettaCluster.compressed
static
Initial value:
= attr.ib(
type=bool,
default=True,
validator=attr.validators.instance_of(bool),
converter=attr.converters.default_if_none(default=True),
)

Referenced by pyrosetta.distributed.cluster.io.IO._save_results().

◆ compression

pyrosetta.distributed.cluster.core.PyRosettaCluster.compression
static
Initial value:
= attr.ib(
type=Optional[Union[str, bool]],
default=True,
validator=attr.validators.optional(attr.validators.instance_of((bool, str))),
)

Referenced by pyrosetta.distributed.cluster.serialization.Serialization.__attrs_post_init__(), and pyrosetta.distributed.cluster.core.PyRosettaCluster._run().

◆ cooldown_time

pyrosetta.distributed.cluster.core.PyRosettaCluster.cooldown_time
static
Initial value:
= attr.ib(
type=float,
default=0.5,
validator=[_validate_float, attr.validators.instance_of((float, int))],
converter=attr.converters.default_if_none(default=0.5),
)

Referenced by pyrosetta.distributed.cluster.logging_support.LoggingSupport._cooldown().

◆ cores

pyrosetta.distributed.cluster.core.PyRosettaCluster.cores
static
Initial value:
= attr.ib(
type=int,
default=1,
validator=[_validate_int, attr.validators.instance_of(int)],
converter=attr.converters.default_if_none(default=1),
)

◆ dashboard_address

pyrosetta.distributed.cluster.core.PyRosettaCluster.dashboard_address
static
Initial value:
= attr.ib(
type=str,
default=":8787",
validator=attr.validators.instance_of(str),
converter=attr.converters.default_if_none(default=":8787"),
)

Referenced by pyrosetta.distributed.cluster.utilities.SchedulerManager._get_cluster().

◆ decoy_dir_name

pyrosetta.distributed.cluster.core.PyRosettaCluster.decoy_dir_name
static
Initial value:
= attr.ib(
type=str,
default="decoys",
validator=attr.validators.instance_of(str),
converter=attr.converters.default_if_none(default="decoys"),
)

Referenced by pyrosetta.tests.distributed.cluster.test_smoke.ScoresTest.get_scores_dict().

◆ decoy_ids

pyrosetta.distributed.cluster.core.PyRosettaCluster.decoy_ids
static
Initial value:
= attr.ib(
type=list,
default=None,
validator=attr.validators.optional(attr.validators.instance_of(list)),
converter=attr.converters.optional(_parse_decoy_ids),
)

Referenced by pyrosetta.distributed.cluster.core.PyRosettaCluster._run(), and pyrosetta.distributed.cluster.base.TaskBase._setup_protocols_protocol_seed().

◆ decoy_path

pyrosetta.distributed.cluster.core.PyRosettaCluster.decoy_path
static
Initial value:
= attr.ib(
type=str,
default=attr.Factory(
lambda self: os.path.abspath(
os.path.join(self.output_path, self.decoy_dir_name)
),
takes_self=True,
),
init=False,
validator=attr.validators.instance_of(str),
)

Referenced by pyrosetta.distributed.cluster.io.IO._save_results().

◆ dry_run

pyrosetta.distributed.cluster.core.PyRosettaCluster.dry_run
static
Initial value:
= attr.ib(
type=bool,
default=False,
validator=attr.validators.instance_of(bool),
converter=attr.converters.default_if_none(False),
)

Referenced by pyrosetta.distributed.cluster.io.IO._save_results(), and pyrosetta.distributed.cluster.io.IO._write_environment_file().

◆ environment

pyrosetta.distributed.cluster.core.PyRosettaCluster.environment
static
Initial value:
= attr.ib(
type=str,
default=None,
validator=attr.validators.instance_of(str),
converter=_parse_environment,
)

Referenced by pyrosetta.distributed.cluster.io.IO._write_environment_file().

◆ environment_file

pyrosetta.distributed.cluster.core.PyRosettaCluster.environment_file
static
Initial value:
= attr.ib(
type=str,
default=attr.Factory(
lambda self: os.path.join(
self.output_path,
"_".join(
[
self.project_name.replace(" ", "-"),
self.simulation_name.replace(" ", "-"),
"environment.yml",
]
),
),
takes_self=True,
),
init=False,
validator=attr.validators.instance_of(str),
)
arg_join< It, Sentinel, char > join(It begin, Sentinel end, string_view sep)
Definition: format.h:3681
void replace(string &r, string const &from, string const &to)
Replace all occurrences of string in-place.
Definition: util.cpp:69

Referenced by pyrosetta.distributed.cluster.core.PyRosettaCluster.__attrs_post_init__(), and pyrosetta.distributed.cluster.io.IO._save_results().

◆ filter_results

pyrosetta.distributed.cluster.core.PyRosettaCluster.filter_results
static
Initial value:
= attr.ib(
type=bool,
default=None,
validator=attr.validators.instance_of(bool),
converter=_parse_filter_results,
)

Referenced by pyrosetta.distributed.cluster.core.PyRosettaCluster._run().

◆ ignore_errors

pyrosetta.distributed.cluster.core.PyRosettaCluster.ignore_errors
static
Initial value:
= attr.ib(
type=bool,
default=False,
validator=attr.validators.instance_of(bool),
converter=attr.converters.default_if_none(default=False),
)

Referenced by pyrosetta.distributed.cluster.core.PyRosettaCluster._run().

◆ input_packed_pose

pyrosetta.distributed.cluster.core.PyRosettaCluster.input_packed_pose
static

◆ logging_address

pyrosetta.distributed.cluster.core.PyRosettaCluster.logging_address
static
Initial value:
= attr.ib(
type=str,
default=attr.Factory(_parse_logging_address, takes_self=True),
validator=[_validate_logging_address, attr.validators.instance_of(str)],
)

◆ logging_file

pyrosetta.distributed.cluster.core.PyRosettaCluster.logging_file
static
Initial value:
= attr.ib(
type=str,
default=attr.Factory(
lambda self: os.path.join(
self.logs_path,
"_".join(
[
self.project_name.replace(" ", "-"),
self.simulation_name.replace(" ", "-") + ".log",
]
),
),
takes_self=True,
),
init=False,
validator=attr.validators.instance_of(str),
)

Referenced by pyrosetta.distributed.cluster.base.TaskBase._setup_initial_kwargs(), and pyrosetta.distributed.cluster.logging_support.LoggingSupport._setup_socket_listener().

◆ logging_level

pyrosetta.distributed.cluster.core.PyRosettaCluster.logging_level
static

◆ logs_dir_name

pyrosetta.distributed.cluster.core.PyRosettaCluster.logs_dir_name
static
Initial value:
= attr.ib(
type=str,
default="logs",
validator=attr.validators.instance_of(str),
converter=attr.converters.default_if_none(default="logs"),
)

◆ logs_path

pyrosetta.distributed.cluster.core.PyRosettaCluster.logs_path
static
Initial value:
= attr.ib(
type=str,
default=attr.Factory(
lambda self: os.path.abspath(
os.path.join(self.output_path, self.logs_dir_name)
),
takes_self=True,
),
init=False,
validator=attr.validators.instance_of(str),
)

Referenced by pyrosetta.distributed.cluster.logging_support.LoggingSupport._setup_logger().

◆ max_delay_time

pyrosetta.distributed.cluster.core.PyRosettaCluster.max_delay_time
static
Initial value:
= attr.ib(
type=float,
default=3.0,
validator=[_validate_float, attr.validators.instance_of((float, int))],
converter=attr.converters.default_if_none(default=3.0),
)

Referenced by pyrosetta.distributed.cluster.core.PyRosettaCluster._run().

◆ max_workers

pyrosetta.distributed.cluster.core.PyRosettaCluster.max_workers
static
Initial value:
= attr.ib(
type=int,
default=attr.Factory(
lambda self: self.adapt_threshold if (self.tasks_size < self.adapt_threshold) else self.tasks_size,
takes_self=True,
),
validator=[_validate_int, attr.validators.instance_of(int)],
converter=attr.converters.default_if_none(default=1000),
)

Referenced by pyrosetta.distributed.cluster.utilities.SchedulerManager._get_cluster(), pyrosetta.distributed.cluster.utilities.SchedulerManager._maybe_adapt(), and pyrosetta.distributed.cluster.utilities.SchedulerManager._setup_clients_cluster_adaptive().

◆ memory

pyrosetta.distributed.cluster.core.PyRosettaCluster.memory
static
Initial value:
= attr.ib(
type=str,
default="4g",
validator=attr.validators.optional(attr.validators.instance_of(str)),
converter=attr.converters.default_if_none(default="4g"),
)

◆ min_workers

pyrosetta.distributed.cluster.core.PyRosettaCluster.min_workers
static
Initial value:
= attr.ib(
type=int,
default=1,
validator=[_validate_int, attr.validators.instance_of(int)],
converter=attr.converters.default_if_none(default=1),
)

Referenced by pyrosetta.distributed.cluster.utilities.SchedulerManager._setup_clients_cluster_adaptive().

◆ nstruct

pyrosetta.distributed.cluster.core.PyRosettaCluster.nstruct
static
Initial value:
= attr.ib(
type=int,
default=1,
validator=[_validate_int, attr.validators.instance_of(int)],
converter=attr.converters.default_if_none(default=1),
)

Referenced by pyrosetta.distributed.cluster.core.PyRosettaCluster._run(), and pyrosetta.toolbox.py_jobdistributor.PyJobDistributor.output_decoy().

◆ output_path

pyrosetta.distributed.cluster.core.PyRosettaCluster.output_path
static
Initial value:
= attr.ib(
type=str,
default=os.path.abspath(os.path.join(os.getcwd(), "outputs")),
validator=[_validate_dirs, attr.validators.instance_of(str)],
converter=attr.converters.default_if_none(
default=os.path.abspath(os.path.join(os.getcwd(), "outputs"))
),
)

Referenced by pyrosetta.distributed.cluster.base.TaskBase._setup_initial_kwargs().

◆ processes

pyrosetta.distributed.cluster.core.PyRosettaCluster.processes
static
Initial value:
= attr.ib(
type=int,
default=1,
validator=[_validate_int, attr.validators.instance_of(int)],
converter=attr.converters.default_if_none(default=1),
)

◆ project_name

pyrosetta.distributed.cluster.core.PyRosettaCluster.project_name
static
Initial value:
= attr.ib(
type=str,
default=datetime.now().strftime("%Y.%m.%d.%H.%M.%S.%f"),
validator=attr.validators.optional(attr.validators.instance_of(str)),
converter=attr.converters.default_if_none(default="PyRosettaCluster"),
)
size_t strftime(char *str, size_t count, const char *format, const std::tm *time)
Definition: chrono.h:375

◆ protocols_key

pyrosetta.distributed.cluster.core.PyRosettaCluster.protocols_key
static
Initial value:
= attr.ib(
type=str,
default="PyRosettaCluster_protocols_container",
init=False,
validator=attr.validators.instance_of(str),
)

Referenced by pyrosetta.distributed.cluster.io.IO._process_kwargs(), pyrosetta.distributed.cluster.core.PyRosettaCluster._run(), pyrosetta.distributed.cluster.base.TaskBase._setup_initial_kwargs(), and pyrosetta.distributed.cluster.base.TaskBase._setup_kwargs().

◆ pyrosetta_build

pyrosetta.distributed.cluster.core.PyRosettaCluster.pyrosetta_build
static
Initial value:
= attr.ib(
type=str,
default=None,
validator=attr.validators.instance_of(str),
converter=_parse_pyrosetta_build,
)

◆ pyrosetta_init_args

pyrosetta.distributed.cluster.core.PyRosettaCluster.pyrosetta_init_args
static
Initial value:
= attr.ib(
type=list,
default=attr.Factory(_get_pyrosetta_init_args),
init=False,
validator=attr.validators.deep_iterable(
member_validator=attr.validators.instance_of(str),
iterable_validator=attr.validators.instance_of(list),
),
)

Referenced by pyrosetta.distributed.cluster.base.TaskBase._setup_pyrosetta_init_kwargs().

◆ save_all

pyrosetta.distributed.cluster.core.PyRosettaCluster.save_all
static
Initial value:
= attr.ib(
type=bool,
default=False,
validator=attr.validators.instance_of(bool),
converter=attr.converters.default_if_none(default=False),
)

Referenced by pyrosetta.distributed.cluster.core.PyRosettaCluster._run().

◆ scheduler

pyrosetta.distributed.cluster.core.PyRosettaCluster.scheduler
static
Initial value:
= attr.ib(
type=str,
default=None,
validator=attr.validators.optional(
[attr.validators.in_(["sge", "slurm"]), attr.validators.instance_of(str),],
),
)

Referenced by pyrosetta.distributed.cluster.utilities.SchedulerManager._get_cluster(), pyrosetta.distributed.cluster.utilities.SchedulerManager._maybe_adapt(), and pyrosetta.distributed.cluster.utilities.SchedulerManager._setup_clients_cluster_adaptive().

◆ scorefile_name

pyrosetta.distributed.cluster.core.PyRosettaCluster.scorefile_name
static
Initial value:
= attr.ib(
type=str,
default="scores.json",
validator=attr.validators.instance_of(str),
converter=attr.converters.default_if_none(default="scores.json"),
)

◆ scorefile_path

pyrosetta.distributed.cluster.core.PyRosettaCluster.scorefile_path
static
Initial value:
= attr.ib(
type=str,
default=attr.Factory(
lambda self: os.path.abspath(
os.path.join(self.output_path, self.scorefile_name)
),
takes_self=True,
),
init=False,
validator=attr.validators.instance_of(str),
)

Referenced by pyrosetta.distributed.cluster.io.IO._save_results().

◆ scratch_dir

pyrosetta.distributed.cluster.core.PyRosettaCluster.scratch_dir
static
Initial value:
= attr.ib(
type=str,
default=None,
validator=[_validate_dir, attr.validators.instance_of(str)],
converter=_parse_scratch_dir,
)

Referenced by pyrosetta.distributed.cluster.utilities.SchedulerManager._get_cluster().

◆ seeds

pyrosetta.distributed.cluster.core.PyRosettaCluster.seeds
static
Initial value:
= attr.ib(
type=list,
default=None,
validator=attr.validators.optional(attr.validators.instance_of(list)),
converter=attr.converters.optional(_parse_seeds),
)

Referenced by pyrosetta.distributed.cluster.base.TaskBase._get_seed(), and pyrosetta.distributed.cluster.base.TaskBase._setup_protocols_protocol_seed().

◆ serializer

pyrosetta.distributed.cluster.core.PyRosettaCluster.serializer

◆ sha1

pyrosetta.distributed.cluster.core.PyRosettaCluster.sha1
static
Initial value:
= attr.ib(
type=str,
default="",
validator=attr.validators.instance_of(str),
converter=_parse_sha1,
)

Referenced by pyrosetta.distributed.cluster.core.PyRosettaCluster.generate().

◆ simulation_name

pyrosetta.distributed.cluster.core.PyRosettaCluster.simulation_name
static
Initial value:
= attr.ib(
type=str,
default=attr.Factory(lambda self: self.project_name, takes_self=True),
validator=attr.validators.instance_of(str),
converter=attr.converters.default_if_none(default="PyRosettaCluster"),
)

Referenced by pyrosetta.distributed.cluster.io.IO._save_results().

◆ simulation_records_in_scorefile

pyrosetta.distributed.cluster.core.PyRosettaCluster.simulation_records_in_scorefile
static
Initial value:
= attr.ib(
type=bool,
default=False,
validator=attr.validators.instance_of(bool),
converter=attr.converters.default_if_none(default=False),
)

Referenced by pyrosetta.distributed.cluster.io.IO._save_results(), and pyrosetta.distributed.cluster.io.IO._write_environment_file().

◆ system_info

pyrosetta.distributed.cluster.core.PyRosettaCluster.system_info
static
Initial value:
= attr.ib(
type=dict,
default=None,
validator=attr.validators.instance_of(dict),
converter=_parse_system_info,
)

◆ tasks

pyrosetta.distributed.cluster.core.PyRosettaCluster.tasks
static
Initial value:
= attr.ib(
type=list,
default=[{}],
validator=attr.validators.deep_iterable(
member_validator=attr.validators.instance_of(dict),
iterable_validator=attr.validators.instance_of(list),
),
converter=_parse_tasks,
)

Referenced by pyrosetta.distributed.cluster.core.PyRosettaCluster._run().

◆ tasks_size

pyrosetta.distributed.cluster.core.PyRosettaCluster.tasks_size
static
Initial value:
= attr.ib(
type=int,
default=attr.Factory(
lambda self: toolz.itertoolz.count(self.tasks) * self.nstruct,
takes_self=True,
),
init=False,
validator=attr.validators.instance_of(int),
)

Referenced by pyrosetta.distributed.cluster.utilities.SchedulerManager._maybe_adapt(), and pyrosetta.distributed.cluster.core.PyRosettaCluster._run().

◆ timeout

pyrosetta.distributed.cluster.core.PyRosettaCluster.timeout
static
Initial value:
= attr.ib(
type=float,
default=0.5,
validator=[_validate_float, attr.validators.instance_of((float, int))],
converter=attr.converters.default_if_none(default=0.5),
)

Referenced by pyrosetta.distributed.cluster.core.PyRosettaCluster._run(), and pyrosetta.distributed.cluster.logging_listeners.SocketListener.serve_until_stopped().

◆ yield_results

pyrosetta.distributed.cluster.core.PyRosettaCluster.yield_results
static
Initial value:
= attr.ib(
type=bool,
init=False,
default=False,
validator=attr.validators.instance_of(bool),
converter=_parse_yield_results,
)

Referenced by pyrosetta.distributed.cluster.core.PyRosettaCluster._run(), pyrosetta.distributed.cluster.core.PyRosettaCluster.distribute(), and pyrosetta.distributed.cluster.core.PyRosettaCluster.generate().


The documentation for this class was generated from the following file: