Data Channels Configuration
Overview
Section titled “Overview”Refgenieserver supports data channels - static files hosted by third-party providers that contain asset classes and recipes. Data channels are aggregated into a single unified interface, making it transparent to end users.
Configuration File
Section titled “Configuration File”Create a data_channels.yaml file to configure multiple data channels:
main: name: main protocol: https index_url: https://refgenie.github.io/recipes/index.yaml
custom_channel: name: custom_channel protocol: https index_url: https://example.com/my-recipes/index.yaml
dev: name: dev protocol: http index_url: http://localhost:8080/index.yamlConfiguration Parameters
Section titled “Configuration Parameters”- name: Channel identifier (cannot contain
__characters) - protocol:
httporhttps - index_url: URL to the channel’s
index.yamlfile
Environment Configuration
Section titled “Environment Configuration”Set the configuration file path via environment variable:
export DATA_CHANNELS_CONFIG_PATH="/path/to/your/data_channels.yaml"Default location: refgenieserver/data_channels.yaml
Data Channel Format
Section titled “Data Channel Format”Each data channel must expose an index.yaml file with this structure:
asset_class: dir: asset_classes files: - bowtie2_index_asset_class.yaml - bwa_index_asset_class.yaml - fasta_asset_class.yamlrecipe: dir: recipes files: - bowtie2_index_asset_recipe.yaml - bwa_index_asset_recipe.yaml - fasta_asset_recipe.yamlAPI Endpoints
Section titled “API Endpoints”GET /data_channels/- List all configured channelsGET /data_channels/index.yaml- Compiled index from all channelsGET /data_channels/{channel_name}__{filename}- Access files from specific channels
How It Works
Section titled “How It Works”- Refgenieserver loads all configured data channels at startup
- Creates an aggregated index combining all channel files
- Files are accessed using the format:
{channel_name}__{filename} - Requests are transparently redirected to the appropriate data channel URL