mcpField
T
tooluniverse-expression-data-retrieval

tooluniverse-expression-data-retrieval

github.com/mims-harvardData & databases1.8k406 installsUpdated 2d ago
Repository

About tooluniverse-expression-data-retrieval

A ToolUniverse skill for finding gene expression experiments and multi-omics datasets, with query disambiguation, dataset search, and quality assessment. It suits researchers selecting public studies by organism, tissue, and experimental design.

Key features

  1. 01Searches experiments by gene, disease, or platform
  2. 02Retrieves experiment metadata, samples, and files
  3. 03Assesses replication and annotation completeness
  4. 04Finds multi-omics and baseline expression data
  5. 05Organizes findings into quality-ranked reports

Use cases

  1. 01Find RNA-seq data for a disease or tissue
  2. 02Compare sample design and quality across studies
  3. 03Locate datasets containing multiple omics types
  4. 04Check gene expression context across tissues

MCP support

The skill uses ToolUniverse tools to search sources such as ArrayExpress, BioStudies, and GEO, and retrieve experiment details, sample annotations, files, and expression data.

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/mims-harvard/tooluniverse --skill tooluniverse-expression-data-retrieval

After installing, type/tooluniverse-expression-data-retrievalin Claude Code to confirm it loaded.

Bundled filesCHECKLIST.mdexamples.md

Details

From the project README

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 TypeSearch Strategy
Specific accessionDirect retrieval
Gene + condition"[gene] [condition]" + species filter
Disease only"[disease]" + species filter
Technology-specificAdd platform keywords

Phase 2: Data Retrieval (Internal)

Search silently. Do NOT narrate the process.

# 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
PrimaryFallback
ArrayExpress searchBioStudies search
arrayexpress_get_experimentbiostudies_get_study
arrayexpress_get_experiment_filesNote "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

TierSymbolCriteria
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

ErrorResponse
"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

Comments

Markdown supported