Alphafold Database Fetch And Analyze
google-deepmind/science-skills
Retrieve and analyze AlphaFold predicted structures for a protein.
Navigate the Bio.PDB SMCRA hierarchy (Structure-Model-Chain-Residue-Atom) safely, surfacing the heterogeneity it hides by default.
$ npx skills add GPTomics/bioSkills --skill bio-structural-biology-structure-navigation -a claude-codeProject install by default; add -g for ~/.claude/skills/.
$ gh skill install GPTomics/bioSkills bio-structural-biology-structure-navigation --agent claude-codeProject scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).
$ git clone --depth 1 https://github.com/GPTomics/bioSkills.git skills-src && mkdir -p .claude/skills && cp -r skills-src/structural-biology/structure-navigation .claude/skills/bio-structural-biology-structure-navigation && rm -rf skills-srcUse ~/.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/
Install the "bio-structural-biology-structure-navigation" agent skill from https://github.com/GPTomics/bioSkills/tree/main/structural-biology/structure-navigation into .claude/skills/bio-structural-biology-structure-navigation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-structural-biology-structure-navigation", then confirm the skill loads.Claude Code copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$skill-installer install https://github.com/GPTomics/bioSkills/tree/main/structural-biology/structure-navigationType this inside Codex. $skill-installer <name> installs a curated skill from openai/skills. The installer writes to $CODEX_HOME/skills (default ~/.codex/skills). Restart Codex if the skill does not show up.
$ npx skills add GPTomics/bioSkills --skill bio-structural-biology-structure-navigation -a codexProject install goes to .agents/skills/; add -g for ~/.codex/skills/.
$ gh skill install GPTomics/bioSkills bio-structural-biology-structure-navigation --agent codexProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/GPTomics/bioSkills.git skills-src && mkdir -p .agents/skills && cp -r skills-src/structural-biology/structure-navigation .agents/skills/bio-structural-biology-structure-navigation && rm -rf skills-srcUse ~/.agents/skills/ instead of .agents/skills for a personal install.
Codex skills documentation · loads skills from .agents/skills/
Install the "bio-structural-biology-structure-navigation" agent skill from https://github.com/GPTomics/bioSkills/tree/main/structural-biology/structure-navigation into .agents/skills/bio-structural-biology-structure-navigation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-structural-biology-structure-navigation", then confirm the skill loads.Codex copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add GPTomics/bioSkills --skill bio-structural-biology-structure-navigation -a cursorProject install goes to .agents/skills/; add -g for ~/.cursor/skills/.
$ gh skill install GPTomics/bioSkills bio-structural-biology-structure-navigation --agent cursorProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/GPTomics/bioSkills.git skills-src && mkdir -p .cursor/skills && cp -r skills-src/structural-biology/structure-navigation .cursor/skills/bio-structural-biology-structure-navigation && rm -rf skills-srcUse ~/.cursor/skills/ instead of .cursor/skills for a personal install.
Cursor skills documentation · loads skills from .cursor/skills/, .agents/skills/, .claude/skills/, .codex/skills/
Install the "bio-structural-biology-structure-navigation" agent skill from https://github.com/GPTomics/bioSkills/tree/main/structural-biology/structure-navigation into .cursor/skills/bio-structural-biology-structure-navigation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-structural-biology-structure-navigation", then confirm the skill loads.Cursor copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gemini skills install https://github.com/GPTomics/bioSkills.git --path structural-biology/structure-navigation--scope user (default) or --scope workspace; --path is the subfolder of the repo that holds the skill; --consent skips the security confirmation prompt.
$ npx skills add GPTomics/bioSkills --skill bio-structural-biology-structure-navigation -a gemini-cliProject install goes to .agents/skills/; add -g for ~/.gemini/skills/.
$ gh skill install GPTomics/bioSkills bio-structural-biology-structure-navigation --agent gemini-cliProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/GPTomics/bioSkills.git skills-src && mkdir -p .gemini/skills && cp -r skills-src/structural-biology/structure-navigation .gemini/skills/bio-structural-biology-structure-navigation && rm -rf skills-srcUse ~/.gemini/skills/ instead of .gemini/skills for a personal install, then run /skills reload.
Gemini CLI skills documentation · loads skills from .gemini/skills/, .agents/skills/
Install the "bio-structural-biology-structure-navigation" agent skill from https://github.com/GPTomics/bioSkills/tree/main/structural-biology/structure-navigation into .gemini/skills/bio-structural-biology-structure-navigation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-structural-biology-structure-navigation", then confirm the skill loads.Gemini CLI copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ gh skill install GPTomics/bioSkills bio-structural-biology-structure-navigationInstalls for Copilot at project scope by default; add --scope user for a personal install. Preview a skill first with gh skill preview. Needs GitHub CLI 2.90.0 or later (public preview).
$ npx skills add GPTomics/bioSkills --skill bio-structural-biology-structure-navigation -a github-copilotProject install goes to .agents/skills/; add -g for ~/.copilot/skills/.
$ git clone --depth 1 https://github.com/GPTomics/bioSkills.git skills-src && mkdir -p .github/skills && cp -r skills-src/structural-biology/structure-navigation .github/skills/bio-structural-biology-structure-navigation && rm -rf skills-srcUse ~/.copilot/skills/ instead of .github/skills for a personal install. Commit .github/skills so cloud agent and code review can use it.
GitHub Copilot skills documentation · loads skills from .github/skills/, .claude/skills/, .agents/skills/
Install the "bio-structural-biology-structure-navigation" agent skill from https://github.com/GPTomics/bioSkills/tree/main/structural-biology/structure-navigation into .github/skills/bio-structural-biology-structure-navigation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-structural-biology-structure-navigation", then confirm the skill loads.GitHub Copilot copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
$ npx skills add GPTomics/bioSkills --skill bio-structural-biology-structure-navigation -a opencodeOpenCode documents no install command of its own. Project install goes to .agents/skills/; add -g for ~/.config/opencode/skills/.
$ gh skill install GPTomics/bioSkills bio-structural-biology-structure-navigation --agent opencodeProject scope by default (.agents/skills/); add --scope user for a personal install.
$ git clone --depth 1 https://github.com/GPTomics/bioSkills.git skills-src && mkdir -p .opencode/skills && cp -r skills-src/structural-biology/structure-navigation .opencode/skills/bio-structural-biology-structure-navigation && rm -rf skills-srcUse ~/.config/opencode/skills/ instead of .opencode/skills for a personal install.
OpenCode skills documentation · loads skills from .opencode/skills/, .claude/skills/, .agents/skills/
Install the "bio-structural-biology-structure-navigation" agent skill from https://github.com/GPTomics/bioSkills/tree/main/structural-biology/structure-navigation into .opencode/skills/bio-structural-biology-structure-navigation/ in this project. Copy the whole folder (SKILL.md and every file beside it), keep the folder name "bio-structural-biology-structure-navigation", then confirm the skill loads.OpenCode copies the folder itself, the same result as the manual copy. Check what it changed before you commit it.
bio-structural-biology-structure-navigationNavigate the Bio.PDB SMCRA hierarchy (Structure-Model-Chain-Residue-Atom) safely, surfacing the heterogeneity it hides by default.
Bio Structural Biology Structure Navigation is an agent skill from GPTomics/bioSkills. Navigate the Bio.PDB SMCRA hierarchy (Structure-Model-Chain-Residue-Atom) safely, surfacing the heterogeneity it hides by default. Use when deciding how to handle altloc/DisorderedAtom conformers before a distance or RMSD, indexing residues insertion-code-safe with the full (hetflag, resseq, icode) tuple, choosing the ATOM/observed vs SEQRES/canonical vs UniProt sequence, selecting the right Model for an NMR ensemble, filtering waters/hetero/metals correctly, and reconciling auth vs label numbering. Keywords…
Its SKILL.md is about 3.7k tokens, which your agent loads only when the skill is triggered. The skill folder holds 6 other files (for example `examples/enumerate_disorder.py`, `examples/extract_sequence.py` and `examples/find_ligands.py`).
It sits in Research & Science, covering Protein structure and design. It works with UniProt. The repository describes itself as: a set of SKILLS.md for doing bioinformatics with agents like claude code. The licence is MIT.
5 steps, taken from the first numbered list in SKILL.md.
Read from SKILL.md and the folder at commit d91ed3d. It shows what the files ask for, not the result of running them.
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.
Ships script files (Python), which the agent can run.
Shell commands in SKILL.md call:
pipFrom the folder's file list and the shell code blocks in SKILL.md.
No URLs in SKILL.md. Its commands use pip, which can reach the network depending on how they are called.
From URLs in SKILL.md, links to its own repository left out.
Names no API keys, tokens, secrets or passwords.
From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.
Bio Structural Biology Structure Navigation loads about 3.7k tokens when it runs. Until then it costs about 159 tokens; SKILL.md has 1,214 words of instructions outside code blocks.
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.
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); files beside SKILL.md are not scanned.
The full file from GPTomics/bioSkills at commit d91ed3d, republished under its MIT licence (© GPTomics). 1,214 words, ~3,701 tokens.
.claude/skills/bio-structural-biology-structure-navigation/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.Reference examples tested with: biopython 1.83+
Before using code patterns, verify installed versions match. If versions differ:
pip show <package> then help(module.function) to check signaturesIf code throws ImportError, AttributeError, or TypeError, introspect the installed package and adapt the example to match the actual API rather than retrying.
"Walk the chains, residues, and atoms; pull out the sequence" -> Traverse the Structure-Model-Chain-Residue-Atom (SMCRA) tree, but treat every level as a lossy projection that hides heterogeneity unless asked otherwise.
structure[0]['A'][(' ', 100, ' ')]['CA'].coord for full-tuple direct accessThe SMCRA model (Structure > Model > Chain > Residue > Atom) is a readable in-memory tree, but its defaults quietly collapse the very heterogeneity that changes the answer. Five traps recur, and none of them raises an error - the code runs and returns a plausible-looking number computed on the wrong thing.
DisorderedAtom silently forwards every uncaught call to ONE child - the HIGHEST-OCCUPANCY altloc, not literally altloc 'A'. So get_atoms(), .coord, distances, clashes, and RMSDs all use a single conformer, invisibly, even when the active site is 60/40 disordered. This is the #1 correctness trap. Enumerate with is_disordered() and disordered_get_list(); never let both altlocs of one atom enter the same geometric calculation.(hetflag, resseq, icode). Naive residue.id[1] drops both the hetero flag and the INSERTION CODE, so antibody residues 100, 100A, 100B collapse onto one key; chain[100] works only until an insertion code, a hetero residue, or an altloc residue exists at that number, then raises a KeyError that looks like the residue is missing. Key on the full tuple; reduce to id[1] only for display.Model objects. Iterating chains without first selecting a model conflates conformers; structure[0] silently picks one NMR member and over-claims precision. Ask "how many models and why" first.MMCIFParser defaults to auth; flip auth_residues=False and residue 100 becomes a different residue. Pick one scheme and stay in it.These three "sequences" are routinely conflated; each answers a different question and the wrong one silently misindexes everything downstream.
| Source | What it is | Get it via | Use when | Fails when |
|---|---|---|---|---|
| ATOM / observed | Only residues with modeled coordinates; gaps concatenated away | PPBuilder().build_peptides() then pp.get_sequence() | Per-atom geometry, contacts, extracting exactly what was resolved | Aligning to UniProt/MSA by string position (gaps shift the frame) |
| SEQRES / declared | Full sequence the depositor says is in the crystal, including unresolved residues | SeqIO.parse(file, 'pdb-seqres') or 'cif-seqres' | Knowing the true construct length, locating missing loops | Assuming every SEQRES residue has coordinates (it does not) |
| UniProt / canonical | The reference biological sequence (no tags, no engineered mutations) | database-access/uniprot-access + SIFTS residue mapping | Mapping conservation/domains/mutations onto structure positions | Assuming construct == canonical (tags, point mutations, chimeras differ) |
Filter on the hetflag (id[0]), not the residue name, and know exactly what each idiom keeps and drops.
| Goal | Idiom | Keeps / drops correctly? |
|---|---|---|
| Standard amino acids only | r.id[0] == ' ' | Correct; drops water, ligands, and modified residues |
| Water | r.id[0] == 'W' | Correct; water hetflag is 'W', NOT 'H_' - a startswith('H_') water strip MISSES water |
| Ligands and hetero groups | r.id[0].startswith('H_') | Also catches modified residues (MSE, SEP, PTR) mid-chain - not just free ligands |
| Strip hetero blindly | r.id[0] != ' ' | DANGEROUS - deletes catalytic metals, cofactors, AND selenomethionine (MSE) out of the chain |
| A specific residue type | r.resname == 'ARG' | Fine for type queries; never use resname to classify water vs ligand vs standard |
from Bio.PDB import PDBParser, MMCIFParser, PPBuilder, CaPPBuilder, Selection
from Bio.Data.PDBData import protein_letters_3to1, protein_letters_3to1_extendedparser = PDBParser(QUIET=True)
structure = parser.get_structure('protein', 'protein.pdb')
model = structure[0] # first model (see NMR caveat below)
chain = model['A']
residue = chain[(' ', 100, ' ')] # full id tuple - insertion-code and hetero safe
residue_bare = chain[100] # convenience path; breaks on icode/hetero/altloc at 100
atom = residue['CA']for model in structure:
for chain in model:
for residue in chain:
hetflag, resseq, icode = residue.id # keep the whole tuple, not resseq alone
for atom in residue:
print(f'{chain.id}:{resseq}{icode}:{atom.name}')
for chain in structure.get_chains():
print(f'Chain: {chain.id}')# A DisorderedAtom forwards uncaught calls to its highest-occupancy child by default,
# so plain iteration measures ONE conformer. Enumerate every altloc explicitly.
for atom in residue:
if atom.is_disordered():
for alt in atom.disordered_get_list(): # each alt is a real Atom with its own coord/occupancy
print(f'{atom.name} altloc {alt.altloc}: occ={alt.occupancy} coord={alt.coord}')
else:
print(f'{atom.name}: coord={atom.coord}')
# disordered_select(altloc) mutates the active child GLOBALLY - reset it when done
if atom.is_disordered():
atom.disordered_select(atom.disordered_get_id_list()[0])# Residue.is_disordered() returns 1 for a NORMAL residue that merely holds altloc atoms and 2 for a
# true DisorderedResidue (two resnames at one position); disordered_get_id_list/disordered_select
# exist ONLY on the latter, so gate on == 2 (or isinstance DisorderedResidue) or this AttributeErrors.
if residue.is_disordered() == 2:
names = residue.disordered_get_id_list() # alternative resnames at this position
residue.disordered_select('ALA') # pick one by resname before any geometry# PPBuilder builds peptides from OBSERVED atoms via a C-N distance criterion and breaks at gaps;
# the returned Seq has missing-density loops concatenated away with no gap marker.
ppb = PPBuilder()
for pp in ppb.build_peptides(structure):
print(f'observed segment len={len(pp.get_sequence())}: {pp.get_sequence()}')
# CaPPBuilder connects residues whose CA atoms are within ~4.3 Angstroms, so it bridges
# small backbone breaks - useful for CA-only/broken chains, but it can mis-join true gaps.
ca_ppb = CaPPBuilder()
segments = ca_ppb.build_peptides(structure)from Bio import SeqIO
# SEQRES = the full declared sequence, including residues with no coordinates.
for record in SeqIO.parse('protein.pdb', 'pdb-seqres'):
print(f'{record.id} declared length {len(record.seq)}')
# header['missing_residues'] (populated when get_header=True) lists unmodeled residues -
# the difference between SEQRES and observed. Reconcile before mapping to UniProt.
parser = PDBParser(QUIET=True, get_header=True)
structure = parser.get_structure('protein', 'protein.pdb')
missing = structure.header.get('missing_residues', [])# protein_letters_3to1 is the strict 20-aa map (unknown resname -> KeyError, so use .get).
# protein_letters_3to1_extended additionally maps modified residues (MSE->M, SEP->S, PTR->Y).
seq = ''
for residue in chain:
if residue.id[0] == ' ' or residue.resname in protein_letters_3to1_extended:
seq += protein_letters_3to1_extended.get(residue.resname, 'X')residues = Selection.unfold_entities(structure, 'R') # S/M/C/R/A level codes
atoms = Selection.unfold_entities(chain, 'A')
atom = structure[0]['A'][(' ', 100, ' ')]['CA']
print(atom.get_full_id()) # ('protein', 0, 'A', (' ', 100, ' '), ('CA', ' '))n_models = len(structure) # NMR = conformer ensemble, X-ray/cryo-EM usually 1
if n_models > 1:
# Compute per-model and report the distribution; never average coordinates across models.
for model in structure:
ca = [r['CA'].coord for r in model.get_residues() if r.has_id('CA')]
print(f'model {model.id}: {len(ca)} CA atoms')# MMCIFParser defaults to auth numbering (matches the paper, has insertion codes).
# label numbering is gapless 1..N with no icodes - a different residue at the same number.
cif_parser = MMCIFParser(QUIET=True, auth_residues=True) # keep auth for literature/UniProt cross-ref
structure = cif_parser.get_structure('protein', 'protein.cif')| Symptom | Cause | Fix |
|---|---|---|
| Distance/RMSD subtly off on a disordered site | get_atoms() returned only the highest-occupancy altloc of a DisorderedAtom | Enumerate disordered_get_list(); pick one altloc consistently before geometry |
| Impossibly close contacts / inflated atom count | Both altlocs of one atom entered the same calculation | Select a single altloc per site; never mix conformers |
KeyError on chain[100] for a residue that is clearly present | Residue has an insertion code, hetero flag, or altloc, so the bare-int path misses it | Index with the full tuple chain[(' ', 100, ' ')] or iterate and match id[1]/id[2] |
| Antibody CDR residues 100/100A/100B collapse to one | Keyed on residue.id[1] (resseq) and dropped id[2] (icode) | Key on the full (hetflag, resseq, icode) tuple |
| Structure sequence one residue shorter than expected after each loop | PPBuilder returns the observed sequence with missing-density gaps concatenated away | Use SEQRES (pdb-seqres) for length; map to UniProt by residue number or SIFTS, not string index |
| Selenomethionine protein reads full of X or has holes in the chain | MSE is a hetero (H_MSE) residue; strict protein_letters_3to1 returns X or a blanket hetero strip deleted it | Use protein_letters_3to1_extended (MSE->M); filter hetero by explicit allow/deny list |
| Water strip leaves waters behind | Filtered with startswith('H_'); water hetflag is 'W' | Strip water with r.id[0] == 'W' |
| Stripping hetero removed a catalytic metal or cofactor | Blanket r.id[0] != ' ' deletes metals, heme, FAD, ions, and mid-chain MSE | Remove only water/buffer by explicit list; keep ligands and metals |
| NMR metric multiplied ~20x or averaged to nonsense | Iterated all models, or averaged coordinates across the ensemble | Select one representative model, or compute per-model and report the spread |
| mmCIF residue numbers do not match the paper | Read label numbering instead of auth (or mixed a label index into an auth structure) | Set auth_residues=True (default) and stay in one scheme |
| Missing loop treated as a covalent chain break | Gap in coordinates is unmodeled disorder, not a real break | Reconcile against header['missing_residues']/SEQRES; flag gaps as disorder |
| Silent atom drops / merged chains on a messy file | PDBParser(QUIET=True) suppressed the discontinuous-chain warnings | For unfamiliar files parse without QUIET (or capture warnings) first |
© GPTomics, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file
SKILL.md and 5 other files in structural-biology/structure-navigation of GPTomics/bioSkills.
Open the folder on GitHubat commit d91ed3d
We found 1 copy of this SKILL.md (exact, near-identical or edited) in other folders, from 1 other GitHub owner. This page covers the copy in GPTomics/bioSkills, which our catalogue first saw on October 7, 2026.
Bio Structural Biology Structure Navigation 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.
| Skill | Stars | Used in | Tokens | Auto-check | Licence | Repo updated |
|---|---|---|---|---|---|---|
| Bio Structural Biology Structure Navigation this skillGPTomics/bioSkills | 1.2k | 1 repos | ~3.7k | Automated safety check: Pass | MIT | |
| Alphafold Database Fetch And Analyzegoogle-deepmind/science-skills | 3.2k | 2 repos | ~1.2k | Automated safety check: Pass | Apache-2.0 | |
| Bio DB ToolsDrugClaw/DrugClaw | 125 | — | ~1.4k | Automated safety check: Pass | Apache-2.0 | |
| Ggetdavila7/claude-code-templates | 32k | 10 repos | ~6.3k | Automated safety check: Pass | MIT | |
| Alphafold Databasedavila7/claude-code-templates | 32k | 10 repos | ~4k | Automated safety check: Pass | MIT | |
| Uniprot Databasegoogle-deepmind/science-skills | 3.2k | 1 repos | ~3.1k | Automated safety check: Pass | Apache-2.0 |
google-deepmind/science-skills
Retrieve and analyze AlphaFold predicted structures for a protein.
DrugClaw/DrugClaw
Query public biology databases and APIs including UniProt, RCSB PDB, AlphaFold DB, ClinVar, dbSNP, gnomAD, Ensembl, GEO, InterPro, KEGG, OpenTargets, Reactome, and STRING.
davila7/claude-code-templates
CLI/Python toolkit for rapid bioinformatics queries. An agent skill from davila7/claude-code-templates.
davila7/claude-code-templates
Access AlphaFold's 200M+ AI-predicted protein structures. An agent skill from davila7/claude-code-templates.
google-deepmind/science-skills
Access protein metadata, function, taxonomy, and sequences across UniProtKB, UniParc, and UniRef.
ynulihao/AgentSkillOS
A skill your agent uses when working with scientific research tools and workflows across bioinformatics, cheminformatics, genomics, structural biology, proteomics, and drug discovery.
GPTomics/bioSkills
Read, write, and convert multiple sequence alignment files using Biopython Bio.AlignIO.
GPTomics/bioSkills
Installs the bioSkills collection of 425 bioinformatics skills in one step, or only chosen categories, so sequencing, RNA-seq, single-cell and variant tasks get specialized help.
GPTomics/bioSkills
Write biological sequences to files (FASTA, FASTQ, GenBank, EMBL) using Biopython Bio.SeqIO.
GPTomics/bioSkills
Soft- or hard-clips PCR primer footprints from aligned amplicon BAMs so primer bases stop masquerading as confirmed reference sequence.
GPTomics/bioSkills
Filters BAM alignments by FLAG bits, mapping quality and regions with samtools view or pysam, with recipes for common keep and drop cases.
GPTomics/bioSkills
Create and use BAI/CSI indices for BAM/CRAM files using samtools and pysam.
Works with
Categories
Navigate the Bio.PDB SMCRA hierarchy (Structure-Model-Chain-Residue-Atom) safely, surfacing the heterogeneity it hides by default. Bio Structural Biology Structure Navigation is an agent skill from GPTomics/bioSkills.PDB SMCRA hierarchy (Structure-Model-Chain-Residue-Atom) safely, surfacing the heterogeneity it hides by default.
Bio Structural Biology Structure Navigation fits situations like: deciding how to handle altloc/DisorderedAtom conformers before a distance; indexing residues insertion-code-safe with the full (hetflag; choosing the ATOM/observed vs SEQRES/canonical vs UniProt sequence; selecting the right Model for an NMR ensemble.
Run `npx skills add GPTomics/bioSkills --skill bio-structural-biology-structure-navigation -a claude-code`. Or copy the skill folder (structural-biology/structure-navigation in GPTomics/bioSkills) into .claude/skills/bio-structural-biology-structure-navigation in your project. Claude Code loads it when a task matches its description.
Run `npx skills add GPTomics/bioSkills --skill bio-structural-biology-structure-navigation -a codex`. Or copy the skill folder (structural-biology/structure-navigation in GPTomics/bioSkills) into .agents/skills/bio-structural-biology-structure-navigation in your project. Codex loads it when a task matches its description.
Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add GPTomics/bioSkills --skill bio-structural-biology-structure-navigation -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/bio-structural-biology-structure-navigation, .gemini/skills/bio-structural-biology-structure-navigation, .github/skills/bio-structural-biology-structure-navigation and .opencode/skills/bio-structural-biology-structure-navigation in your project.
Going by SKILL.md and its folder, Bio Structural Biology Structure Navigation needs Python for the scripts in its folder and the command-line tools its instructions call (pip). Our summary lists: Python 3.
SKILL.md contains no URLs. Its commands use pip, which can reach the network depending on how they are called. This is read from the text; nothing was executed.
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. Review the folder before installing.
Bio Structural Biology Structure Navigation is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.
About 3.7k tokens (SKILL.md is roughly 15k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full.
Skills that share tags, products or a category with Bio Structural Biology Structure Navigation: Alphafold Database Fetch And Analyze (google-deepmind/science-skills, 3.2k stars), Bio DB Tools (DrugClaw/DrugClaw, 125 stars), Gget (davila7/claude-code-templates, 32k stars) and Alphafold Database (davila7/claude-code-templates, 32k stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.
GPTomics (a GitHub organization) maintains it in GPTomics/bioSkills, which has 1,217 GitHub stars. The repository holds 559 skills in this directory. The repository was last updated on August 15, 2026.
Source: GPTomics/bioSkills on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.