用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
直接命令不会经过审查 Prompt;运行前请先检查来源。
npx skills add https://github.com/lamm-mit/scienceclaw --skill protein-structure-retrieval命令会保持在同一行。复制前请横向滚动并检查完整内容。
想先保存到本地?可下载 SkillsMP 当前能够提供的文件。
正在显示 SKILL.md
基于 SOC 职业分类
| name | protein-structure-retrieval |
| description | ToolUniverse workflow — Protein Structure Retrieval |
| source | https://github.com/mims-harvard/ToolUniverse/tree/main/skills/tooluniverse-protein-structure-retrieval |
| metadata | null |
Retrieve protein structures with proper disambiguation, quality assessment, and comprehensive metadata.
IMPORTANT: Always use English terms in tool calls (protein names, organism names), even if the user writes in another language. Only try original-language terms as a fallback if English returns no results. Respond in the user's language.
Phase 0: Clarify (if needed)
↓
Phase 1: Disambiguate Protein Identity
↓
Phase 2: Retrieve Structures (Internal)
↓
Phase 3: Report Structure Profile
Ask the user ONLY if:
Skip clarification for:
from tooluniverse import ToolUniverse
tu = ToolUniverse()
tu.load_tools()
# Strategy depends on input type
if user_provided_pdb_id:
# Direct structure retrieval
pdb_id = user_provided_pdb_id.upper()
elif user_provided_uniprot:
# Get UniProt info, then search structures
uniprot_id = user_provided_uniprot
# Can also get AlphaFold structure
af_structure = tu.tools.alphafold_get_structure_by_uniprot(
uniprot_id=uniprot_id
)
elif user_provided_protein_name:
# Search by name
result = tu.tools.search_structures_by_protein_name(
protein_name=protein_name
)
Common ambiguous terms:
| Term | Ambiguity | Resolution |
|---|---|---|
| "kinase" | Hundreds of kinases | Ask which kinase (EGFR, CDK2, etc.) |
| "receptor" | Many receptor types | Specify receptor family |
| "protease" | Multiple families | Ask serine/cysteine/metallo/etc. |
| "hemoglobin" | Clear | Proceed (α/β chain specified if needed) |
| "insulin" | Clear | Proceed |
Retrieve all data silently. Do NOT narrate the search process.
# Search by protein name
result = tu.tools.search_structures_by_protein_name(
protein_name=protein_name
)
# Filter results by quality
high_res = [
entry for entry in result["data"]
if entry.get("resolution") and entry["resolution"] < 2.5
]
For each relevant structure:
pdb_id = "4INS"
# Basic metadata
metadata = tu.tools.get_protein_metadata_by_pdb_id(pdb_id=pdb_id)
# Experimental details
exp_details = tu.tools.get_protein_experimental_details_by_pdb_id(
pdb_id=pdb_id
)
# Resolution (if X-ray)
resolution = tu.tools.get_protein_resolution_by_pdb_id(pdb_id=pdb_id)
# Bound ligands
ligands = tu.tools.get_protein_ligands_by_pdb_id(pdb_id=pdb_id)
# Similar structures
similar = tu.tools.get_similar_structures_by_pdb_id(
pdb_id=pdb_id,
cutoff=2.0
)
# Entry summary
summary = tu.tools.pdbe_get_entry_summary(pdb_id=pdb_id)
# Molecular entities
molecules = tu.tools.pdbe_get_molecules(pdb_id=pdb_id)
# Binding sites
binding_sites = tu.tools.pdbe_get_binding_sites(pdb_id=pdb_id)
# When no experimental structure exists, or for comparison
if uniprot_id:
af_structure = tu.tools.alphafold_get_structure_by_uniprot(
uniprot_id=uniprot_id
)
| Primary | Fallback | Notes |
|---|---|---|
| RCSB search | PDBe search | Regional availability |
| get_protein_metadata | pdbe_get_entry_summary | Alternative source |
| Experimental structure | AlphaFold prediction | No experimental structure |
| get_protein_ligands | pdbe_get_binding_sites | Ligand info unavailable |
Present as a Structure Profile Report. Hide search process.
# Protein Structure Profile: [Protein Name]
**Search Summary**
- Query: [protein name/PDB ID]
- Organism: [species]
- Structures Found: [N] experimental, [M] AlphaFold
---
## Best Available Structure
### [PDB ID]: [Title]
| Attribute | Value |
|-----------|-------|
| **PDB ID** | [pdb_id] |
| **UniProt** | [uniprot_id] |
| **Organism** | [species] |
| **Method** | X-ray / Cryo-EM / NMR |
| **Resolution** | [X.XX] Å |
| **Release Date** | [date] |
**Quality Assessment**: ●●● High / ●●○ Medium / ●○○ Low
### Experimental Details
| Parameter | Value |
|-----------|-------|
| **Method** | [X-ray crystallography] |
| **Resolution** | [1.9 Å] |
| **R-factor** | [0.18] |
| **R-free** | [0.21] |
| **Space Group** | [P 21 21 21] |
### Structure Composition
| Component | Count | Details |
|-----------|-------|---------|
| **Chains** | [N] | [A (enzyme), B (inhibitor)] |
| **Residues** | [N] | [coverage %] |
| **Ligands** | [N] | [list ligand names] |
| **Waters** | [N] | |
| **Metals** | [N] | [Zn, Mg, etc.] |
### Bound Ligands
| Ligand ID | Name | Type | Binding Site |
|-----------|------|------|--------------|
| [ATP] | Adenosine triphosphate | Substrate | Active site |
| [MG] | Magnesium ion | Cofactor | Catalytic |
### Binding Site Details
For drug discovery applications:
**Site 1: Active Site**
- Location: Chain A, residues 45-89
- Key residues: Asp45, Glu67, His89
- Pocket volume: [X] ų
- Druggability: High/Medium/Low
---
## Alternative Structures
Ranked by quality and relevance:
| Rank | PDB ID | Resolution | Method | Ligands | Notes |
|------|--------|------------|--------|---------|-------|
| 1 | [4INS] | 1.9 Å | X-ray | Zn | Best resolution |
| 2 | [3I40] | 2.1 Å | X-ray | Zn, phenol | With inhibitor |
| 3 | [1TRZ] | 2.3 Å | X-ray | None | Porcine |
---
| Attribute | Value |
|-----------|-------|
| | [uniprot1] | [PDBid]
PDBe: https://www.ebi.ac.uk/pdbe/entry/pdb/[pdbid]
Retrieved: [date]
| Tier | Symbol | Criteria |
|---|---|---|
| Excellent | ●●●● | X-ray <1.5Å, complete, R-free <0.22 |
| High | ●●●○ | X-ray <2.0Å OR Cryo-EM <3.0Å |
| Good | ●●○○ | X-ray 2.0-3.0Å OR Cryo-EM 3.0-4.0Å |
| Moderate | ●○○○ | X-ray >3.0Å OR NMR ensemble |
| Low | ○○○○ | >4.0Å, incomplete, or problematic |
| Resolution | Use Case |
|---|---|
| <1.5 Å | Atomic detail, H-bond analysis |
| 1.5-2.0 Å | Drug design, mechanism studies |
| 2.0-2.5 Å | Structure-based design |
| 2.5-3.5 Å | Overall architecture, fold |
| >3.5 Å | Domain arrangement only |
| pLDDT Score | Interpretation |
|---|---|
| >90 | Very high confidence, experimental-like |
| 70-90 | Good backbone confidence |
| 50-70 | Uncertain, flexible regions |
| <50 | Low confidence, likely disordered |
Every structure report MUST include:
User: "Get structure for EGFR kinase with inhibitor" → Filter for ligand-bound structures, emphasize binding site
User: "Find best template for homology modeling of protein X" → High-resolution structures, note sequence coverage
User: "Compare available SARS-CoV-2 main protease structures" → All structures with systematic comparison table
User: "Structure of protein with UniProt P12345" → Check PDB first, then AlphaFold, note confidence
| Error | Response |
|---|---|
| "PDB ID not found" | Verify 4-character format, check if obsoleted |
| "No structures for protein" | Offer AlphaFold prediction, suggest similar proteins |
| "Download failed" | Retry once, provide alternative link |
| "Resolution unavailable" | Likely NMR/model, note in assessment |
RCSB PDB (Experimental Structures)
| Tool | Purpose |
|---|---|
search_structures_by_protein_name | Name-based search |
get_protein_metadata_by_pdb_id | Basic info |
get_protein_experimental_details_by_pdb_id | Method details |
get_protein_resolution_by_pdb_id | Quality metric |
get_protein_ligands_by_pdb_id | Bound molecules |
download_pdb_structure_file | Coordinate files |
get_similar_structures_by_pdb_id | Homologs |
PDBe (European PDB)
| Tool | Purpose |
|---|---|
pdbe_get_entry_summary | Overview |
pdbe_get_molecules | Molecular entities |
pdbe_get_experiment_info | Experimental data |
pdbe_get_binding_sites | Ligand pockets |
AlphaFold (Predictions)
| Tool | Purpose |
|---|---|
alphafold_get_structure_by_uniprot | Get prediction |
alphafold_search_structures | Search predictions |