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 –
qstatfor in-flight jobs,qacctfor 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.26
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| snakemake_executor_plugin_sge-0.6.26.tar.gz | 31.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| snakemake_executor_plugin_sge-0.6.26-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 64.7 kB
Release files / snakemake_executor_plugin_sge-0.6.26.tar.gz
| Download URL | snakemake_executor_plugin_sge-0.6.26.tar.gz |
|---|---|
| Size | 31.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
172a25dd7ef25b954e3c8a535a1036d01babc4ce60ee6b1ea9416f61a4c2b380
|
|
BLAKE2b-256 checksum How to use checksums |
3052229470d6c58858f1c9dfa6af3ef24b71a8882cd31324f03cf20ada8e444b
|
| 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.26-py3-none-any.whl
| Download URL | snakemake_executor_plugin_sge-0.6.26-py3-none-any.whl |
|---|---|
| Size | 33.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d315a108aa2a540d6dddee1d05eaad82af66b62defb3ff3fa2318048ccc69881
|
|
BLAKE2b-256 checksum How to use checksums |
7e618d7d26b4d26df9ecea451fa829cd0ccaff41312b3d5b4348b0c54b0b964a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|