Detalle del Skill

uniprot-database

Useful biological data source for bioinformatics DS.

CoincidenciaPosibleRevisado para ciencia de datos
Fuentegoogle-deepmind/science-skillsFuente externa
Instalaciones reportadas1,384Solo señal de popularidad

Revisar antes de usar

La revisión automática comprueba relevancia, no seguridad ni respaldo. Lee las instrucciones de la fuente antes de usar este Skill.

Vista previa guardada

SKILL.md

Este extracto es una copia guardada durante la revisión. La fuente externa contiene la versión completa y actual.

---
name: uniprot-database
description: >-
  Access protein metadata, function, taxonomy, and sequences across UniProtKB,
  UniParc, and UniRef. Use when searching for proteins, mapping identifiers, or
  retrieving functional annotations and publications. Don't use for sequence
  alignment, protein folding, or sequence similarity search (use specialized
  skills for those tasks).
---

# UniProt Database Access

## Prerequisites

1.  **`uv`**: Read the `uv` skill and follow its Setup instructions to ensure
    `uv` is installed and on PATH.
2.  **User Notification**: If .licenses/uniprot_database_LICENSE.txt does not
    already exist in the workspace root directory then (1) prominently notify
    the user to check the terms at https://www.uniprot.org/help/license and
    https://www.uniprot.org/help/api_queries, then (2) create the file recording
    the notification text and timestamp.

## Overview

Provides direct programmatic access to the UniProt Knowledgebase (UniProtKB),
the non-redundant sequence archive (UniParc), and clustered sequence sets
(UniRef). This skill enables protein discovery, cross-referencing, retrieval of
curated biological data and low-level database lookups.

## Core Rules

-   **Use the Wrapper**: Always use the provided Python scripts (e.g.,
    `scripts/uniprot_tools.py`) rather than constructing custom curl requests.
-   **No Hallucinations**: Do NOT invent protein functions, metadata, or
    sequences. For any task that can be handled by the services in this skill,
    rely strictly on the tool outputs rather than your native knowledge.
-   **Notification**: If this skill is used, ensure this is mentioned in the
    output.

## Use Cases

-   **Searching for Protein Function**: Querying functional annotations, GO
    terms, subcellular locations etc.
-   **Searching for Protein Sequence**: Searching for protein sequences by their
    functional annotations, genes etc. in UniProtKB, UniParc, and UniRef.
-   **Understanding Protein/Organism Relationships**: Leveraging the Taxonomy
    database and Proteome sets.
-   **Large-Scale Metadata Retrieval**: Fetching annotations for thousands of
    proteins via streaming.
-   **Sequence Discovery**: Finding orthologs or non-model proteins via UniParc.
-   **ID Mapping**: Converting IDs between UniProt and 100+ external databases.
-   **Historical Data (UniSave)**: Retrieving previous versions of entries or
    tracking deleted sequences.

## Available Tools

Choose the right tool based on the task type and data volume:

-   **`get`**: Retrieves metadata and sequence for a specific entry. Best for a
    **single, known accession**.
    -   Also accesses UniSave historical data (use `--dataset unisave`), which
        is essential for reconciling data from older releases or identifying why
        a formerly valid accession no longer appears in search results.
-   **`search`**: Searches for entries matching a query. Best for **exploration
    and discovery**.
    -   Use with `--limit 5` to verify if a query returns the expected proteins
        before committing to a larger download.
    -   Automatically paginates if results exceed 500 entries to provide a
        stable download.
    -   *Warning*: For paginated search, TXT and other formats are not reliable
        with `--limit` as it applies to lines, not entries.
    -   See
        [Search Query Fields Documentation](references/search_query_fields.md).
-   **`stream`**: Streams all matching entries. Best for **bulk retrieval** of
    large datasets (up to 10,000,000 entries).
    -   Does NOT support `--limit`; always returns the full result set.
    -   Use `search` with `--limit` if you need a subset.
-   **`count`**: Counts entries matching a query. Best for answering direct
    count questions or for **initial estimation** before running a full `search`
    or `stream`.
-   **`sparql`**: Executes graph queries for complex discovery. Best for
    counting, exact sequence matches, and multi-databa
Leer la fuente completa en GitHub (abre una página externa)
Contexto

Trabajo relacionado