Horus for molecular simulation, drug discovery and scientific AI

Run scientific workflows on HPC and cloud without a DevOps team.

Your scientists use your compute infrastructure without depending on engineering.

Open Horus

Nothing to install on your cluster.

Backed by and running at

Universitat Autònoma de Barcelona
Barcelona Supercomputing Center
Vall d'Hebron Research Institute
BSC AI Factory
NVIDIA Inception Program
AWS Startups
Claude for Startups
22@ Demo Day

The problem

The bottleneck is not the science. It is the setup around it.

  1. “For my scientists to use HPC I need DevOps engineers, and I can't find them.”
    Head of R&D

    Scarce hires take months. The science waits.

  2. “To launch a calculation I depend on someone else having time.”
    Computational chemist

    Every iteration queues behind a person. Fewer hypotheses get tested.

  3. “Installing anything on the cluster means a security review.”
    HPC admin

    Pilots die before they start.

  4. “Only the person who wrote the pipeline understands it.”
    Bioinformatics lead

    When they leave, the pipeline leaves with them.

  5. “Every design, compute, decide loop takes too long.”
    R&D director

    Fewer cycles per quarter. Fewer candidates evaluated.

Horus is the engineering layer you don't have.

It writes the jobs, moves the files and records every result. Your team runs the science.

How Horus solves it

Build it, launch it, trace it. Horus does the plumbing.

01 / 06

“Every run needs someone who knows SLURM.”

Build it visually

Drag stages onto a canvas. No DSL, no SLURM scripts. Scientists launch it themselves.

Horus canvas builder
02 / 06

“The notebook works. Getting it onto the cluster does not.”

Bring your notebook

Decorate a Python function as a task. The same code runs on HPC or cloud.

pipeline.py
from horus_builtin.task.function import FunctionTask
@FunctionTask.task(wf, target=cluster)
def refine(pose):
return minimize(pose)
refine · running on cluster
03 / 06

“Half my afternoon is scp.”

Files move themselves

Inputs and outputs are staged over SSH between your machine, the cluster and the cloud.

Your machinessh
HPC clusterssh
Cloudssh
receptor.pdb→ cluster
poses.sdf→ cloud
scores.csv← your machine
04 / 06

“The GPU node is busy running the prep.”

Each step on the hardware it needs

CPU here, GPU there. HPC or cloud, chosen per stage.

Local
any
HPC
CPU
HPC
GPU
Cloud
GPU
Prepare ligands
CPU
Predict poses
GPU
Rescore
GPU
Plot
CPU
05 / 06

“Ten thousand jobs means ten thousand terminals.”

Campaigns

Launch 10,000 docking jobs and track them from one place.

Docking campaign10,000 jobs
donerunningqueued
06 / 06

“Nobody remembers which parameters made that plot.”

Every result traceable

Lineage from a plot back to the input structure, parameters and machine. Cached artifacts are reused, not recomputed.

affinity_plot.png
result
scores.csv
rescore · HPC · GPU
poses.sdf
predict · cloud GPU
cached
receptor.pdb + params.yaml
inputs

For IT and HPC

Agentless: nothing to install on your HPC cluster

Horus reaches your cluster over plain SSH. No daemons, no agents, no new software on the cluster to review.

Plain SSH

Horus talks to SLURM the way you do. No agent, no daemon, no service account.

Your allocation

Institutional hours stay yours. Cloud is added where you want it.

your laptop
$ horus run docking.yaml
→ ssh login01.hpcconnected
→ stage receptor.pdb ligands.sdf2 files → /scratch/run-4f2a
→ sbatch dock.sbatchjob 81734 submitted
RUNNING docknode-g17
COMPLETED dockexit 0
← pull poses.sdf scores.csv2 files
✓ clean /scratch/run-4f2atemp files removed
0 agents installed
on the cluster. Horus speaks plain SSH.

Your containers

The Docker and Apptainer images your group already builds.

Your data

You choose which stage leaves the cluster, and which never does.

Hybrid, by default

You already pay for the infrastructure. Let Horus use 100% of it.

One workflow fills your workstation, your lab servers and your SLURM allocation to capacity. Only the work that does not fit spills over, to another machine of yours or to the cloud.

virtual-screening0 queued
run log
  1. $ horus run screening.yaml
  2. → map dock × 24workstation
  3. Full, spilling...lab-gpu
  4. Full, spilling...slurm
  5. Provisioning gpu node...cloud
  6. ✓ 24/24 placed0 idle
0 idle slots
on machines you already pay for, before the cloud starts.

Your machines, one pool

Workstations, lab servers and your SLURM allocation take items from the same workflow.

Filled, never oversubscribed

Each machine runs as many items as its capacity allows. Extra items wait for a free slot.

Spill only what is left

When a machine is full, work spills to the next one you allowed: another of yours, or the cloud.

Cloud, on demand

Machines that exist only while your run does

When a stage needs a GPU, Horus creates the machine as the run reaches it and destroys it when the run ends. You pay in tokens only while it exists.

virtual-screening
run log
  1. $ horus run screening.yaml
  2. → Ligand prepyour cluster
  3. Provisioning gpu node...Dock
  4. Node ready.Dock
  5. Provisioning gpu node...MD refine
  6. Node ready.MD refine
  7. → Scoreyour cluster
  8. ✓ Run completed
  9. Destroying node...Dock · MD refine
  10. Node destroyed.Dock · MD refine
0 machines left running
after the run ends. Billing stops when they are destroyed.

No cloud account

Horus creates the machine. You pick the CPUs, GPU and memory.

Mix with your cluster

Prep on SLURM, the GPU stage in the cloud, one workflow.

Nothing left running

Torn down when the run ends: success, failure or cancel.

Who it's for

One platform. Three people who stop waiting.

Head of R&D

More experiments from the team you have.

“Every new hypothesis needs an engineer first.”

  • More iterations with the same team, no new hires.
  • Traceability built in: trace any result back to its inputs, parameters and machine.
IT and HPC admins

Approve it once. Every team reuses it.

“Every new tool means a security review and a queue of tickets.”

  • Plain SSH and your existing allocation.
  • Workflows validated once, reused by every team.
Scientists

Launch it yourself.

“I wait on someone else, then move files by hand.”

  • Build in the visual builder, or add @task to a Python function.
  • Real-time status for every stage.
  • Pharma and biotech

    Sensitive stages in house, heavy compute outside. Run whole campaigns from one place.

  • CROs

    The same workflow on every client's infrastructure.

  • Research institutes and core facilities

    Self-service for every group. Put granted HPC hours to use.

Agents can launch and track real workflows through MCP, with full traceability.

Examples

Docking, molecular dynamics and protein design workflows, ready to run

34 documented pipelines. Each one shows which stage runs where, and why there.

  1. receptor.pdbinput · file
    ligands.smiinput · file
  2. Prepare receptor, ligands, boxlocal · Meeko
  3. Run AutoDock VinaVina · CPU
  4. Energy tableslocal · CPU
AutoDock Vina Docking: Prepare, dock and rank a ligand library against a receptor. Each stage runs on the hardware it needs.

horus-runtime: free and open source

The engine under Horus. Install it today. AGPL v3.

Join the SlackGitHub

Questions

Do I need to install anything on my cluster?

No. Horus connects over plain SSH and stages files itself. No Horus software is installed on the cluster.

Do my scientists need to know SLURM?

No. They build pipelines in the visual builder or with a Python @task decorator. Horus writes and submits the jobs.

Can one workflow use HPC and cloud GPUs?

Yes. Each stage declares its own resources, so every step runs on the hardware it needs: CPU, GPU, HPC or cloud.

Do I need my own cloud account?

No. For a stage you send to the cloud, such as a GPU stage, Horus creates the machine you specify when the run reaches it and destroys it when the run ends. You pay in Horus tokens only while it exists.

Is Horus open source?

The engine is. horus-runtime is on GitHub and PyPI under AGPL v3.

Can AI agents run workflows?

Yes. Horus exposes workflows over MCP, so agents can build, run and inspect them.

Run completed · 4/4

Your next result should not wait on infrastructure.

Open Horus and run your first workflow, or start with the open-source runtime today.

Open Horus