alterlab-pubchem — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited alterlab-pubchem (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
PubChem is the world's largest freely available chemical database — 119M+ compounds, 322M+ substances, and 295M+ bioactivities per the PubChem 2025 update (Kim et al., NAR 2025). Query chemical structures by name, CID, or SMILES, retrieve molecular properties, perform similarity and substructure searches, and access bioactivity data using the PUG-REST API and PubChemPy.
This skill should be used when:
| Scenario | Use Instead |
|---|---|
| Curated potency data (IC50/Ki) for targets and medicinal-chemistry series | alterlab-chembl |
| Computing descriptors or fingerprints on your own molecules locally | alterlab-rdkit |
| Human metabolite concentrations, biofluids, biomarker evidence | alterlab-hmdb |
| Drug pharmacology, interactions, and approval details | alterlab-drugbank |
| Purchasable compound libraries for virtual screening | alterlab-zinc-db |
PubChem access is organized into nine capability areas. Copy-ready snippets for each live in references/capabilities.md.
The canonical entry point resolves an identifier to a compound, then reads properties:
import pubchempy as pcp
compound = pcp.get_compounds('aspirin', 'name')[0]
print(compound.cid, compound.molecular_formula, compound.molecular_weight)
print(compound.smiles, compound.xlogp, compound.tpsa)Prefer CIDs for repeated queries (more efficient than names/structures). Similarity and substructure searches run asynchronously and may take 15-30 seconds; PubChemPy polls automatically. PUG-REST answers HTTP 503 (PUGREST.ServerBusy) both when you exceed the limits and when PubChem itself is overloaded — read the X-Throttling-Control response header and back off rather than retrying immediately. See references/best_practices.md for rate limits and error handling.
uv pip install 'pubchempy>=1.0.5' # Python-based access (1.0.5 = current SMILES property names)
uv pip install requests # direct API / bioactivity queries
uv pip install pandas # optional, for data analysisSMILES property naming (PubChem changed this in 2025): the PUG-REST CanonicalSMILES and IsomericSMILES properties are deprecated. Use SMILES (full SMILES with stereo/isotope info, replaces IsomericSMILES) and ConnectivitySMILES (connectivity-only, replaces CanonicalSMILES). In PubChemPy 1.0.5 the matching Compound attributes are compound.smiles and compound.connectivity_smiles (the old canonical_smiles / isomeric_smiles attributes still resolve but are deprecated).
This skill ships two Python helper scripts under scripts/:
scripts/compound_search.py — search, property retrieval, similarity/substructure search,synonyms, batch search, and structure download.
scripts/bioactivity_query.py — bioassay summaries, target identification, target-basedcompound search, and PUG-View annotations.
Full function inventories and usage are in references/helper_scripts.md.
list, asynchronous request handling, PubChemPy API, PUG-View API, and official doc links.
screening, similar-candidate search, batch property comparison, substructure virtual screening).
and additional resources.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.