
Tooluniverse
- 41 installs
- 16 repo stars
- Updated November 20, 2025
- jackspace/claudeskillz
Discover and compose 600+ scientific tools, datasets, and APIs into LLM research workflows across bioinformatics and drug discovery.
About
ToolUniverse provides access to 600+ scientific tools, datasets, and APIs for LLM research workflows. Developers use it for tool discovery and composing multi-step pipelines across genomics, cheminformatics, and drug discovery.
- 600+ tools including databases like OpenTargets, PubChem, and ChEMBL
- Composes multi-step scientific pipelines for LLM workflows
Tooluniverse by the numbers
- 41 all-time installs (skills.sh)
- Ranked #8,067 of 16,556 AI & Agent Building skills by installs in the Skillselion catalog
- Data as of Aug 2, 2026 (Skillselion catalog sync)
npx skills add https://github.com/jackspace/claudeskillz --skill tooluniverseAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 41 |
|---|---|
| repo stars | ★ 16 |
| Last updated | November 20, 2025 |
| Repository | jackspace/claudeskillz ↗ |
What it does
Discover and compose 600+ scientific tools, datasets, and APIs into LLM research workflows across bioinformatics and drug discovery.
Files
ToolUniverse
Overview
ToolUniverse is a unified ecosystem that enables AI agents to function as research scientists by providing standardized access to 600+ scientific resources. Use this skill to discover, execute, and compose scientific tools across multiple research domains including bioinformatics, cheminformatics, genomics, structural biology, proteomics, and drug discovery.
Key Capabilities:
- Access 600+ scientific tools, models, datasets, and APIs
- Discover tools using natural language, semantic search, or keywords
- Execute tools through standardized AI-Tool Interaction Protocol
- Compose multi-step workflows for complex research problems
- Integration with Claude Desktop/Code via Model Context Protocol (MCP)
When to Use This Skill
Use this skill when:
- Searching for scientific tools by function or domain (e.g., "find protein structure prediction tools")
- Executing computational biology workflows (e.g., disease target identification, drug discovery, genomics analysis)
- Accessing scientific databases (OpenTargets, PubChem, UniProt, PDB, ChEMBL, KEGG, etc.)
- Composing multi-step research pipelines (e.g., target discovery → structure prediction → virtual screening)
- Working with bioinformatics, cheminformatics, or structural biology tasks
- Analyzing gene expression, protein sequences, molecular structures, or clinical data
- Performing literature searches, pathway enrichment, or variant annotation
- Building automated scientific research workflows
Quick Start
Basic Setup
from tooluniverse import ToolUniverse
# Initialize and load tools
tu = ToolUniverse()
tu.load_tools() # Loads 600+ scientific tools
# Discover tools
tools = tu.run({
"name": "Tool_Finder_Keyword",
"arguments": {
"description": "disease target associations",
"limit": 10
}
})
# Execute a tool
result = tu.run({
"name": "OpenTargets_get_associated_targets_by_disease_efoId",
"arguments": {"efoId": "EFO_0000537"} # Hypertension
})Model Context Protocol (MCP)
For Claude Desktop/Code integration:
tooluniverse-smcpCore Workflows
1. Tool Discovery
Find relevant tools for your research task:
Three discovery methods:
Tool_Finder- Embedding-based semantic search (requires GPU)Tool_Finder_LLM- LLM-based semantic search (no GPU required)Tool_Finder_Keyword- Fast keyword search
Example:
# Search by natural language description
tools = tu.run({
"name": "Tool_Finder_LLM",
"arguments": {
"description": "Find tools for RNA sequencing differential expression analysis",
"limit": 10
}
})
# Review available tools
for tool in tools:
print(f"{tool['name']}: {tool['description']}")See `references/tool-discovery.md` for:
- Detailed discovery methods and search strategies
- Domain-specific keyword suggestions
- Best practices for finding tools
2. Tool Execution
Execute individual tools through the standardized interface:
Example:
# Execute disease-target lookup
targets = tu.run({
"name": "OpenTargets_get_associated_targets_by_disease_efoId",
"arguments": {"efoId": "EFO_0000616"} # Breast cancer
})
# Get protein structure
structure = tu.run({
"name": "AlphaFold_get_structure",
"arguments": {"uniprot_id": "P12345"}
})
# Calculate molecular properties
properties = tu.run({
"name": "RDKit_calculate_descriptors",
"arguments": {"smiles": "CCO"} # Ethanol
})See `references/tool-execution.md` for:
- Real-world execution examples across domains
- Tool parameter handling and validation
- Result processing and error handling
- Best practices for production use
3. Tool Composition and Workflows
Compose multiple tools for complex research workflows:
Drug Discovery Example:
# 1. Find disease targets
targets = tu.run({
"name": "OpenTargets_get_associated_targets_by_disease_efoId",
"arguments": {"efoId": "EFO_0000616"}
})
# 2. Get protein structures
structures = []
for target in targets[:5]:
structure = tu.run({
"name": "AlphaFold_get_structure",
"arguments": {"uniprot_id": target['uniprot_id']}
})
structures.append(structure)
# 3. Screen compounds
hits = []
for structure in structures:
compounds = tu.run({
"name": "ZINC_virtual_screening",
"arguments": {
"structure": structure,
"library": "lead-like",
"top_n": 100
}
})
hits.extend(compounds)
# 4. Evaluate drug-likeness
drug_candidates = []
for compound in hits:
props = tu.run({
"name": "RDKit_calculate_drug_properties",
"arguments": {"smiles": compound['smiles']}
})
if props['lipinski_pass']:
drug_candidates.append(compound)See `references/tool-composition.md` for:
- Complete workflow examples (drug discovery, genomics, clinical)
- Sequential and parallel tool composition patterns
- Output processing hooks
- Workflow best practices
Scientific Domains
ToolUniverse supports 600+ tools across major scientific domains:
Bioinformatics:
- Sequence analysis, alignment, BLAST
- Gene expression (RNA-seq, DESeq2)
- Pathway enrichment (KEGG, Reactome, GO)
- Variant annotation (VEP, ClinVar)
Cheminformatics:
- Molecular descriptors and fingerprints
- Drug discovery and virtual screening
- ADMET prediction and drug-likeness
- Chemical databases (PubChem, ChEMBL, ZINC)
Structural Biology:
- Protein structure prediction (AlphaFold)
- Structure retrieval (PDB)
- Binding site detection
- Protein-protein interactions
Proteomics:
- Mass spectrometry analysis
- Protein databases (UniProt, STRING)
- Post-translational modifications
Genomics:
- Genome assembly and annotation
- Copy number variation
- Clinical genomics workflows
Medical/Clinical:
- Disease databases (OpenTargets, OMIM)
- Clinical trials and FDA data
- Variant classification
See `references/domains.md` for:
- Complete domain categorization
- Tool examples by discipline
- Cross-domain applications
- Search strategies by domain
Reference Documentation
This skill includes comprehensive reference files that provide detailed information for specific aspects:
- `references/installation.md` - Installation, setup, MCP configuration, platform integration
- `references/tool-discovery.md` - Discovery methods, search strategies, listing tools
- `references/tool-execution.md` - Execution patterns, real-world examples, error handling
- `references/tool-composition.md` - Workflow composition, complex pipelines, parallel execution
- `references/domains.md` - Tool categorization by domain, use case examples
- `references/api_reference.md` - Python API documentation, hooks, protocols
Workflow: When helping with specific tasks, reference the appropriate file for detailed instructions. For example, if searching for tools, consult references/tool-discovery.md for search strategies.
Example Scripts
Two executable example scripts demonstrate common use cases:
`scripts/example_tool_search.py` - Demonstrates all three discovery methods:
- Keyword-based search
- LLM-based search
- Domain-specific searches
- Getting detailed tool information
`scripts/example_workflow.py` - Complete workflow examples:
- Drug discovery pipeline (disease → targets → structures → screening → candidates)
- Genomics analysis (expression data → differential analysis → pathways)
Run examples to understand typical usage patterns and workflow composition.
Best Practices
1. Tool Discovery:
- Start with broad searches, then refine based on results
- Use
Tool_Finder_Keywordfor fast searches with known terms - Use
Tool_Finder_LLMfor complex semantic queries - Set appropriate
limitparameter (default: 10)
2. Tool Execution:
- Always verify tool parameters before execution
- Implement error handling for production workflows
- Validate input data formats (SMILES, UniProt IDs, gene symbols)
- Check result types and structures
3. Workflow Composition:
- Test each step individually before composing full workflows
- Implement checkpointing for long workflows
- Consider rate limits for remote APIs
- Use parallel execution when tools are independent
4. Integration:
- Initialize ToolUniverse once and reuse the instance
- Call
load_tools()once at startup - Cache frequently used tool information
- Enable logging for debugging
Key Terminology
- Tool: A scientific resource (model, dataset, API, package) accessible through ToolUniverse
- Tool Discovery: Finding relevant tools using search methods (Finder, LLM, Keyword)
- Tool Execution: Running a tool with specific arguments via
tu.run() - Tool Composition: Chaining multiple tools for multi-step workflows
- MCP: Model Context Protocol for integration with Claude Desktop/Code
- AI-Tool Interaction Protocol: Standardized interface for LLM-tool communication
Resources
- Official Website: https://aiscientist.tools
- GitHub: https://github.com/mims-harvard/ToolUniverse
- Documentation: https://zitniklab.hms.harvard.edu/ToolUniverse/
- Installation:
uv pip install tooluniverse - MCP Server:
tooluniverse-smcp
{
"description": "Use this skill when working with scientific research tools and workflows across bioinformatics, cheminformatics, genomics, structural biology, proteomics, and drug discovery. This skill provides access to 600+ scientific tools including machine learning models, datasets, APIs, and analysis packages. Use when searching for scientific tools, executing computational biology workflows, composing multi-step research pipelines, accessing databases like OpenTargets/PubChem/UniProt/PDB/ChEMBL, performing tool discovery for research tasks, or integrating scientific computational resources into LLM workflows.",
"references": {
"files": [
"references/api_reference.md",
"references/domains.md",
"references/installation.md",
"references/tool-composition.md",
"references/tool-discovery.md",
"references/tool-execution.md"
]
},
"content": "### Basic Setup\r\n```python\r\nfrom tooluniverse import ToolUniverse\r\n\r\ntu = ToolUniverse()\r\ntu.load_tools() # Loads 600+ scientific tools\r\n\r\ntools = tu.run({\r\n \"name\": \"Tool_Finder_Keyword\",\r\n \"arguments\": {\r\n \"description\": \"disease target associations\",\r\n \"limit\": 10\r\n }\r\n})\r\n\r\n\r\n### 1. Tool Discovery\r\n\r\nFind relevant tools for your research task:\r\n\r\n**Three discovery methods:**\r\n- `Tool_Finder` - Embedding-based semantic search (requires GPU)\r\n- `Tool_Finder_LLM` - LLM-based semantic search (no GPU required)\r\n- `Tool_Finder_Keyword` - Fast keyword search\r\n\r\n**Example:**\r\n```python\r\ntools = tu.run({\r\n \"name\": \"Tool_Finder_LLM\",\r\n \"arguments\": {\r\n \"description\": \"Find tools for RNA sequencing differential expression analysis\",\r\n \"limit\": 10\r\n }\r\n})\r\n\r\nfor tool in tools:\r\n print(f\"{tool['name']}: {tool['description']}\")\r\n```\r\n\r\n**See `references/tool-discovery.md` for:**\r\n- Detailed discovery methods and search strategies\r\n- Domain-specific keyword suggestions\r\n- Best practices for finding tools\r\n\r\n### 2. Tool Execution\r\n\r\nExecute individual tools through the standardized interface:\r\n\r\n**Example:**\r\n```python\r\ntargets = tu.run({\r\n \"name\": \"OpenTargets_get_associated_targets_by_disease_efoId\",\r\n \"arguments\": {\"efoId\": \"EFO_0000616\"} # Breast cancer\r\n})\r\n\r\nstructure = tu.run({\r\n \"name\": \"AlphaFold_get_structure\",\r\n \"arguments\": {\"uniprot_id\": \"P12345\"}\r\n})\r\n\r\nproperties = tu.run({\r\n \"name\": \"RDKit_calculate_descriptors\",\r\n \"arguments\": {\"smiles\": \"CCO\"} # Ethanol\r\n})\r\n```\r\n\r\n**See `references/tool-execution.md` for:**\r\n- Real-world execution examples across domains\r\n- Tool parameter handling and validation\r\n- Result processing and error handling\r\n- Best practices for production use\r\n\r\n### 3. Tool Composition and Workflows\r\n\r\nCompose multiple tools for complex research workflows:\r\n\r\n**Drug Discovery Example:**\r\n```python\r\ntargets = tu.run({\r\n \"name\": \"OpenTargets_get_associated_targets_by_disease_efoId\",\r\n \"arguments\": {\"efoId\": \"EFO_0000616\"}\r\n})\r\n\r\nstructures = []\r\nfor target in targets[:5]:\r\n structure = tu.run({\r\n \"name\": \"AlphaFold_get_structure\",\r\n \"arguments\": {\"uniprot_id\": target['uniprot_id']}\r\n })\r\n structures.append(structure)\r\n\r\nhits = []\r\nfor structure in structures:\r\n compounds = tu.run({\r\n \"name\": \"ZINC_virtual_screening\",\r\n \"arguments\": {\r\n \"structure\": structure,\r\n \"library\": \"lead-like\",\r\n \"top_n\": 100\r\n }\r\n })\r\n hits.extend(compounds)",
"name": "tooluniverse",
"id": "scientific-pkg-tooluniverse",
"sections": {
"Scientific Domains": "ToolUniverse supports 600+ tools across major scientific domains:\r\n\r\n**Bioinformatics:**\r\n- Sequence analysis, alignment, BLAST\r\n- Gene expression (RNA-seq, DESeq2)\r\n- Pathway enrichment (KEGG, Reactome, GO)\r\n- Variant annotation (VEP, ClinVar)\r\n\r\n**Cheminformatics:**\r\n- Molecular descriptors and fingerprints\r\n- Drug discovery and virtual screening\r\n- ADMET prediction and drug-likeness\r\n- Chemical databases (PubChem, ChEMBL, ZINC)\r\n\r\n**Structural Biology:**\r\n- Protein structure prediction (AlphaFold)\r\n- Structure retrieval (PDB)\r\n- Binding site detection\r\n- Protein-protein interactions\r\n\r\n**Proteomics:**\r\n- Mass spectrometry analysis\r\n- Protein databases (UniProt, STRING)\r\n- Post-translational modifications\r\n\r\n**Genomics:**\r\n- Genome assembly and annotation\r\n- Copy number variation\r\n- Clinical genomics workflows\r\n\r\n**Medical/Clinical:**\r\n- Disease databases (OpenTargets, OMIM)\r\n- Clinical trials and FDA data\r\n- Variant classification\r\n\r\n**See `references/domains.md` for:**\r\n- Complete domain categorization\r\n- Tool examples by discipline\r\n- Cross-domain applications\r\n- Search strategies by domain",
"Reference Documentation": "This skill includes comprehensive reference files that provide detailed information for specific aspects:\r\n\r\n- **`references/installation.md`** - Installation, setup, MCP configuration, platform integration\r\n- **`references/tool-discovery.md`** - Discovery methods, search strategies, listing tools\r\n- **`references/tool-execution.md`** - Execution patterns, real-world examples, error handling\r\n- **`references/tool-composition.md`** - Workflow composition, complex pipelines, parallel execution\r\n- **`references/domains.md`** - Tool categorization by domain, use case examples\r\n- **`references/api_reference.md`** - Python API documentation, hooks, protocols\r\n\r\n**Workflow:** When helping with specific tasks, reference the appropriate file for detailed instructions. For example, if searching for tools, consult `references/tool-discovery.md` for search strategies.",
"Example Scripts": "Two executable example scripts demonstrate common use cases:\r\n\r\n**`scripts/example_tool_search.py`** - Demonstrates all three discovery methods:\r\n- Keyword-based search\r\n- LLM-based search\r\n- Domain-specific searches\r\n- Getting detailed tool information\r\n\r\n**`scripts/example_workflow.py`** - Complete workflow examples:\r\n- Drug discovery pipeline (disease → targets → structures → screening → candidates)\r\n- Genomics analysis (expression data → differential analysis → pathways)\r\n\r\nRun examples to understand typical usage patterns and workflow composition.",
"Overview": "ToolUniverse is a unified ecosystem that enables AI agents to function as research scientists by providing standardized access to 600+ scientific resources. Use this skill to discover, execute, and compose scientific tools across multiple research domains including bioinformatics, cheminformatics, genomics, structural biology, proteomics, and drug discovery.\r\n\r\n**Key Capabilities:**\r\n- Access 600+ scientific tools, models, datasets, and APIs\r\n- Discover tools using natural language, semantic search, or keywords\r\n- Execute tools through standardized AI-Tool Interaction Protocol\r\n- Compose multi-step workflows for complex research problems\r\n- Integration with Claude Desktop/Code via Model Context Protocol (MCP)",
"Core Workflows": "drug_candidates = []\r\nfor compound in hits:\r\n props = tu.run({\r\n \"name\": \"RDKit_calculate_drug_properties\",\r\n \"arguments\": {\"smiles\": compound['smiles']}\r\n })\r\n if props['lipinski_pass']:\r\n drug_candidates.append(compound)\r\n```\r\n\r\n**See `references/tool-composition.md` for:**\r\n- Complete workflow examples (drug discovery, genomics, clinical)\r\n- Sequential and parallel tool composition patterns\r\n- Output processing hooks\r\n- Workflow best practices",
"Key Terminology": "- **Tool**: A scientific resource (model, dataset, API, package) accessible through ToolUniverse\r\n- **Tool Discovery**: Finding relevant tools using search methods (Finder, LLM, Keyword)\r\n- **Tool Execution**: Running a tool with specific arguments via `tu.run()`\r\n- **Tool Composition**: Chaining multiple tools for multi-step workflows\r\n- **MCP**: Model Context Protocol for integration with Claude Desktop/Code\r\n- **AI-Tool Interaction Protocol**: Standardized interface for LLM-tool communication",
"When to Use This Skill": "Use this skill when:\r\n- Searching for scientific tools by function or domain (e.g., \"find protein structure prediction tools\")\r\n- Executing computational biology workflows (e.g., disease target identification, drug discovery, genomics analysis)\r\n- Accessing scientific databases (OpenTargets, PubChem, UniProt, PDB, ChEMBL, KEGG, etc.)\r\n- Composing multi-step research pipelines (e.g., target discovery → structure prediction → virtual screening)\r\n- Working with bioinformatics, cheminformatics, or structural biology tasks\r\n- Analyzing gene expression, protein sequences, molecular structures, or clinical data\r\n- Performing literature searches, pathway enrichment, or variant annotation\r\n- Building automated scientific research workflows",
"Resources": "- **Official Website**: https://aiscientist.tools\r\n- **GitHub**: https://github.com/mims-harvard/ToolUniverse\r\n- **Documentation**: https://zitniklab.hms.harvard.edu/ToolUniverse/\r\n- **Installation**: `uv pip install tooluniverse`\r\n- **MCP Server**: `tooluniverse-smcp`",
"Best Practices": "1. **Tool Discovery:**\r\n - Start with broad searches, then refine based on results\r\n - Use `Tool_Finder_Keyword` for fast searches with known terms\r\n - Use `Tool_Finder_LLM` for complex semantic queries\r\n - Set appropriate `limit` parameter (default: 10)\r\n\r\n2. **Tool Execution:**\r\n - Always verify tool parameters before execution\r\n - Implement error handling for production workflows\r\n - Validate input data formats (SMILES, UniProt IDs, gene symbols)\r\n - Check result types and structures\r\n\r\n3. **Workflow Composition:**\r\n - Test each step individually before composing full workflows\r\n - Implement checkpointing for long workflows\r\n - Consider rate limits for remote APIs\r\n - Use parallel execution when tools are independent\r\n\r\n4. **Integration:**\r\n - Initialize ToolUniverse once and reuse the instance\r\n - Call `load_tools()` once at startup\r\n - Cache frequently used tool information\r\n - Enable logging for debugging",
"Quick Start": "result = tu.run({\r\n \"name\": \"OpenTargets_get_associated_targets_by_disease_efoId\",\r\n \"arguments\": {\"efoId\": \"EFO_0000537\"} # Hypertension\r\n})\r\n```\r\n\r\n### Model Context Protocol (MCP)\r\nFor Claude Desktop/Code integration:\r\n```bash\r\ntooluniverse-smcp\r\n```"
}
}---
name: tooluniverse
description: Use this skill when working with scientific research tools and workflows across bioinformatics, cheminformatics, genomics, structural biology, proteomics, and drug discovery. This skill provides access to 600+ scientific tools including machine learning models, datasets, APIs, and analysis packages. Use when searching for scientific tools, executing computational biology workflows, composing multi-step research pipelines, accessing databases like OpenTargets/PubChem/UniProt/PDB/ChEMBL, performing tool discovery for research tasks, or integrating scientific computational resources into LLM workflows.
---
# ToolUniverse
## Overview
ToolUniverse is a unified ecosystem that enables AI agents to function as research scientists by providing standardized access to 600+ scientific resources. Use this skill to discover, execute, and compose scientific tools across multiple research domains including bioinformatics, cheminformatics, genomics, structural biology, proteomics, and drug discovery.
**Key Capabilities:**
- Access 600+ scientific tools, models, datasets, and APIs
- Discover tools using natural language, semantic search, or keywords
- Execute tools through standardized AI-Tool Interaction Protocol
- Compose multi-step workflows for complex research problems
- Integration with Claude Desktop/Code via Model Context Protocol (MCP)
## When to Use This Skill
Use this skill when:
- Searching for scientific tools by function or domain (e.g., "find protein structure prediction tools")
- Executing computational biology workflows (e.g., disease target identification, drug discovery, genomics analysis)
- Accessing scientific databases (OpenTargets, PubChem, UniProt, PDB, ChEMBL, KEGG, etc.)
- Composing multi-step research pipelines (e.g., target discovery → structure prediction → virtual screening)
- Working with bioinformatics, cheminformatics, or structural biology tasks
- Analyzing gene expression, protein sequences, molecular structures, or clinical data
- Performing literature searches, pathway enrichment, or variant annotation
- Building automated scientific research workflows
## Quick Start
### Basic Setup
```python
from tooluniverse import ToolUniverse
# Initialize and load tools
tu = ToolUniverse()
tu.load_tools() # Loads 600+ scientific tools
# Discover tools
tools = tu.run({
"name": "Tool_Finder_Keyword",
"arguments": {
"description": "disease target associations",
"limit": 10
}
})
# Execute a tool
result = tu.run({
"name": "OpenTargets_get_associated_targets_by_disease_efoId",
"arguments": {"efoId": "EFO_0000537"} # Hypertension
})
```
### Model Context Protocol (MCP)
For Claude Desktop/Code integration:
```bash
tooluniverse-smcp
```
## Core Workflows
### 1. Tool Discovery
Find relevant tools for your research task:
**Three discovery methods:**
- `Tool_Finder` - Embedding-based semantic search (requires GPU)
- `Tool_Finder_LLM` - LLM-based semantic search (no GPU required)
- `Tool_Finder_Keyword` - Fast keyword search
**Example:**
```python
# Search by natural language description
tools = tu.run({
"name": "Tool_Finder_LLM",
"arguments": {
"description": "Find tools for RNA sequencing differential expression analysis",
"limit": 10
}
})
# Review available tools
for tool in tools:
print(f"{tool['name']}: {tool['description']}")
```
**See `references/tool-discovery.md` for:**
- Detailed discovery methods and search strategies
- Domain-specific keyword suggestions
- Best practices for finding tools
### 2. Tool Execution
Execute individual tools through the standardized interface:
**Example:**
```python
# Execute disease-target lookup
targets = tu.run({
"name": "OpenTargets_get_associated_targets_by_disease_efoId",
"arguments": {"efoId": "EFO_0000616"} # Breast cancer
})
# Get protein structure
structure = tu.run({
"name": "AlphaFold_get_structure",
"arguments": {"uniprot_id": "P12345"}
})
# Calculate molecular properties
properties = tu.run({
"name": "RDKit_calculate_descriptors",
"arguments": {"smiles": "CCO"} # Ethanol
})
```
**See `references/tool-execution.md` for:**
- Real-world execution examples across domains
- Tool parameter handling and validation
- Result processing and error handling
- Best practices for production use
### 3. Tool Composition and Workflows
Compose multiple tools for complex research workflows:
**Drug Discovery Example:**
```python
# 1. Find disease targets
targets = tu.run({
"name": "OpenTargets_get_associated_targets_by_disease_efoId",
"arguments": {"efoId": "EFO_0000616"}
})
# 2. Get protein structures
structures = []
for target in targets[:5]:
structure = tu.run({
"name": "AlphaFold_get_structure",
"arguments": {"uniprot_id": target['uniprot_id']}
})
structures.append(structure)
# 3. Screen compounds
hits = []
for structure in structures:
compounds = tu.run({
"name": "ZINC_virtual_screening",
"arguments": {
"structure": structure,
"library": "lead-like",
"top_n": 100
}
})
hits.extend(compounds)
# 4. Evaluate drug-likeness
drug_candidates = []
for compound in hits:
props = tu.run({
"name": "RDKit_calculate_drug_properties",
"arguments": {"smiles": compound['smiles']}
})
if props['lipinski_pass']:
drug_candidates.append(compound)
```
**See `references/tool-composition.md` for:**
- Complete workflow examples (drug discovery, genomics, clinical)
- Sequential and parallel tool composition patterns
- Output processing hooks
- Workflow best practices
## Scientific Domains
ToolUniverse supports 600+ tools across major scientific domains:
**Bioinformatics:**
- Sequence analysis, alignment, BLAST
- Gene expression (RNA-seq, DESeq2)
- Pathway enrichment (KEGG, Reactome, GO)
- Variant annotation (VEP, ClinVar)
**Cheminformatics:**
- Molecular descriptors and fingerprints
- Drug discovery and virtual screening
- ADMET prediction and drug-likeness
- Chemical databases (PubChem, ChEMBL, ZINC)
**Structural Biology:**
- Protein structure prediction (AlphaFold)
- Structure retrieval (PDB)
- Binding site detection
- Protein-protein interactions
**Proteomics:**
- Mass spectrometry analysis
- Protein databases (UniProt, STRING)
- Post-translational modifications
**Genomics:**
- Genome assembly and annotation
- Copy number variation
- Clinical genomics workflows
**Medical/Clinical:**
- Disease databases (OpenTargets, OMIM)
- Clinical trials and FDA data
- Variant classification
**See `references/domains.md` for:**
- Complete domain categorization
- Tool examples by discipline
- Cross-domain applications
- Search strategies by domain
## Reference Documentation
This skill includes comprehensive reference files that provide detailed information for specific aspects:
- **`references/installation.md`** - Installation, setup, MCP configuration, platform integration
- **`references/tool-discovery.md`** - Discovery methods, search strategies, listing tools
- **`references/tool-execution.md`** - Execution patterns, real-world examples, error handling
- **`references/tool-composition.md`** - Workflow composition, complex pipelines, parallel execution
- **`references/domains.md`** - Tool categorization by domain, use case examples
- **`references/api_reference.md`** - Python API documentation, hooks, protocols
**Workflow:** When helping with specific tasks, reference the appropriate file for detailed instructions. For example, if searching for tools, consult `references/tool-discovery.md` for search strategies.
## Example Scripts
Two executable example scripts demonstrate common use cases:
**`scripts/example_tool_search.py`** - Demonstrates all three discovery methods:
- Keyword-based search
- LLM-based search
- Domain-specific searches
- Getting detailed tool information
**`scripts/example_workflow.py`** - Complete workflow examples:
- Drug discovery pipeline (disease → targets → structures → screening → candidates)
- Genomics analysis (expression data → differential analysis → pathways)
Run examples to understand typical usage patterns and workflow composition.
## Best Practices
1. **Tool Discovery:**
- Start with broad searches, then refine based on results
- Use `Tool_Finder_Keyword` for fast searches with known terms
- Use `Tool_Finder_LLM` for complex semantic queries
- Set appropriate `limit` parameter (default: 10)
2. **Tool Execution:**
- Always verify tool parameters before execution
- Implement error handling for production workflows
- Validate input data formats (SMILES, UniProt IDs, gene symbols)
- Check result types and structures
3. **Workflow Composition:**
- Test each step individually before composing full workflows
- Implement checkpointing for long workflows
- Consider rate limits for remote APIs
- Use parallel execution when tools are independent
4. **Integration:**
- Initialize ToolUniverse once and reuse the instance
- Call `load_tools()` once at startup
- Cache frequently used tool information
- Enable logging for debugging
## Key Terminology
- **Tool**: A scientific resource (model, dataset, API, package) accessible through ToolUniverse
- **Tool Discovery**: Finding relevant tools using search methods (Finder, LLM, Keyword)
- **Tool Execution**: Running a tool with specific arguments via `tu.run()`
- **Tool Composition**: Chaining multiple tools for multi-step workflows
- **MCP**: Model Context Protocol for integration with Claude Desktop/Code
- **AI-Tool Interaction Protocol**: Standardized interface for LLM-tool communication
## Resources
- **Official Website**: https://aiscientist.tools
- **GitHub**: https://github.com/mims-harvard/ToolUniverse
- **Documentation**: https://zitniklab.hms.harvard.edu/ToolUniverse/
- **Installation**: `uv pip install tooluniverse`
- **MCP Server**: `tooluniverse-smcp`