Agent skill

Gtex Database

by LeonChaoX in LeonChaoX/qinyan-academic-skills

Query GTEx (Genotype-Tissue Expression) portal for tissue-specific gene expression, eQTLs (expression quantitative trait loci), and sQTLs.

CC-BY-4.0Auto-check passedResearch & Science

Install Gtex Database

skills CLI
$ npx skills add LeonChaoX/qinyan-academic-skills --skill gtex-database -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install LeonChaoX/qinyan-academic-skills gtex-database --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/LeonChaoX/qinyan-academic-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/'skills/12-科学数据库/gtex-database' .claude/skills/gtex-database && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
gtex-database
GitHub stars
937
Used in
2 other repos
Token cost
~2.8k tokens
SKILL.md length
542 words
Files
2 (incl. references)
Skills in repo
22
Repo updated
First seen
Licence
CC-BY-4.0

At a glance

Query GTEx (Genotype-Tissue Expression) portal for tissue-specific gene expression, eQTLs (expression quantitative trait loci), and sQTLs.

  • Works in 7 steps: GTEx REST API v2 → Gene Expression by Tissue → eQTL Lookup → …
  • Tasks that involve Bioinformatics
  • SKILL.md covers Overview, When to Use This Skill, Core Capabilities and Query Workflows, plus 5 more sections
  • Calls wget; reaches gtexportal.org and storage.googleapis.com

What it does

Gtex Database is an agent skill from LeonChaoX/qinyan-academic-skills. Query GTEx (Genotype-Tissue Expression) portal for tissue-specific gene expression, eQTLs (expression quantitative trait loci), and sQTLs. Essential for linking GWAS variants to gene regulation, understanding tissue-specific expression, and interpreting non-coding variant effects.

Its SKILL.md is about 2.8k tokens, which your agent loads only when the skill is triggered. The skill folder holds 2 other files, including reference files (for example `references/api_reference.md`).

It sits in Research & Science, covering Bioinformatics. The repository describes itself as: A curated, multilingual library of 182 installable AI agent skills for end-to-end academic research—spanning literature discovery, scientific writing, grant development… The licence is CC-BY-4.0.

When your agent uses it

  • Tasks that involve Bioinformatics

Example prompts

  • “/gtex-database”

Requirements

  • Python 3

Workflow steps

7 steps, taken from the step headings in SKILL.md.

  1. GTEx REST API v2
  2. Gene Expression by Tissue
  3. eQTL Lookup
  4. Single-Tissue eQTL by Variant
  5. Multi-Tissue eQTL (eGenes)
  6. Tissue List
  7. sQTL (Splicing QTLs)

What it can do on your machine

Read from SKILL.md and the folder at commit df5a498. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Shell commands in SKILL.md call:

    • wget

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • gtexportal.org
    • storage.googleapis.com

    Also links to:

    • github.com

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Gtex Database loads about 2.8k tokens when it runs, and up to ~4k if it reads all its reference files. Until then it costs about 74 tokens; SKILL.md has 542 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~74
When it runs · the whole SKILL.md, loaded when a task matches
~2.8k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); files beside SKILL.md are not scanned.

SKILL.md

The full file from LeonChaoX/qinyan-academic-skills at commit df5a498, republished under its CC-BY-4.0 licence (© LeonChaoX). 542 words, ~2,758 tokens.

Download SKILL.mdSave it as .claude/skills/gtex-database/SKILL.md (or your agent's skills folder). This skill also uses 1 other file; get the full folder from GitHub.
name
gtex-database
description
Query GTEx (Genotype-Tissue Expression) portal for tissue-specific gene expression, eQTLs (expression quantitative trait loci), and sQTLs. Essential for linking GWAS variants to gene regulation, understanding tissue-specific expression, and interpreting non-coding variant effects.
license
CC-BY-4.0
metadata.skill-author
Kuan-lin Huang

GTEx Database

Overview

The Genotype-Tissue Expression (GTEx) project provides a comprehensive resource for studying tissue-specific gene expression and genetic regulation across 54 non-diseased human tissues from nearly 1,000 individuals. GTEx v10 (the latest release) enables researchers to understand how genetic variants regulate gene expression (eQTLs) and splicing (sQTLs) in a tissue-specific manner, which is critical for interpreting GWAS loci and identifying regulatory mechanisms.

Key resources:

When to Use This Skill

Use GTEx when:

  • GWAS locus interpretation: Identifying which gene a non-coding GWAS variant regulates via eQTLs
  • Tissue-specific expression: Comparing gene expression levels across 54 human tissues
  • eQTL colocalization: Testing if a GWAS signal and an eQTL signal share the same causal variant
  • Multi-tissue eQTL analysis: Finding variants that regulate expression in multiple tissues
  • Splicing QTLs (sQTLs): Identifying variants that affect splicing ratios
  • Tissue specificity analysis: Determining which tissues express a gene of interest
  • Gene expression exploration: Retrieving normalized expression levels (TPM) per tissue

Core Capabilities

1. GTEx REST API v2

Base URL: https://gtexportal.org/api/v2/

The API returns JSON and does not require authentication. All endpoints support pagination.

python
import requests

BASE_URL = "https://gtexportal.org/api/v2"

def gtex_get(endpoint, params=None):
    """Make a GET request to the GTEx API."""
    url = f"{BASE_URL}/{endpoint}"
    response = requests.get(url, params=params, headers={"Accept": "application/json"})
    response.raise_for_status()
    return response.json()
2. Gene Expression by Tissue
python
import requests
import pandas as pd

def get_gene_expression_by_tissue(gene_id_or_symbol, dataset_id="gtex_v10"):
    """Get median gene expression across all tissues."""
    url = "https://gtexportal.org/api/v2/expression/medianGeneExpression"
    params = {
        "gencodeId": gene_id_or_symbol,
        "datasetId": dataset_id,
        "itemsPerPage": 100
    }
    response = requests.get(url, params=params)
    data = response.json()

    records = data.get("data", [])
    df = pd.DataFrame(records)
    if not df.empty:
        df = df[["tissueSiteDetailId", "tissueSiteDetail", "median", "unit"]].sort_values(
            "median", ascending=False
        )
    return df

# Example: get expression of APOE across tissues
df = get_gene_expression_by_tissue("ENSG00000130203.10")  # APOE GENCODE ID
# Or use gene symbol (some endpoints accept both)
print(df.head(10))
# Output: tissue name, median TPM, sorted by highest expression
3. eQTL Lookup
python
import requests
import pandas as pd

def query_eqtl(gene_id, tissue_id=None, dataset_id="gtex_v10"):
    """Query significant eQTLs for a gene, optionally filtered by tissue."""
    url = "https://gtexportal.org/api/v2/association/singleTissueEqtl"
    params = {
        "gencodeId": gene_id,
        "datasetId": dataset_id,
        "itemsPerPage": 250
    }
    if tissue_id:
        params["tissueSiteDetailId"] = tissue_id

    all_results = []
    page = 0
    while True:
        params["page"] = page
        response = requests.get(url, params=params)
        data = response.json()
        results = data.get("data", [])
        if not results:
            break
        all_results.extend(results)
        if len(results) < params["itemsPerPage"]:
            break
        page += 1

    df = pd.DataFrame(all_results)
    if not df.empty:
        df = df.sort_values("pval", ascending=True)
    return df

# Example: Find eQTLs for PCSK9
df = query_eqtl("ENSG00000169174.14")
print(df[["snpId", "tissueSiteDetailId", "slope", "pval", "gencodeId"]].head(20))
4. Single-Tissue eQTL by Variant
python
import requests

def query_variant_eqtl(variant_id, tissue_id=None, dataset_id="gtex_v10"):
    """Get all eQTL associations for a specific variant."""
    url = "https://gtexportal.org/api/v2/association/singleTissueEqtl"
    params = {
        "variantId": variant_id,  # e.g., "chr1_55516888_G_GA_b38"
        "datasetId": dataset_id,
        "itemsPerPage": 250
    }
    if tissue_id:
        params["tissueSiteDetailId"] = tissue_id

    response = requests.get(url, params=params)
    return response.json()

# GTEx variant ID format: chr{chrom}_{pos}_{ref}_{alt}_b38
# Example: "chr17_43094692_G_A_b38"
5. Multi-Tissue eQTL (eGenes)
python
import requests

def get_egenes(tissue_id, dataset_id="gtex_v10"):
    """Get all eGenes (genes with at least one significant eQTL) in a tissue."""
    url = "https://gtexportal.org/api/v2/association/egene"
    params = {
        "tissueSiteDetailId": tissue_id,
        "datasetId": dataset_id,
        "itemsPerPage": 500
    }

    all_egenes = []
    page = 0
    while True:
        params["page"] = page
        response = requests.get(url, params=params)
        data = response.json()
        batch = data.get("data", [])
        if not batch:
            break
        all_egenes.extend(batch)
        if len(batch) < params["itemsPerPage"]:
            break
        page += 1
    return all_egenes

# Example: all eGenes in whole blood
egenes = get_egenes("Whole_Blood")
print(f"Found {len(egenes)} eGenes in Whole Blood")
6. Tissue List
python
import requests

def get_tissues(dataset_id="gtex_v10"):
    """Get all available tissues with metadata."""
    url = "https://gtexportal.org/api/v2/dataset/tissueSiteDetail"
    params = {"datasetId": dataset_id, "itemsPerPage": 100}
    response = requests.get(url, params=params)
    return response.json()["data"]

tissues = get_tissues()
# Key fields: tissueSiteDetailId, tissueSiteDetail, colorHex, samplingSite
# Common tissue IDs:
# Whole_Blood, Brain_Cortex, Liver, Kidney_Cortex, Heart_Left_Ventricle,
# Lung, Muscle_Skeletal, Adipose_Subcutaneous, Colon_Transverse, ...
7. sQTL (Splicing QTLs)
python
import requests

def query_sqtl(gene_id, tissue_id=None, dataset_id="gtex_v10"):
    """Query significant sQTLs for a gene."""
    url = "https://gtexportal.org/api/v2/association/singleTissueSqtl"
    params = {
        "gencodeId": gene_id,
        "datasetId": dataset_id,
        "itemsPerPage": 250
    }
    if tissue_id:
        params["tissueSiteDetailId"] = tissue_id

    response = requests.get(url, params=params)
    return response.json()

Query Workflows

Workflow 1: Interpreting a GWAS Variant via eQTLs
  1. Identify the GWAS variant (rs ID or chromosome position)
  2. Convert to GTEx variant ID format (chr{chrom}_{pos}_{ref}_{alt}_b38)
  3. Query all eQTL associations for that variant across tissues
  4. Check effect direction: is the GWAS risk allele the same as the eQTL effect allele?
  5. Prioritize tissues: select tissues biologically relevant to the disease
  6. Consider colocalization using coloc (R package) with full summary statistics
python
import requests, pandas as pd

def interpret_gwas_variant(variant_id, dataset_id="gtex_v10"):
    """Find all genes regulated by a GWAS variant."""
    url = "https://gtexportal.org/api/v2/association/singleTissueEqtl"
    params = {"variantId": variant_id, "datasetId": dataset_id, "itemsPerPage": 500}
    response = requests.get(url, params=params)
    data = response.json()

    df = pd.DataFrame(data.get("data", []))
    if df.empty:
        return df
    return df[["geneSymbol", "tissueSiteDetailId", "slope", "pval", "maf"]].sort_values("pval")

# Example
results = interpret_gwas_variant("chr1_154453788_A_T_b38")
print(results.groupby("geneSymbol")["tissueSiteDetailId"].count().sort_values(ascending=False))
Workflow 2: Gene Expression Atlas
  1. Get median expression for a gene across all tissues
  2. Identify the primary expression site(s)
  3. Compare with disease-relevant tissues
  4. Download raw data for statistical comparisons
Show full SKILL.md (222 more words)Show less
Workflow 3: Tissue-Specific eQTL Analysis
  1. Select tissues relevant to your disease
  2. Query all eGenes in that tissue
  3. Cross-reference with GWAS-significant loci
  4. Identify co-localized signals

Key API Endpoints

EndpointDescription
/expression/medianGeneExpressionMedian TPM by tissue for a gene
/expression/geneExpressionFull distribution of expression per tissue
/association/singleTissueEqtlSignificant eQTL associations
/association/singleTissueSqtlSignificant sQTL associations
/association/egeneeGenes in a tissue
/dataset/tissueSiteDetailAvailable tissues with metadata
/reference/geneGene metadata (GENCODE IDs, coordinates)
/variant/variantPageVariant lookup by rsID or position

Datasets Available

IDDescription
gtex_v10GTEx v10 (current; ~960 donors, 54 tissues)
gtex_v8GTEx v8 (838 donors, 49 tissues) — older but widely cited

Best Practices

  • Use GENCODE IDs (e.g., ENSG00000130203.10) for gene queries; the .version suffix matters for some endpoints
  • GTEx variant IDs use the format chr{chrom}_{pos}_{ref}_{alt}_b38 (GRCh38) — different from rs IDs
  • Handle pagination: Large queries (e.g., all eGenes) require iterating through pages
  • Tissue nomenclature: Use tissueSiteDetailId (e.g., Whole_Blood) not display names for API calls
  • FDR correction: GTEx uses FDR < 0.05 (q-value) as the significance threshold for eQTLs
  • Effect alleles: The slope field is the effect of the alternative allele; positive = higher expression with alt allele

Data Downloads (for large-scale analysis)

For genome-wide analyses, download full summary statistics rather than using the API:

bash
# All significant eQTLs (v10)
wget https://storage.googleapis.com/adult-gtex/bulk-qtl/v10/single-tissue-cis-qtl/GTEx_Analysis_v10_eQTL.tar

# Normalized expression matrices
wget https://storage.googleapis.com/adult-gtex/bulk-gex/v10/rna-seq/GTEx_Analysis_v10_RNASeQCv2.4.2_gene_reads.gct.gz

Additional Resources

© LeonChaoX, CC-BY-4.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 1 other file (references) in skills/12-科学数据库/gtex-database of LeonChaoX/qinyan-academic-skills.

  • SKILL.md
  • references/api_reference.md

Open the folder on GitHubat commit df5a498

Used in 2 other repositories

We found 2 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 2 other GitHub owners. This page covers the copy in LeonChaoX/qinyan-academic-skills, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Gtex Database next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Gtex Database compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Gtex Database this skillLeonChaoX/qinyan-academic-skills9372 repos~2.8kAutomated safety check: PassCC-BY-4.0
Alphagenome Single Variant Analysisgoogle-deepmind/science-skills3.2k2 repos~3kAutomated safety check: NotesApache-2.0
13C Metabolic Flux AnalysisK-Dense-AI/scientific-agent-skills48k1 repos~3.2kAutomated safety check: PassMIT
Clinvar Databasegoogle-deepmind/science-skills3.2k2 repos~3.9kAutomated safety check: NotesApache-2.0
Metabolic Study Planneraiming-lab/AutoResearchClaw15k—~1.9kAutomated safety check: PassMIT
Dbsnp Databasegoogle-deepmind/science-skills3.2k2 repos~3.4kAutomated safety check: NotesApache-2.0

Similar skills

  • Alphagenome Single Variant Analysis

    google-deepmind/science-skills

    Analyzes genetic variant effects on gene expression (RNA-seq), chromatin accessibility (DNASE), histone marks (ChIP), and transcription factors using the AlphaGenome API.

    3.2k GitHub starsUsed in 2 repos~3k tokens
    Research & ScienceAuto-check: notes
  • 13C Metabolic Flux Analysis

    K-Dense-AI/scientific-agent-skills

    Estimates reaction fluxes inside cells from steady-state carbon-13 labeling data with a bundled mfapy-based solver, and reports which fluxes the data pin down.

    48k GitHub starsUsed in 1 repo~3.2k tokens
    Research & ScienceAuto-check passed
  • Clinvar Database

    google-deepmind/science-skills

    A skill your agent uses when needing clinical significance, pathogenicity classifications (e.g., Pathogenic, Benign, VUS), clinical evidence rationales, or finding "hard positive" benchmark controls…

    3.2k GitHub starsUsed in 2 repos~3.9k tokens
    Research & ScienceAuto-check: notes
  • Metabolic Study Planner

    aiming-lab/AutoResearchClaw

    Turns a broad metabolic modelling topic into a concrete, paper-shaped plan with organism, model, perturbations, metrics and figures before any FBA code is written.

    15k GitHub stars~1.9k tokensUpdated 1 mo ago
    Research & ScienceAuto-check passed
  • Dbsnp Database

    google-deepmind/science-skills

    A skill your agent uses when you want to look up, map, and search for short genetic variants (SNPs, indels) in NCBI's dbSNP database.

    3.2k GitHub starsUsed in 2 repos~3.4k tokens
    Research & ScienceAuto-check: notes
  • MFA Pipeline Orchestrator

    aiming-lab/AutoResearchClaw

    Runs a metabolic flux analysis from model loading to phenotype prediction and figures by handing work to four sub-agents in sequence.

    15k GitHub stars~923 tokensUpdated 1 mo ago
    Research & ScienceAuto-check passed

More from LeonChaoX/qinyan-academic-skills

All 22 skills in this repo
  • Paper Slide Deck

    LeonChaoX/qinyan-academic-skills

    Generate professional slide deck images from academic papers and content.

    937 GitHub starsUsed in 2 repos~4.6k tokens
    Auto-check passed
  • Research Proposal

    LeonChaoX/qinyan-academic-skills

    Generate academic research proposals for PhD applications. An agent skill from LeonChaoX/qinyan-academic-skills.

    937 GitHub starsUsed in 2 repos~4.8k tokens
    Auto-check passed
  • Medical Imaging Review

    LeonChaoX/qinyan-academic-skills

    Write comprehensive literature reviews for medical imaging AI research.

    937 GitHub starsUsed in 3 repos~1.1k tokens
    Auto-check: notes
  • Phylogenetics

    LeonChaoX/qinyan-academic-skills

    Build and analyze phylogenetic trees using MAFFT (multiple alignment), IQ-TREE 2 (maximum likelihood), and FastTree (fast NJ/ML).

    937 GitHub starsUsed in 2 repos~3.5k tokens
    Auto-check passed
  • Geomaster

    LeonChaoX/qinyan-academic-skills

    Comprehensive geospatial science skill covering remote sensing, GIS, spatial analysis, machine learning for earth observation, and 30+ scientific domains.

    937 GitHub starsUsed in 1 repo~2.9k tokens
    Auto-check passed
  • Qinyan Nature Figures

    LeonChaoX/qinyan-academic-skills

    面向 Nature Portfolio 与高影响力期刊的证据驱动科研绘图技能。用于从原始或汇总数据设计单图与多面板 figure、选择合适图形语法、编写 Python/R 绘图代码、重绘现有图件、生成机制示意图草案、撰写图注并导出可编辑 SVG/PDF 与高分辨率 TIFF/PNG;同时检查数据完整性、颜色可访问性、统计标注和最终尺寸可读性。触发场景包括 Nature…

    937 GitHub stars~600 tokensUpdated 2 mo ago
    Auto-check passed

Questions about Gtex Database

What does Gtex Database do?

Query GTEx (Genotype-Tissue Expression) portal for tissue-specific gene expression, eQTLs (expression quantitative trait loci), and sQTLs. Gtex Database is an agent skill from LeonChaoX/qinyan-academic-skills. Query GTEx (Genotype-Tissue Expression) portal for tissue-specific gene expression, eQTLs (expression quantitative trait loci), and sQTLs.

When should I use Gtex Database?

Gtex Database fits situations like: tasks that involve Bioinformatics.

How do I install Gtex Database in Claude Code?

Run `npx skills add LeonChaoX/qinyan-academic-skills --skill gtex-database -a claude-code`. Or copy the skill folder (skills/12-科学数据库/gtex-database in LeonChaoX/qinyan-academic-skills) into .claude/skills/gtex-database in your project. Claude Code loads it when a task matches its description.

How do I install Gtex Database in Codex?

Run `npx skills add LeonChaoX/qinyan-academic-skills --skill gtex-database -a codex`. Or copy the skill folder (skills/12-科学数据库/gtex-database in LeonChaoX/qinyan-academic-skills) into .agents/skills/gtex-database in your project. Codex loads it when a task matches its description.

Can I use Gtex Database in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add LeonChaoX/qinyan-academic-skills --skill gtex-database -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/gtex-database, .gemini/skills/gtex-database, .github/skills/gtex-database and .opencode/skills/gtex-database in your project.

What does Gtex Database need to run?

Going by SKILL.md and its folder, Gtex Database needs the command-line tools its instructions call (wget). Our summary lists: Python 3.

Does Gtex Database access the network?

SKILL.md names 3 domains. In commands or code: gtexportal.org and storage.googleapis.com; the agent is likely to contact these when it follows the instructions. As links in the text: github.com. This is read from the text; nothing was executed.

Is Gtex Database safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. Review the folder before installing.

What licence does Gtex Database use?

Gtex Database is published under the CC-BY-4.0 licence (declared in SKILL.md). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Gtex Database use?

About 2.8k tokens (SKILL.md is roughly 11k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 1.2k tokens, read only when the agent opens those files.

What are the alternatives to Gtex Database?

Skills that share tags, products or a category with Gtex Database: Alphagenome Single Variant Analysis (google-deepmind/science-skills, 3.2k stars), 13C Metabolic Flux Analysis (K-Dense-AI/scientific-agent-skills, 48k stars), Clinvar Database (google-deepmind/science-skills, 3.2k stars) and Metabolic Study Planner (aiming-lab/AutoResearchClaw, 15k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Gtex Database?

LeonChaoX (a GitHub user) maintains it in LeonChaoX/qinyan-academic-skills, which has 937 GitHub stars. The repository holds 22 skills in this directory. The repository was last updated on July 20, 2026.

Source: LeonChaoX/qinyan-academic-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.