icolos.core.step_dispatch package#

Submodules#

icolos.core.step_dispatch.dispatcher module#

class icolos.core.step_dispatch.dispatcher.IterParallelizer(*, parallelize: bool = False, jobs: int = 1, dependent_steps: int = None)[source]#

Bases: BaseModel

dependent_steps: int#
jobs: int#
parallelize: bool#
class icolos.core.step_dispatch.dispatcher.StepDispatcher(*, step_id: str, work_dir: str = None, type: str = None, data: ~icolos.core.step_utils.input_preparator.StepData = StepData(compounds=[], generic=<icolos.core.containers.generic.GenericContainer object>, gmx_state=Gromacs Topology object: System: [] | Molecules: [] | FF: amber03 | itp files: [] | posre files []), input: ~icolos.core.step_utils.input_preparator.StepInputParameters = StepInputParameters(compounds=[], generic=[], gmx_state={}, perturbation_map=None, merge=StepMerge(compounds=True, enumerations=False, merge_compounds_by=<StepBaseEnum.INPUT_MERGE_BY_NAME: 'name'>, merge_enumerations_by=<StepBaseEnum.INPUT_MERGE_BY_ID: 'id'>), work_dir=None), writeout: ~typing.List[~icolos.core.step_utils.step_writeout.StepWriteoutParameters] = [], execution: ~icolos.core.workflow_steps.step.StepExecutionParameters = StepExecutionParameters(prefix_execution=None, binary_location=None, pipe_input=None, parallelization=StepExecutionParallelizationParameters(jobs=1, max_length_sublists=None), failure_policy=StepFailurePolicyParameters(n_tries=1, retry_wait_seconds=10), check_backend_availability=False, resources=StepExecutionResourceParameters(partition=<ExecutionPlatformEnum.CORE: 'core'>, time='12:00:00', gres=None, tasks=None, mem=None, cores=None, modules=[], other_args={}, additional_lines=[]), platform=<ExecutionPlatformEnum.LOCAL: 'local'>), settings: ~icolos.core.workflow_steps.step.StepSettingsParameters = StepSettingsParameters(arguments=StepSettingsArgsParameters(flags=[], parameters={}), additional={}), workflows: ~typing.List = [], parallel_execution: ~icolos.core.step_dispatch.dispatcher.IterParallelizer = IterParallelizer(parallelize=False, jobs=1, dependent_steps=None))[source]#

Bases: StepBase, BaseModel

Step class containing job control functionality required for StepIterator, supports Slurm for job scheduling Supports running Icolos process as master job for parallel step execution on cluster. Generates a pool of initialized steps to be executed, based on the

Step-type class for disaptching multiple steps in parallel, useful for executing multiple batch jobs simultaneously

execute()[source]#

Execute multiple steps in parallel

execute_workflow(jobs)[source]#
parallel_execution: IterParallelizer#
workflows: List#

Module contents#