setup
Set up the ENCODE Toolkit server connection. Use when the user needs help installing, configuring, or troubleshooting the ENCODE connector.
Install
npx skills add https://github.com/ammawla/encode-toolkit/tree/main/plugin/skills/setup
claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install ammawla-encode-toolkit@llmmart
git clone https://github.com/ammawla/encode-toolkit.git
The skills CLI installs just this skill, for any of its supported agents. Claude Code installs the whole ammawla/encode-toolkit collection as a plugin from our marketplace. Git is the plain clone.
Skill manifest
ENCODE Toolkit Setup
When to Use
- User needs help installing or configuring the ENCODE Toolkit MCP server
- User is getting connection errors or server startup failures
- User asks "how do I set up ENCODE?" or "install ENCODE toolkit"
- User needs to configure ENCODE credentials for restricted data access
- User wants to verify their ENCODE server connection is working
- User is setting up a new environment and needs the ENCODE plugin
Help the user set up the ENCODE Toolkit server. The server connects Claude to the ENCODE Project genomics database — the largest public catalog of functional genomic elements with 8,000+ experiments across 50+ assay types.
Installation
The ENCODE Toolkit server is installed via uvx (recommended) or pip:
For Claude Code (CLI)
claude mcp add encode -- uvx encode-toolkit
For Claude Desktop
Add to claude_desktop_config.json:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
{
"mcpServers": {
"encode": {
"command": "uvx",
"args": ["encode-toolkit"]
}
}
}
Then restart Claude Desktop.
For VS Code (Claude Extension)
Add to your VS Code settings.json (Ctrl/Cmd + Shift + P → "Preferences: Open Settings (JSON)"):
{
"claude.mcpServers": {
"encode": {
"command": "uvx",
"args": ["encode-toolkit"]
}
}
}
For Cursor
Add to .cursor/mcp.json in your project root:
{
"mcpServers": {
"encode": {
"command": "uvx",
"args": ["encode-toolkit"]
}
}
}
For Windsurf
Add to ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"encode": {
"command": "uvx",
"args": ["encode-toolkit"]
}
}
}
Alternative: pip install
pip install encode-toolkit
encode-toolkit # Run the server
Verify Installation
After setup, test the connection with these verification queries (run them in order):
Step 1: Check metadata access
Ask: "List available ENCODE assay types"
- This calls
encode_get_metadata(metadata_type="assays") - Expected: Returns 50+ assay types including ChIP-seq, ATAC-seq, RNA-seq, WGBS, Hi-C
Step 2: Test search
Ask: "Search for ATAC-seq experiments on human brain"
- This calls
encode_search_experiments(assay_title="ATAC-seq", organ="brain", organism="Homo sapiens") - Expected: Returns experiment accessions (ENCSR...) with assay, biosample, and status info
Step 3: Test facets
Ask: "What organs have the most ENCODE data?"
- This calls
encode_get_facets() - Expected: Returns organ counts showing brain, liver, heart, etc. ranked by experiment count
If all three work, your setup is complete.
Authentication
Most ENCODE data is public and needs no authentication. For restricted/unreleased data:
- Get API credentials from https://www.encodeproject.org/profile/ (requires ENCODE account)
- Store them:
Ask: "Store my ENCODE credentials" → Calls encode_manage_credentials(action="store", access_key="...", secret_key="...") - Credentials are encrypted via the OS keyring (macOS Keychain, Windows Credential Manager, or Linux Secret Service)
- To verify:
encode_manage_credentials(action="check") - To remove:
encode_manage_credentials(action="clear")
20 Available Tools
After setup, these tools are available:
| Category | Tools | Purpose |
|---|---|---|
| Search | encode_search_experiments, encode_get_facets, encode_get_metadata |
Find experiments, explore data landscape, get valid filter values |
| Experiment Details | encode_get_experiment, encode_compare_experiments |
Get full experiment metadata, compare two experiments |
| Files | encode_search_files, encode_list_files, encode_get_file_info |
Find files, list files for an experiment, get file details |
| Download | encode_download_files, encode_batch_download |
Download individual or batch files with MD5 verification |
| Tracking | encode_track_experiment, encode_list_tracked, encode_get_tracking_summary |
Local experiment tracking with SQLite |
| Provenance | encode_log_derived_file, encode_get_provenance |
Log analysis outputs with full lineage |
| Citations | encode_get_citations, encode_link_reference |
Publication data, cross-reference to PubMed/GEO |
| Credentials | encode_manage_credentials |
Store/remove API credentials |
| Collection | encode_summarize_collection |
Summarize tracked experiment portfolio |
First-Run Walkthrough: Pancreatic Islet Epigenomics
This walkthrough demonstrates a complete workflow from installation to data exploration.
1. Explore what's available
"What ENCODE assay types are available for human pancreas?"
→ encode_get_facets(organ="pancreas", organism="Homo sapiens")
2. Find specific experiments
"Find all histone ChIP-seq experiments on human pancreas"
→ encode_search_experiments(assay_title="Histone ChIP-seq", organ="pancreas", organism="Homo sapiens")
3. Examine an experiment
"Get details for ENCSR123ABC"
→ encode_get_experiment(accession="ENCSR123ABC")
4. Find the right files
"List the preferred BED files for ENCSR123ABC"
→ encode_list_files(experiment_accession="ENCSR123ABC", file_format="bed", assembly="GRCh38")
5. Download data
"Download the IDR-thresholded peaks for ENCSR123ABC"
→ encode_list_files(experiment_accession="ENCSR123ABC", file_format="bed", output_type="IDR thresholded peaks")
→ encode_download_files(file_accessions=["ENCFF..."], download_dir="/data/encode")
6. Track your experiment
"Track ENCSR123ABC in my local database with note 'H3K27ac pancreatic islets'"
→ encode_track_experiment(accession="ENCSR123ABC", notes="H3K27ac pancreatic islets")
Cross-Database Integration
The ENCODE Toolkit works alongside other MCP servers and REST APIs:
| Database | Access Method | What It Adds |
|---|---|---|
| PubMed | MCP server (search_articles) |
Literature citations for ENCODE experiments |
| bioRxiv | MCP server (search_preprints) |
Preprint discovery for latest research |
| ClinicalTrials.gov | MCP server (search_trials) |
Clinical trial cross-reference |
| Open Targets | MCP server (query_open_targets_graphql) |
Drug target identification |
| GTEx | REST API via skill | Tissue-specific expression context |
| ClinVar | REST API via skill | Clinical variant annotation |
| GWAS Catalog | REST API via skill | Trait-associated variant lookups |
| gnomAD | GraphQL via skill | Population allele frequencies |
| Ensembl | REST API via skill | VEP annotation, Regulatory Build |
| UCSC | REST API via skill | Genome browser tracks, cCRE data |
| GEO | E-utilities via skill | Complementary expression datasets |
| JASPAR | REST API via skill | TF binding motif databases |
| CellxGene | REST API via skill | Single-cell expression atlases |
47 Expert Skills
Beyond the 20 tools, the ENCODE Toolkit includes 47 skills providing domain expertise:
- Core (5): setup, search-encode, download-encode, track-experiments, cross-reference
- Analysis (9): quality-assessment, integrative-analysis, regulatory-elements, epigenome-profiling, compare-biosamples, visualization-workflow, motif-analysis, peak-annotation, batch-analysis
- Pipelines (7): pipeline-chipseq, pipeline-atacseq, pipeline-rnaseq, pipeline-wgbs, pipeline-hic, pipeline-dnaseseq, pipeline-cutandrun
- External DBs (9): gtex-expression, clinvar-annotation, cellxgene-context, gwas-catalog, jaspar-motifs, ensembl-annotation, geo-connector, gnomad-variants, ucsc-browser
- Workflows (10): data-provenance, cite-encode, variant-annotation, pipeline-guide, single-cell-encode, disease-research, publication-trust, bioinformatics-installer, scientific-writing, liftover-coordinates
- Data Aggregation (4): histone-aggregation, accessibility-aggregation, hic-aggregation, methylation-aggregation
- Meta-Analysis (2): scrna-meta-analysis, multi-omics-integration
- Functional Genomics (1): functional-screen-analysis
Pitfalls & Troubleshooting
| Problem | Cause | Fix |
|---|---|---|
| "Server not found" | Claude not restarted after config change | Restart Claude Desktop / reload Claude Code |
| "uvx not found" | uv not installed | curl -LsSf https://astral.sh/uv/install.sh \| sh |
| Timeout errors | Slow connection or ENCODE API load | Retry; rate limit (10 req/sec) is handled automatically |
| 403 on downloads | File requires authentication | encode_manage_credentials(action="store", ...) |
| No results returned | Filters too narrow | Broaden filters; use encode_get_facets to see available data |
| "Invalid accession" | Wrong format | Must be ENCSR/ENCFF/ENCBS format (e.g., ENCSR000AAA) |
| Empty facets | API connectivity issue | Check internet; try encode_get_metadata(metadata_type="assays") |
| Stale results | Cached data | Cache TTL is 1 hour; restart server to clear |
Code Examples
1. Verify server connection with metadata query
encode_get_metadata(metadata_type="assays")
Expected output (values abridged — the full list has 79 assay titles):
{
"metadata_type": "assays",
"values": ["Histone ChIP-seq", "TF ChIP-seq", "ATAC-seq", "DNase-seq", "total RNA-seq", "polyA plus RNA-seq", "WGBS", "intact Hi-C", "CUT&RUN", "CUT&Tag", "eCLIP", "STARR-seq", "MPRA", "snATAC-seq", "scRNA-seq"],
"count": 79
}
2. Test search functionality
encode_search_experiments(assay_title="ATAC-seq", organ="brain", organism="Homo sapiens", limit=3)
Expected output:
{
"results": [
{"accession": "ENCSR000AAA", "assay_title": "ATAC-seq", "biosample_summary": "brain tissue female adult (53 years)", "organ": "brain", "status": "released"}
],
"total": 32,
"limit": 3,
"offset": 0,
"has_more": true,
"next_offset": 3
}
3. Test facet exploration
encode_get_facets(organism="Homo sapiens")
Expected output:
{
"biosample_ontology.organ_slims": [
{"term": "brain", "count": 450},
{"term": "blood", "count": 380},
{"term": "liver", "count": 220},
{"term": "heart", "count": 180},
{"term": "lung", "count": 150}
]
}
Related Skills
| Skill | When to Use |
|---|---|
search-encode |
First skill to use after setup — find experiments by assay, tissue, target |
download-encode |
Download ENCODE files (BED, bigWig, FASTQ, BAM) after finding experiments |
pipeline-guide |
Set up Nextflow pipelines for processing raw ENCODE data |
bioinformatics-installer |
Install all bioinformatics tools needed for ENCODE analysis |
cross-reference |
Link ENCODE experiments to PubMed, GEO, ClinicalTrials.gov |
quality-assessment |
Evaluate data quality before analysis |
publication-trust |
Verify literature claims backing analytical decisions |
Presenting Results
When reporting setup results:
- Connection status: Confirm the ENCODE Toolkit server is connected and responding. Report the server version if available
- Available tools: List the 20 available ENCODE tools grouped by function (search, download, track, cross-reference, credentials)
- Test query result: Run a simple validation query (e.g.,
encode_get_metadata(metadata_type="assays")) and confirm it returns results successfully - Authentication status: Note whether credentials are configured (for restricted data) or that public data access requires no authentication
- Troubleshooting: If any issues were encountered during setup, summarize the problem and resolution
- Next steps: Suggest
search-encodeto find experiments, orencode_get_facetsto explore what ENCODE data is available for their research area
For the request: "$ARGUMENTS"
Files (encode-toolkit)
-
references
-
literature.md 6.8 KB
# Setup — Literature References **Last updated:** 2026-03-07 **Purpose:** Reference catalog for the setup skill — key resources defining the Model Context Protocol (MCP) specification, the ENCODE data portal API, and project documentation that inform server installation, configuration, and connectivity. The setup skill guides users through installing the ENCODE MCP server, configuring API credentials (optional, for unreleased data), verifying tool connectivity, and understanding the plugin's capabilities. Setup requires understanding three foundational resources: the MCP specification that defines server-client communication, the ENCODE portal API that the server wraps, and the ENCODE documentation for data access patterns and troubleshooting. These 3 references are organized by their role in setup: (1) the MCP specification for server-client communication, (2) the ENCODE portal paper for the wrapped API, and (3) the ENCODE documentation for detailed reference and troubleshooting. --- ## Model Context Protocol The Model Context Protocol (MCP) is the standardized interface between AI assistants and external tools/data sources. Understanding MCP is essential for setup because it determines how the server is registered with clients (Claude Desktop, Claude Code), how tool definitions are exposed, and how errors are communicated. --- ### Anthropic 2024 — Model Context Protocol (MCP) specification - **Citation:** Anthropic. Model Context Protocol Specification, v2024-11-05. Published at modelcontextprotocol.io, 2024. - **DOI:** N/A (technical specification) - **PMID:** N/A | **PMC:** N/A - **Citations:** N/A (industry standard specification) - **Key findings:** MCP defines a JSON-RPC 2.0 interface between AI clients and servers. Three primitive types: - **Tools:** executable functions with typed parameters and return values - **Resources:** data sources addressable by URI - **Prompts:** templated interaction patterns The ENCODE server implements the Tools primitive, exposing 20 tools for searching, downloading, tracking, and cross-referencing. Each tool has a name, description, and JSON Schema-defined input/output types. Two transport mechanisms: - **stdio:** standard I/O for local servers (subprocess communication) - **SSE:** Server-Sent Events for remote HTTP servers The ENCODE server uses stdio transport — it runs as a subprocess of the client and communicates via JSON-RPC on stdin/stdout. This requires registration in the client's config file: - Claude Desktop: claude_desktop_config.json - Claude Code: .claude/settings.json The specification also defines: - Capability negotiation (server declares supported primitives) - Error handling (structured error codes and messages) - Logging (server emits log messages at severity levels) Understanding these mechanisms is essential for troubleshooting setup: missing tools indicates failed capability negotiation; tool errors provide diagnostic codes. The setup skill validates connectivity by listing tools and testing a query. --- ## ENCODE Data Portal The ENCODE portal is the primary data source the MCP server wraps. Understanding the API is essential for setup because it determines query capabilities, authentication, and rate limits. --- ### Davis et al. 2018 — ENCODE portal REST API - **Citation:** Davis CA, Hitz BC, Sloan CA, Chan ET, Davidson JM, Gabdank I, Hilton JA, Jain K, Baymuradov UK, Narayanan AK, Onate KC, Graham K, Miyasato SR, Dreszer TR, Strattan JS, Jolanki O, Tanaka FY, Cherry JM. The Encyclopedia of DNA elements (ENCODE): data portal update. *Nucleic Acids Research*, 46(D1), D794-D801, 2018. - **DOI:** [10.1093/nar/gkx1081](https://doi.org/10.1093/nar/gkx1081) - **PMID:** 29126249 | **PMC:** PMC5753278 - **Citations:** ~400 - **Key findings:** Documented the ENCODE REST API: - Endpoints: /search/, /experiments/, /files/, /biosample-types/ - Query syntax: field=value with URL encoding - Response format: JSON-LD with @context, @id, @type fields - Pagination: limit and offset parameters - Authentication: HTTP Basic Auth (access_key:secret_key) Rate limiting: ~10 requests/second for unauthenticated access. The MCP server respects this through request throttling. Authentication is optional — all released data is public. Credentials are only needed for unreleased/embargoed datasets. The setup skill configures credentials using OS keyring (macOS Keychain, Linux Secret Service, Windows Credential Locker) for secure storage, never in plaintext config files. Controlled vocabularies determine valid query parameters: - biosample_ontology: UBERON, CL, CLO, EFO terms - assay_title: standardized assay names - organism: Homo sapiens, Mus musculus - target: gene symbols (TF ChIP) or histone marks (histone ChIP) The setup skill tests connectivity with a simple search query, verifying that the response contains valid ENCODE metadata. Common setup issues: - Network: firewall blocking outbound HTTPS - Environment: missing Python dependencies - Version: MCP SDK compatibility conflicts --- ## ENCODE Project Documentation The ENCODE project documentation serves as the reference manual for data access, experimental standards, and troubleshooting — complementing the portal paper with practical guidance that evolves with the project. --- ### ENCODE Project Consortium — Official documentation - **Citation:** ENCODE Project Consortium. ENCODE Project Documentation. Published at encodeproject.org/help, continuously updated. - **DOI:** N/A (online documentation) - **PMID:** N/A | **PMC:** N/A - **Citations:** N/A (reference documentation) - **Key findings:** Comprehensive guidance organized into sections relevant to setup: **Getting Started:** Portal navigation, search interface, experiment/file hierarchy. Explains the relationship between experiments (ENCSR), replicates, and files (ENCFF) that the MCP tools expose. **REST API:** Detailed programmatic access examples using curl, Python requests, and other clients. Includes searching, metadata retrieval, batch manifests, and authentication with access keys. **File Formats:** ENCODE conventions for BED narrowPeak, broadPeak, bigWig, BAM, FASTQ. Format understanding is important because download and file listing tools return format-specific metadata. **Data Standards:** Assay-specific quality thresholds surfaced through the audit system. Each assay (ChIP-seq, ATAC-seq, RNA-seq, WGBS, Hi-C) has documented requirements determining ERROR, NOT_COMPLIANT, or WARNING flags. **Antibody Characterization:** Validation tiers for ChIP-seq antibodies (primary and secondary characterization) affecting data reliability scores. Users are directed to these sections when setup validation identifies configuration problems, when they need deeper understanding beyond what MCP tools expose, or when they encounter unfamiliar metadata terms. ---
-
-
SKILL.md 11.9 KB
--- name: setup description: Set up the ENCODE Toolkit server connection. Use when the user needs help installing, configuring, or troubleshooting the ENCODE connector. disable-model-invocation: true --- # ENCODE Toolkit Setup ## When to Use - User needs help installing or configuring the ENCODE Toolkit MCP server - User is getting connection errors or server startup failures - User asks "how do I set up ENCODE?" or "install ENCODE toolkit" - User needs to configure ENCODE credentials for restricted data access - User wants to verify their ENCODE server connection is working - User is setting up a new environment and needs the ENCODE plugin Help the user set up the ENCODE Toolkit server. The server connects Claude to the ENCODE Project genomics database — the largest public catalog of functional genomic elements with 8,000+ experiments across 50+ assay types. ## Installation The ENCODE Toolkit server is installed via `uvx` (recommended) or `pip`: ### For Claude Code (CLI) ```bash claude mcp add encode -- uvx encode-toolkit ``` ### For Claude Desktop Add to `claude_desktop_config.json`: - **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json` - **Windows**: `%APPDATA%\Claude\claude_desktop_config.json` ```json { "mcpServers": { "encode": { "command": "uvx", "args": ["encode-toolkit"] } } } ``` Then restart Claude Desktop. ### For VS Code (Claude Extension) Add to your VS Code `settings.json` (Ctrl/Cmd + Shift + P → "Preferences: Open Settings (JSON)"): ```json { "claude.mcpServers": { "encode": { "command": "uvx", "args": ["encode-toolkit"] } } } ``` ### For Cursor Add to `.cursor/mcp.json` in your project root: ```json { "mcpServers": { "encode": { "command": "uvx", "args": ["encode-toolkit"] } } } ``` ### For Windsurf Add to `~/.codeium/windsurf/mcp_config.json`: ```json { "mcpServers": { "encode": { "command": "uvx", "args": ["encode-toolkit"] } } } ``` ### Alternative: pip install ```bash pip install encode-toolkit encode-toolkit # Run the server ``` --- ## Verify Installation After setup, test the connection with these verification queries (run them in order): ### Step 1: Check metadata access Ask: "List available ENCODE assay types" - This calls `encode_get_metadata(metadata_type="assays")` - Expected: Returns 50+ assay types including ChIP-seq, ATAC-seq, RNA-seq, WGBS, Hi-C ### Step 2: Test search Ask: "Search for ATAC-seq experiments on human brain" - This calls `encode_search_experiments(assay_title="ATAC-seq", organ="brain", organism="Homo sapiens")` - Expected: Returns experiment accessions (ENCSR...) with assay, biosample, and status info ### Step 3: Test facets Ask: "What organs have the most ENCODE data?" - This calls `encode_get_facets()` - Expected: Returns organ counts showing brain, liver, heart, etc. ranked by experiment count If all three work, your setup is complete. --- ## Authentication Most ENCODE data is public and needs no authentication. For restricted/unreleased data: 1. Get API credentials from https://www.encodeproject.org/profile/ (requires ENCODE account) 2. Store them: ``` Ask: "Store my ENCODE credentials" → Calls encode_manage_credentials(action="store", access_key="...", secret_key="...") ``` 3. Credentials are encrypted via the OS keyring (macOS Keychain, Windows Credential Manager, or Linux Secret Service) 4. To verify: `encode_manage_credentials(action="check")` 5. To remove: `encode_manage_credentials(action="clear")` --- ## 20 Available Tools After setup, these tools are available: | Category | Tools | Purpose | |----------|-------|---------| | **Search** | `encode_search_experiments`, `encode_get_facets`, `encode_get_metadata` | Find experiments, explore data landscape, get valid filter values | | **Experiment Details** | `encode_get_experiment`, `encode_compare_experiments` | Get full experiment metadata, compare two experiments | | **Files** | `encode_search_files`, `encode_list_files`, `encode_get_file_info` | Find files, list files for an experiment, get file details | | **Download** | `encode_download_files`, `encode_batch_download` | Download individual or batch files with MD5 verification | | **Tracking** | `encode_track_experiment`, `encode_list_tracked`, `encode_get_tracking_summary` | Local experiment tracking with SQLite | | **Provenance** | `encode_log_derived_file`, `encode_get_provenance` | Log analysis outputs with full lineage | | **Citations** | `encode_get_citations`, `encode_link_reference` | Publication data, cross-reference to PubMed/GEO | | **Credentials** | `encode_manage_credentials` | Store/remove API credentials | | **Collection** | `encode_summarize_collection` | Summarize tracked experiment portfolio | --- ## First-Run Walkthrough: Pancreatic Islet Epigenomics This walkthrough demonstrates a complete workflow from installation to data exploration. ### 1. Explore what's available ``` "What ENCODE assay types are available for human pancreas?" → encode_get_facets(organ="pancreas", organism="Homo sapiens") ``` ### 2. Find specific experiments ``` "Find all histone ChIP-seq experiments on human pancreas" → encode_search_experiments(assay_title="Histone ChIP-seq", organ="pancreas", organism="Homo sapiens") ``` ### 3. Examine an experiment ``` "Get details for ENCSR123ABC" → encode_get_experiment(accession="ENCSR123ABC") ``` ### 4. Find the right files ``` "List the preferred BED files for ENCSR123ABC" → encode_list_files(experiment_accession="ENCSR123ABC", file_format="bed", assembly="GRCh38") ``` ### 5. Download data ``` "Download the IDR-thresholded peaks for ENCSR123ABC" → encode_list_files(experiment_accession="ENCSR123ABC", file_format="bed", output_type="IDR thresholded peaks") → encode_download_files(file_accessions=["ENCFF..."], download_dir="/data/encode") ``` ### 6. Track your experiment ``` "Track ENCSR123ABC in my local database with note 'H3K27ac pancreatic islets'" → encode_track_experiment(accession="ENCSR123ABC", notes="H3K27ac pancreatic islets") ``` --- ## Cross-Database Integration The ENCODE Toolkit works alongside other MCP servers and REST APIs: | Database | Access Method | What It Adds | |----------|--------------|--------------| | **PubMed** | MCP server (`search_articles`) | Literature citations for ENCODE experiments | | **bioRxiv** | MCP server (`search_preprints`) | Preprint discovery for latest research | | **ClinicalTrials.gov** | MCP server (`search_trials`) | Clinical trial cross-reference | | **Open Targets** | MCP server (`query_open_targets_graphql`) | Drug target identification | | **GTEx** | REST API via skill | Tissue-specific expression context | | **ClinVar** | REST API via skill | Clinical variant annotation | | **GWAS Catalog** | REST API via skill | Trait-associated variant lookups | | **gnomAD** | GraphQL via skill | Population allele frequencies | | **Ensembl** | REST API via skill | VEP annotation, Regulatory Build | | **UCSC** | REST API via skill | Genome browser tracks, cCRE data | | **GEO** | E-utilities via skill | Complementary expression datasets | | **JASPAR** | REST API via skill | TF binding motif databases | | **CellxGene** | REST API via skill | Single-cell expression atlases | --- ## 47 Expert Skills Beyond the 20 tools, the ENCODE Toolkit includes 47 skills providing domain expertise: - **Core (5)**: setup, search-encode, download-encode, track-experiments, cross-reference - **Analysis (9)**: quality-assessment, integrative-analysis, regulatory-elements, epigenome-profiling, compare-biosamples, visualization-workflow, motif-analysis, peak-annotation, batch-analysis - **Pipelines (7)**: pipeline-chipseq, pipeline-atacseq, pipeline-rnaseq, pipeline-wgbs, pipeline-hic, pipeline-dnaseseq, pipeline-cutandrun - **External DBs (9)**: gtex-expression, clinvar-annotation, cellxgene-context, gwas-catalog, jaspar-motifs, ensembl-annotation, geo-connector, gnomad-variants, ucsc-browser - **Workflows (10)**: data-provenance, cite-encode, variant-annotation, pipeline-guide, single-cell-encode, disease-research, publication-trust, bioinformatics-installer, scientific-writing, liftover-coordinates - **Data Aggregation (4)**: histone-aggregation, accessibility-aggregation, hic-aggregation, methylation-aggregation - **Meta-Analysis (2)**: scrna-meta-analysis, multi-omics-integration - **Functional Genomics (1)**: functional-screen-analysis --- ## Pitfalls & Troubleshooting | Problem | Cause | Fix | |---------|-------|-----| | "Server not found" | Claude not restarted after config change | Restart Claude Desktop / reload Claude Code | | "uvx not found" | uv not installed | `curl -LsSf https://astral.sh/uv/install.sh \| sh` | | Timeout errors | Slow connection or ENCODE API load | Retry; rate limit (10 req/sec) is handled automatically | | 403 on downloads | File requires authentication | `encode_manage_credentials(action="store", ...)` | | No results returned | Filters too narrow | Broaden filters; use `encode_get_facets` to see available data | | "Invalid accession" | Wrong format | Must be ENCSR/ENCFF/ENCBS format (e.g., ENCSR000AAA) | | Empty facets | API connectivity issue | Check internet; try `encode_get_metadata(metadata_type="assays")` | | Stale results | Cached data | Cache TTL is 1 hour; restart server to clear | --- ## Code Examples ### 1. Verify server connection with metadata query ``` encode_get_metadata(metadata_type="assays") ``` Expected output (`values` abridged — the full list has 79 assay titles): ```json { "metadata_type": "assays", "values": ["Histone ChIP-seq", "TF ChIP-seq", "ATAC-seq", "DNase-seq", "total RNA-seq", "polyA plus RNA-seq", "WGBS", "intact Hi-C", "CUT&RUN", "CUT&Tag", "eCLIP", "STARR-seq", "MPRA", "snATAC-seq", "scRNA-seq"], "count": 79 } ``` ### 2. Test search functionality ``` encode_search_experiments(assay_title="ATAC-seq", organ="brain", organism="Homo sapiens", limit=3) ``` Expected output: ```json { "results": [ {"accession": "ENCSR000AAA", "assay_title": "ATAC-seq", "biosample_summary": "brain tissue female adult (53 years)", "organ": "brain", "status": "released"} ], "total": 32, "limit": 3, "offset": 0, "has_more": true, "next_offset": 3 } ``` ### 3. Test facet exploration ``` encode_get_facets(organism="Homo sapiens") ``` Expected output: ```json { "biosample_ontology.organ_slims": [ {"term": "brain", "count": 450}, {"term": "blood", "count": 380}, {"term": "liver", "count": 220}, {"term": "heart", "count": 180}, {"term": "lung", "count": 150} ] } ``` ## Related Skills | Skill | When to Use | |-------|------------| | `search-encode` | First skill to use after setup — find experiments by assay, tissue, target | | `download-encode` | Download ENCODE files (BED, bigWig, FASTQ, BAM) after finding experiments | | `pipeline-guide` | Set up Nextflow pipelines for processing raw ENCODE data | | `bioinformatics-installer` | Install all bioinformatics tools needed for ENCODE analysis | | `cross-reference` | Link ENCODE experiments to PubMed, GEO, ClinicalTrials.gov | | `quality-assessment` | Evaluate data quality before analysis | | `publication-trust` | Verify literature claims backing analytical decisions | --- ## Presenting Results When reporting setup results: - **Connection status**: Confirm the ENCODE Toolkit server is connected and responding. Report the server version if available - **Available tools**: List the 20 available ENCODE tools grouped by function (search, download, track, cross-reference, credentials) - **Test query result**: Run a simple validation query (e.g., `encode_get_metadata(metadata_type="assays")`) and confirm it returns results successfully - **Authentication status**: Note whether credentials are configured (for restricted data) or that public data access requires no authentication - **Troubleshooting**: If any issues were encountered during setup, summarize the problem and resolution - **Next steps**: Suggest `search-encode` to find experiments, or `encode_get_facets` to explore what ENCODE data is available for their research area ## For the request: "$ARGUMENTS"
Comments (0)
Sign in to join the conversation.
Reviews (0)
No reviews yet.
No comments yet.