Skip to content

Commit b3ef373

Browse files
committed
update reference.md
1 parent ba09195 commit b3ef373

1 file changed

Lines changed: 26 additions & 0 deletions

File tree

docs/src/reference.md

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,8 @@ The `general` section contains global settings that apply to all scenarios and t
3030
| `ncores` | integer | Yes | Number of CPU cores to allocate per job. |
3131
| `execution` | string | Yes | Execution backend. Valid values: `local`, `slurm`. |
3232
| `partition` | string | No | SLURM partition to submit jobs to when `execution: slurm`. If omitted, the cluster default partition is used. |
33+
| `slurm_header` | mapping | No | Arbitrary `#SBATCH` directives for `execution: slurm`, as `key: value` pairs using canonical `sbatch` long-option names (e.g. `partition`, `nodes`, `account`, `time`, `qos`, `mem-per-cpu`). `true` renders a bare flag (e.g. `exclusive: true``#SBATCH --exclusive`); `false`, `null`, or an empty string drops the entry. `cpus-per-task` is always derived from `ncores` and cannot be overridden. Unknown keys fail validation. |
34+
| `slurm_prologue` | string | No | Shell commands (e.g. `module load ...`) run before the haddock3 execution line when `execution: slurm`. Do not include `cd <path>` or the `haddock3 ...` invocation — those are always generated automatically. When set, a version-check step is automatically added to the job script after the prologue to detect if it altered the haddock3 version in use. |
3335
| `mol_suffixes` | array of strings | Yes | File suffixes used to identify molecule files. Must contain at least 2 suffixes (typically receptor and ligand). |
3436
| `input_list` | string | Yes | Path to the input list file containing file paths for all targets. |
3537
| `work_dir` | string | Yes | Directory where benchmark results will be stored. Created automatically if it doesn't exist. |
@@ -49,6 +51,29 @@ general:
4951
work_dir: ./results
5052
```
5153
54+
**SLURM example**, using `slurm_header` and `slurm_prologue`:
55+
56+
```yaml
57+
general:
58+
max_concurrent: 4
59+
ncores: 96
60+
execution: slurm
61+
slurm_header:
62+
partition: small
63+
nodes: 1
64+
account: project_XXXXXX
65+
mem-per-cpu: 1500
66+
time: "24:00:00"
67+
qos: standard
68+
exclusive: true
69+
slurm_prologue: |
70+
module load some-module
71+
module load another-module
72+
mol_suffixes: [_r_u, _l_u, _x_u]
73+
input_list: docking/input_list.txt
74+
work_dir: ./results
75+
```
76+
5277
### Notes
5378

5479
- **Local execution**: When using `execution: local`, the total number of CPU cores required is `max_concurrent * ncores`. Ensure your system has enough cores.
@@ -339,6 +364,7 @@ When `execution: local`:
339364
When `execution: slurm`:
340365

341366
- The `sbatch` and `sacct` commands must be available in the system PATH.
367+
- **`slurm_header`**: Keys must be recognized `sbatch` long-option names; an unknown key fails validation. `cpus-per-task` is always derived from `ncores` and cannot be overridden.
342368

343369
---
344370

0 commit comments

Comments
 (0)