Skip to main content

miniwdl lsf backend using singularity

Project description

miniwdl-lsf

Extends miniwdl to run workflows on LSF clusters in singularity containers.

This LSF backend plugin for miniwdl runs WDL task containers by creating a job script that is submitted to a LSF cluster. In case the job description has a container, singularity will be used as container runtime.

Installation

For the development version::

pip install git+https://github.com/adthrasher/miniwdl-lsf.git

Configuration

The following miniwdl configuration example can be used to use miniwdl on a LSF cluster:

    [scheduler]
    container_backend=lsf_singularity
    # Sets the maximum concurrent tasks. Since LSF handles scheduling, we only
    # limit to avoid excessive overhead in miniwdl.
    task_concurrency=200
    
    # This setting allows running tasks to continue, even if one other tasks fails. 
    # Useful in combination with call caching. Prevents wasting resources by
    # cancelling jobs half-way that would probably succeed.
    fail_fast = false

    [call_cache]
    # The following settings create a call cache under the current directory.
    # This prevents wasting unnecessary resources on the cluster by rerunning 
    # jobs that have already succeeded.
    put = true 
    get = true 
    dir = "$PWD/miniwdl_call_cache"

    [task_runtime]
    # Setting a 'maxRetries' default allows jobs that fail due to intermittent
    # errors on the cluster to be retried.
    defaults = {
            "maxRetries": 2,
            "docker": "ubuntu:20.04"
        }

    command_shell = /bin/bash
 
    [singularity]
    # This plugin wraps the singularity backend. Make sure the settings are
    # appropriate for your cluster.
    exe = ["singularity"]

    # the miniwdl default options contain options to run as a fake root, which
    # is not available on most clusters.
    run_options = [
            "--containall",
            "--cleanenv"
        ]

    # Location of the singularity images (optional). The miniwdl-lsf plugin
    # will set it to a directory inside $PWD. This location must be reachable
    # for the submit nodes.
    image_cache = "$PWD/miniwdl_singularity_cache"

    [lsf]
    # extra arguments passed to the bsub command (optional).
    extra_args=""
    # Task memory specifications should be interpreted as per-job not per-core (LSF default)
    memory_per_job = true

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

miniwdl_lsf-0.1.0.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

miniwdl_lsf-0.1.0-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file miniwdl_lsf-0.1.0.tar.gz.

File metadata

  • Download URL: miniwdl_lsf-0.1.0.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.2 CPython/3.9.15 Darwin/22.2.0

File hashes

Hashes for miniwdl_lsf-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9915e34ab8ff39a3eac04607d981bd0794bd935351ba046b867ff160a9a55141
MD5 fe45e5d372dd652242ca2087ca7172b1
BLAKE2b-256 4411d12b425746b4396ebfff9a6a5a5a45faf4a6bbf66444a35c4891376881a7

See more details on using hashes here.

File details

Details for the file miniwdl_lsf-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: miniwdl_lsf-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.2 CPython/3.9.15 Darwin/22.2.0

File hashes

Hashes for miniwdl_lsf-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3d58dd04507b6edadf3cd7c3ba47c49bc40eaf6dc1c947dd17e0018317304d9a
MD5 16c1c5f1bf9384737cab506a914c7e16
BLAKE2b-256 2d40637786c2d63de6043bb2375caf6b36c6554842e0acda995bce383d7b7c36

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page