Skip to main content
skill CX Codex

tooluniverse-expression-data-retrieval — Claude Code skill

Finds gene expression and omics datasets in ArrayExpress and BioStudies, scoring replicates and metadata quality. Helps locate RNA-seq and microarray experiments for analysis.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add mims-harvard/ToolUniverse --skill tooluniverse-expression-data-retrieval -a claude-code
Open on GitHub

What tooluniverse-expression-data-retrieval does

This skill retrieves gene expression and multi-omics datasets from ArrayExpress and BioStudies. It does not guess accessions. Instead, the agent looks up studies to confirm their existence. It first resolves official gene symbols via HGNC or MGI and gathers aliases.

Under the hood, it calls arrayexpress_search_experiments and biostudies_search to gather metadata, sample groups, and download files. It prioritizes datasets with at least 3 biological replicates, complete metadata, and raw data files. If ArrayExpress yields no results, it falls back to BioStudies.

Tool calls require English keywords regardless of the conversation language. The final report ranks matching experiments and provides direct download links.

What it helps with

  • find RNA-seq datasets by gene symbol and tissue type
  • assess biological replicates and metadata before downloading files
  • locate microarray case-control studies for comparative analysis
  • retrieve multi-omics experiments from BioStudies

Example prompts for the agent

  • Find human RNA-seq datasets for lung cancer with case-control design
  • Check sample replicates and metadata quality for the retrieved experiments
  • Search BioStudies for multi-omics experiments on Alzheimer disease

How to install tooluniverse-expression-data-retrieval

1Skills CLI (Vercel)

npx skills add mims-harvard/ToolUniverse --skill tooluniverse-expression-data-retrieval -a claude-code

2Manually: put the files in place

~/.claude/skills/tooluniverse-expression-data-retrieval/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/tooluniverse-expression-data-retrieval/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about tooluniverse-expression-data-retrieval

How to install tooluniverse-expression-data-retrieval in Claude Code?

Run npx skills add mims-harvard/ToolUniverse --skill tooluniverse-expression-data-retrieval -a claude-code in your terminal. This registers the skill for Claude Code.

What does tooluniverse-expression-data-retrieval do?

It searches ArrayExpress and BioStudies for gene expression and multi-omics datasets. The skill evaluates replication counts, checks metadata completeness, and presents a ranked report with direct download links.

Which databases does the skill query?

The skill primarily queries ArrayExpress for transcriptomics and BioStudies for multi-omics datasets. It can also fall back to GEO, GTEx, and other repositories listed in the tool reference.

Source text

SKILL.md · Apache-2.0
---
name: tooluniverse-expression-data-retrieval
description: Retrieve gene expression and omics datasets from ArrayExpress and BioStudies with gene disambiguation and quality assessment. Use for finding RNA-seq/microarray datasets by organism/tissue/condition, comparing across studies (case-control, time-series, dose-response), and assessing dataset suitability before downloading. Always uses English search terms.
disable-model-invocation: true
---

# Gene Expression & Omics Data Retrieval

Retrieve gene expression experiments and multi-omics datasets with disambiguation and quality assessment.

**IMPORTANT**: Always use English terms in tool calls. Respond in the user's language.

**LOOK UP DON'T GUESS**: Never assume which datasets exist or their accessions. Always search to confirm.

## Domain Reasoning

Before retrieving, determine: organism, tissue, experimental design (case-control/time-series/dose-response). These affect which database to search and how to interpret results. RNA-seq provides wider dynamic range; microarray has extensive legacy data. Prioritize experiments with >=3 biological replicates, complete annotations, and both raw+processed data.

## Workflow

```
Phase 0: Clarify (if ambiguous) → Phase 1: Disambiguate → Phase 2: Search & Retrieve → Phase 3: Report
```

---

## Phase 0: Clarification (When Needed)

Ask ONLY if: gene name ambiguous, tissue/condition unclear, organism not specified.
Skip for: specific accessions (E-MTAB-*, E-GEOD-*, S-BSST*), clear disease/tissue+organism, explicit platform requests.

---

## Phase 1: Query Disambiguation

Resolve official gene symbol (HGNC for human, MGI for mouse). Note common aliases for search expansion.

| User Query Type | Search Strategy |
|-----------------|-----------------|
| Specific accession | Direct retrieval |
| Gene + condition | "[gene] [condition]" + species filter |
| Disease only | "[disease]" + species filter |
| Technology-specific | Add platform keywords |

---

## Phase 2: Data Retrieval (Internal)

Search silently. Do NOT narrate the process.

```python
# ArrayExpress search
result = tu.tools.arrayexpress_search_experiments(keywords="[gene/disease]", species="[species]", limit=20)

# Get experiment details, samples, files
details = tu.tools.arrayexpress_get_experiment(experiment_id=accession)
samples = tu.tools.arrayexpress_get_experiment_samples(experiment_id=accession)
files = tu.tools.arrayexpress_get_experiment_files(experiment_id=accession)

# BioStudies for multi-omics
biostudies = tu.tools.biostudies_search(query="[keywords]", pageSize=10)
study = tu.tools.biostudies_get_study(accession=study_accession)
study_files = tu.tools.biostudies_get_study_files(accession=study_accession)
```

### Fallback Chains

| Primary | Fallback |
|---------|----------|
| ArrayExpress search | BioStudies search |
| arrayexpress_get_experiment | biostudies_get_study |
| arrayexpress_get_experiment_files | Note "Files unavailable" |

---

## Phase 3: Report Dataset Profile

Present as a **Dataset Search Report**. Hide search process. Include:

1. **Search Summary**: query, databases searched, result count
2. **Top Experiments** (per experiment):
   - Accession, organism, type (RNA-seq/microarray), platform, sample count, date
   - Description, experimental design (conditions, replicates, tissue)
   - Sample groups table, data files table
   - Quality assessment (●●●/●●○/●○○)
3. **Multi-Omics Studies** (from BioStudies): accession, type, data types included
4. **Summary Table**: all experiments ranked
5. **Recommendations**: best dataset for user's purpose, integration notes
6. **Data Access**: download links, database URLs

---

## Data Quality Tiers

| Tier | Symbol | Criteria |
|------|--------|----------|
| High | ●●● | >=3 bio replicates, complete metadata, processed data available |
| Medium | ●●○ | 2-3 replicates OR some metadata gaps |
| Low | ●○○ | No replicates, sparse metadata, or access issues |
| Caution | ○○○ | Single sample, no replication, outdated platform |

---

## Reasoning Framework

**Dataset quality**: Prioritize >=3 biological replicates, complete annotations, both raw+processed data. Single-replicate experiments can inform but not be sole evidence.

**Platform comparison**: RNA-seq = wider dynamic range, novel transcripts. Microarray = probe-limited but extensive legacy data. Cross-platform combining requires batch correction.

**Metadata scoring**: Rate 0-5 on: (1) sample annotations, (2) design documented, (3) pipeline described, (4) raw data deposited, (5) publication linked. Score <=2 warrants caution.

**GEO vs ArrayExpress**: GEO has broader coverage (older studies); ArrayExpress enforces stricter metadata. BioStudies captures multi-omics. Search both.

### Synthesis Questions
1. Does the dataset have sufficient replication and metadata for the intended analysis?
2. Are there batch effects or confounding variables?
3. Do multiple datasets show concordant patterns, and can they be integrated?

---

## Error Handling

| Error | Response |
|-------|----------|
| "No experiments found" | Broaden keywords, remove species filter, try synonyms |
| "Accession not found" | Verify format, check if withdrawn |
| "Files not available" | Note: "Data files restricted by submitter" |
| "API timeout" | Retry once, note "(metadata retrieval incomplete)" |

---

## Tool Reference

**ArrayExpress**: `arrayexpress_search_experiments` (search), `arrayexpress_get_experiment` (metadata), `arrayexpress_get_experiment_files` (downloads), `arrayexpress_get_experiment_samples` (annotations)

**BioStudies**: `biostudies_search` (search), `biostudies_get_study` (metadata+sections), `biostudies_get_study_files` (files)

**Additional Sources**:
- `GEO_search_rnaseq_datasets` / `geo_search_datasets` -- GEO (largest RNA-seq repo)
- `OmicsDI_search_datasets` -- cross-repository aggregation (GEO+ArrayExpress+PRIDE+MassIVE)
- `GTEx_get_expression_summary` -- baseline tissue expression (54 normal tissues, param: `gene_symbol`)
- `ENAPortal_search_studies` -- sequencing studies (param: `query` with `description="..."`)
- `CxGDisc_search_datasets` -- single-cell datasets (needs exact disease ontology terms)
- `GxA_list_experiments` / `GxA_get_experiment_info` / `GxA_get_experiment_expression` -- EBI Gene Expression Atlas: curated baseline (tissue) and differential (condition-comparison) bulk RNA-seq/microarray experiments. Filter `GxA_list_experiments` by `species` and `experiment_type` ("baseline" vs "differential") first; `GxA_get_experiment_expression` needs a specific `experiment_accession` (e.g. `E-MTAB-2836`) plus `gene_id`.
- `ARCHS4_get_gene_expression` / `ARCHS4_get_gene_correlations` -- ARCHS4: box-plot expression statistics (min/Q1/median/Q3/max, log2) across human/mouse tissues and cell lines, and top co-expressed genes by Pearson correlation across 300K+ uniformly reprocessed RNA-seq samples. Good for a quick baseline-expression sanity check or finding candidate co-regulated genes without running a full differential-expression pipeline.
- `Bgee_search_genes` / `Bgee_get_gene_expression` / `Bgee_list_species` -- Bgee: curated baseline expression-by-tissue calls across 29+ animal species (vs. ARCHS4's human/mouse-only reprocessed RNA-seq, or GxA's curated-but-narrower experiment set). `Bgee_get_gene_expression` needs BOTH an Ensembl gene ID and an NCBI taxonomy ID (e.g. `gene_id="ENSG00000141510"`, `species_id="9606"` for human TP53) -- resolve the gene ID with `Bgee_search_genes` first if you only have a symbol. Use `Bgee_list_species` to confirm a species is covered before assuming Bgee has it. Best for cross-species comparison questions ("is gene X expressed in the same tissues in mouse and zebrafish?"), not for finding raw sequencing datasets to download.
- `PubMed_search_articles` -- dataset discovery via publications

---

## Search Parameters

**ArrayExpress**: `keywords` (free text), `species` (scientific name), `array` (platform filter), `limit`
**BioStudies**: `query` (free text), `limit`

© mims-harvard · Apache-2.0 · mims-harvard/ToolUniverse

Similar skills

Everything for Science and research →

From the same set55

create-tooluniverse-skill Walks you through seven phases of building a ToolUniverse skill, from domain analysis and tool testing to packaging. Aimed at maintainers. CX Codex +1 409installs tooluniverse-spatial-transcriptomics Runs spatial transcriptomics analysis on Visium, MERFISH, seqFISH and Slide-seq data: spatially variable genes, tissue domains and neighbourhood structure. CX Codex +1 408installs tooluniverse-proteomics-analysis A skill for mass-spec proteomics: protein identification, quantification, differential expression and pathway enrichment. CX Codex +1 408installs tooluniverse-rare-disease-diagnosis Turns a patient phenotype into a ranked differential: HPO term matching, Orphanet and OMIM lookups, gene panel prioritization, ACMG variant interpretation. CX Codex +1 406installs tooluniverse-rnaseq-deseq2 A skill for RNA-seq differential expression with DESeq2, edgeR and limma-voom: DEG lists, fold changes and Venn sets across groups. CX Codex +1 405installs tooluniverse-clinical-trial-matching This skill turns a patient's molecular profile and clinical state into a ranked list of clinical trials with evidence tiers and match scores. CX Codex +1 404installs tooluniverse-statistical-modeling Runs statistical models on biomedical data, including natural splines, logistic regression, power calculations, and clinical trial adverse event severity tests. CX Codex +1 402installs tooluniverse-multi-omics-integration A skill that pulls several omics layers into one analysis: matches samples, runs cross-omics correlations, clusters patients and writes a report. CX Codex +1 398installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor