Agent skill

UniProt Database Access

by davila7 in davila7/claude-code-templates

Queries the UniProt REST API directly to search proteins, fetch FASTA sequences, map IDs between databases and read Swiss-Prot and TrEMBL entries.

MITAuto-check passedResearch & Science

Install UniProt Database Access

skills CLI
$ npx skills add davila7/claude-code-templates --skill uniprot-database -a claude-code

Project install by default; add -g for ~/.claude/skills/.

GitHub CLI
$ gh skill install davila7/claude-code-templates uniprot-database --agent claude-code

Project scope by default; add --scope user for a personal install. Needs GitHub CLI 2.90.0 or later (public preview).

Manual copy
$ git clone --depth 1 https://github.com/davila7/claude-code-templates.git skills-src && mkdir -p .claude/skills && cp -r skills-src/cli-tool/components/skills/scientific/uniprot-database .claude/skills/uniprot-database && rm -rf skills-src

Use ~/.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/

Facts

Skill name
uniprot-database
GitHub stars
32k
Used in
14 other repos
Token cost
~1.7k tokens
SKILL.md length
606 words
Files
6 (incl. scripts, references)
Skills in repo
478
Repo updated
First seen
Licence
MIT

At a glance

Queries the UniProt REST API directly to search proteins, fetch FASTA sequences, map IDs between databases and read Swiss-Prot and TrEMBL entries.

  • Works in 5 steps: Searching for Proteins → Retrieving Individual Protein Entries → Batch Retrieval and ID Mapping → …
  • Looking up proteins by name, gene or accession in UniProt
  • SKILL.md covers Overview, When to Use This Skill, Core Capabilities and Python Implementation, plus 4 more sections
  • Runs Python scripts from its folder; reaches rest.uniprot.org

What it does

The skill covers working with UniProt over plain HTTP. It describes searching by protein name, gene symbol, accession or organism with field-based query syntax, fetching single entries by accession in formats such as FASTA, JSON, TSV, XML and RDF, and reading annotations like GO terms and domains. A Python client, `scripts/uniprot_client.py`, ships alongside it.

ID mapping is a three-step job flow: submit the job, poll its status, then fetch results, with a ceiling of 100,000 IDs per job and results kept for 7 days. Batch retrieval and streaming of large result sets are covered too, and reference files hold API examples, field lists, mapping databases and query syntax. The description points to bioservices instead when a Python workflow spans many databases.

When your agent uses it

  • Looking up proteins by name, gene or accession in UniProt
  • Downloading protein sequences in FASTA format
  • Mapping identifiers between UniProt and Ensembl, RefSeq or PDB
  • Separating reviewed Swiss-Prot entries from unreviewed TrEMBL ones

Example prompts

  • “Find reviewed human insulin entries in UniProt and save their FASTA sequences.”
  • “Map this list of Ensembl gene IDs to UniProt accessions.”
  • “Get the GO terms and domain annotations for P12345.”

Requirements

  • Network access to rest.uniprot.org
  • Python to run the bundled client

Workflow steps

5 steps, taken from the step headings in SKILL.md.

  1. Searching for Proteins
  2. Retrieving Individual Protein Entries
  3. Batch Retrieval and ID Mapping
  4. Streaming Large Result Sets
  5. Customizing Retrieved Fields

What it can do on your machine

Read from SKILL.md and the folder at commit 46b4d8b. It shows what the files ask for, not the result of running them.

  • Tool permissions

    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.

  • Runs code

    Ships 1 file in scripts/ (Python), which the agent can run.

    From the folder's file list and the shell code blocks in SKILL.md.

  • Network

    Hosts in commands or code, which the agent is likely to contact:

    • rest.uniprot.org

    Also links to:

    • uniprot.org
    • sparql.uniprot.org

    From URLs in SKILL.md, links to its own repository left out.

  • Credentials

    Names no API keys, tokens, secrets or passwords.

    From names ending in _API_KEY, _TOKEN, _SECRET, _KEY or _PASSWORD in SKILL.md.

Context cost

UniProt Database Access loads about 1.7k tokens when it runs, and up to ~9.6k if it reads all its reference files. Until then it costs about 71 tokens; SKILL.md has 606 words of instructions outside code blocks.

Always · name and description, kept in context so the agent knows when to use it
~71
When it runs · the whole SKILL.md, loaded when a task matches
~1.7k
With references · SKILL.md plus every file in references/, read only if the agent opens them
~9.6k

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.

Safety

Auto-check passed

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); the scripts in this folder are not scanned.

SKILL.md

The full file from davila7/claude-code-templates at commit 46b4d8b, republished under its MIT licence (© davila7). 606 words, ~1,683 tokens.

Download SKILL.mdSave it as .claude/skills/uniprot-database/SKILL.md (or your agent's skills folder). This skill also uses 5 other files; get the full folder from GitHub.
name
uniprot-database
description
Direct REST API access to UniProt. Protein searches, FASTA retrieval, ID mapping, Swiss-Prot/TrEMBL. For Python workflows with multiple databases, prefer bioservices (unified interface to 40+ services). Use this for direct HTTP/REST work or UniProt-specific control.

UniProt Database

Overview

UniProt is the world's leading comprehensive protein sequence and functional information resource. Search proteins by name, gene, or accession, retrieve sequences in FASTA format, perform ID mapping across databases, access Swiss-Prot/TrEMBL annotations via REST API for protein analysis.

When to Use This Skill

This skill should be used when:

  • Searching for protein entries by name, gene symbol, accession, or organism
  • Retrieving protein sequences in FASTA or other formats
  • Mapping identifiers between UniProt and external databases (Ensembl, RefSeq, PDB, etc.)
  • Accessing protein annotations including GO terms, domains, and functional descriptions
  • Batch retrieving multiple protein entries efficiently
  • Querying reviewed (Swiss-Prot) vs. unreviewed (TrEMBL) protein data
  • Streaming large protein datasets
  • Building custom queries with field-specific search syntax

Core Capabilities

1. Searching for Proteins

Search UniProt using natural language queries or structured search syntax.

Common search patterns:

python
# Search by protein name
query = "insulin AND organism_name:\"Homo sapiens\""

# Search by gene name
query = "gene:BRCA1 AND reviewed:true"

# Search by accession
query = "accession:P12345"

# Search by sequence length
query = "length:[100 TO 500]"

# Search by taxonomy
query = "taxonomy_id:9606"  # Human proteins

# Search by GO term
query = "go:0005515"  # Protein binding

Use the API search endpoint: https://rest.uniprot.org/uniprotkb/search?query={query}&format={format}

Supported formats: JSON, TSV, Excel, XML, FASTA, RDF, TXT

2. Retrieving Individual Protein Entries

Retrieve specific protein entries by accession number.

Accession number formats:

  • Classic: P12345, Q1AAA9, O15530 (6 characters: letter + 5 alphanumeric)
  • Extended: A0A022YWF9 (10 characters for newer entries)

Retrieve endpoint: https://rest.uniprot.org/uniprotkb/{accession}.{format}

Example: https://rest.uniprot.org/uniprotkb/P12345.fasta

3. Batch Retrieval and ID Mapping

Map protein identifiers between different database systems and retrieve multiple entries efficiently.

ID Mapping workflow:

  1. Submit mapping job to: https://rest.uniprot.org/idmapping/run
  2. Check job status: https://rest.uniprot.org/idmapping/status/{jobId}
  3. Retrieve results: https://rest.uniprot.org/idmapping/results/{jobId}

Supported databases for mapping:

  • UniProtKB AC/ID
  • Gene names
  • Ensembl, RefSeq, EMBL
  • PDB, AlphaFoldDB
  • KEGG, GO terms
  • And many more (see /references/id_mapping_databases.md)

Limitations:

  • Maximum 100,000 IDs per job
  • Results stored for 7 days
4. Streaming Large Result Sets

For large queries that exceed pagination limits, use the stream endpoint:

https://rest.uniprot.org/uniprotkb/stream?query={query}&format={format}

The stream endpoint returns all results without pagination, suitable for downloading complete datasets.

5. Customizing Retrieved Fields

Specify exactly which fields to retrieve for efficient data transfer.

Common fields:

  • accession - UniProt accession number
  • id - Entry name
  • gene_names - Gene name(s)
  • organism_name - Organism
  • protein_name - Protein names
  • sequence - Amino acid sequence
  • length - Sequence length
  • go_* - Gene Ontology annotations
  • cc_* - Comment fields (function, interaction, etc.)
  • ft_* - Feature annotations (domains, sites, etc.)

Example: https://rest.uniprot.org/uniprotkb/search?query=insulin&fields=accession,gene_names,organism_name,length,sequence&format=tsv

See /references/api_fields.md for complete field list.

Show full SKILL.md (259 more words)Show less

Python Implementation

For programmatic access, use the provided helper script scripts/uniprot_client.py which implements:

  • search_proteins(query, format) - Search UniProt with any query
  • get_protein(accession, format) - Retrieve single protein entry
  • map_ids(ids, from_db, to_db) - Map between identifier types
  • batch_retrieve(accessions, format) - Retrieve multiple entries
  • stream_results(query, format) - Stream large result sets

Alternative Python packages:

  • Unipressed: Modern, typed Python client for UniProt REST API
  • bioservices: Comprehensive bioinformatics web services client

Query Syntax Examples

Boolean operators:

kinase AND organism_name:human
(diabetes OR insulin) AND reviewed:true
cancer NOT lung

Field-specific searches:

gene:BRCA1
accession:P12345
organism_id:9606
taxonomy_name:"Homo sapiens"
annotation:(type:signal)

Range queries:

length:[100 TO 500]
mass:[50000 TO 100000]

Wildcards:

gene:BRCA*
protein_name:kinase*

See /references/query_syntax.md for comprehensive syntax documentation.

Best Practices

  1. Use reviewed entries when possible: Filter with reviewed:true for Swiss-Prot (manually curated) entries
  2. Specify format explicitly: Choose the most appropriate format (FASTA for sequences, TSV for tabular data, JSON for programmatic parsing)
  3. Use field selection: Only request fields you need to reduce bandwidth and processing time
  4. Handle pagination: For large result sets, implement proper pagination or use the stream endpoint
  5. Cache results: Store frequently accessed data locally to minimize API calls
  6. Rate limiting: Be respectful of API resources; implement delays for large batch operations
  7. Check data quality: TrEMBL entries are computational predictions; Swiss-Prot entries are manually reviewed

Resources

scripts/

uniprot_client.py - Python client with helper functions for common UniProt operations including search, retrieval, ID mapping, and streaming.

references/
  • api_fields.md - Complete list of available fields for customizing queries
  • id_mapping_databases.md - Supported databases for ID mapping operations
  • query_syntax.md - Comprehensive query syntax with advanced examples
  • api_examples.md - Code examples in multiple languages (Python, curl, R)

Additional Resources

© davila7, MIT. Rendered from Markdown: HTML in the file is shown as text, images as links, and headings moved down two levels. Raw file

Files

SKILL.md and 5 other files (scripts, references) in cli-tool/components/skills/scientific/uniprot-database of davila7/claude-code-templates.

  • SKILL.md
  • references/api_examples.md
  • references/api_fields.md
  • references/id_mapping_databases.md
  • references/query_syntax.md
  • scripts/uniprot_client.py

Open the folder on GitHubat commit 46b4d8b

Used in 14 other repositories

We found 25 copies of this SKILL.md (exact, near-identical or edited) in other folders, from 14 other GitHub owners. This page covers the copy in davila7/claude-code-templates, which our catalogue first saw on October 7, 2026.

Compare with similar skills

UniProt Database Access 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.

UniProt Database Access compared with similar skills
SkillStarsUsed inTokensAuto-checkLicenceRepo updated
UniProt Database Access this skilldavila7/claude-code-templates32k14 repos~1.7kAutomated safety check: PassMIT
Kegg Databasejaechang-hits/SciAgent-Skills3711 repos~4.6kAutomated safety check: PassCustom licence
Ena Databasejaechang-hits/SciAgent-Skills3711 repos~5.3kAutomated safety check: PassCustom licence
BioservicesK-Dense-AI/scientific-agent-skills48k1 repos~3kAutomated safety check: NotesMIT
Research Biomedical Databasesaws-samples/amazon-bedrock-agents-healthcare-lifesciences274—~3.1kAutomated safety check: PassMIT-0
Biopythonlamm-mit/scienceclaw244—~3.9kAutomated safety check: PassApache-2.0

Similar skills

  • Kegg Database

    jaechang-hits/SciAgent-Skills

    KEGG REST API (academic only). An agent skill from jaechang-hits/SciAgent-Skills.

    371 GitHub starsUsed in 1 repo~4.6k tokens
    Research & ScienceAuto-check passed
  • Ena Database

    jaechang-hits/SciAgent-Skills

    ENA REST API for sequences, reads, assemblies, and annotations.

    371 GitHub starsUsed in 1 repo~5.3k tokens
    Research & ScienceAuto-check passed
  • Bioservices

    K-Dense-AI/scientific-agent-skills

    Provides a Python interface to bioinformatics services including UniProt, KEGG, ChEMBL, Reactome, QuickGO, and UniChem.

    48k GitHub starsUsed in 1 repo~3k tokens
    Research & ScienceAuto-check: notes
  • Research Biomedical Databases

    aws-samples/amazon-bedrock-agents-healthcare-lifesciences

    Official

    A skill your agent uses when querying biomedical databases (UniProt, ClinVar, gnomAD, PDB, Reactome, Open Targets, etc.) via the Biomni AgentCore Gateway MCP server.

    274 GitHub stars~3.1k tokensUpdated 7 days ago
    Research & ScienceAuto-check passed
  • Biopython

    lamm-mit/scienceclaw

    Computational molecular biology library (sequence I/O, alignment, phylogenetics).

    244 GitHub stars~3.9k tokensUpdated 1 mo ago
    Research & ScienceAuto-check passed
  • Bioservices

    aipoch/medical-research-skills

    Unified Python access to 40+ bioinformatics web services; use when you need to query multiple databases (e.g., UniProt/KEGG/ChEMBL/Reactome) with one consistent API in a single workflow, especially…

    2k GitHub stars~1.7k tokensUpdated 22 days ago
    Research & ScienceAuto-check passed

More from davila7/claude-code-templates

All 478 skills in this repo
  • Perplexity Web Search

    davila7/claude-code-templates

    Runs web-grounded searches through Perplexity's Sonar models over OpenRouter for current events, recent literature and cited facts beyond the model's training cutoff.

    32k GitHub starsUsed in 11 repos~3.5k tokens
    Auto-check: notes
  • Neuropixels Data Analysis

    davila7/claude-code-templates

    Analyzes Neuropixels recordings from SpikeGLX or Open Ephys through preprocessing, drift correction, Kilosort4 spike sorting, quality metrics and curation.

    32k GitHub starsUsed in 9 repos~2.8k tokens
    Auto-check passed
  • Scientific Venue Templates

    davila7/claude-code-templates

    Supplies LaTeX templates and formatting rules for journals, conferences, posters, and grant proposals, then can check a draft against them.

    32k GitHub starsUsed in 9 repos~5.1k tokens
    Auto-check: notes
  • Brand Voice Content Creator

    davila7/claude-code-templates

    Analyzes a brand's existing writing to lock in a consistent voice, then builds SEO blog posts and platform-specific social content around it.

    32k GitHub starsUsed in 3 repos~1.9k tokens
    Auto-check passed
  • CAPA Officer

    davila7/claude-code-templates

    Guides corrective and preventive action (CAPA) work in a quality management system, from initiation and root cause analysis through effectiveness verification.

    32k GitHub starsUsed in 1 repo~2k tokens
    Auto-check passed
  • Fda Consultant Specialist

    davila7/claude-code-templates

    Senior FDA consultant and specialist for medical device companies including HIPAA compliance and requirement management.

    32k GitHub starsUsed in 1 repo~2.7k tokens
    Auto-check passed

Works with

Questions about UniProt Database Access

What does UniProt Database Access do?

Queries the UniProt REST API directly to search proteins, fetch FASTA sequences, map IDs between databases and read Swiss-Prot and TrEMBL entries. The skill covers working with UniProt over plain HTTP. It describes searching by protein name, gene symbol, accession or organism with field-based query syntax, fetching single entries by accession in formats such as FASTA, JSON, TSV, XML and RDF, and reading annotations like GO terms and domains.

When should I use UniProt Database Access?

UniProt Database Access fits situations like: looking up proteins by name, gene or accession in UniProt; downloading protein sequences in FASTA format; mapping identifiers between UniProt and Ensembl, RefSeq or PDB; separating reviewed Swiss-Prot entries from unreviewed TrEMBL ones.

How do I install UniProt Database Access in Claude Code?

Run `npx skills add davila7/claude-code-templates --skill uniprot-database -a claude-code`. Or copy the skill folder (cli-tool/components/skills/scientific/uniprot-database in davila7/claude-code-templates) into .claude/skills/uniprot-database in your project. Claude Code loads it when a task matches its description.

How do I install UniProt Database Access in Codex?

Run `npx skills add davila7/claude-code-templates --skill uniprot-database -a codex`. Or copy the skill folder (cli-tool/components/skills/scientific/uniprot-database in davila7/claude-code-templates) into .agents/skills/uniprot-database in your project. Codex loads it when a task matches its description.

Can I use UniProt Database Access in Cursor, Gemini CLI or GitHub Copilot?

Cursor, Gemini CLI, GitHub Copilot and OpenCode also load SKILL.md folders. With the skills CLI, run `npx skills add davila7/claude-code-templates --skill uniprot-database -a cursor` (or -a gemini-cli, github-copilot or opencode for the others). To copy it by hand, put the folder in .cursor/skills/uniprot-database, .gemini/skills/uniprot-database, .github/skills/uniprot-database and .opencode/skills/uniprot-database in your project.

What does UniProt Database Access need to run?

Going by SKILL.md and its folder, UniProt Database Access needs Python for the scripts in its folder. Our summary lists: Network access to rest.uniprot.org; Python to run the bundled client.

Does UniProt Database Access access the network?

SKILL.md names 3 domains. In commands or code: rest.uniprot.org; the agent is likely to contact it when it follows the instructions. As links in the text: uniprot.org and sparql.uniprot.org. This is read from the text; nothing was executed.

Is UniProt Database Access safe to install?

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. The check reads SKILL.md only: the scripts in the folder are not scanned, so read them before running anything.

What licence does UniProt Database Access use?

UniProt Database Access is published under the MIT licence (the repository's licence). It allows redistribution, so the full SKILL.md is shown on this page.

How many tokens does UniProt Database Access use?

About 1.7k tokens (SKILL.md is roughly 6.7k characters). Agents keep only the skill's name and description in context until a task matches; then they load SKILL.md in full. Its references folder adds about 7.9k tokens, read only when the agent opens those files.

What are the alternatives to UniProt Database Access?

Skills that share tags, products or a category with UniProt Database Access: Kegg Database (jaechang-hits/SciAgent-Skills, 371 stars), Ena Database (jaechang-hits/SciAgent-Skills, 371 stars), Bioservices (K-Dense-AI/scientific-agent-skills, 48k stars) and Research Biomedical Databases (aws-samples/amazon-bedrock-agents-healthcare-lifesciences, 274 stars). The comparison table on this page puts their stars, adoption, token cost, safety result and licence side by side.

Who maintains UniProt Database Access?

davila7 (a GitHub user) maintains it in davila7/claude-code-templates, which has 32,483 GitHub stars. The repository holds 478 skills in this directory. The repository was last updated on October 9, 2026.

Source: davila7/claude-code-templates on GitHub. Facts on this page come from the repository at the commit we read; the author's words are quoted as theirs.