| name | uniprot |
| description | Protein sequence, function, and annotation lookup. Query MUST be a bare gene symbol or protein name — 1 to 3 words maximum. Valid examples: 'KRAS', 'EGFR', 'BTK', 'TP53', 'Bruton tyrosine kinase', 'P01116'. If the topic is 'sotorasib KRAS G12C', the correct query is 'KRAS'. If the topic is 'imatinib BCR-ABL resistance', the correct query is 'BCR-ABL'. Strip the drug name, mutation label, and all mechanism words — pass only the protein or gene name. |
| metadata | null |
UniProt Protein Lookup
Query the UniProt protein database to retrieve protein sequences, annotations, functional information, and cross-references.
Overview
UniProt is the world's most comprehensive protein sequence and functional annotation database. This skill provides access to:
- Protein sequences (FASTA format)
- Functional annotations
- Gene ontology (GO) terms
- Protein domains and families
- Cross-references to PDB, Pfam, InterPro, etc.
Usage
Fetch protein by accession:
python3 {baseDir}/scripts/uniprot_fetch.py --accession P53_HUMAN
Fetch by UniProt ID:
python3 {baseDir}/scripts/uniprot_fetch.py --accession P04637
Search for proteins:
python3 {baseDir}/scripts/uniprot_fetch.py --search "insulin human"
Get sequence only:
python3 {baseDir}/scripts/uniprot_fetch.py --accession P53_HUMAN --format fasta
Get full entry with all annotations:
python3 {baseDir}/scripts/uniprot_fetch.py --accession P53_HUMAN --format detailed
Parameters
| Parameter | Description | Default |
|---|
--accession | UniProt accession or entry name | - |
--search | Search query | - |
--organism | Filter by organism (e.g., "human", "9606") | - |
--reviewed | Only Swiss-Prot (reviewed) entries | False |
--max-results | Maximum results for search | 10 |
--format | Output format: summary, detailed, fasta, json | summary |
--include-features | Include sequence features | False |
--include-xrefs | Include cross-references | False |
Examples
Look up human p53 tumor suppressor:
python3 {baseDir}/scripts/uniprot_fetch.py --accession P53_HUMAN --format detailed
Search for kinases in human:
python3 {baseDir}/scripts/uniprot_fetch.py --search "kinase" --organism human --reviewed --max-results 20
Get FASTA sequence for multiple proteins:
python3 {baseDir}/scripts/uniprot_fetch.py --accession "P53_HUMAN,BRCA1_HUMAN,EGFR_HUMAN" --format fasta
Search with advanced query:
python3 {baseDir}/scripts/uniprot_fetch.py --search "gene:TP53 AND organism_id:9606"
Get protein with PDB cross-references:
python3 {baseDir}/scripts/uniprot_fetch.py --accession P53_HUMAN --include-xrefs
Output Fields
Summary
- Accession, entry name, protein name
- Gene name, organism
- Sequence length
- Reviewed status
Detailed
- Full protein name and alternative names
- Function description
- Subcellular location
- Gene ontology terms
- Protein domains
- Post-translational modifications
- Disease associations
- Literature references
FASTA
Standard FASTA format sequence output.
JSON
Full UniProt entry in JSON format.
Cross-References
UniProt entries contain cross-references to:
- PDB: 3D protein structures
- Pfam: Protein families
- InterPro: Protein signatures
- GO: Gene Ontology terms
- KEGG: Pathway information
- Reactome: Reaction pathways
- DrugBank: Drug interactions
- OMIM: Disease associations
Query Limitations — Read Before Using
UniProt is a protein database, not a drug/chemistry database. Queries must target proteins by name, gene, or accession. Drug or chemistry concepts will return zero results.
| ❌ Fails (not a protein query) | ✅ Works |
|---|
| "KRAS covalent inhibitors" | "KRAS_HUMAN" or "P01116" |
| "BTK warhead optimization" | "BTK" or "BTK_HUMAN" or "Q06187" |
| "covalent inhibitor design" | "Bruton tyrosine kinase" |
| "BBB penetration ADMET" | "ABCB1 human" or "MDR1" |
| "kinase inhibitor selectivity" | "EGFR kinase" or "EGFR_HUMAN" |
Rule: If your query describes a drug, chemical process, mechanism, or assay — use PubChem or TDC instead. UniProt answers: "What is this protein and what does it do?"
For KRAS covalent inhibitor research, the correct two-step workflow is:
- UniProt:
--search "KRAS_HUMAN" or --accession P01116 → get KRAS protein structure, active site residues (Cys12, Gly12), domains
- PubChem/ChEMBL: search "KRAS G12C inhibitor" or "sotorasib" → get inhibitor SMILES, IC50, selectivity data
Notes
- UniProt accession numbers (e.g., P04637) are stable identifiers
- Entry names (e.g., P53_HUMAN) may change
- Reviewed (Swiss-Prot) entries are manually curated
- Unreviewed (TrEMBL) entries are computationally annotated
- API has no authentication requirement