Skip to content
Agentmart
Submit a tool

pdb-database

Python API for RCSB PDB 3D structures (search, fetch coordinates, metadata).

Skill by lamm-mit

IndexedApache-2.0★ 250
Write a review

Install

Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.

npx agentmarket install skill/lamm-mit-pdb-database

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

Python API for RCSB PDB 3D structures (search, fetch coordinates, metadata). Input MUST be a protein/gene name (e.g. 'KRAS', 'EGFR', 'BTK') or a 4-character PDB ID (e.g. '6OIM'). Returns zero results for drug/chemistry phrases such as 'covalent inhibitors' or 'warhead selectivity'. Strip all drug qualifiers — pass only the target protein name or PDB accession.

Use cases: backend

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.

Tools
No tools found
Secrets
None asked for
Install scripts
None found
Runs as
Python package

Network hosts it talks to 1

  • codeload.github.com · found in install command

Files it touches

  • ~/.claude/skills/pdb-database

What's inside

Skill name
pdb-database
Description
Python API for RCSB PDB 3D structures (search, fetch coordinates, metadata). Input MUST be a protein/gene name (e.g. 'KRAS', 'EGFR', 'BTK') or a 4-character PDB ID (e.g. '6OIM'). Returns zero results for drug/chemistry phrases such as 'covalent inhibitors' or 'warhead selectivity'. Strip all drug qualifiers — pass only the target protein name or PDB accession.
License
Apache-2.0
Metadata
skill-author: K-Dense Inc.
Instructions
315 lines in SKILL.md · view on GitHub

Before installing

  • Ships executable scripts
  • Instructions call the network

Files (4)

  • SKILL.md
  • api_reference.md · references/
  • query.cpython-313.pyc · scripts/__pycache__/
  • query.py · scripts/

SKILL.md (first lines)

# PDB Database

## Overview

RCSB PDB is the worldwide repository for 3D structural data of biological macromolecules. Search for structures, retrieve coordinates and metadata, perform sequence and structure similarity searches across 200,000+ experimentally determined structures and computed models.

## Query Limitations — Read Before Using

PDB stores **experimentally determined 3D structures of proteins and nucleic acids**. Queries must target a protein, gene, or known PDB ID. Drug/chemistry phrases return zero results.

| ❌ Fails (not a structure query) | ✅ Works |
|---|---|
| "KRAS covalent inhibitors" | "KRAS" → returns KRAS structures |
| "covalent warhead selectivity" | "6OIM" (direct PDB ID for KRAS-G12C/AMG-510) |
| "BTK warhead optimization" | "BTK" or "Q06187" |
| "kinase inhibitor selectivity" | "EGFR kinase" |

**Rule:** Pass only the protein/gene name or PDB ID. Never pass a drug concept or mechanism phrase. If you have a UniProt accession, use the cross-references in that entry to get specific PDB IDs, then pass those here.

## When to Use This Skill

This skill should be used when:
- Searching for protein or nucleic acid 3D structures by text, sequence, or structural similarity
- Downloading coordinate files in PDB, mmCIF, or BinaryCIF formats
- Retrieving structural metadata, experimental methods, or quality metrics
- Performing batch operations across multiple structures
- Integrating PDB data into computational workflows for drug discovery, protein engineering, or structural biology research

## Core Capabilities

### 1. Searching for Structures

Find PDB entries using various search criteria:

**Text Search:** Search by protein name, keywords, or descriptions
```python
from rcsbapi.search import TextQuery
query = TextQuery("hemoglobin")
results = list(query())
print(f"Found {len(results)} structures")
```

**Attribute Search:** Query specific properties (organism, resolution, method, etc.)
```python
from rcsbapi.search import AttributeQuery
from rcsbapi.search.attrs import rcsb_entity_source_organism

# Find human protein structures
query = AttributeQuery(
    attribute=rcsb_entity_source_organism.scientific_name,
    operator="exact_match",
    value="Homo sapiens"
)
results = list(query())
```

**Sequence Similarity:** Find structures similar to a given sequence
```python
from rcsbapi.search import SequenceQuery

query = SequenceQuery(
    value="MTEYKLVVVGAGGVGKSALTIQLIQNHFVDEYDPTIEDSYRKQVVIDGETCLLDILDTAGQEEYSAMRDQYMRTGEGFLCVFAINNTKSFEDIHHYREQIKRVKDSEDVPMVLVGNKCDLPSRTVDTKQAQDLARSYGIPFIETSAKTRQGVDDAFYTLVREIRKHKEKMSKDGKKKKKKSKTKCVIM",
    evalue_cutoff=0.1,
    identity_cutoff=0.9
)
results = list(query())
```

**Structure Similarity:** Find structures with similar 3D geometry
```python
from rcsbapi.search import StructSimilarityQuery

query = StructSimilarityQuery(
    structure_search_type="entry",
    entry_id="4HHB"  # Hemoglobin
)
results = list(query())
```

**Combining Queries:** Use logical operators to build complex searches
```python
from rcsbapi.search import TextQuery, AttributeQuery
from rcsbapi.search.attrs import rcsb_entry_info

# High-resolution human proteins
query1 = AttributeQuery(
    attribute=rcsb_entity_source_organism.scientific_name,
    operator="exact_match",
    value="Homo sapiens"
)
query2 = AttributeQuery(
    attribute=rcsb_entry_info.resolution_combined,
    operator="less",
    value=2.0
)
combined_query = query1 & query2  # AND operation
results = list(combined_query())
```

### 2. Retrieving Structure Data

Access detailed information about specific PDB entries:

**Basic Entry Information:**
```python
from rcsbapi.data import Schema, fetch

# Get entry-level data
entry_data = fetch("4HHB", schema=Schema.ENTRY)
print(entry_data["struct"]["title"])
print(entry_data["exptl"][0]["method"])
```

**Polymer Entity Information:**
```python
# Get protein/nucleic acid information
entity_data = fetch("4HHB_1", schema=Schema.POLYMER_ENTITY)
print(entity_data["entity_poly"]["pdbx_seq_one_letter_code"])
```

From lamm-mit/scienceclaw, Apache-2.0.

More from lamm-mit/scienceclaw

Signals

Stars
250
Forks
47
Open issues
1
Last commit (this folder)
Mar 14, 2026 (7 months ago)
Last release
Jun 23, 2026 (4 months ago)

From GitHub (fetched Oct 24, 2026).

Details

License
Apache-2.0
First seen
Oct 24, 2026
Last checked
Oct 24, 2026

More from lamm-mit

Cite this page

pdb-database skill. Agent Mart. https://agentmart.dev/skills/lamm-mit-pdb-database (last updated 2026-10-24)