Adding Tools
How to add and register tools with BioContext7
Overview
BioContext7 discovers tools automatically from bio.tools, nf-core, and Bioconda. You can also
register custom tools using a biocontext7.json manifest file.
The biocontext7.json Manifest
Create a biocontext7.json file in your tool's root directory:
Manifest Fields
| Field | Required | Description |
|---|---|---|
name | Yes | Unique tool identifier |
version | Yes | Semantic version string |
description | Yes | Short description of the tool |
operations | Yes | EDAM operation URIs |
topics | No | EDAM topic URIs |
inputs | Yes | Input data types and formats (EDAM) |
outputs | Yes | Output data types and formats (EDAM) |
container | No | Docker/Singularity image references |
command | No | Command template with {input} / {output} placeholders |
documentation | No | URL to tool documentation |
EDAM Ontology Terms
Use EDAM terms to describe your tool's operations, topics, and data types. You can look up terms using the CLI:
Register a Custom Tool
Register via Python API
Tool Discovery Pipeline
When BioContext7 resolves tools for a pipeline, it searches in order:
- Local registry — custom tools registered via
biocontext7.json - nf-core modules — community-curated Nextflow modules (if
prefer_nfcoreis enabled) - bio.tools — 25,000+ tools with EDAM semantic matching
- BioContainers — container image resolution for reproducibility