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.31
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| snakemake_executor_plugin_sge-0.6.31.tar.gz | 33.8 kB | Without provenance | Details for snakemake_executor_plugin_sge-0.6.31.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| snakemake_executor_plugin_sge-0.6.31-py3-none-any.whl | Python 3 | none | any | Details for snakemake_executor_plugin_sge-0.6.31-py3-none-any.whl |
Total release size: 69.1 kB
Release files / snakemake_executor_plugin_sge-0.6.31.tar.gz
| Download URL | snakemake_executor_plugin_sge-0.6.31.tar.gz |
|---|---|
| Size | 33.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9a0ad0ccaa4e826d0c7bd2dcf81e6ccc61e535247078258f2f013523c4aafe6e
|
|
BLAKE2b-256 checksum How to use checksums |
05fc97a6be76a8657574fc8886bdb018d5f5a154bfc4a0a1aa74d83e9f17a48c
|
| 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.31-py3-none-any.whl
| Download URL | snakemake_executor_plugin_sge-0.6.31-py3-none-any.whl |
|---|---|
| Size | 35.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
6767723a9306f59118898c53c56887178d13fd2644057c5730ff29ec482fbec3
|
|
BLAKE2b-256 checksum How to use checksums |
4b0d05efd2b4ed5a4e9a2891f1b77160e8c178bdce38fe995cf427df8a38a3ab
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Security for snakemake-executor-plugin-sge 0.6.31
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.