human-protein-atlas-database

Par mkurman · zorai

À utiliser lorsque vous souhaitez récupérer des données semi-quantitatives d'expression protéique et de localisation spatiale depuis le Human Protein Atlas (HPA).

npx skills add https://github.com/mkurman/zorai --skill human-protein-atlas-database

Intégration de la base de données Human Protein Atlas (HPA)

Cette skill fournit des données semi-quantitatives sur l'expression protéique et la localisation spatiale à partir de l'Human Protein Atlas (HPA). Tandis que RNA-seq (par exemple GTEx) indique si un gène est transcrit, HPA confirme si le produit protéique existe réellement, où il est localisé dans la cellule (par exemple noyau versus cytoplasme), et sa concentration dans la circulation sanguine systémique. Les données reposent sur l'immunohistochimie (IHC) sur les tissus humains normaux et les types de cancer.

Prérequis

  1. uv : Lisez la skill uv et suivez ses instructions de configuration pour vous assurer que uv est installé et dans le PATH.
  2. Notification utilisateur : Si LICENSE_NOTIFICATION.txt n'existe pas encore dans le répertoire de cette skill, alors (1) notifiez clairement l'utilisateur de consulter les conditions à https://www.proteinatlas.org/about/licence, puis (2) créez le fichier en enregistrant le texte de notification et l'horodatage.

Quand utiliser

Utilisez cette skill quand vous avez besoin de :

  • Mapper un symbole de gène vers son ID Ensembl pour les requêtes HPA.
  • Récupérer l'abondance protéique semi-quantitative dans les tissus humains normaux et les types de cancer basée sur la coloration IHC (Haute, Moyenne, Basse, ou Non détectée).
  • Trouver les organelles spécifiques ou structures subcellulaires où une protéine a été localisée (par exemple, nucléoplasme, mitochondries).
  • Vérifier la cohérence/accord entre le consensus RNA-seq et les niveaux d'expression protéique.
  • Rechercher des gènes en fonction de critères d'expression protéique spécifiques (par exemple, « élevé dans l'amygdale » ou « protéines sécrétées »).

N'utilisez PAS quand vous avez besoin de :

  • Interroger les eQTLs, pQTLs ou toute association au niveau des variants. HPA fournit des données d'expression de type sauvage et ne connaît rien aux QTLs.
  • Interroger l'expression génique dans des espèces non humaines. HPA est strictement réservé aux protéines humaines.
  • Récupérer purement l'expression ARN quantitative sans intérêt pour le produit protéique (considérez plutôt l'utilisation de la skill GTEx).

Guide de sélection des commandes

Choisissez la bonne commande du premier coup. Appariez l'entrée utilisateur à la sous-commande correcte ci-dessous.

  • Mapper un symbole de gène vers l'ID Ensembl : resolve-ensembl-id
  • Obtenir les niveaux d'expression protéique tissulaire : get-tissue-expression
  • Obtenir la localisation subcellulaire d'une protéine : get-subcellular-location
  • Obtenir l'entrée HPA complète pour un gène : get-atlas-entry
  • Rechercher dans HPA les gènes correspondant à des critères spécifiques : search-hpa

Démarrage rapide

# Mapper le symbole du gène ERBB2 vers son ID Ensembl
uv run scripts/hpa_cli.py resolve-ensembl-id ERBB2 --output /tmp/erbb2_id.json

# Obtenir la localisation subcellulaire par ID Ensembl
uv run scripts/hpa_cli.py get-subcellular-location ENSG00000141736 --output /tmp/erbb2_location.json

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

Commandes

1. resolve-ensembl-id — Symbole de gène → ID Ensembl

Mappe un symbole de gène courant (par exemple, « TP53 », « ERBB2 ») vers son ID de gène Ensembl. Les endpoints HPA sont strictement basés sur Ensembl.

uv run scripts/hpa_cli.py resolve-ensembl-id TP53 --output /tmp/tp53_id.json

Arguments :

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

2. get-tissue-expression — Obtenir les niveaux protéiques tissulaires

Retourne une liste des tissus et leurs niveaux d'expression protéique correspondants (Haute, Moyenne, Basse, ou Non détectée) basés sur la coloration IHC.

uv run scripts/hpa_cli.py get-tissue-expression ENSG00000130234 \
  --tissues "duodenum,thyroid gland" --output /tmp/tissue_expr.json

Arguments :

  • ensembl_id (positionnel) : L'ID de gène Ensembl.
  • --tissues : Liste de tissus séparés par des virgules pour le filtrage (optionnel, par défaut tous les tissus disponibles).
  • --output : Chemin du fichier de sortie (par défaut : /tmp/hpa_output.json).

3. get-subcellular-location — Obtenir la localisation subcellulaire

Récupère les organelles spécifiques ou structures cellulaires où la protéine a été localisée.

uv run scripts/hpa_cli.py get-subcellular-location ENSG00000141736 \
  --output /tmp/subcellular.json

Arguments :

  • ensembl_id (positionnel) : L'ID de gène Ensembl.
  • --output : Chemin du fichier de sortie.

4. get-atlas-entry — Obtenir l'entrée HPA complète

Récupère les métadonnées complètes pour un gène, incluant les scores IHC, le consensus RNA-seq, et la localisation subcellulaire.

uv run scripts/hpa_cli.py get-atlas-entry ENSG00000254647 \
  --output /tmp/ins_entry.json

Arguments :

  • ensembl_id (positionnel) : L'ID de gène Ensembl.
  • --format : Format de l'entrée retournée, par exemple json (par défaut : json).
  • --output : Chemin du fichier de sortie.

5. search-hpa — Rechercher par attribut

Permet de filtrer des gènes en fonction de critères spécifiques (par exemple, « élevé dans l'amygdale »).

uv run scripts/hpa_cli.py search-hpa \
  --query "brain_category_rna:amygdala" \
  --output /tmp/search_results.json

Arguments :

  • --query : La chaîne de requête de recherche. Consultez references/search-api.md pour les détails.
  • --output : Chemin du fichier de sortie.

Règles essentielles

  • Utiliser l'enveloppe : EXÉCUTEZ TOUJOURS les scripts helper fournis pour interroger la base de données plutôt que d'accéder directement à la base de données. Les scripts appliquent automatiquement le fair use et implémentent une logique de réessai.
  • Notification : Si cette skill est utilisée, assurez-vous que cela soit mentionné dans la sortie.

Versioning des API

Le site web HPA à www.proteinatlas.org sert toujours la dernière version des données. Les versions archivées plus anciennes peuvent être accédées via vNN.proteinatlas.org (par exemple, v24.proteinatlas.org), tandis que le sous-domaine de la version actuelle redirige vers www.proteinatlas.org. Les scripts de cette skill interrogent la dernière version par défaut.

Erreurs courantes

  • Si aucun résultat n'est retourné, confirmez que la requête est suffisamment détaillée en commençant par la référence API dans references/search-api.md
  • Si vous ne trouvez pas les résultats, recherchez sur le web des exemples de requêtes HPA et utilisez-les pour construire une meilleure requête.
  • La sortie est généralement volumineuse. Utilisez jq ou écrivez votre propre bibliothèque de traitement de données python pour traiter les résultats de recherche. Ne produisez jamais de sortie sur stdout, ou n'affichez pas le fichier de sortie.

Skills similaires