Developer guide#

HorusAPI is the main interface that allows users, developers and researchers to create custom plugins, blocks and extensions for Horus.

Introduction#

The most fundamental element of Horus are Plugins, which are modules that add funcctionality to the app. Plugins contain Blocks, which represent a single task. Blocks can be configured to run arbitrary python code, thus allowing the user to create custom tasks. Examples of Blocks include PDB preparation, folder structure creation, submission of jobs to a cluster, unzipping files, etc. An index of all the Blocks that Horus implements by default can be found in the section Default Horus Plugin section.

Blocks can be connected to each other throught Variables and are meant to be run in a Flow. Any block can be run as a standalone task, but the real power of Horus comes from the ability to chain blocks together in a Flow.

Docking flow example

In addition to Flows, HorusAPI also has a feature called Extensions, which allows developers to build custom views to represent any data using standard web technologies such as HTML, CSS and Javascript.

Usage#

Getting started

SmilesAPI