Agent skill

Pdb Database

by google-deepmind in google-deepmind/science-skills

A skill your agent uses when you want to search for or download experimentally-determined 3D structures for biomolecules (proteins, nucleic acids, bound ligands).

Apache-2.0Auto-check passedBackend & APIs

Install Pdb Database

skills CLI
$ npx skills add google-deepmind/science-skills --skill pdb-database -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install google-deepmind/science-skills pdb-database --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/google-deepmind/science-skills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/skills/pdb_database .claude/skills/pdb-database && rm -rf skills-src

Use ~/.claude/skills/ instead of .claude/skills for a personal install. The folder must contain SKILL.md.

Claude Code skills documentation · loads skills from .claude/skills/

Facts

Skill name
pdb-database
GitHub stars
3.2k
Used in
2 other repos
Token cost
~2.2k tokens
SKILL.md length
622 words
Files
6 (incl. scripts, references)
Skills in repo
40
Repo updated
First seen
Licence
Apache-2.0

At a glance

A skill your agent uses when you want to search for or download experimentally-determined 3D structures for biomolecules (proteins, nucleic acids, bound ligands).

  • Works in 2 steps: uv: Read the uv skill and follow its… → User Notification: If…
  • You want to search for
  • SKILL.md covers Prerequisites, Core Rules, Attribute-based search workflow and Similarity-based search workflow, plus 3 more sections
  • Runs Python scripts from its folder; calls uv

What it does

Pdb Database is an agent skill from google-deepmind/science-skills. Use when you want to search for or download experimentally-determined 3D structures for biomolecules (proteins, nucleic acids, bound ligands). Supports searching by sequence similarity, structure similarity, chemical and other attributes. Also use to get metadata about biomolecular structure experiments.

Its SKILL.md is about 2.2k tokens, which your agent loads only when the skill is triggered. The skill folder holds 7 other files, including scripts and reference files (for example `scripts/download_coordinate_files.py`, `scripts/fetch_pdb_metadata.py` and `scripts/fetch_schema.py`).

It sits in Backend & APIs. The repository describes itself as: GDM Science Skills to speed up agentic scientific workflows with better grounding and higher token efficiency. Integrate insights from AlphaGenome, AFDB, UniProt and 30+ other… The licence is Apache-2.0.

When your agent uses it

  • You want to search for
  • Download experimentally-determined 3D structures for biomolecules (proteins
  • Get metadata about biomolecular structure experiments

Example prompts

  • “/pdb-database”

Requirements

  • Python 3

Workflow steps

2 steps, taken from the first numbered list in SKILL.md.

  1. uv: Read the uv skill and follow its Setup instructions to ensure
  2. User Notification: If .licenses/pdb_database_LICENSE.txt does not

What it can do on your machine

Read from SKILL.md and the folder at commit 6883275. It shows what the files ask for, not the result of running them.

  • Tool permissions

    Pre-approves nothing: there is no allowed-tools line, so your agent's usual permission prompts apply.

    From allowed-tools in the SKILL.md frontmatter.

  • Runs code

    Ships 4 files in scripts/ (Python), which the agent can run.

    Shell commands in SKILL.md call:

    • uv

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Links to these hosts (documentation or services it may open):

    • rcsb.org
    • search.rcsb.org

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

Pdb Database loads about 2.2k tokens when it runs, and up to ~2.4k if it reads all its reference files. Until then it costs about 80 tokens; SKILL.md has 622 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~80
When it runs · the whole SKILL.md, loaded when a task matches
~2.2k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~2.4k

Estimates: characters ÷ 4, the usual rule of thumb; real counts depend on the model's tokenizer. Scripts and assets cost tokens only if the agent reads them.

Safety

Auto-check passed

The automated check found no risky patterns in SKILL.md.

Automated static check — not a guarantee. Review scripts before installing. It scans the text of SKILL.md for risky patterns (piping downloads into a shell, reading credential files, hidden Unicode, destructive commands); the scripts in this folder are not scanned.

SKILL.md

The full file from google-deepmind/science-skills at commit 6883275, republished under its Apache-2.0 licence (© google-deepmind). 622 words, ~2,223 tokens.

Download SKILL.mdSave it as .claude/skills/pdb-database/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
pdb-database
description
Use when you want to search for or download experimentally-determined 3D structures for biomolecules (proteins, nucleic acids, bound ligands). Supports searching by sequence similarity, structure similarity, chemical and other attributes. Also use to get metadata about biomolecular structure experiments.

RCSB Protein Data Bank skill

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/pdb_database_LICENSE.txt does not already exist in the workspace root directory then (1) prominently notify the user to check the terms at https://www.rcsb.org/pages/usage-policy, then (2) create the file recording the notification text and timestamp.

Core Rules

  • Always prefer to use the provided scripts. Only as a last resort use curl, urllib, raw HTTP requests, or any other method to access PDB APIs. The scripts automatically enforce required rate limits.
  • Always redirect output to a file. Parse output with e.g. jq, grep, or a short Python snippet. Do NOT print large API responses to stdout to avoid truncation.
  • Notification: If this skill is used, ensure this is mentioned in the output.
  • Explain your queries On completing a task that used PDB JSON/GraphQL queries, explain in clear language what your query did so the user can correct any bad assumptions.

Attribute-based search workflow

  1. Fetch the relevant schema to discover searchable attribute names. For structure attributes: uv run scripts/fetch_schema.py --api search_structure --output schema_structure.txt For chemical attributes: uv run scripts/fetch_schema.py --api search_chemical --output schema_chemical.txt

  2. Grep the schema to find relevant attributes. Grep one keyword at a time and examine many lines — there are lots of similar attributes and you must choose the best match for the user's intent.

  3. Compose and run a JSON search query using the discovered attributes: uv run scripts/search_pdb.py --query '<JSON>' --return_type <RETURN_TYPE> --output results.json Pass the --count_only flag to get just the number of matching entries.

For step 2: some basic PDB concepts (helpful for attribute choice)
  • Entity: A unique molecule found in a structure.
  • Instance / Chain: A particular copy of an entity. E.g. if a structure contains two protein chains with the same sequence, they are the same entity but different instances / chains.
  • Assembly: A biologically relevant collection of instances / chains. This may be the same as the deposited structure, a subset, or multiple copies.
  • Label vs Auth: Polymer instances get letter labels ("A", "B", "AA") and their monomers are numbered. There are author-assigned ("auth") and PDB-internal ("label") schemes. The label scheme is more consistent and is always used in scripts and APIs. However, users and papers may refer to the author scheme (clarify which scheme is being used if necessary).
  • Chemical component: A small molecule / monomer, with an ID matching [A-Z]{1,3}
  • Primary citation: The main publication about a structure. Prefer primary_citation attributes over citation attributes.
  • Resolution: Frequently used measure of structure quality (lower is better). Usually prefer rcsb_entry_info.resolution_combined, which accounts for different experimental methods.
Show full SKILL.md (185 more words)Show less
For step 3: Example queries
bash
# Non-human proteins published in Nature, newest first
uv run scripts/search_pdb.py --query '{ "type": "group", "logical_operator": "and", "nodes": [ { "type": "terminal", "service": "text", "parameters": { "operator": "exact_match", "negation": true, "value": "Homo sapiens", "attribute": "rcsb_entity_source_organism.taxonomy_lineage.name" } }, { "type": "terminal", "service": "text", "parameters": { "operator": "exact_match", "value": "Nature", "attribute": "rcsb_primary_citation.rcsb_journal_abbrev" } } ] }' --return_type entry --sort_by rcsb_accession_info.initial_release_date --sort_direction desc --page_start 0 --rows 100 --output results.json
bash
# Structures containing the chemical component CA (Ca2+ ion)
uv run scripts/search_pdb.py --query '{ "type": "terminal", "service": "text_chem", "parameters": { "operator": "exact_match", "value": "CA", "attribute": "rcsb_chem_comp_container_identifiers.comp_id" } }' --return_type entry --output results.json
bash
# Number of entries with disulfide bonds
uv run scripts/search_pdb.py --query '{ "type": "terminal", "service": "text", "parameters": { "operator": "exact_match", "value": "disulfide bridge", "attribute": "rcsb_polymer_struct_conn.connect_type" } }' --return_type entry --count-only --output count.json

Common operators: exact_match, equals, exists, contains_phrase, contains_words, in, greater, less

Similarity-based search workflow

Similarity searches do not require a schema fetch. Basic examples:

bash
# Sequence similarity
uv run scripts/search_pdb.py --query '{ "query": { "type": "terminal", "service": "sequence", "parameters": { "evalue_cutoff": 1, "identity_cutoff": 0.9, "sequence_type": "protein", "value": "MTEYKLVVVGAGGVGKSALTIQLIQNHFVDEYDPTIEDSYRKQ" } }, "request_options": { "scoring_strategy": "sequence" } }' --return_type polymer_entity --output results.json
bash
# Structure similarity
uv run scripts/search_pdb.py --query '{ "type": "terminal", "service": "structure", "parameters": { "value": {"entry_id": "6LU7", "asym_id": "A"}, "number_of_candidates": 2000 } }' --return_type polymer_entity --output results.json
bash
# Sequence motif match
uv run scripts/search_pdb.py --query '{ "type": "terminal", "service": "seqmotif", "parameters": { "value": "C-x(2,4)-C-x(3)-[LIVMFYWC]-x(8)-H-x(3,5)-H.", "pattern_type": "prosite", "sequence_type": "protein" } }' --return_type polymer_entity --output results.json
bash
# Chemical descriptor match
uv run scripts/search_pdb.py --query '{ "type": "terminal", "service": "chemical", "parameters": { "value": "InChI=1S/C8H9NO2/c1-6(10)9-7-2-4-8(11)5-3-7/h2-5,11H,1H3,(H,9,10)", "type": "descriptor", "descriptor_type": "InChI", "match_type": "graph-strict" } }' --return_type mol_definition --output results.json

See https://search.rcsb.org/#search-services for more details.

Full text search workflow

Searches all text associated with an entry. Example:

bash
uv run scripts/search_pdb.py --query '{ "type": "terminal", "service": "full_text", "parameters": { "value": "isopeptide + ( collagen | fibrinogen )" } }' --return_type entry --output results.json

Important: use full_text search as a last resort when there's no more precise attribute search available. Consider using the struct.title or rcsb_pubmed_abstract_text attributes instead.

File download workflow

To download full PDB entries, use the download_coordinate_files.py script. Use this when you need access to atomic coordinates, when asked for a pdb / mmcif file, or when non-specifically asked to fetch a PDB code. Example:

bash
uv run scripts/download_coordinate_files.py --ids "4HHB,6BEA" --format "mmcif" --output_dir <OUTPUT_DIR>

Metadata query workflow

This flow is significantly more efficient than downloading full coordinate files when you only need a few pieces of metadata about each entry / entity.

  1. Fetch the schema for the relevant object type. E.g. uv run scripts/fetch_schema.py --api data_entry --output schema_entry.txt

  2. Grep the schema for relevant fields (one keyword at a time, many lines).

  3. Compose and run a GraphQL metadata query: uv run scripts/fetch_pdb_metadata.py --query '<GraphQL>' --output results.json

For step 3: Example queries
bash
# Fetch structure titles and experimental methods
uv run scripts/fetch_pdb_metadata.py --query '{ entries(entry_ids: ["1STP", "2JEF", "1CDG"]) { rcsb_id struct { title } exptl { method } } }' --output results.json
bash
# Fetch polymer entity taxonomy and cluster membership
uv run scripts/fetch_pdb_metadata.py --query '{ polymer_entities(entity_ids:["2CPK_1","3WHM_1","2D5Z_1"]) { rcsb_id rcsb_entity_source_organism { ncbi_taxonomy_id ncbi_scientific_name } rcsb_cluster_membership { cluster_id identity } } }' --output results.json
bash
# Fetch polymer entity external sequence database accessions
uv run scripts/fetch_pdb_metadata.py --query '{ entries(entry_ids:["7NHM", "5L2G"]){ polymer_entities { rcsb_id rcsb_polymer_entity_container_identifiers { reference_sequence_identifiers { database_accession database_name } } } } }' --output results.json

© google-deepmind, Apache-2.0. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (scripts, references) in skills/pdb_database of google-deepmind/science-skills.

  • SKILL.md
  • references/citation.bib
  • scripts/download_coordinate_files.py
  • scripts/fetch_pdb_metadata.py
  • scripts/fetch_schema.py
  • scripts/search_pdb.py

Open the folder on GitHubat commit 6883275

Used in 2 other repositories

We found 2 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 2 other GitHub owners. This page covers the copy in google-deepmind/science-skills, which our catalogue first saw on October 7, 2026.

Compare with similar skills

Pdb Database next to the 5 skills that share the most tags, products or categories with it. Stars are the repository's; “used in” counts other GitHub owners with a copy.

Pdb Database compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
Pdb Database this skillgoogle-deepmind/science-skills3.2k2 repos~2.2kAutomated safety check: PassApache-2.0
Configuring Horizoncoollabsio/coolify63k4 repos~898Automated safety check: PassMIT
Nestjs Best Practicesrolling-scopes/rsschool-app10k6 repos~1.2kAutomated safety check: PassMIT
Sub2API AdminWei-Shaw/sub2api43k1 repos~717Automated safety check: PassLGPL-3.0
Firecrawl Build Onboardingfirecrawl/firecrawl190k1 repos~1.4kAutomated safety check: NotesISC
Obsidian BasesAtmosphere/atmosphere3.8k22 repos~3.2kAutomated safety check: PassApache-2.0

Similar skills

  • Configuring Horizon

    coollabsio/coolify

    A skill your agent uses whenever the user mentions Horizon by name in a Laravel context.

    63k GitHub starsUsed in 4 repos~898 tokens
    Backend & APIsAuto-check passed
  • Nestjs Best Practices

    rolling-scopes/rsschool-app

    NestJS best practices and architecture patterns for building production-ready applications.

    10k GitHub starsUsed in 6 repos~1.2k tokens
    Backend & APIsAuto-check passed
  • Sub2API Admin

    Wei-Shaw/sub2api

    Manages a Sub2API deployment from the command line: accounts, redeem and invitation codes, groups, proxies, imports, exports and raw admin API calls.

    43k GitHub starsUsed in 1 repo~717 tokens
    Backend & APIsAuto-check passed
  • Firecrawl Build Onboarding

    firecrawl/firecrawl

    Gets Firecrawl working in a project: signs you in through the browser, saves FIRECRAWL_API_KEY to .env and picks the first SDK or REST path.

    190k GitHub starsUsed in 1 repo~1.4k tokens
    Backend & APIsAuto-check: notes
  • Obsidian Bases

    Atmosphere/atmosphere

    Create and edit Obsidian Bases (.base files) with views, filters, formulas, and summaries.

    3.8k GitHub starsUsed in 22 repos~3.2k tokens
    Backend & APIsAuto-check passed
  • Fortify Development

    coollabsio/coolify

    ACTIVATE when the user works on authentication in Laravel. An agent skill from coollabsio/coolify.

    63k GitHub starsUsed in 4 repos~1.9k tokens
    Backend & APIsAuto-check passed

More from google-deepmind/science-skills

All 40 skills in this repo
  • Clinical Trials Database

    google-deepmind/science-skills

    Query ClinicalTrials.gov via APIv2. An agent skill from google-deepmind/science-skills.

    3.2k GitHub starsUsed in 3 repos~3.2k tokens
    Auto-check passed
  • Dbsnp Database

    google-deepmind/science-skills

    A skill your agent uses when you want to look up, map, and search for short genetic variants (SNPs, indels) in NCBI's dbSNP database.

    3.2k GitHub starsUsed in 3 repos~3.4k tokens
    Auto-check: notes
  • Gtex Database

    google-deepmind/science-skills

    A skill your agent uses when you want to retrieve quantitative RNA expression data and variant eQTL information from the GTEx (Genotype-Tissue Expression) Project across 54 non-diseased tissue sites.

    3.2k GitHub starsUsed in 3 repos~1.5k tokens
    Auto-check passed
  • Human Protein Atlas Database

    google-deepmind/science-skills

    A skill your agent uses when you want to retrieve semi-quantitative protein expression and spatial localisation data from the Human Protein Atlas (HPA).

    3.2k GitHub starsUsed in 3 repos~1.6k tokens
    Auto-check passed
  • Alphafold Database Fetch And Analyze

    google-deepmind/science-skills

    Retrieve and analyze AlphaFold predicted structures for a protein.

    3.2k GitHub starsUsed in 2 repos~1.2k tokens
    Auto-check passed
  • Alphagenome Single Variant Analysis

    google-deepmind/science-skills

    Analyzes genetic variant effects on gene expression (RNA-seq), chromatin accessibility (DNASE), histone marks (ChIP), and transcription factors using the AlphaGenome API.

    3.2k GitHub starsUsed in 2 repos~3k tokens
    Auto-check: notes

Categories

Questions about Pdb Database

What does Pdb Database do?

A skill your agent uses when you want to search for or download experimentally-determined 3D structures for biomolecules (proteins, nucleic acids, bound ligands). Pdb Database is an agent skill from google-deepmind/science-skills. Use when you want to search for or download experimentally-determined 3D structures for biomolecules (proteins, nucleic acids, bound ligands).

When should I use Pdb Database?

Pdb Database fits situations like: you want to search for; download experimentally-determined 3D structures for biomolecules (proteins; get metadata about biomolecular structure experiments.

How do I install Pdb Database in Claude Code?

Run `npx skills add google-deepmind/science-skills --skill pdb-database -a claude-code`. Or copy the skill folder (skills/pdb_database in google-deepmind/science-skills) into .claude/skills/pdb-database in your project. Claude Code loads it when a task matches its description.

How do I install Pdb Database in Codex?

Run `npx skills add google-deepmind/science-skills --skill pdb-database -a codex`. Or copy the skill folder (skills/pdb_database in google-deepmind/science-skills) into .agents/skills/pdb-database in your project. Codex loads it when a task matches its description.

Can I use Pdb Database in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add google-deepmind/science-skills --skill pdb-database -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/pdb-database, .gemini/skills/pdb-database, .github/skills/pdb-database and .opencode/skills/pdb-database in your project.

What does Pdb Database need to run?

Going by SKILL.md and its folder, Pdb Database needs Python for the scripts in its folder and the command-line tools its instructions call (uv). Our summary lists: Python 3.

Does Pdb Database access the network?

SKILL.md names 2 domains. As links in the text: rcsb.org and search.rcsb.org. This is read from the text; nothing was executed.

Is Pdb Database safe to install?

Our automated static check of SKILL.md found no risky patterns, such as piping downloads into a shell, reading credential files or hidden Unicode. It is not a guarantee. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does Pdb Database use?

Pdb Database is published under the Apache-2.0 licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does Pdb Database use?

About 2.2k tokens (SKILL.md is roughly 8.9k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 220 tokens, read only when the agent opens those files.

What are the alternatives to Pdb Database?

Skills that share tags, products or a category with Pdb Database: Configuring Horizon (coollabsio/coolify, 63k stars), Nestjs Best Practices (rolling-scopes/rsschool-app, 10k stars), Sub2API Admin (Wei-Shaw/sub2api, 43k stars) and Firecrawl Build Onboarding (firecrawl/firecrawl, 190k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains Pdb Database?

google-deepmind (a GitHub organization) maintains it in google-deepmind/science-skills, which has 3,220 GitHub stars. The repository holds 40 skills in this directory. The repository was last updated on September 15, 2026.

Source: google-deepmind/science-skills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.