agentsclimarketplace

Query alphafold

Skill BioTender-max/awesome-bio-agent-skills/skills/bioclaw/query-alphafold

Query AlphaFold protein structure predictions. Use when user asks about protein structure, 3D structure, protein folding, or structure prediction. Triggers on "alphafold", "protein structure", "3D structure", "folding", "pLDDT", "structure prediction".From its SKILL.md

Install
npx -y skills add BioTender-max/awesome-bio-agent-skills --skill query-alphafold

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • no licenseNo license file was found in the repository. Code published without one is not open source by default, so using it at work is a question for whoever answers licensing questions where you are.

SKILL.md

2.7 KB, 720 tokens by cl100k_base, as published. Nobody here has run it

AlphaFold Structure Database Query

Query the AlphaFold EBI API for predicted protein structures.

When to Use

  • User asks about a protein's predicted 3D structure
  • User wants to download PDB/CIF structure files
  • User asks about structure confidence (pLDDT scores)
  • User wants to visualize protein structure

How to Execute

import requests
import json

BASE_URL = "https://alphafold.ebi.ac.uk/api"

# 1. Get prediction info
def get_alphafold_prediction(uniprot_id):
    url = f"{BASE_URL}/prediction/{uniprot_id}"
    r = requests.get(url)
    r.raise_for_status()
    return r.json()

# 2. Download structure file
def download_structure(uniprot_id, output_dir="/workspace/group", fmt="pdb", version="v4"):
    filename = f"AF-{uniprot_id}-F1-model_{version}.{fmt}"
    url = f"https://alphafold.ebi.ac.uk/files/{filename}"
    r = requests.get(url)
    r.raise_for_status()
    filepath = f"{output_dir}/{filename}"
    with open(filepath, 'wb') as f:
        f.write(r.content)
    return filepath

# 3. Get per-residue confidence (pLDDT)
def get_plddt(uniprot_id):
    url = f"{BASE_URL}/prediction/{uniprot_id}"
    r = requests.get(url)
    data = r.json()
    if isinstance(data, list) and data:
        cif_url = data[0].get("cifUrl", "")
        plddt_url = data[0].get("paeImageUrl", "")
        return {"cifUrl": cif_url, "paeImageUrl": plddt_url, "data": data[0]}
    return data

# Example
data = get_alphafold_prediction("P04637")  # TP53
if isinstance(data, list) and data:
    entry = data[0]
    print(f"UniProt: {entry.get('uniprotAccession')}")
    print(f"Gene: {entry.get('gene', 'N/A')}")
    print(f"Organism: {entry.get('organismScientificName', 'N/A')}")
    print(f"Model confidence: {entry.get('globalMetricValue', 'N/A')}")
    print(f"PDB URL: {entry.get('pdbUrl', 'N/A')}")
    print(f"CIF URL: {entry.get('cifUrl', 'N/A')}")

Endpoints

EndpointURLUse
Prediction/api/prediction/{uniprot_id}Get model info & download URLs
Summary/api/uniprot/summary/{uniprot_id}.jsonBrief summary
Annotations/api/annotations/{uniprot_id}Per-residue annotations

Download Formats

  • PDB: AF-{UNIPROT_ID}-F1-model_v4.pdb
  • CIF: AF-{UNIPROT_ID}-F1-model_v4.cif
  • PAE image: Available from prediction endpoint

Follow-up Suggestions

  • "Want me to analyze the structure confidence by region?"
  • "Should I compare this to the experimental PDB structure?"
  • "Want me to identify disordered regions?"

What ships with it

Read from the repository

Just SKILL.md. No reference files, no scripts.

Keep looking

Skills are one crate of 325,949. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.