alphafold-database-fetch-and-analyze — Claude Code skill: AlphaFold
Pulls AlphaFold predicted structures by UniProt ID and works out what they mean: pLDDT confidence, disordered regions, rigid domain boundaries.
npx skills add google-deepmind/science-skills --skill alphafold-database-fetch-and-analyze -a claude-code
npx skills add google-deepmind/science-skills --skill alphafold_database_fetch_and_analyze -a claude-codeWhat alphafold-database-fetch-and-analyze does
Give the skill a UniProt Accession ID and it downloads the .cif structure file, the predicted aligned error (PAE) matrix and the API metadata from the AlphaFold Database. Three helper scripts then do the tedious part: per-residue confidence, rigid domain boundaries via a sliding-window PAE heuristic, and an assessment of intrinsic disorder. Very large proteins fall back to fragments.
Everything goes through the wrappers rather than direct database calls, because they enforce the required rate limit for you. The flow is uv run scripts/fetch_structure.py P00520 -o /path/to/output/, then analyze_plddt.py and analyze_pae.py against the saved JSON. Pass an absolute path to -o, or one relative to your project root — a path relative to the skill directory will not work.
You need uv installed and on PATH. The skill also asks you to check the AlphaFold Database terms and drop a .licenses/alphafold_database_fetch_and_analyze_LICENSE.txt file in the workspace root. A protein name, gene name or amino acid sequence is not enough input; look the ID up in UniProt first. Homolog searches belong to Foldseek, experimental structures to RCSB PDB. One thing worth heeding: if the analysis flags heavy disorder, do not run whole-protein docking on it — restrict follow-up work to the ordered domain boundaries the script reports.
What it helps with
- download an mmCIF structure and PAE matrix for a UniProt ID
- read pLDDT confidence and see how much of the protein scores very low
- locate rigid domain boundaries with their residue ranges
- tell a disordered protein from a structured one before docking
- get flagged when no canonical entry exists and an isoform was used instead
Example prompts for the agent
- Fetch the AlphaFold structure for P00520 and walk me through the pLDDT confidence
- Analyze ./data/AF-P00520-F1-predicted_aligned_error_v6.json and find the domain boundaries
- Does this protein have disordered regions? UniProt ID P04637
How to install alphafold-database-fetch-and-analyze
1Skills CLI (Vercel)
npx skills add google-deepmind/science-skills --skill alphafold-database-fetch-and-analyze -a claude-codenpx skills add google-deepmind/science-skills --skill alphafold_database_fetch_and_analyze -a claude-code2Manually: put the files in place
~/.claude/skills/alphafold_database_fetch_and_analyze/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/alphafold_database_fetch_and_analyze/
1Skills CLI (Vercel)
npx skills add google-deepmind/science-skills --skill alphafold_database_fetch_and_analyze -a codex2Manually: put the files in place
.agents/skills/alphafold_database_fetch_and_analyze/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add google-deepmind/science-skills --skill alphafold_database_fetch_and_analyze -a cursor2Manually: put the files in place
.cursor/skills/alphafold_database_fetch_and_analyze/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install google-deepmind/science-skills alphafold_database_fetch_and_analyze2Manually: put the files in place
.github/skills/alphafold_database_fetch_and_analyze/SKILL.md1Skills CLI (Vercel)
npx skills add google-deepmind/science-skills --skill alphafold_database_fetch_and_analyze -a gemini-cli2Platform CLI
gemini skills install https://github.com/google-deepmind/science-skills --path skills/alphafold_database_fetch_and_analyzeManually: put the files in place
.devin/skills/alphafold_database_fetch_and_analyze/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add google-deepmind/science-skills --skill alphafold_database_fetch_and_analyze -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
Step by step, with commands for each platform: How to install skills in Claude Code: five ways
Questions about alphafold-database-fetch-and-analyze
How do I install alphafold-database-fetch-and-analyze in Claude?
Run npx skills add google-deepmind/science-skills --skill alphafold-database-fetch-and-analyze -a claude-code. The skill then lives at ~/.claude/skills/alphafold_database_fetch_and_analyze/SKILL.md.
What does alphafold-database-fetch-and-analyze do?
It downloads the predicted structure and PAE matrix from the AlphaFold Database for a UniProt ID, then reports pLDDT confidence, disordered regions and rigid domain boundaries.
What do I need before using it?
uv on PATH and a UniProt Accession ID. A protein name, gene name or amino acid sequence will not work — find the ID in UniProt first.
Source text
SKILL.md · Apache-2.0
---
name: alphafold-database-fetch-and-analyze
description: >
Retrieve and analyze AlphaFold predicted structures for a protein. Use when
the user provides a specific UniProt Accession ID and wants structural
confidence metrics (pLDDT), domain boundary analysis, or disorder
assessment. Do not use if the user only has a protein name, gene name,
or amino acid sequence — ask for a UniProt ID first.
---
# AlphaFold Database: Fetch and Analyze
## Prerequisites
1. **`uv`**: Read the `uv` skill and follow its Setup instructions to ensure
`uv` is installed and on PATH.
2. **User Notification**: If
.licenses/alphafold_database_fetch_and_analyze_LICENSE.txt does not already
exist in the workspace root directory then (1) prominently notify the user
to check the terms at https://alphafold.ebi.ac.uk/, then (2) create the file
recording the notification text and timestamp.
## Overview
Downloads AlphaFold predicted structures (mmCIF) and Predicted Aligned Error
(PAE) matrices from the AlphaFold Database for a given UniProt ID, then performs
automated heuristic analysis on structural confidence (pLDDT), intrinsically
disordered regions, rigid domain boundaries, and inter-domain flexibility.
**Do NOT use when:**
- The user only has a protein name, gene name, or amino acid sequence (no
UniProt ID) — ask them to look up the ID on
[UniProt](https://www.uniprot.org).
- The user wants to search for structural homologs (use **Foldseek**).
- The user wants to run AlphaFold predictions on a custom sequence.
- The user needs experimental PDB structures (use **RCSB PDB**).
## Core Rules
- **Use the Wrapper**: ALWAYS execute the provided helper scripts to query the
database rather than accessing the database directly. The scripts
automatically enforce the required rate limit gracefully.
- Do not attempt to calculate domain boundaries or assess structural disorder
yourself; always rely on the output provided by the script.
- If this skill is used, ensure this is mentioned in the output.
## Utility Scripts
**1. Fetch Structure Files**
Downloads the `.cif` structure file, `_predicted_aligned_error.json`, and API
metadata JSON (`-metadata.json`) for a UniProt ID. Handles fragment fallback for
very large proteins.
Examples:
```bash
uv run scripts/fetch_structure.py P00520 -o /path/to/output/
uv run scripts/fetch_structure.py P04637 -o /path/to/custom_results/
```
Always specify `-o` with an absolute path or a path relative to the user's
project root, never a path relative to the skill directory.
**2. Analyze pLDDT Confidence**
Reads pLDDT confidence metrics from a saved AFDB metadata JSON file (produced by
`fetch_structure.py`) and prints a heuristic confidence assessment (structured,
disordered, mixed).
Example:
```bash
uv run scripts/analyze_plddt.py ./data/AF-P00520-F1-metadata.json
```
**3. Analyze PAE / Domain Boundaries**
Reads a downloaded PAE JSON file and detects rigid domain boundaries using a
sliding-window PAE heuristic.
Example:
```bash
uv run scripts/analyze_pae.py ./data/AF-P00520-F1-predicted_aligned_error_v6.json
```
## Interpreting the Output
The script prints analysis to stdout. Read it carefully and synthesize the
results for the user:
1. **Isoform / Large Protein Warning (MANDATORY):** Check the script output for
any `[!] WARNING` lines. If the script reports that no canonical entry was
found and an isoform was used, or if the protein is very large (>2700 AAs),
you **MUST** prominently relay this warning to the user. Do not omit this
warning.
2. **Synthesize the Structural Analysis**: Combine the "pLDDT Conclusion" and
the "PAE Structural Conclusion" into a single, cohesive overall summary.
Describe the protein's overall folding confidence, the presence of
disordered regions, and its rigid domain layout.
3. Highlight the supporting metrics:
- Overall Global pLDDT and the breakdown of fraction confidence
(especially Very Low vs. Very High).
- Domain Boundary Analysis (number of distinct global domains and their
specific residue ranges).
4. **Explicit Disorder Warning:** If the analysis concludes that the protein is
highly intrinsically disordered (e.g., high fraction of <50 pLDDT or lack of
rigid domains), issue a separate, prominent warning. Advise the user against
proceeding with whole-protein downstream structural analysis (like Foldseek
or docking). If small ordered domains exist amidst the disorder, advise the
user to restrict any future analysis strictly to those specific residue
boundaries.
5. Remind the user that per-residue pLDDT is embedded in the B-factor column of
the downloaded mmCIF file.
© google-deepmind · Apache-2.0 · google-deepmind/science-skills