Base de données PubChem
Prérequis
uv: Lisez la skilluvet suivez ses instructions de configuration pour vous assurer queuvest installé et accessible en PATH.- Notification utilisateur : Si 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://pubchem.ncbi.nlm.nih.gov/docs/citation-guidelines et https://pubchem.ncbi.nlm.nih.gov/docs/pug-rest, puis (2) créez le fichier enregistrant le texte de notification et l'horodatage.
Démarrage rapide
Les requêtes PubChem sont exécutées via un script wrapper Python robuste pour respecter les conditions d'utilisation et gérer l'analyse JSON complexe. Ce script permet une utilisation sécurisée et multi-agent des API.
Exemple : Résoudre un nom chimique en son identifiant de composé (CID)
uv run scripts/pubchem_api.py resolve --name "aspirin" --output result.json
Règles essentielles
- Utiliser le Wrapper : TOUJOURS exécuter les scripts helper fournis pour interroger la base de données plutôt que d'y accéder directement. Les scripts appliquent automatiquement la limite de débit requise avec élégance.
- Lire le fichier de sortie JSON généré et le traiter avec jq ou du code.
- Vérifier les faits : TOUJOURS vérifier les informations extraites de la mémoire avec une requête de base de données si l'utilisateur demande un fait spécifique qui peut être vérifié dans PubChem. Ne pas se fier uniquement aux connaissances internes.
- Notification : Si cette skill est utilisée, assurez-vous que cela soit mentionné dans la sortie.
Capacités essentielles
1. Résolution de composé (Nom ou InChI en identificateurs) Convertir des noms chimiques/commerciaux ou des chaînes InChI en CIDs, SMILES et InChIKeys PubChem.
uv run scripts/pubchem_api.py resolve --name "ibuprofen" --output result.json
# OU
uv run scripts/pubchem_api.py resolve --inchi "InChI=1S/C3/c1-3-2/i1+1" --output result.json
2. Récupération des propriétés physiques et chimiques Récupérer les propriétés calculées (p. ex. MolecularWeight, XLogP, TPSA).
uv run scripts/pubchem_api.py properties --cid 2244 --output result.json
3. Synonymes et noms commerciaux Trouver les noms alternatifs et les marques.
uv run scripts/pubchem_api.py synonyms --cid 2244 --output result.json
Contexte avancé
4. Information de sécurité et danger (GHS) Récupérer les déclarations de danger du Système général harmonisé et les précautions de manipulation (utilise PUG-View).
uv run scripts/pubchem_api.py safety --cid 2244 --output result.json
5. Information sur les médicaments Récupérer les données pharmacologiques FDA, le mécanisme d'action et les usages thérapeutiques (utilise PUG-View).
uv run scripts/pubchem_api.py pharmacology --cid 2244 --output result.json
6. En-tête personnalisé (PUG-View) Récupérer n'importe quel en-tête spécifique du système PUG-View (p. ex. 'Geometry', 'Crystal Structures').
uv run scripts/pubchem_api.py view --cid 3939 --heading "Crystal Structures" --output result.json
7. Génération d'images Récupérer des images de structure chimique 2D. Le script retourne un lien image formaté en Markdown.
uv run scripts/pubchem_api.py image --cid 2244 --output result.json
Recherche complexe et biologie
8. Recherche basée sur la structure (similarité et sous-structure) Trouver des molécules similaires à une chaîne SMILES ou contenant une sous-structure spécifique.
uv run scripts/pubchem_api.py similarity --smiles "CC(=O)OC1=CC=CC=C1C(=O)O" --output result.json
et
uv run scripts/pubchem_api.py substructure --smiles "C1=CC=CC=C1" --output result.json
9. Interactions BioAssay et cibles Identifier les gènes ou protéines avec lesquels un composé interagit.
uv run scripts/pubchem_api.py assays --cid 2244 --output result.json
Utilisation avancée et flux de travail
10. Références croisées (Xrefs) Récupérer les identificateurs liés en référence croisée avec un CID (p. ex. PatentID, PubMedID).
uv run scripts/pubchem_api.py xrefs --cid 2244 --type "PatentID" --output result.json
11. Recherche par plage de propriété Trouver des CIDs dans une plage de propriété spécifique. Les fonctionnalités prises en charge incluent : molecular_weight, heavy_atom_count, xlogp, tpsa, h_bond_donor_count, h_bond_acceptor_count, rotatable_bond_count, exact_mass, monoisotopic_mass et complexity.
uv run scripts/pubchem_api.py range --feature molecular_weight --min 400.0 --max 400.05 --output result.json
12. Requête personnalisée PUG-REST Exécuter un chemin brut contre l'API PUG-REST.
uv run scripts/pubchem_api.py query --path "compound/cid/2244/xrefs/PatentID/JSON" --output result.json
Stratégies de recherche de secours
Si la résolution directe par nom ou formule échoue (p. ex. pour les composés complexes ou les ions spécifiques) :
- Rechercher la molécule parent/neutre : Si vous recherchez un ion ou un sel, essayez de rechercher le composé parent neutre.
- Déconstruire les formules complexes : Si une formule complexe ne retourne aucun résultat, essayez de rechercher les composants ou ligands majeurs.
- Utiliser la recherche de sous-structure ou de similarité : Si vous avez une chaîne SMILES ou pouvez en générer une pour un composant, utilisez-la pour trouver les composés connexes.
Requêtes complexes et tâches multi-étapes
- Requêtes personnalisées/complexes : Pour plus de détails, lisez references/endpoints.md pour construire les URLs PUG-REST bruts.
- Tâches multi-étapes : Pour les tâches complexes comme les pipelines de découverte de médicaments, suivez les listes de contrôle dans references/workflows.md.