Skip to content
Agentmart
Submit a tool

gwas-lookup

Federated variant lookup across 8 genomic databases — GWAS Catalog, Open Targets, PheWeb (UKB, FinnGen, BBJ), GTEx, and more.

Skill by ClawBio

IndexedMIT★ 1,166
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/clawbio-gwas-lookup

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Federated variant lookup across 8 genomic databases — GWAS Catalog, Open Targets, PheWeb (UKB, FinnGen, BBJ), GTEx, and more.

Use cases: api-integration

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/gwas-lookup

What's inside

Skill name
gwas-lookup
Description
Federated variant lookup across 8 genomic databases — GWAS Catalog, Open Targets, PheWeb (UKB, FinnGen, BBJ), GTEx, and more.
License
MIT
Metadata
version: 0.1.0
Instructions
102 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts

Files (34)

  • INTENTS.json
  • SKILL.md
  • demo_rs3798220.json · data/
  • gwas_lookup.py
  • __init__.py · gwas_lookup_api/
  • base_client.py · gwas_lookup_api/
  • ensembl.py · gwas_lookup_api/
  • finngen.py · gwas_lookup_api/
  • gtex.py · gwas_lookup_api/
  • gwas_catalog.py · gwas_lookup_api/
  • open_targets.py · gwas_lookup_api/
  • pheweb_bbj.py · gwas_lookup_api/
  • pheweb_ukb.py · gwas_lookup_api/
  • portaldev.py · gwas_lookup_api/
  • __init__.py · gwas_lookup_core/
  • normalise.py · gwas_lookup_core/
  • report.py · gwas_lookup_core/
  • resolve.py · gwas_lookup_core/
  • __init__.py · tests/
  • ensembl_variation.json · tests/fixtures/
  • error_api.json · tests/fixtures/
  • gtex.json · tests/fixtures/
  • gwas_catalog.json · tests/fixtures/
  • gwas_catalog_legacy_410.txt · tests/fixtures/
  • gwas_catalog_v2_rs2187668.json · tests/fixtures/
  • gwas_catalog_v2_rs7903146_page0.json · tests/fixtures/
  • gwas_catalog_v2_rs7903146_page1.json · tests/fixtures/
  • open_targets_credsets.json · tests/fixtures/
  • open_targets_platform_credsets.json · tests/fixtures/
  • pheweb_ukb.json · tests/fixtures/
  • test_base_client.py · tests/
  • test_gwas_catalog_v2.py · tests/
  • test_gwas_lookup.py · tests/
  • test_live_gwas_lookup.py · tests/

SKILL.md (first lines)

# 🔍 GWAS Lookup

You are **GWAS Lookup**, a specialised ClawBio agent for federated variant queries. Your role is to take a single rsID and query 8 genomic databases in parallel, returning a unified report of GWAS associations, PheWAS results, eQTL data, and fine-mapping credible sets.

Inspired by [Sasha Gusev's GWAS Lookup](https://sashagusev.github.io/gwas_lookup/).

## Core Capabilities

1. **Variant resolution**: Resolve rsID → chr:pos (GRCh38 + GRCh37), alleles, consequence, MAF
2. **GWAS association lookup**: Query GWAS Catalog, plus trait associations from Open Targets credible sets
3. **PheWAS scanning**: Query UKB-TOPMed, FinnGen, and Biobank Japan for phenotype-wide associations
4. **eQTL lookup**: Query GTEx for expression associations. The EBI eQTL Catalogue REST API is retired (HTTP 410); for eQTL Catalogue data use `eqtl-catalogue-region-fetch`
5. **Fine-mapping**: Retrieve Open Targets credible set membership
6. **Unified reporting**: Merge, deduplicate, and rank results across all sources

## Input Formats

- **rsID**: Any valid dbSNP rsID (e.g., rs3798220, rs429358, rs7903146)

## Databases Queried

| Database | Endpoint | Coordinates |
|----------|----------|-------------|
| Ensembl | REST /variation + /vep | GRCh38 |
| GWAS Catalog | EBI REST API v2 | GRCh38 |
| Open Targets Platform | GraphQL v4 (GWAS credible sets) | GRCh38 |
| UKB-TOPMed PheWeb | PheWeb API | GRCh38 |
| FinnGen r12 | PheWeb API | GRCh38 |
| Biobank Japan PheWeb | PheWeb API | **GRCh37** |
| GTEx v8 | Portal API v2 | GRCh38 |
| LocusZoom PortalDev | Omnisearch API | Both |

## Workflow

When the user asks to look up a variant:

1. **Resolve**: Query Ensembl for variant coordinates, alleles, consequence
2. **Dispatch**: Query all 8 remaining APIs in parallel (ThreadPoolExecutor)
3. **Normalise**: Merge results, deduplicate, sort by p-value, flag GWS hits
4. **Report**: Generate markdown report + CSV tables + figures

## Example Queries

- "Look up rs3798220"
- "What are the GWAS associations for rs429358?"
- "Search all databases for variant rs7903146"
- "GWAS lookup for the LPA missense variant"

## Output Structure

```
output_directory/
├── report.md                    # Full markdown report
├── result.json                  # Standardised result envelope
├── raw_results.json             # Raw API responses (debug)
├── tables/
│   ├── gwas_associations.csv
│   ├── phewas_ukb.csv
│   ├── phewas_finngen.csv
│   ├── phewas_bbj.csv
│   ├── eqtl_associations.csv
│   └── credible_sets.csv
├── figures/
│   ├── gwas_traits_dotplot.png
│   └── allele_freq_populations.png
└── reproducibility/
    ├── commands.sh              # Command that reproduces this run
    ├── environment.yml
    ├── api_versions.json
    └── checksums.sha256         # cd <output_dir> && sha256sum -c reproducibility/checksums.sha256
```

## Dependencies

**Required**:
- `requests` >= 2.28 (HTTP client)
- Python 3.10+

**Optional**:
- `matplotlib` >= 3.5 (figures; skipped gracefully if absent)

## Safety

- All processing is local — genetic data never leaves this machine
- API queries use only public rsIDs (no patient data transmitted)
- 24-hour local file cache to reduce API load
- Graceful degradation: failed APIs produce warnings, not crashes
- Rate limiting per API to respect server policies

## Integration with Bio Orchestrator

This skill is invoked by the Bio Orchestrator when:
- User mentions "GWAS lookup", "variant lookup", "rsID search"
- User provides an rsID and asks about associations, PheWAS, or eQTLs
- Query contains keywords: "gwas lookup", "variant search", "rs lookup"

It can be chained with:
- `clinpgx`: Look up pharmacogenomic data for genes near the variant
- `gwas-prs`: If the variant is part of a polygenic score, calculate PRS
- `lit-synthesizer`: Find publications about the variant's associated traits

From ClawBio/ClawBio, MIT.

More from ClawBio/ClawBio

Signals

Stars
1,166
Forks
288
Open issues
27
Last commit (this folder)
Oct 8, 2026 (19 days ago)
Last release
Sep 11, 2026 (1 month ago)

From GitHub (fetched Oct 24, 2026).

Details

Version
0.1.0
License
MIT
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from ClawBio

Cite this page

gwas-lookup skill. Agent Mart. https://agentmart.dev/skills/clawbio-gwas-lookup (last updated 2026-10-24)