Configuration¶
Oris uses a TOML configuration file to control its execution environment, HPC scheduling, and simulation parameters. Oris will use the configuration file specified via the optional --config argument. If no file is provided, Oris falls back to an internal default configuration.
The configuration file is organized into three sections:
[slurm] - HPC scheduling directives (SLURM-specific)
[env] - Software environment setup
[oris] - Oris-specific simulation parameters
Below is the default configuration used by Oris:
# ==========================================
# ORIS - CLUSTER CONFIGURATION / PIPELINE
# ==========================================
# 🖥️ CLUSTER (Slurm)
[slurm]
partition = "CPUQ" # Cluster queue
account = "myuser" # Project (if applies)
time = "24:00:00" # Time limit ⏳
nodes = 18 # Number of nodes 🧩
ntasks_per_node = 14 # MPI tasks per node 🚀
output = "oris_%j.out" # Standard log 📄
error = "oris_%j.err" # Error log ❗
auto_submit = true # Automatic sbatch launch 🧚
# 🧬 ENVIRONMENT
[env]
preamble = """
module load intel/2024a
module load SciPy-bundle/2024.05-gfbf-2024a
module load Python/3.12.3-GCCcore-13.3.0
"""
# 🧠 ORIS configuration
[oris]
default_sampling = 10 # When no --sampling 🧮
media_targets = ["EGFR", "IGF1R", "MET"] # Media nodes 🌐
timeout_sampling = 300 # Sampling threshold (seconds) ⏱️
timeout_paths = 600 # CountPaths threshold (seconds) ⏱️
🖥️ [slurm] - HPC Scheduling Section¶
This section controls how Oris interacts with SLURM when submitting jobs.
Parameter |
Type |
Description |
|---|---|---|
|
string |
SLURM partition/queue to submit jobs to |
|
string |
Project/account for billing (cluster-dependent) |
|
string |
Wall-time limit in |
|
int |
Number of SLURM nodes requested |
|
int |
MPI tasks spawned per node |
|
string |
Path for standard output logs ( |
|
string |
Path for error logs |
|
bool |
If |
📝 If
auto_submit = false, Oris witll instead generate the.sbatchscript and print instructions for manual submission.
🧬 [env] - Software Environment Section¶
This section defines the runtime software environment, typically using module load, conda activate, or similar commands.
Parameter |
Type |
Description |
|---|---|---|
|
multiline string |
Shell commands executed before job execution |
Common uses include:
loading compiler toolchains
activating conda environments
loading MPI implementations
loading Python modules
🧠 [oris] - Simulation Parameters Section¶
This section controls Oris-specific runtime behavior:
Parameter |
Type |
Description |
|---|---|---|
|
int |
Default number of sampled models if |
|
array[string] |
Input/media nodes forced ON during initial condition filtering |
|
int (seconds) |
Max time for |
|
int (seconds) |
Max time for |
📝 Notes:
media_targetsdefines culture medium context, enforcing media nodes as inputs during initial condition selection.
timeout_samplingapplies only to sampling mode, i.e. selecting fast-running models.
timeout_pathsapplies to CountPaths runs under all modes.
💡 Example Usage¶
To run Oris with a custom configuration:
oris --zips /path/to/zips --mode full --sampling 20 --config /path/to/oris_config.toml
If --config is omitted, Oris will load its internal default.
📝 Depending on your HPC system you may need to modify:
partition
account
module loadlinesMPI versions
Python versions (always 3.10+)
Oris does not validate environment modules, so incorrect module names will result in SLURM job failures at runtime.