Agent SkillsRunchuan-BU/BioClaw › query-uniprot

query-uniprot

GitHub

查询UniProt蛋白质数据库,获取序列、功能及注释信息。适用于用户询问蛋白ID、基因产物或特定蛋白详情时调用。

container/skills/query-uniprot/SKILL.md Runchuan-BU/BioClaw

Trigger Scenarios

查询蛋白质序列 询问蛋白功能 获取蛋白注释 查找蛋白标识符

Install

npx skills add Runchuan-BU/BioClaw --skill query-uniprot -g -y
More Options

Non-standard path

npx skills add https://github.com/Runchuan-BU/BioClaw/tree/main/container/skills/query-uniprot -g -y

Use without installing

npx skills use Runchuan-BU/BioClaw@query-uniprot

指定 Agent (Claude Code)

npx skills add Runchuan-BU/BioClaw --skill query-uniprot -a claude-code -g -y

安装 repo 全部 skill

npx skills add Runchuan-BU/BioClaw --all -g -y

预览 repo 内 skill

npx skills add Runchuan-BU/BioClaw --list

SKILL.md

Frontmatter
{
    "name": "query-uniprot",
    "description": "Query UniProt protein database. Use when user asks about protein sequences, functions, annotations, domains, or protein identifiers. Triggers on \"uniprot\", \"protein function\", \"protein sequence\", \"gene product\", \"protein info\"."
}

UniProt Protein Database Query

Query the UniProt REST API for protein information.

When to Use

  • User asks about a protein's function, sequence, or annotation
  • User provides a gene name and wants protein info
  • User needs protein accession IDs
  • User asks "what does gene X do" (protein level)

How to Execute

import requests
import json

BASE_URL = "https://rest.uniprot.org"

# 1. Search by gene name (default: human, reviewed/Swiss-Prot)
def search_uniprot(gene_name, organism_id=9606, max_results=5):
    url = f"{BASE_URL}/uniprotkb/search"
    params = {
        "query": f"gene_exact:{gene_name} AND organism_id:{organism_id} AND reviewed:true",
        "format": "json",
        "size": max_results,
        "fields": "accession,id,gene_names,protein_name,organism_name,length,cc_function,ft_domain,sequence"
    }
    r = requests.get(url, params=params)
    r.raise_for_status()
    return r.json()

# 2. Get by accession ID
def get_uniprot_entry(accession):
    url = f"{BASE_URL}/uniprotkb/{accession}.json"
    r = requests.get(url)
    r.raise_for_status()
    return r.json()

# 3. Get FASTA sequence
def get_fasta(accession):
    url = f"{BASE_URL}/uniprotkb/{accession}.fasta"
    r = requests.get(url)
    r.raise_for_status()
    return r.text

# Example usage
data = search_uniprot("TP53")
for entry in data.get("results", []):
    acc = entry["primaryAccession"]
    name = entry.get("proteinDescription", {}).get("recommendedName", {}).get("fullName", {}).get("value", "N/A")
    gene = entry.get("genes", [{}])[0].get("geneName", {}).get("value", "N/A")
    length = entry.get("sequence", {}).get("length", "N/A")
    
    # Extract function
    functions = [c["texts"][0]["value"] for c in entry.get("comments", []) if c["commentType"] == "FUNCTION"]
    func_text = functions[0][:200] if functions else "N/A"
    
    print(f"Accession: {acc}")
    print(f"Protein: {name}")
    print(f"Gene: {gene}")
    print(f"Length: {length} aa")
    print(f"Function: {func_text}")

Common Search Patterns

  • By gene: gene_exact:BRCA1 AND organism_id:9606
  • By keyword: keyword:kinase AND organism_id:9606
  • By disease: cc_disease:cancer AND organism_id:9606
  • By GO term: go:apoptosis AND organism_id:9606
  • Species IDs: Human=9606, Mouse=10090, Rat=10116, Zebrafish=7955, Fly=7227, Yeast=559292

Output Format

Present: Accession, protein name, gene, organism, length, function summary, and UniProt link.

Follow-up Suggestions

  • "Want me to get the AlphaFold structure for this protein?"
  • "Should I check protein-protein interactions on STRING?"
  • "Want me to BLAST this protein sequence?"

Version History

  • a79b8c4 Current 2026-07-25 11:44

Same Skill Collection

.claude/skills/add-figure/SKILL.md
.claude/skills/add-gmail/SKILL.md
.claude/skills/add-omics-runtime-pack/SKILL.md
.claude/skills/add-telegram-swarm/SKILL.md
.claude/skills/add-telegram/SKILL.md
.claude/skills/add-voice-transcription/SKILL.md
.claude/skills/convert-to-docker/SKILL.md
.claude/skills/customize/SKILL.md
.claude/skills/debug/SKILL.md
.claude/skills/setup/SKILL.md
.claude/skills/x-integration/SKILL.md
container/skills/agent-browser/SKILL.md
container/skills/atac-seq/SKILL.md
container/skills/bio-tools/SKILL.md
container/skills/blast-search/SKILL.md
container/skills/cell-annotation/SKILL.md
container/skills/chip-seq/SKILL.md
container/skills/differential-expression/SKILL.md
container/skills/metagenomics/SKILL.md
container/skills/proteomics/SKILL.md
container/skills/pubmed-search/SKILL.md
container/skills/query-alphafold/SKILL.md
container/skills/query-clinvar/SKILL.md
container/skills/query-ensembl/SKILL.md
container/skills/query-geo/SKILL.md
container/skills/query-interpro/SKILL.md
container/skills/query-kegg/SKILL.md
container/skills/query-opentarget/SKILL.md
container/skills/query-pdb/SKILL.md
container/skills/query-reactome/SKILL.md
container/skills/query-stringdb/SKILL.md
container/skills/report-template/SKILL.md
container/skills/scrna-preprocessing-clustering/SKILL.md
container/skills/sds-gel-review/SKILL.md
container/skills/sec-report/SKILL.md
container/skills/sequence-analysis/SKILL.md
container/skills/skills-hub/SKILL.md
container/skills/structural-biology/SKILL.md

Metadata

Files
0
Version
a79b8c4
Hash
856dbdeb
Indexed
2026-07-25 11:44

Главная - Вики-сайт
Copyright © 2011-2026 iteam. Current version is 2.155.2. UTC+08:00, 2026-08-21 06:49
浙ICP备14020137号-1 $Гость$