Toil Class API¶
The Toil class configures and starts a Toil run.
- class toil.common.Toil(options)[source]
A context manager that represents a Toil workflow.
Specifically the batch system, job store, and its configuration.
- Parameters:
options (
Namespace
)
- __init__(options)[source]
Initialize a Toil object from the given options.
Note that this is very light-weight and that the bulk of the work is done when the context is entered.
- Parameters:
options (
Namespace
) – command line options specified by the user- Return type:
None
- start(rootJob)[source]
Invoke a Toil workflow with the given job as the root for an initial run.
This method must be called in the body of a
with Toil(...) as toil:
statement. This method should not be called more than once for a workflow that has not finished.
- restart()[source]
Restarts a workflow that has been interrupted.
- Return type:
- Returns:
The root job’s return value
- classmethod getJobStore(locator)[source]
Create an instance of the concrete job store implementation that matches the given locator.
- Parameters:
locator (
str
) – The location of the job store to be represent by the instancelocator
- Return type:
- Returns:
an instance of a concrete subclass of AbstractJobStore
- static createBatchSystem(config)[source]
Create an instance of the batch system specified in the given config.
- Parameters:
config (
Config
) – the current configuration- Return type:
- Returns:
an instance of a concrete subclass of AbstractBatchSystem
- import_file(src_uri, shared_file_name=None, symlink=True, check_existence=True)[source]
Import the file at the given URL into the job store.
By default, returns None if the file does not exist.
- Parameters:
- Return type:
See
toil.jobStores.abstractJobStore.AbstractJobStore.importFile()
for a full description
- export_file(file_id, dst_uri)[source]
Export file to destination pointed at by the destination URL.
See
toil.jobStores.abstractJobStore.AbstractJobStore.exportFile()
for a full description
- static normalize_uri(uri, check_existence=False)[source]
Given a URI, if it has no scheme, prepend “file:”.
- static getToilWorkDir(configWorkDir=None)[source]
Return a path to a writable directory under which per-workflow directories exist.
This directory is always required to exist on a machine, even if the Toil worker has not run yet. If your workers and leader have different temp directories, you may need to set TOIL_WORKDIR.
- classmethod get_toil_coordination_dir(config_work_dir, config_coordination_dir)[source]
Return a path to a writable directory, which will be in memory if convenient. Ought to be used for file locking and coordination.
- Parameters:
- Return type:
- Returns:
Path to the Toil coordination directory. Ought to be on a POSIX filesystem that allows directories containing open files to be deleted.
- static get_workflow_path_component(workflow_id)[source]
Get a safe filesystem path component for a workflow.
Will be consistent for all processes on a given machine, and different for all processes on different machines.
- classmethod getLocalWorkflowDir(workflowID, configWorkDir=None)[source]
Return the directory where worker directories and the cache will be located for this workflow on this machine.
- classmethod get_local_workflow_coordination_dir(workflow_id, config_work_dir, config_coordination_dir)[source]
Return the directory where coordination files should be located for this workflow on this machine. These include internal Toil databases and lock files for the machine.
If an in-memory filesystem is available, it is used. Otherwise, the local workflow directory, which may be on a shared network filesystem, is used.
- Parameters:
- Return type:
- Returns:
Path to the local workflow coordination directory on this machine.