sciagent-skill-creator
Scaffold a new SciAgent-Skills entry. Picks pipeline/toolkit/database/guide template, creates skills/{category}/{name}/SKILL.md…
Access AlphaFold DB's 200M+ predicted structures by UniProt ID. Download PDB/mmCIF, analyze pLDDT/PAE, bulk-fetch proteomes via Google Cloud. For experimental structures use PDB; for prediction use ColabFold or ESMFold.
Claude Code
$ npx -y skills add jaechang-hits/SciAgent-Skills --skill alphafold-database-access --agent claude-code
Codex
$ npx skills add jaechang-hits/SciAgent-Skills --skill alphafold-database-access -a codex -y
Cursor
$ npx skills add jaechang-hits/SciAgent-Skills --skill alphafold-database-access -a cursor -y
Gemini CLI
$ npx skills add jaechang-hits/SciAgent-Skills --skill alphafold-database-access -a gemini-cli -y
GitHub Copilot
$ npx skills add jaechang-hits/SciAgent-Skills --skill alphafold-database-access -a github-copilot -y
OpenCode
$ npx skills add jaechang-hits/SciAgent-Skills --skill alphafold-database-access -a opencode -y
Windsurf
$ npx skills add jaechang-hits/SciAgent-Skills --skill alphafold-database-access -a windsurf -y
name: alphafold-database-access
description: >
Access AlphaFold DB's 200M+ predicted structures by UniProt ID. Download PDB/mmCIF,
analyze pLDDT/PAE, bulk-fetch proteomes via Google Cloud. For experimental structures
use PDB; for prediction use ColabFold or ESMFold.
license: CC-BY-4.0
metadata:
quick_use: 'one entry: GET https://alphafold.ebi.ac.uk/api/prediction/{UniProt ACC} -> a list (canonical, then isoforms such as {ACC}-2); take the item whose uniprotAccession equals the query: entryId, latestVersion, globalMetricValue (mean pLDDT), cifUrl, pdbUrl. Download from cifUrl/pdbUrl as given (model_v4 file names now 404) with requests; the file host returns 403 to curl''s default user agent. No model -> 404. Cite https://alphafold.ebi.ac.uk/entry/{ACC}'AlphaFold DB is a public repository of AI-predicted 3D protein structures for over 200 million proteins, maintained by DeepMind and EMBL-EBI. Access predictions via BioPython or REST API, download coordinate files in multiple formats, analyze confidence metrics, and retrieve bulk proteome datasets via Google Cloud.
# Core (BioPython for structure access) pip install biopython requests numpy matplotlib # Optional: Google Cloud for bulk access pip install google-cloud-bigquery google-cloud-storage
from Bio.PDB import alphafold_db, MMCIFParser
import requests, numpy as np
# 1. Get prediction for a protein
uniprot_id = "P00520" # ABL1 kinase
predictions = list(alphafold_db.get_predictions(uniprot_id))
af_id = predictions[0]['entryId'] # AF-P00520-F1
# 2. Download structure
cif_file = alphafold_db.download_cif_for(predictions[0], directory="./structures")
# 3. Check confidence
conf = requests.get(predictions[0]["plddtDocUrl"]).json() # file URLs come from the API; never hard-code _vN
scores = conf['confidenceScore']
print(f"Mean pLDDT: {np.mean(scores):.1f}, High-conf residues: {sum(1 for s in scores if s > 90)}/{len(scores)}")**BioPython (recommended for single proteins):**
from Bio.PDB import alphafold_db
# Get prediction metadata
predictions = list(alphafold_db.get_predictions("P00520"))
pred = predictions[0]
print(f"AlphaFold ID: {pred['entryId']}")
print(f"Gene: {pred['gene']}, Species: {pred['organismScientificName']}")
# Get Structure objects directly
structures = list(alphafold_db.get_structural_models_for("P00520"))**REST API (for metadata or integration):**
import requests
uniprot_id = "P00520"
url = f"https://alphafold.ebi.ac.uk/api/prediction/{uniprot_id}"
response = requests.get(url)
data = response.json()
# Response includes download URLs for all file types
pred = data[0]
print(f"CIF: {pred['cifUrl']}")
print(f"PDB: {pred['pdbUrl']}")
print(f"PAE: {pred['paeDocUrl']}")**3D-Beacons federated API (query multiple structure providers):**
url = f"https://www.ebi.ac.uk/pdbe/pdbe-kb/3dbeacons/api/uniprot/summary/{uniprot_id}.json"
data = requests.get(url).json()
af_structures = [s for s in data['structures'] if s['provider'] == 'AlphaFold DB']import requests
af_id = "AF-P00520-F1"
version = "v6" # = f"v{pred['latestVersion']}" from /api/prediction; v4 file names now 404
base = "https://alphafold.ebi.ac.uk/files"
# mmCIF (recommended — full metadata, supports large structures)
cif = requests.get(f"{base}/{af_id}-model_{version}.cif")
with open(f"{af_id}.cif", "w") as f:
f.write(cif.text)
# PDB format (legacy — limited to 99,999 atoms)
pdb = requests.get(f"{base}/{af_id}-model_{version}.pdb")
with open(f"{af_id}.pdb", "wb") as f:
f.write(pdb.content)
# Confidence JSON (per-residue pLDDT scores)
conf = requests.get(f"{base}/{af_id}-confidence_{version}.json").json()
# PAE matrix JSON (inter-residue confidence)
pae = requests.get(f"{base}/{af_id}-predicted_aligned_error_{version}.json").json()**pLDDT (per-residue confidence, 0–100):**
import numpy as np
conf_url = f"https://alphafold.ebi.ac.uk/files/{af_id}-confidence_{version}.json" # or pred["plddtDocUrl"]
conf = requests.get(conf_url).json()
scores = conf['confidenceScore']
# Classify residues by confidence
very_high = sum(1 for s in scores if s > 90)
high = sum(1 for s in scores if 70 < s <= 90)
low = sum(1 for s in scores if 50 < s <= 70)
very_low = sum(1 for s in scores if s <= 50)
print(f"Very high (>90): {very_high}, High (70-90): {high}, Low (50-70): {low}, Very low (<50): {very_low}")**PAE (Predicted Aligned Error) visualization:**
import matplotlib.pyplot as plt
pae_url = f"https://alphafold.ebi.ac.uk/files/{af_id}-predicted_aligned_error_{version}.json" # or pred["paeDocUrl"]
pae = requests.get(pae_url).json()[0] # a one-item list
pae_matrix = np.array(pae["predicted_aligned_error"])
plt.figure(figsize=(10, 8))
plt.imshow(pae_matrix, cmap='viridis_r', vmin=0, vmax=30)
plt.colorbar(label='PAE (Å)')
plt.title(f'Predicted Aligned Error: {af_id}')
plt.xlabel('Residue')
plt.ylabel('Residue')
plt.savefig(f'{af_id}_pae.png', dpi=300, bbox_inches='tight')
# Low PAE (<5 Å) = confident relative positioning; >15 Å = uncertain domain arrangement# List available data gsutil ls gs:/
Turn your AI coding agent into a life sciences expert — 199 bioinformatics skills for Claude Code covering RNA-seq, single-cell analysis, genomics, proteomics, drug discovery, and more. Boosted BixBench from 65% to 92%. Open source.
Scaffold a new SciAgent-Skills entry. Picks pipeline/toolkit/database/guide template, creates skills/{category}/{name}/SKILL.md…
Bayesian modeling with PyMC 5: priors, likelihood, NUTS/ADVI sampling, diagnostics (R-hat, ESS), LOO/WAIC comparison, prediction.…
Time-to-event modeling with scikit-survival: Cox PH (elastic net), Random Survival Forests, Boosting, SVMs for censored data.…
Guided statistical analysis: test choice, assumption checks, effect sizes, power, APA reporting. Pick tests, verify assumptions,…
Python statistical modeling: regression (OLS, WLS, GLM), discrete (Logit, Poisson, NegBin), time series (ARIMA, SARIMAX, VAR),…
DL cell/nucleus segmentation for fluorescence and brightfield microscopy. Pre-trained models (cyto3, nuclei, tissuenet) and a…
You MUST use this before any creative work - creating features, building components, adding functionality, modifying behavior, or…
Ask which skill or flow fits your situation. A router over the skills in this repo.