← ClaudeAtlas

uniprotlisted

Access UniProt for protein sequence and annotation retrieval. Use this skill when: (1) Looking up protein sequences by accession, (2) Finding functional annotations, (3) Getting domain boundaries, (4) Finding homologs and variants, (5) Cross-referencing to PDB structures. For structure retrieval, use pdb. For sequence design, use proteinmpnn.
BioTender-max/awesome-bio-agent-skills · ★ 58 · AI & Automation · score 80
Install: claude install-skill BioTender-max/awesome-bio-agent-skills
# UniProt Database Access **Note**: This skill uses the UniProt REST API directly. No Modal deployment needed - all operations run locally via HTTP requests. ## Fetching Sequences ### By Accession ```bash # FASTA format curl "https://rest.uniprot.org/uniprotkb/P00533.fasta" # JSON format with annotations curl "https://rest.uniprot.org/uniprotkb/P00533.json" ``` ### Using Python ```python import requests def get_uniprot_sequence(accession): """Fetch sequence from UniProt.""" url = f"https://rest.uniprot.org/uniprotkb/{accession}.fasta" response = requests.get(url) if response.ok: lines = response.text.strip().split('\n') header = lines[0] sequence = ''.join(lines[1:]) return header, sequence return None, None ``` ## Getting Annotations ### Full Entry ```python def get_uniprot_entry(accession): """Fetch full UniProt entry as JSON.""" url = f"https://rest.uniprot.org/uniprotkb/{accession}.json" response = requests.get(url) return response.json() if response.ok else None entry = get_uniprot_entry("P00533") print(f"Protein: {entry['proteinDescription']['recommendedName']['fullName']['value']}") ``` ### Domain Boundaries ```python def get_domains(accession): """Extract domain annotations.""" entry = get_uniprot_entry(accession) domains = [] for feature in entry.get('features', []): if feature['type'] == 'Domain': domains.append({ 'name': feature.get('de