uniprot-database – skill Dữ liệu & Khoa học cho agent AI
Truy cập trực tiếp REST API của UniProt. Tìm kiếm protein, lấy FASTA, ánh xạ ID, Swiss-Prot/TrEMBL. Với quy trình Python nhiều cơ sở dữ liệu, ưu tiên bioservices (giao diện thống nhất cho hơn 40 dịch vụ). Dùng skill này cho công việc HTTP/REST trực tiếp hoặc kiểm soát riêng cho UniProt.
Cài skill uniprot-database bằng một lệnh
Chọn công cụ bạn đang dùng, copy lệnh và dán vào terminal. Skill sẽ nằm trong thư mục skills của công cụ đó và sẵn sàng dùng ở phiên làm việc tiếp theo.
Claude Code
mkdir -p ~/.claude/skills && curl -fsSL https://skill.dn1nguoi.com/z/uniprot-database-3b225.tgz | tar xz -C ~/.claude/skills
Gọi trong Claude Code: /uniprot-database – rồi mô tả công việc bạn muốn làm.
Codex
mkdir -p ~/.codex/skills && curl -fsSL https://skill.dn1nguoi.com/z/uniprot-database-3b225.tgz | tar xz -C ~/.codex/skills
Gọi trong Codex: $uniprot-database – rồi mô tả công việc bạn muốn làm.
Hermes Agent
mkdir -p ~/.hermes/skills && curl -fsSL https://skill.dn1nguoi.com/z/uniprot-database-3b225.tgz | tar xz -C ~/.hermes/skills
Gọi trong Hermes Agent: /uniprot-database – rồi mô tả công việc bạn muốn làm.
DeepSeek
mkdir -p ~/.deepcode/skills && curl -fsSL https://skill.dn1nguoi.com/z/uniprot-database-3b225.tgz | tar xz -C ~/.deepcode/skills
Gọi trong DeepSeek: /uniprot-database – rồi mô tả công việc bạn muốn làm.
Nội dung SKILL.md
Nội dung SKILL.md gốc bằng tiếng Anh.
Supporting material availability
This catalog copy contains the inline guidance below, but does not include the following supporting paths. They are external prerequisites, not bundled files:
<support-root>/scripts/uniprot_client.py
Ask for the original supporting material or an existing installation before using a step that depends on these paths; this catalog does not identify a verified download source for them. Resolve each path relative to that installation, inspect its contents, and verify any applicable license and execution prerequisites. Do not run a command or claim a referenced procedure was followed until its required file exists. Do not fabricate the missing scripts or treat an unrelated file with the same name as equivalent. Independent steps fully documented here can proceed within the user’s authorized scope; report any dependent step as unavailable.
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:
# 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 bindingUse 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 numberid- Entry namegene_names- Gene name(s)organism_name- Organismprotein_name- Protein namessequence- Amino acid sequencelength- Sequence lengthgo_*- Gene Ontology annotationscc_*- 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.
Python Implementation
For programmatic access, use the provided helper script scripts/uniprot_client.py which implements:
search_proteins(query, format)- Search UniProt with any queryget_protein(accession, format)- Retrieve single protein entrymap_ids(ids, from_db, to_db)- Map between identifier typesbatch_retrieve(accessions, format)- Retrieve multiple entriesstream_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 lungField-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 queriesid_mapping_databases.md- Supported databases for ID mapping operationsquery_syntax.md- Comprehensive query syntax with advanced examplesapi_examples.md- Code examples in multiple languages (Python, curl, R)
Additional Resources
- API Documentation: https://www.uniprot.org/help/api
- Interactive API Explorer: https://www.uniprot.org/api-documentation
- REST Tutorial: https://www.uniprot.org/help/uniprot_rest_tutorial
- Query Syntax Help: https://www.uniprot.org/help/query-fields
- SPARQL Endpoint: https://sparql.uniprot.org/ (for advanced graph queries)
Limitations
- Use this skill only when the task clearly matches the scope described above.
- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.
The uniprot_client.py helper and the four references/ files listed above are not bundled; they are prerequisites, not provided functionality. Independent REST examples can proceed using the official API documentation. Encode queries through HTTP client parameter support, set timeouts and pagination/result caps, and record accession, release/version, reviewed/unreviewed status and retrieval date. Sequence annotations are evidence with provenance, not clinical diagnoses or experimentally verified function in every case.
Skill liên quan
- unity-ecs-patterns – Các pattern sản xuất cho Data-Oriented Technology Stack (DOTS) của Unity, gồm Entity…
- upstash-redis – Dùng client HTTP @upstash/redis để cache, quản lý session, bộ đếm và các cấu trúc dữ…
- us-property-data – Dùng khi tác vụ cần dữ liệu bất động sản dân cư thực tế tại Hoa Kỳ: định giá, danh sách…
- uxkin-research – Nghiên cứu cách các sản phẩm thực tế xử lý một màn hình, luồng hoặc phong cách hình ảnh…
- variant-analysis – Tìm các lỗ hổng và lỗi tương tự trong codebase bằng phân tích dựa trên mẫu. Dùng khi săn…
- vector-database-engineer – Chuyên gia về cơ sở dữ liệu vector, chiến lược embedding và triển khai tìm kiếm ngữ…
- vector-database-ops – Triển khai, quản lý và tối ưu cơ sở dữ liệu vector cho các ứng dụng AI.
- warehouse – Lập kế hoạch và review phân tích kho dữ liệu chỉ đọc, với phạm vi, quyền riêng tư, nguồn…