gtex-database

Par mkurman · zorai

À utiliser pour récupérer des données quantitatives d'expression ARN et des informations sur les variants eQTL issues du projet GTEx (Genotype-Tissue Expression) pour 54 sites tissulaires non pathologiques.

npx skills add https://github.com/mkurman/zorai --skill gtex-database

Intégration de la base de données GTEx

Cette skill récupère les données de transcriptomique (baselines d'expression ARN) et les loci quantitatifs d'expression (eQTLs) à partir de l'API V2 du portail GTEx. Elle fournit un accès aux valeurs TPM (Transcripts Per Million) médianes pour les gènes et aux eQTLs significatifs pour les variants à travers 54 sites tissulaires humains.

Prérequis

  1. uv : Lisez la skill uv et suivez ses instructions de configuration pour vous assurer que uv est installé et accessible via PATH.
  2. Notification utilisateur : Si le fichier LICENSE_NOTIFICATION.txt n'existe pas déjà dans le répertoire de cette skill, alors (1) notifiez l'utilisateur de manière visible de vérifier les conditions sur https://gtexportal.org/home/license et https://gtexportal.org/home/documentationPage#gtexApi, puis (2) créez le fichier enregistrant le texte de notification et l'horodatage.

Quand utiliser

Utilisez cette skill quand vous devez :

  • Mapper un symbole de gène à son identifiant GENCODE versionné.
  • Récupérer le niveau d'expression médian de base (en TPM) d'un gène sur divers tissus.
  • Trouver les tissus principaux où un gène particulier est le plus fortement exprimé.
  • Récupérer les eQTLs spécifiques à un seul tissu et significatifs pour un variant ou dans une fenêtre chromosomique.
  • Obtenir tous les eQTLs significatifs associés à un gène spécifique.
  • Contextualiser une variante au sein de loci GWAS à l'aide de données eQTL.

NE l'utilisez PAS quand vous devez :

  • Interroger l'expression au niveau protéique ou les modifications post-traductionnelles (PTMs). GTEx ne mesure que l'abondance de l'ARNm.
  • Interroger l'expression génique dans les tissus malades (p. ex., les tumeurs, la cirrhose). GTEx est un atlas de base de tissus normaux et non malades.
  • Interroger l'expression génique embryonnaire ou fœtale. Les donneurs GTEx sont uniquement des adultes.

Règles essentielles

CRITIQUE : Vous DEVEZ respecter les conditions d'utilisation de l'API GTEx Portal.

  • Utilisez le wrapper : EXÉCUTEZ TOUJOURS les scripts d'aide fournis pour interroger la base de données plutôt que d'accéder directement à la base de données. Les scripts appliquent automatiquement la limite de débit requise avec élégance.
  • Limitez les requêtes à un maximum de 250 éléments par page le cas échéant.
  • Notification : Si cette skill est utilisée, assurez-vous que cela est mentionné dans la sortie.

Guide de sélection des commandes

Choisissez la bonne commande dès la première tentative. Faites correspondre l'entrée de l'utilisateur à la bonne sous-commande ci-dessous.

  • Mapper un symbole de gène à l'identifiant GENCODE : resolve-gencode-id
  • Obtenir l'expression médiane (TPM) pour un gène : get-median-expression
  • Trouver les tissus avec l'expression la plus élevée pour un gène : get-top-expressed-tissues
  • Obtenir tous les eQTLs pour un gène spécifique : get-gene-eqtls
  • Trouver les eQTLs dans une région chromosomique : get-eqtls-in-region

Démarrage rapide

# Mapper le symbole du gène TNF à son identifiant GENCODE
uv run scripts/gtex_cli.py resolve-gencode-id TNF --output /tmp/tnf_id.json

# Obtenir l'expression médiane d'un gène par identifiant GENCODE
uv run scripts/gtex_cli.py get-median-expression ENSG00000232810.2 --output /tmp/tnf_expr.json

Toutes les sous-commandes écrivent du JSON sur le disque. Enregistrez toujours la sortie dans le répertoire /tmp/. Le fichier de sortie par défaut est /tmp/gtex_output.json si --output n'est pas spécifié.

Commandes

1. resolve-gencode-id — Symbole de gène → Identifiant GENCODE

Mappe un symbole de gène standard (p. ex., « JUN », « TNF ») à son identifiant GENCODE versionné. Cet ID est requis pour tous les autres appels d'expression et d'eQTL.

uv run scripts/gtex_cli.py resolve-gencode-id TNF --output /tmp/tnf_id.json

Arguments :

  • gene_symbol (positionnel) : Le symbole de gène standard (p. ex., « TNF »).
  • --output : Chemin du fichier de sortie (par défaut : /tmp/gtex_output.json).

2. get-median-expression — Obtenir l'expression médiane (TPM)

Récupère le TPM médian pour un gène sur les 54 sites tissulaires GTEx ou les tissus spécifiés.

uv run scripts/gtex_cli.py get-median-expression ENSG00000232810.2 \
  --tissues "Whole Blood,Spleen" --output /tmp/expr.json

Arguments :

  • gencode_id (positionnel) : L'identifiant GENCODE versionné.
  • --tissues : Liste des identifiants tissulaires séparés par des virgules (optionnel, par défaut tous les 54 tissus).
  • --output : Chemin du fichier de sortie (par défaut : /tmp/gtex_output.json).

3. get-top-expressed-tissues — Obtenir les tissus les plus exprimés

Retourne les n tissus avec l'expression médiane la plus élevée pour le gène cible.

uv run scripts/gtex_cli.py get-top-expressed-tissues ENSG00000232810.2 \
  --n 5 --output /tmp/top_tissues.json

Arguments :

  • gencode_id (positionnel) : L'identifiant GENCODE versionné.
  • --n : Nombre de tissus principaux à retourner (par défaut : 5).
  • --output : Chemin du fichier de sortie.

4. get-gene-eqtls — Obtenir tous les eQTLs pour un gène

Retourne chaque eQTL significatif associé au gène sur les tissus spécifiés.

uv run scripts/gtex_cli.py get-gene-eqtls ENSG00000232810.2 \
  --tissues "Whole Blood" --output /tmp/eqtls.json

Arguments :

  • gencode_id (positionnel) : L'identifiant GENCODE versionné.
  • --tissues : Liste des identifiants tissulaires séparés par des virgules (optionnel, par défaut tous).
  • --output : Chemin du fichier de sortie.

5. get-eqtls-in-region — Obtenir les eQTLs dans une région chromosomique

Retourne tous les eQTLs significatifs spécifiques à un seul tissu dans une fenêtre chromosomique (jusqu'à 8 Mb).

uv run scripts/gtex_cli.py get-eqtls-in-region chr17 7000000 7100000 "Esophagus - Muscularis" \
  --output /tmp/region_eqtls.json

Arguments :

  • chromosome (positionnel) : Nom du chromosome (p. ex., chr17).
  • start (positionnel) : Position de départ.
  • end (positionnel) : Position de fin (max 8 Mb à partir du départ).
  • tissue_id (positionnel) : L'identifiant du tissu cible.
  • --output : Chemin du fichier de sortie.

Flux de travail typiques

Identifier les tissus avec l'expression la plus élevée pour un gène

# Étape 1 : Mapper le symbole à l'identifiant GENCODE
uv run scripts/gtex_cli.py resolve-gencode-id GATA4 --output /tmp/gata4_id.json

# Étape 2 : Interroger les tissus principaux à l'aide de l'ID résolu
uv run scripts/gtex_cli.py get-top-expressed-tissues <gencode_id> --n 5 \
  --output /tmp/gata4_top.json

Skills similaires