Core ConceptsNodes & Connections

Nodes & Connections

Everything in BioNodulo is built from two primitives: nodes and edges. Together they form a directed acyclic graph (DAG) that describes a complete analysis.

Nodes

A node is a single unit of computation — almost always a wrapper around a bioinformatics tool or a small operation. Each node has:

  • A label and category (for the palette).
  • Zero or more input ports, each with a name and a data type.
  • One or more output ports, also typed.
  • A set of parameters shown in the inspector panel.
  • Resource hints (RAM/CPU) used for scheduling.

Nodes are pure with respect to their inputs and parameters: given the same inputs and params, a node produces the same outputs. This is what makes workflows reproducible and checkpointing possible.

Node states during a run

StateColorMeaning
IdleGrayNot yet scheduled
QueuedYellowWaiting for upstream nodes / resources
RunningBlueExecuting now (logs streaming)
DoneGreenCompleted; outputs cached
FailedRedErrored; downstream nodes are blocked
SkippedDimReused a cached result from a checkpoint

Edges (connections)

An edge connects one node’s output port to another node’s input port. Edges carry typed data — a file path, a dataset handle, or a small value.

Rules enforced by the editor:

  • Type compatibility. You can only connect ports whose types match (or where a defined coercion exists). A BAM output won’t connect to a FASTQ input.
  • Acyclicity. Connections that would create a cycle are rejected — the graph must be a DAG.
  • Fan-out is allowed. One output can feed many inputs.
  • Fan-in depends on the port. Some input ports accept a single edge; others (e.g. a “merge” node) accept a list.

Building a graph

  1. Drag a node from the palette onto the canvas.
  2. Hover a node’s output port and drag to a compatible input port on another node. The edge snaps and turns green when valid.
  3. Select a node to edit its parameters in the inspector.
  4. Group related nodes, add comments, or collapse subgraphs to keep large pipelines readable.

Subgraphs & reuse

Frequently used sequences (e.g. align → sort → dedup) can be saved as a reusable subgraph and dropped in as a single composite node. Subgraphs keep large pipelines tidy and encourage standardization across a lab.

Next