primekg

Par mkurman · zorai

Interrogez le Precision Medicine Knowledge Graph (PrimeKG) pour obtenir des données biologiques multi-échelles incluant des gènes, des médicaments, des maladies, des phénotypes, et bien plus encore.

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

Skill Graphe de Connaissances PrimeKG

Présentation générale

PrimeKG est un graphe de connaissances en médecine de précision qui intègre plus de 20 bases de données primaires et de la littérature scientifique de haute qualité dans une seule ressource. Il contient plus de 100 000 nœuds et 4 millions d'arêtes répartis sur 29 types de relations, incluant les associations cible-médicament, gène-maladie et phénotype-maladie.

Capacités clés :

  • Rechercher des nœuds (gènes, protéines, médicaments, maladies, phénotypes)
  • Récupérer les voisins directs (entités associées et preuves cliniques)
  • Analyser le contexte local d'une maladie (gènes associés, médicaments, phénotypes)
  • Identifier les chemins médicament-maladie (opportunités potentielles de réaffectation)

Accès aux données : Accès programmatique via query_primekg.py. Les données sont stockées à C:\Users\eamon\Documents\Data\PrimeKG\kg.csv.

Quand utiliser ce skill

Ce skill doit être utilisé quand :

  • Découverte de médicaments basée sur les connaissances : Identifier les cibles et mécanismes pour les maladies.
  • Réaffectation de médicaments : Trouver les médicaments existants qui pourraient avoir des preuves pour de nouvelles indications.
  • Analyse de phénotypes : Comprendre comment les symptômes/phénotypes se rapportent aux maladies et gènes.
  • Biologie multi-échelle : Combler le fossé entre les cibles moléculaires (gènes) et les résultats cliniques (maladies).
  • Pharmacologie réseau : Investiguer les effets réseau plus larges des interactions cible-médicament.

Flux de travail principal

1. Rechercher des entités

Trouver les identifiants des gènes, médicaments ou maladies.

from scripts.query_primekg import search_nodes

# Search for Alzheimer's disease nodes
results = search_nodes("Alzheimer", node_type="disease")
# Returns: [{"id": "EFO_0000249", "type": "disease", "name": "Alzheimer's disease", ...}]

2. Obtenir les voisins (associations directes)

Récupérer tous les nœuds connectés et types de relations.

from scripts.query_primekg import get_neighbors

# Get all neighbors of a specific disease ID
neighbors = get_neighbors("EFO_0000249")
# Returns: List of neighbors like {"neighbor_name": "APOE", "relation": "disease_gene", ...}

3. Analyser le contexte de maladie

Une fonction de haut niveau pour résumer les associations d'une maladie.

from scripts.query_primekg import get_disease_context

# Comprehensive summary for a disease
context = get_disease_context("Alzheimer's disease")
# Access: context['associated_genes'], context['associated_drugs'], context['phenotypes']

Types de relations dans PrimeKG

Le graphe contient plusieurs types de relations clés incluant :

  • protein_protein : Interactions protéine-protéine physiques
  • drug_protein : Associations cible/mécanisme d'action des médicaments
  • disease_gene : Associations génétiques
  • drug_disease : Indications et contre-indications
  • disease_phenotype : Signes et symptômes cliniques
  • gwas : Preuves d'études d'association pangénomique

Bonnes pratiques

  1. Utiliser des IDs spécifiques : Quand vous utilisez get_neighbors, assurez-vous d'avoir l'ID correct de search_nodes.
  2. Contexte d'abord : Utilisez get_disease_context pour une vue d'ensemble avant de vous plonger dans des gènes ou médicaments spécifiques.
  3. Filtrer les relations : Utilisez le filtre relation_type dans get_neighbors pour vous concentrer sur des preuves spécifiques (ex. seulement drug_protein).
  4. Intégration multi-échelle : Combinez avec OpenTargets pour des preuves génétiques plus approfondies ou Semantic Scholar pour le contexte littéraire le plus récent.

Ressources

Scripts

  • scripts/query_primekg.py : Fonctions principales pour rechercher et interroger le graphe de connaissances.

Chemin des données

  • Données : /mnt/c/Users/eamon/Documents/Data/PrimeKG/kg.csv
  • Nœuds totaux : ~129 000
  • Arêtes totales : ~4 000 000
  • Base de données : Format CSV, optimisée pour les requêtes pandas.

Skills similaires