BioContext7

Private Registries

Connect BioContext7 to private and institutional tool registries

Overview

BioContext7 can connect to private tool registries in addition to the public bio.tools index. This is useful for institutional tools, proprietary pipelines, or tools under development.

Configure a Private Registry

Add a private registry to ~/.biocontext7/config.yaml:

registries:
  - name: my-institution
    type: biotools
    url: https://tools.my-institution.org/api
    auth:
      type: api_key
      key_env: MY_REGISTRY_API_KEY
  - name: internal-tools
    type: manifest
    path: /shared/biotools/manifests/

Registry Types

bio.tools Compatible

Connect to any bio.tools API-compatible registry:

registries:
  - name: elixir-be
    type: biotools
    url: https://bio.tools/api
    filters:
      collection: "ELIXIR-BE"

Manifest Directory

Point to a directory of biocontext7.json manifest files:

registries:
  - name: lab-tools
    type: manifest
    path: /lab/shared/tools/

Git Repository

Pull tool manifests from a Git repository:

registries:
  - name: team-tools
    type: git
    url: https://github.com/my-org/tool-registry.git
    branch: main
    path: manifests/

Authentication

API Key

auth:
  type: api_key
  key_env: MY_REGISTRY_API_KEY  # reads from environment variable

OAuth Token

auth:
  type: oauth
  provider: github  # uses stored OAuth token

Basic Auth

auth:
  type: basic
  username_env: REGISTRY_USER
  password_env: REGISTRY_PASS

Registry Priority

When multiple registries contain the same tool, BioContext7 uses this priority order:

  1. Local manifests (registered via bc7 register)
  2. Private registries (in config order)
  3. nf-core modules
  4. bio.tools public index

Sync Private Registries

# Sync all registries
bc7 sync all
 
# Sync a specific registry
bc7 sync my-institution
 
# Check sync status
bc7 sync status

On this page