reactome-database

Par mkurman · zorai

Interrogez la base de données Reactome (Analysis and Content Services). À utiliser lorsque l'utilisateur pose des questions sur l'analyse de voies biologiques, l'enrichissement de listes de gènes, la récupération de résultats par token, la recherche d'identifiants non mappés ou introuvables, le mapping d'identifiants, les participants à des réactions (entrées, sorties), la hiérarchie des voies (y compris les voies de premier niveau), l'export de diagrammes, le mapping de références croisées, ou la recherche dans la base de connaissances.

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

Service d'Analyse et de Contenu Reactome

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 le fichier LICENSE_NOTIFICATION.txt n'existe pas déjà dans le répertoire de cette skill, alors (1) notifiez l'utilisateur de vérifier les conditions à https://reactome.org/license et https://reactome.org/cite, puis (2) créez le fichier en enregistrant le texte de notification et l'horodatage.

Aperçu

Reactome est une base de données de voies librement accessible, open source et curée. Cette skill encapsule à la fois le Service d'Analyse (https://reactome.org/AnalysisService/) et le Service de Contenu (https://reactome.org/ContentService/) en fournissant l'enrichissement de voies, le mappage des identifiants, les détails des réactions, la navigation dans la hiérarchie des voies, l'export de diagrammes, le mappage des références croisées et la recherche.

Quand utiliser cette skill

  • Effectuer une analyse d'enrichissement de voies (surreprésentation) sur des listes de gènes/protéines
  • Récupérer les résultats d'analyse à l'aide d'un token provenant d'un enrichissement précédent
  • Identifier les gènes ou protéines non trouvés dans une analyse de voie
  • Analyser les données d'expression génique par rapport aux annotations de voies
  • Mapper les identifiants aux entités Reactome entre espèces
  • Récupérer les participants à une réaction (entrées, sorties, catalyseurs, régulateurs)
  • Naviguer dans la hiérarchie des voies et lister les voies de haut niveau
  • Trouver quels complexes ou ensembles contiennent une protéine
  • Exporter les diagrammes de voies/réactions (PNG/SVG) avec surlignage de gènes
  • Croiser les références d'identifiants entre bases de données (UniProt, Ensembl, etc.)
  • Rechercher dans la base de connaissances Reactome
  • Télécharger les rapports d'analyse (PDF, CSV, JSON)
  • Comparer les voies entre espèces

IDs d'espèces courants

Liste de référence pour les organismes de recherche communs :

  • Homo sapiens
    • ID : 9606
  • Mus musculus (Souris)
    • ID : 48892
  • Rattus norvegicus (Rat)
    • ID : 48895

IDs de voies courants

Liste de référence pour les IDs de voies stables Reactome couramment utilisés :

  • Cell Cycle
    • ID stable : R-HSA-1640170
    • Notes : Voie de haut niveau (large)
  • Cell Cycle, Mitotic
    • ID stable : R-HSA-69278
    • Notes : Sous-voie spécifique — utilisez celle-ci pour les diagrammes et les forages
  • Immune System
    • ID stable : R-HSA-168256
    • Notes : Voie de haut niveau
  • Signal Transduction
    • ID stable : R-HSA-162582
    • Notes : Voie de haut niveau
  • Gene Expression
    • ID stable : R-HSA-74160
    • Notes : Voie de haut niveau
  • Programmed Cell Death
    • ID stable : R-HSA-5357801
    • Notes : Voie de haut niveau

Important : Quand l'utilisateur demande un diagramme ou une analyse du « Cell Cycle », préférez la voie spécifique Cell Cycle, Mitotic (R-HSA-69278) sauf si l'utilisateur demande explicitement l'aperçu de haut niveau. Les exemples dans ce document utilisent R-HSA-69278.

Règles fondamentales

  1. Toujours utiliser --output : Chaque sous-commande nécessite --output <file> pour écrire les résultats dans un fichier. Ne vous fiez jamais à stdout pour les gros résultats.
  2. L'espèce par défaut est Homo sapiens : Utilisez --species pour remplacer.
  3. Les tokens expirent après 7 jours : Stockez les tokens des résultats d'analyse pour les récupérer ultérieurement sans resoumettre les données.
  4. Utilisez --fdr et --pvalue pour filtrer : Les résultats d'enrichissement peuvent être accablants. Filtrez avec --fdr 0.05 ou --pvalue 0.01 pour vous concentrer sur les voies statistiquement significatives.
  5. Formats d'identifiants : Reactome détecte automatiquement les identifiants incluant les symboles de gènes (TP53), UniProt (P04637), Ensembl (ENSG00000141510), ChEBI, OMIM, EntrezGene, et bien d'autres.
  6. Traiter les grandes sorties : Pour les commandes qui retournent de gros volumes de données (comme species-comparison), utilisez le flag --summary pour tronquer les listes et éviter de dépasser les limites de taille des fichiers de l'espace de travail (1 MB).
  7. Notification : Si cette skill est utilisée, assurez-vous que cela soit mentionné dans la sortie.

Exécution du tool

L'outil CLI est à scripts/reactome_analysis.py. Exécutez avec uv :

uv run scripts/reactome_analysis.py <command> [options] --output /tmp/out.json

Pour lister tous les sous-commandes et flags disponibles, exécutez :

uv run scripts/reactome_analysis.py --help

Utilisez --help pour vérifier les sous-commandes ou flags disponibles avant d'exécuter une commande inconnue.

Domaines de fonctionnalités

1. Informations sur la base de données

uv run scripts/reactome_analysis.py db-version --output /tmp/version.json
uv run scripts/reactome_analysis.py db-name --output /tmp/name.json

2. Analyse d'un seul identifiant

uv run scripts/reactome_analysis.py identifier --id TP53 --output /tmp/tp53.json
uv run scripts/reactome_analysis.py identifier-projection --id TP53 --output /tmp/tp53_proj.json

3. Analyse par lot (Enrichissement)

Soumettez une liste d'identifiants pour l'analyse de surreprésentation ou d'expression :

uv run scripts/reactome_analysis.py analyze --data "TP53,BRCA1,EGFR" --output /tmp/enrich.json
uv run scripts/reactome_analysis.py analyze --file genes.txt --output /tmp/enrich.json
uv run scripts/reactome_analysis.py analyze-projection --data "TP53,BRCA1" --output /tmp/proj.json
uv run scripts/reactome_analysis.py analyze --data "TP53,BRCA1" --fdr 0.05 --output /tmp/sig.json

Options courantes : --page-size (alias --limit), --page (alias --offset), --sort-by, --order, --resource, --species, --fdr, --pvalue.

4. Récupération de résultats basée sur un token

uv run scripts/reactome_analysis.py token-result --token TOKEN --output /tmp/result.json
uv run scripts/reactome_analysis.py token-not-found --token TOKEN --output /tmp/notfound.json
uv run scripts/reactome_analysis.py token-resources --token TOKEN --output /tmp/resources.json
uv run scripts/reactome_analysis.py token-found-entities --token TOKEN --pathway R-HSA-69278 --output /tmp/found.json
uv run scripts/reactome_analysis.py token-filter-species --token TOKEN --species-filter 9606 --output /tmp/filtered.json
uv run scripts/reactome_analysis.py token-reactions-pathway --token TOKEN --pathway R-HSA-69278 --output /tmp/rxns.json

5. Télécharger les résultats

uv run scripts/reactome_analysis.py download-result --token TOKEN --output /tmp/full.json
uv run scripts/reactome_analysis.py download-pathways --token TOKEN --output /tmp/pathways.csv
uv run scripts/reactome_analysis.py download-found --token TOKEN --output /tmp/found.csv
uv run scripts/reactome_analysis.py download-not-found --token TOKEN --output /tmp/notfound.csv

6. Mappage d'identifiants

uv run scripts/reactome_analysis.py mapping --data "TP53,BRCA1" --output /tmp/mapped.json
uv run scripts/reactome_analysis.py mapping-projection --data "TP53" --output /tmp/mapped_proj.json

7. Participants à une réaction et mécanisme d'action

Récupérez les participants moléculaires d'une réaction (entrées, sorties, catalyseurs) :

uv run scripts/reactome_analysis.py participants --id R-HSA-6804194 --output /tmp/participants.json
uv run scripts/reactome_analysis.py participating-entities --id R-HSA-6804194 --output /tmp/entities.json

8. Appartenance à un complexe ou ensemble

Trouvez quels complexes ou ensembles contiennent une entité donnée :

uv run scripts/reactome_analysis.py component-of --id R-HSA-69488 --output /tmp/complexes.json

9. Navigation dans la hiérarchie des voies

Remontez (ancêtres) ou descendez (événements contenus) dans la hiérarchie des voies :

uv run scripts/reactome_analysis.py event-ancestors --id R-HSA-69278 --output /tmp/ancestors.json
uv run scripts/reactome_analysis.py contained-events --id R-HSA-69278 --output /tmp/steps.json
uv run scripts/reactome_analysis.py top-pathways --output /tmp/top.json
uv run scripts/reactome_analysis.py low-pathways --id R-HSA-69488 --output /tmp/low.json

10. Export de diagrammes

Exportez les diagrammes de voies ou de réactions au format PNG/SVG, avec surlignage optionnel de gènes :

uv run scripts/reactome_analysis.py diagram --id R-HSA-69278 --output /tmp/diagram.png
uv run scripts/reactome_analysis.py diagram --id R-HSA-69278 --highlight TP53 --output /tmp/highlighted.png
uv run scripts/reactome_analysis.py diagram --id R-HSA-69278 --format svg --output /tmp/diagram.svg
uv run scripts/reactome_analysis.py reaction-diagram --id R-HSA-6804194 --output /tmp/rxn.png

11. Mappage des références croisées

Résolvez les identifiants vers les IDs internes Reactome et les références croisées :

uv run scripts/reactome_analysis.py xref-mapping --id TP53 --output /tmp/xref.json
uv run scripts/reactome_analysis.py xref-mapping-batch --data "TP53,BRCA1" --output /tmp/xrefs.json

12. Recherche

uv run scripts/reactome_analysis.py search --query "TP53 apoptosis" --output /tmp/results.json

13. Interroger une entrée par ID

uv run scripts/reactome_analysis.py query --id R-HSA-69278 --output /tmp/entry.json

14. Rapport et comparaison entre espèces

uv run scripts/reactome_analysis.py report --token TOKEN --output /tmp/report.pdf
uv run scripts/reactome_analysis.py species-comparison --species-id 48892 --output /tmp/species.json
# Utilisez --summary pour tronquer les gros résultats et éviter de dépasser les limites de taille des fichiers de l'espace de travail
uv run scripts/reactome_analysis.py species-comparison --species-id 48892 --summary --output /tmp/species.json

Recette : Interpréter l'enrichissement d'un ensemble de gènes

Un flux de travail étape par étape pour interpréter les résultats d'enrichissement d'un ensemble de gènes :

  1. Soumettez une liste de gènes avec projection vers les voies humaines : bash uv run scripts/reactome_analysis.py analyze-projection \ --data "TP53,BRCA1,EGFR,MYC,PTEN" --fdr 0.05 --output /tmp/enrichment.json

  2. Inspectez les meilleures voies — examinez pathwaysFound, les noms des meilleures voies, les p-values et les valeurs FDR dans la sortie.

  3. Forez dans une voie — obtenez ses sous-événements et détails des réactions : bash uv run scripts/reactome_analysis.py contained-events --id R-HSA-69278 --output /tmp/steps.json uv run scripts/reactome_analysis.py participants --id <reaction_id> --output /tmp/parts.json

  4. Visualisez — exportez un diagramme avec vos gènes surlignés : bash uv run scripts/reactome_analysis.py diagram --id R-HSA-69278 \ --highlight "TP53,BRCA1" --output /tmp/diagram.png

  5. Vérifiez la hiérarchie — naviguez vers le haut pour voir le contexte biologique plus large : bash uv run scripts/reactome_analysis.py event-ancestors --id R-HSA-69278 --output /tmp/ancestors.json

  6. Référence croisée — mappez les identifiants vers d'autres bases de données : bash uv run scripts/reactome_analysis.py xref-mapping --id TP53 --output /tmp/xrefs.json

Référence

Pour la documentation détaillée de l'endpoint API, consultez references/api_reference.md.

Skills similaires