Workbench
Workbench runs validated bioinformatics pipelines on your data. A pipeline is a directed graph of nodes — data readers, transforms, statistics, bioinformatics analyses, ecological models, ML, and visualizations. Pipelines run on an orchestration engine and produce versioned artifacts.
Workbench is reachable via MCP tools and a REST API. Runs are organization-scoped and role-controlled.
Run and monitor a pipeline
Over MCP — the primary path is a single tool, create_and_execute, which validates and runs a pipeline definition in one call. Poll get_execution_status, then fetch get_execution_results.
Over REST:
POST /workflow/api/v3/workflows # create a workflow
POST /workflow/api/v3/workflows/{id}/execute # run it
GET /workflow/api/v3/workflows/{id}/status
GET /workflow/api/v3/workflows/{id}/execution-status
GET /workflow/api/v3/workflows/{id}/tasks/{taskId}/output
POST /workflow/api/v3/workflows/{id}/stop # cancelExecution runs on a DAG-based orchestration engine generated from your workflow definition. Status, task outputs, logs, and execution history are all queryable.
Bring your own nodes
Publish custom nodes into your organization's catalog:
publish_python_node— publish raw Python (def execute(params)) as a reusable node.publish_custom_node— publish a Jupyter notebook (.ipynb) as a node.publish_model_node— publish a train/infer model script as a paired train + infer node.
Custom nodes are scoped to your organization and appear alongside the built-in catalog via list_custom_nodes / get_custom_node.
Skills
Skills are reusable procedural recipes — a named sequence of tool calls with a body an agent can follow. Manage them with list_skills, get_skill, start_skill_run, and create_skill. Skills are built-in or authored per organization.
Roles and isolation
Workbench is multi-tenant with organization-scoped, row-level isolation. Roles are seeded per deployment; the full set is:
ADMIN, USER, SCIENTIST, BIO_INFORMATICIAN, TEAM_LEAD, CORPORATE_EXECUTIVE, PLATFORM_ADMIN, OWNER, MEMBER, VIEWER, SERVICE
Non-administrators are confined to their own organization's workflows (cross-organization access returns 403); organization admins can act across their org; storage is isolated per organization. Service accounts use the SERVICE role for API-only access.
GraphMiner
GraphMiner (node graph_miner, category Machine Learning) extracts interpretable rules from Random Forests — it analyzes out-of-bag decision paths and feature-interaction networks to turn a trained forest into human-readable rules.
- Input: a tabular dataset (features + a label column).
- Key parameters:
label_column(required),ranking_method(pagerank|frequency, defaultpagerank),regularization(default0.005),n_trees(default100),expand_bounds(defaultfalse),n_jobs(default-1). - Outputs:
rules_summary,per_instance_rules, thetrained_model,diagnostics, and Sankeyvisualization_data.
GraphMiner runs as a pipeline node (type: "graph_miner") inside a workflow.
Node catalog
Workbench ships 55 validated nodes. Discover them at runtime with the list_nodes MCP tool (compact catalog) and get_node (full input/output/parameter schema for one node).
| id | Name | Category | Purpose |
|---|---|---|---|
aggregate_data |
Aggregate Data | Data Transform | Group/aggregate with 20+ aggregation functions |
bar_chart |
Bar Chart | Visualization | Grouped/stacked bar charts |
bio_bakery_16s |
BioBakery 16S | Bioinformatics Analysis | 16S amplicon analysis; alpha/beta diversity from an OTU/ASV table |
bio_bakery_statistics |
BioBakery Statistics | Bioinformatics Analysis | PERMANOVA, LEfSe-like differential abundance, Mantel, diversity |
bio_bakery_visualization |
BioBakery Visualization | Bioinformatics Visualization | Taxonomy bar plots, pathway heatmaps, abundance charts |
bio_bakery_wmgx |
BioBakery WMGX | Bioinformatics Analysis | Whole-metagenome shotgun: fastp QC, MetaPhlAn, HUMAnN |
biom_reader |
BIOM Reader | Bioinformatics Input | Read BIOM 1.0 JSON / 2.x HDF5 into a tabular abundance table |
box_plot |
Box Plot | Visualization | Box plots across groups |
column_selector |
Column Selector | Data Transform | Select, rename, or reorder columns |
conditional_branch |
Conditional Branch | Control Flow | Route data by if/else conditions |
correlation_analysis |
Correlation Analysis | Statistics | Correlation matrices with significance testing |
cost_estimator |
Study Cost Estimator | Bioinformatics Analysis | Estimate sequencing + analysis cost of a study |
database_query |
Database Query | Data Source | Read-only SQL on a configured connection |
differential_expression |
Differential Expression | Bioinformatics | Differential expression between two sample groups |
diversity_analysis |
Diversity Analysis | Bioinformatics Analysis | Alpha/beta diversity (optional rarefaction) |
dkg_bundle_load |
DKG Bundle Load | Ecological Modeling | Load/validate a committed DKG tier bundle |
export_document |
Export Report Document | Export | Generate PDF/Word reports from narrative sections |
expression_matrix_reader |
Expression Matrix Reader | Bioinformatics Input | Read expression matrices (GCT, TSV, CSV) |
fasta_reader |
FASTA Reader | Bioinformatics Input | Read FASTA sequences |
fastq_qc |
FASTQ Quality Control | Bioinformatics Analysis | Adapter trimming + quality/length/N filtering |
fastq_reader |
FASTQ Reader | Bioinformatics Input | Read FASTQ with quality scores |
filter_rows |
Filter Rows | Data Transform | Filter rows by column conditions |
gene_expression_analysis |
Gene Expression Analysis | Bioinformatics | Normalization, transform, DE, PCA, clustering, QC |
glv_calibration |
gLV Calibration | Simulation | Fit a generalized Lotka-Volterra matrix from abundance |
glv_ecosystem |
gLV Ecosystem Simulation | Bioinformatics Analysis | Community dynamics via gLV ODE + perturbation + Monte Carlo |
glv_simulation |
gLV Simulation | Simulation | Perturbation on a pre-calibrated gLV matrix |
graph_miner |
GraphMiner | Machine Learning | Interpretable rules from Random Forests |
guild_ecology |
Guild Ecology | Ecological Modeling | Binary- vs CLR-tier co-occurrence per guild |
heatmap |
Heatmap | Visualization | Heatmaps with optional clustering |
join_datasets |
Join Datasets | Data Transform | INNER/LEFT/RIGHT/OUTER/CROSS/SEMI/ANTI joins |
line_chart |
Line Chart | Visualization | Line charts for time series / continuous data |
merge_node |
Merge | Control Flow | Merge data from multiple branches |
missing_value_handler |
Missing Value Handler | Data Transform | Impute missing values (incl. interpolation) |
network_inference |
Network Inference | Ecological Modeling | Signed taxon–taxon network; communities, centrality, edges |
network_viz |
Network Visualization | Ecological Modeling | Render network / DKG figures |
normalization |
Data Normalization | Data Transform | Scale numeric columns for ML prep |
otu_clustering |
OTU/ASV Clustering | Bioinformatics Analysis | Cluster amplicon sequences into OTUs / dereplicate ASVs |
pathway_enrichment |
Pathway Enrichment | Bioinformatics | Pathway enrichment (GO, KEGG, Reactome) |
pca_analysis |
PCA Analysis | Statistics | PCA with scree plot, biplot, diagnostics |
perturbation_predictor |
Community Perturbation Predictor | Bioinformatics Analysis | Predict cascading abundance changes on add/remove |
phylogenetic_tree |
Phylogenetic Tree Builder | Bioinformatics Analysis | Build a phylogenetic tree (Newick) from sequences |
power_analysis |
Microbiome Power Analysis | Bioinformatics Analysis | PERMANOVA-based sample-size / power via Monte Carlo |
render_figures |
Render Publication Figures | Visualization | Journal-styled publication figures |
representation_transform |
Representation Transform | Ecological Modeling | Transform abundance to binary / log1p / CLR |
scatter_plot |
Scatter Plot | Visualization | Scatter plots for correlation |
sequence_alignment |
Sequence Alignment | Bioinformatics | Needleman-Wunsch / Smith-Waterman / progressive MSA |
sequencing_depth |
Sequencing Depth Estimator | Bioinformatics Analysis | Recommend minimum sequencing depth |
statistical_summary |
Statistical Summary | Statistics | Summary statistics incl. outliers, confidence intervals |
switch_node |
Switch | Control Flow | Multi-way branch on a column value |
tabular_data_reader |
Tabular Data Reader | File Input | Read CSV/TSV/Excel (auto-detected) |
tabular_data_writer |
Tabular Data Writer | File Output | Write CSV/TSV/Excel (auto-detected) |
taxon_intervention_profile |
Taxon Intervention Profile | Ecological Modeling | Per-taxon intervention summary from a network envelope |
taxonomic_classification |
Taxonomic Classification | Bioinformatics Analysis | K-mer classification vs SILVA/GreenGenes/UNITE |
taxonomic_comparative_summary |
Taxonomic Comparative Summary | Bioinformatics Analysis | Comparative summary across samples (prevalence, core taxa) |
volcano_plot |
Volcano Plot | Visualization | Volcano plot: fold change vs significance |