Prérequis
uv: Consultez la skilluvet suivez les instructions d'installation pour vous assurer queuvest installé et accessible dans PATH.- 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 bien visible pour qu'il consulte les conditions à https://search.foldseek.com/search et https://github.com/steineggerlab/foldseek, puis (2) créez le fichier enregistrant le texte de notification et l'horodatage.
Objectif
Soumettre un fichier de structure protéique 3D fourni par l'utilisateur (.cif, .mmcif ou .pdb) à l'API du serveur web Foldseek pour trouver des protéines structurellement similaires. Rapporter les meilleures correspondances structurales, interpréter les métriques d'alignement clés, résumer les fonctions protéiques déduites, enregistrer le tableau au format Markdown dans un fichier .md, et sauvegarder les résultats détaillés complets dans un fichier JSON local.
Règles Fondamentales
- Exigence de Fichier : Cet outil ne peut absolument pas rechercher par séquence, nom ou identifiant d'accession. Il exige strictement un chemin vers un fichier
.pdb,.cifou.mmcif. - Validation Stricte : Ne contournez jamais la validation des entrées ou le contrôle de liste blanche des bases de données.
- Ne Pas Parser le JSON : Fiez-vous entièrement au fichier
.mdgénéré pour votre résumé immédiat. Le JSON est sauvegardé uniquement pour une utilisation ultérieure et spécialisée d'outils. - Pas de Parsing Brut : N'essayez pas de parser ou lire vous-même les coordonnées 3D brutes ; passez toujours le fichier au script.
- Notification : Si cette skill est utilisée, assurez-vous que cela soit mentionné dans la sortie.
Instructions
- Validation Stricte des Entrées : Vérifiez que l'utilisateur a explicitement fourni un chemin valide vers un fichier
.cif,.mmcifou.pdbdans son espace de travail.- Si l'utilisateur a fourni un nom de protéine, une séquence d'acides aminés ou un identifiant d'accession (par ex. un ID UniProt) mais AUCUN fichier de structure téléchargé, arrêtez immédiatement. N'exécutez pas le script.
- Informez l'utilisateur que Foldseek exige un fichier de coordonnées 3D physique, et suggérez de télécharger d'abord la structure (par ex. en utilisant l'outil de récupération AlphaFold).
- Validation de la Base de Données : Vérifiez si l'utilisateur a demandé des bases de données spécifiques à interroger.
- Liste Autorisée :
afdb50,afdb-swissprot,pdb100,BFVD,mgnify_esm30,cath50,gmgcl_id,bfmd,afdb-proteome. - Si l'utilisateur demande une base de données N'ÉTANT PAS sur cette liste, arrêtez immédiatement. N'exécutez pas le script. Informez l'utilisateur que la base de données n'est pas supportée et fournissez-lui la liste autorisée.
- Liste Autorisée :
- Générer les Noms de Fichiers : Générez des noms de fichiers de sortie descriptifs pour à la fois les données JSON et le tableau Markdown, basés sur le fichier d'entrée (par ex.,
proteinA_foldseek_results.jsonetproteinA_foldseek_results.md). - Exécutez le script Python en fonction de la demande de l'utilisateur, en redirigeant la sortie standard vers votre fichier
.mdgénéré :- Par Défaut (Aucune base de données spécifiée) :
uv run scripts/search.py <chemin-vers-fichier> -o <nom-fichier-généré.json> > <nom-fichier-généré.md> - Personnalisé (Bases de données valides spécifiées) :
uv run scripts/search.py <chemin-vers-fichier> -o <nom-fichier-généré.json> --databases <bd1,bd2,bd3> > <nom-fichier-généré.md>
- Par Défaut (Aucune base de données spécifiée) :
- Le script interrogera les bases de données, sauvegardera la charge utile JSON complète, et écrira un tableau au format Markdown dans votre fichier
.mdspécifié. - Lire les Résultats : Ouvrez et lisez attentivement le fichier
.mdnouvellement généré pour consulter le tableau Markdown. - Interpréter les Métriques : Résumez les 3 à 5 meilleures correspondances structurales ayant des annotations significatives pour l'utilisateur. Lors du rapport, évaluez la qualité de la correspondance en utilisant ces champs spécifiques :
- Prob (Probabilité) : Les valeurs s'approchant de 1,0 (100%) indiquent une confiance extrême que le repliement est un véritable homologue structural.
- Q-Cov (Couverture Requête) : Les pourcentages élevés signifient que la correspondance couvre la majorité de la forme globale de la protéine requête, plutôt que simplement un petit motif local.
- E-value & Identité de Séquence : Utilisez-les pour fournir un contexte évolutif supplémentaire.
- Effectuer une Analyse Fonctionnelle : Analysez les descriptions textuelles intégrées dans la colonne
Target IDpour les correspondances rapportées.- Rapportez explicitement les noms/fonctions spécifiques des protéines des principaux homologues structuraux.
- Fournissez une synthèse globale résumant l'ensemble de la variété de différentes fonctions, domaines ou familles protéiques trouvées dans la liste complète des homologues (par ex., « La plupart des résultats sont des protéines portales, mais il existe aussi un groupe distinct de correspondances de capside virale... »).
- Informez explicitement l'utilisateur des deux fichiers nouvellement créés (
.jsonet.md) et de leurs emplacements afin qu'ils puissent être utilisés sans problème dans les étapes d'analyse suivantes.
* Si l'API retourne une erreur ou si le fichier est manquant, informez l'utilisateur clairement
et demandez-lui de vérifier le chemin du fichier.