alphafold-database-fetch-and-analyze

Par mkurman · zorai

Récupère et analyse les structures prédites par AlphaFold pour une protéine. À utiliser lorsque l'utilisateur fournit un identifiant d'accession UniProt spécifique et souhaite obtenir des métriques de confiance structurale (pLDDT), une analyse des limites de domaines, ou une évaluation du désordre. Ne pas utiliser si l'utilisateur ne dispose que d'un nom de protéine, d'un nom de gène ou d'une séquence d'acides aminés — demander d'abord un identifiant UniProt.

npx skills add https://github.com/mkurman/zorai --skill alphafold-database-fetch-and-analyze

Base de données AlphaFold : Récupération et Analyse

Prérequis

  1. uv : Consultez la skill uv et suivez ses instructions de configuration pour vous assurer que uv est installé et disponible dans 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 pour qu'il consulte les conditions à https://alphafold.ebi.ac.uk/, puis (2) créez le fichier en enregistrant le texte de la notification et l'horodatage.

Présentation générale

Télécharge les structures prédites par AlphaFold (mmCIF) et les matrices PAE (Predicted Aligned Error) de la base de données AlphaFold pour un ID UniProt donné, puis effectue une analyse heuristique automatisée sur la confiance structurale (pLDDT), les régions intrinsèquement désordonnées, les limites des domaines rigides et la flexibilité inter-domaines.

À NE PAS utiliser quand :

  • L'utilisateur ne possède que le nom de la protéine, le nom du gène ou la séquence d'acides aminés (pas d'ID UniProt) — demandez-lui de rechercher l'ID sur UniProt.
  • L'utilisateur souhaite rechercher des homologues structuraux (utiliser Foldseek).
  • L'utilisateur souhaite exécuter des prédictions AlphaFold sur une séquence personnalisée.
  • L'utilisateur a besoin de structures PDB expérimentales (utiliser RCSB PDB).

Règles fondamentales

  • Utiliser le wrapper : TOUJOURS exécuter les scripts d'assistance fournis pour interroger la base de données au lieu d'accéder directement à la base de données. Les scripts appliquent automatiquement le limite de débit requise de manière gracieuse.
  • N'essayez pas de calculer vous-même les limites des domaines ou d'évaluer le désordre structural ; fiez-vous toujours à la sortie fournie par le script.
  • Si cette skill est utilisée, assurez-vous que cela soit mentionné dans la sortie.

Scripts utilitaires

1. Récupérer les fichiers de structure

Télécharge le fichier de structure .cif, _predicted_aligned_error.json et le JSON de métadonnées API (-metadata.json) pour un ID UniProt. Gère le remplacement par fragment pour les très grandes protéines.

Exemples :

uv run scripts/fetch_structure.py P00520 -o /path/to/output/
uv run scripts/fetch_structure.py P04637 -o /path/to/custom_results/

Spécifiez toujours -o avec un chemin absolu ou un chemin relatif à la racine du projet de l'utilisateur, jamais un chemin relatif au répertoire de la skill.

2. Analyser la confiance pLDDT

Lit les métriques de confiance pLDDT d'un fichier JSON de métadonnées AFDB sauvegardé (produit par fetch_structure.py) et affiche une évaluation heuristique de la confiance (structuré, désordonné, mixte).

Exemple :

uv run scripts/analyze_plddt.py ./data/AF-P00520-F1-metadata.json

3. Analyser PAE / Limites des domaines

Lit un fichier JSON PAE téléchargé et détecte les limites des domaines rigides à l'aide d'une heuristique PAE par fenêtre glissante.

Exemple :

uv run scripts/analyze_pae.py ./data/AF-P00520-F1-predicted_aligned_error_v6.json

Interprétation de la sortie

Le script affiche l'analyse sur stdout. Lisez-la attentivement et synthétisez les résultats pour l'utilisateur :

  1. Avertissement isoforma / grande protéine (OBLIGATOIRE) : Vérifiez la sortie du script pour les lignes [!] WARNING. Si le script signale qu'aucune entrée canonique n'a été trouvée et qu'un isoforma a été utilisé, ou si la protéine est très grande (>2700 AA), vous DEVEZ relayer cet avertissement à l'utilisateur de manière visible. N'omettez pas cet avertissement.
  2. Synthétiser l'analyse structurale : Combinez la « Conclusion pLDDT » et la « Conclusion structurale PAE » en un seul résumé global cohérent. Décrivez la confiance de repliement globale de la protéine, la présence de régions désordonnées et sa disposition en domaines rigides.
  3. Mettez en évidence les métriques de soutien :
    • pLDDT global et la répartition de la fraction de confiance (en particulier Très faible vs Très élevée).
    • Analyse des limites de domaine (nombre de domaines globaux distincts et leurs plages de résidus spécifiques).
  4. Avertissement explicite sur le désordre : Si l'analyse conclut que la protéine est hautement intrinsèquement désordonnée (par exemple, fraction élevée de <50 pLDDT ou absence de domaines rigides), émettez un avertissement distinct et visible. Déconseillez à l'utilisateur de procéder à une analyse structurale en aval sur l'ensemble de la protéine (comme Foldseek ou docking). Si de petits domaines ordonnés existent au milieu du désordre, conseillez à l'utilisateur de limiter strictement toute future analyse à ces limites de résidus spécifiques.
  5. Rappelez à l'utilisateur que le pLDDT par résidu est intégré dans la colonne B-factor du fichier mmCIF téléchargé.

Skills similaires