Skip to main content

snakemake-executor-plugin-sge

A Snakemake executor plugin for Sun Grid Engine (SGE), Univa Grid Engine (UGE), and Open Grid Scheduler (OGS) clusters.

Features

  • Every job is an array job – singletons become -t 1-1, batches become -t 1-N. One submission path, one tracking path, no special cases.
  • Group jobs as a single array job – Snakemake group jobs (several rules bundled together) are submitted as one qsub call.
  • Rich qsub flag coverage – queue, project, parallel environment, wall time, memory (per-slot and total), priority, requeue, reservation, notify, mail, hold_jid, task concurrency, env-var export, join logs, and arbitrary extra flags.
  • Per-rule resource overrides – any global setting can be overridden via rule resources: (e.g. sge_queue, sge_pe, sge_extra, …).
  • Two-stage status polling – qstat for in-flight jobs, qacct for completed jobs; configurable retries and optional qacct disabling.
  • Clean log management – per-task stdout/stderr, optional auto-delete on success, age-based rotation.

Installation

pip install snakemake-executor-plugin-sge

Quick start

snakemake --executor sge --jobs 100

Common options

CLI flag Default Description
--sge-queue — Default queue (-q)
--sge-pe — Parallel environment for multi-thread jobs
--sge-project — Project (-P)
--sge-export-env True Export environment (-V)
--sge-join-logs False Merge stdout+stderr (-j y)
--sge-requeue — Requeue on failure (-r y/n)
--sge-reservation — Resource reservation (-R y/n)
--sge-notify False Send notify signal
--sge-mail-on — Mail events (b, e, a, s, n)
--sge-mail-address — Mail address (-M)
--sge-hold-jid — Hold until job(s) finish
--sge-array-limit 75000 Max tasks per qsub -t call
--sge-task-concurrency — Max concurrent array tasks (-tc)
--sge-logdir .snakemake/sge_logs Log directory
--sge-keep-successful-logs False Keep logs for successful jobs
--sge-use-qacct True Use qacct for finished-job detection
--sge-extra — Raw extra qsub flags (global)
--sge-jobname-prefix — Prefix for SGE job names

Per-rule resource overrides

rule my_rule:
    resources:
        runtime        = 120,          # minutes → h_rt=02:00:00
        mem_mb         = 8192,         # total memory (divided by threads per slot)
        mem_mb_per_cpu = 2048,         # per-slot memory (takes precedence)
        threads        = 4,
        sge_queue      = "highmem.q",
        sge_pe         = "smp",
        sge_project    = "myproject",
        sge_extra      = "-l gpu=1",   # arbitrary extra qsub flags
        sge_resources  = {"h_cpu": "24:00:00", "arch": "lx-amd64"},
        sge_join_logs  = True,
        sge_requeue    = True,
        sge_priority   = -100,
        sge_notify     = True,
        sge_mail_on    = "e",
        sge_mail_address = "me@example.com",
        sge_hold_jid   = "12345",
        sge_task_concurrency = 8,
        sge_export_env = False,
    threads: 4
    shell: "..."

Array-job design

Every qsub submission uses qsub -t start-end. Execution commands are stored in a JSON file on the shared filesystem before qsub is called. The submission script reads $SGE_TASK_ID, looks up the compressed command, and evaluates it. This avoids command-line length limits and all heredoc/quoting problems.

License

MIT

Metadata

Release files for snakemake-executor-plugin-sge 0.6.28

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for snakemake-executor-plugin-sge 0.6.28
File Size Uploaded
snakemake_executor_plugin_sge-0.6.28.tar.gz 32.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for snakemake-executor-plugin-sge 0.6.28
File Interpreter ABI Platform
snakemake_executor_plugin_sge-0.6.28-py3-none-any.whl Python 3 none any Details

Total release size: 66.4 kB

Release files / snakemake_executor_plugin_sge-0.6.28.tar.gz

Download URL snakemake_executor_plugin_sge-0.6.28.tar.gz
Size 32.5 kB
Tags Source
SHA-256 checksum
How to use checksums
d8be1ee2de7802ee3d44aa954a5901b5a8c7e478f25f1d95a5295f1e56692489
BLAKE2b-256 checksum
How to use checksums
0d31f079c7a429da8bef8f4dfa0794547a4f471c5564aa77b6d2ca592dd732ac
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / snakemake_executor_plugin_sge-0.6.28-py3-none-any.whl

Download URL snakemake_executor_plugin_sge-0.6.28-py3-none-any.whl
Size 33.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
88fa6f2814ff3925caf92ae3505bd28852e09cfe939cbbd1017c345fbd9926de
BLAKE2b-256 checksum
How to use checksums
a84cf7158482d791ea11805d075e29b0bbc71c16eca8f973c2f6e71b232ab042
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page