К основному содержанию
скилл CX Codex

ncbi-sequence-fetch — скилл для Claude Code: обзор и установка

Получает белковые и нуклеотидные последовательности из баз NCBI через E-utilities. Пригодится для поиска данных по номерам accession, генам, локусам, PubMed ID или патентам.

Установить в Claude Code · Через Skills CLI (Vercel) Все способы и платформы ↓
npx skills add google-deepmind/science-skills --skill ncbi-sequence-fetch -a claude-code
npx skills add google-deepmind/science-skills --skill ncbi_sequence_fetch -a claude-code
Открыть на GitHub

Что делает ncbi-sequence-fetch

Скилл обращается к NCBI Entrez E-utilities через обёртку scripts/ncbi_fetch.py. Он поддерживает десять подкоманд: прямую загрузку по номерам accession (RefSeq, GenPept), поиск трансляций CDS, свободный текстовый поиск, извлечение последовательностей из патентов и переход по связям между базами данных. Скрипт всегда возвращает структурированный JSON и выводит текстовую сводку в терминал.

Для запуска нужен uv в PATH. Все вызовы идут строго через скрипт-обёртку, потому что он сам следит за лимитами запросов. Без API-ключа сервис NCBI держит ограничение в 3 запроса в секунду. Если прописать ключ NCBI_API_KEY в файле .env домашней директории, лимит вырастает до 10 запросов в секунду. Это убережёт от ошибки 429 при массовой выгрузке.

Какие задачи решает

  • получить последовательность белка или нуклеотида по номеру accession
  • найти белок по названию гена и организму
  • транслировать CDS в белок тремя методами
  • извлечь аминокислотные последовательности из патентов
  • найти связанные со статьёй в PubMed белки

Примеры запросов агенту

  • Найди последовательность белка для гена WRR4B у Arabidopsis thaliana через ncbi-sequence-fetch
  • Получи FASTA-последовательность для нуклеотида MK034466 и переведи CDS в белок
  • Выгрузи белки, связанные со статьёй PubMed ID 30692254

Как установить ncbi-sequence-fetch

1Через Skills CLI (Vercel)

npx skills add google-deepmind/science-skills --skill ncbi-sequence-fetch -a claude-code
npx skills add google-deepmind/science-skills --skill ncbi_sequence_fetch -a claude-code

2Вручную: положить файлы

~/.claude/skills/ncbi_sequence_fetch/SKILL.md

Папка скилла целиком; для одного проекта — .claude/skills/ncbi_sequence_fetch/

По шагам, с командами для каждой платформы: Как установить скилл в Claude Code: пять способов

Вопросы о ncbi-sequence-fetch

Как установить ncbi-sequence-fetch в Claude Code?

Выполните команду npx skills add google-deepmind/science-skills --skill ncbi-sequence-fetch -a claude-code.

Что делает ncbi-sequence-fetch?

Скилл запрашивает данные из баз NCBI через E-utilities, позволяя искать и скачивать нуклеотидные и белковые последовательности по идентификаторам accession, генам, локусам, статьям PubMed и патентам.

Зачем указывать NCBI_API_KEY?

Без ключа NCBI разрешает до 3 запросов в секунду. Переменная NCBI_API_KEY в файле .env домашней директории повышает лимит до 10 запросов в секунду, предотвращая ошибки 429 при частых вызовах.

Исходный текст

SKILL.md · Apache-2.0
---
name: ncbi-sequence-fetch
description: >
  Retrieve protein and nucleotide sequences from NCBI databases using
  E-utilities. Supports direct accession lookup, CDS translation, gene+organism
  search, locus lookup, PubMed-linked sequences, patent protein extraction, and
  organism+length fallback search. Use when you need to fetch biological
  sequences by accession, gene name, locus tag, PubMed ID, or patent number.
---

# NCBI Sequence Fetch

## 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/ncbi_sequence_fetch_LICENSE.txt does not
    already exist in the workspace root directory then (1) prominently notify
    the user to check the terms at https://www.ncbi.nlm.nih.gov/ and
    https://www.ncbi.nlm.nih.gov/home/about/policies/, then (2) create the file
    recording the notification text and timestamp.
3.  **`.env` file**: Make sure the `.env` file exists in your home directory.
    Create one if it does not exist.
4.  **`NCBI_API_KEY`** (optional): Raises the NCBI rate limit from 3 to 10
    requests/second. The skill works without it, but a key is recommended if the
    user plans many queries or encounters a 429 error. You can register for a
    key for free at https://www.ncbi.nlm.nih.gov/account/settings/. You **MUST**
    use the safe credentials protocol in the `credentials` skill to check for
    and request this key if this skill looks relevant to the user's request.

## Core Rules

-   **Use the Wrapper**: ALWAYS execute the provided helper scripts to query the
    database rather than accessing the database directly. The scripts
    automatically enforce the required rate limit gracefully.
-   **API Key Support**: If the user provides an `NCBI_API_KEY` in their
    environment, the query speed limits are automatically increased
    significantly.
-   **Notification**: If this skill is used, ensure this is mentioned in the
    output.

## Overview

Wraps NCBI's Entrez E-utilities (efetch, esearch, elink, esummary) for
retrieving protein and nucleotide sequences. Provides 10 subcommands covering
the full range of sequence retrieval workflows:

-   `fetch-protein` — Direct protein accession lookup (GenPept, RefSeq)
-   `fetch-nucleotide` — Direct nucleotide accession lookup
-   `cds-translate` — Fetch CDS and translate to protein (3 methods)
-   `search` — Free-text search of any NCBI database
-   `elink` — Follow cross-database links (PubMed→Protein, etc.)
-   `gene-protein` — Search protein by gene name + organism
-   `locus-protein` — Search protein by locus tag + organism
-   `pubmed-proteins` — Find proteins linked to a PubMed article
-   `patent-search` — Extract protein sequences from patents
-   `organism-length` — Last-resort search by organism + exact AA length

## Utility Scripts

**`scripts/ncbi_fetch.py`** — Single script with subcommands.

All subcommands write structured JSON output. Use `--output FILE` to save to a
file, or omit it to print to stdout. A human-readable summary is always printed
to stdout.

### 1. Fetch Protein by Accession

Fetches protein FASTA from NCBI by accession (XP_, NP_, GenPept, etc.)

```bash
uv run scripts/ncbi_fetch.py fetch-protein XP_022033624 -o /tmp/result.json
uv run scripts/ncbi_fetch.py fetch-protein NP_001234567 ABC12345.1
```

### 2. Fetch Nucleotide by Accession

Fetches nucleotide FASTA from NCBI by accession.

```bash
uv run scripts/ncbi_fetch.py fetch-nucleotide MK034466 -o /tmp/result.json
```

### 3. CDS Translate

Fetches a CDS/nucleotide accession and translates to protein sequence. Tries
three approaches in order: 1. NCBI's pre-translated CDS protein (`fasta_cds_aa`)

2. GenBank XML CDS annotation translations 3. Raw nucleotide → 6-frame ORF
finding

```bash
uv run scripts/ncbi_fetch.py cds-translate MK034466 -o /tmp/result.json
uv run scripts/ncbi_fetch.py cds-translate HQ662330 --target-length 1043
```

If the accession is a **genomic record** (not mRNA/CDS), the tool will report
`is_genomic: true` so you can fall back to a homology-based approach instead.

### 4. Search Any Database

Free-text search using Entrez query syntax. Supports all NCBI databases.

```bash
# Search protein database
uv run scripts/ncbi_fetch.py search "WRR4B[Gene Name] AND Arabidopsis[Organism]" \
  --database protein --retmax 5 --fetch-sequences

# Search nucleotide database
uv run scripts/ncbi_fetch.py search "Rz2[Gene Name] AND Beta vulgaris[Organism]" \
  --database nuccore --retmax 10

# Search with patent filter
uv run scripts/ncbi_fetch.py search "disease resistance AND Solanum[Organism] AND patent[Properties]" \
  --database protein --fetch-sequences

# Search by sequence length
uv run scripts/ncbi_fetch.py search '"Oryza sativa"[Organism] AND 1043[SLEN]' \
  --database protein --fetch-sequences --retmax 50
```

### 5. Cross-Database Links (elink)

Follow NCBI's cross-database links (e.g., PubMed article → linked proteins).

```bash
uv run scripts/ncbi_fetch.py elink 24896089 --dbfrom pubmed --db protein \
  --fetch-sequences -o /tmp/linked.json
```

### 6. Gene + Organism Search

Searches for protein sequences by gene name and organism. Searches NCBI Protein
with `[Gene Name]` and `[Organism]` qualifiers.

```bash
uv run scripts/ncbi_fetch.py gene-protein WRR4B --organism "Arabidopsis thaliana"
uv run scripts/ncbi_fetch.py gene-protein Pikh-2 --organism "Oryza sativa" \
  --target-length 1043 -o /tmp/result.json
```

### 7. Locus Tag Search

Searches by locus tag in both NCBI Protein and Nuccore databases. Extracts CDS
translations from GenBank XML when direct protein hits aren't available.

```bash
uv run scripts/ncbi_fetch.py locus-protein At1g56540 --organism "Arabidopsis thaliana"
uv run scripts/ncbi_fetch.py locus-protein Niben101Scf02422g02015.1 \
  --organism "Nicotiana benthamiana" -o /tmp/result.json
```

### 8. PubMed-Linked Proteins

Finds protein sequences linked to a PubMed article. Searches NCBI Protein by
PMID, follows elink PubMed→Protein, and extracts CDS translations from linked
Nuccore records.

```bash
uv run scripts/ncbi_fetch.py pubmed-proteins 30692254 --identifier WRR4B
uv run scripts/ncbi_fetch.py pubmed-proteins 24896089 --identifier "K2" \
  -o /tmp/result.json
```

### 9. Patent Sequence Search

Two modes:

**By patent number** — fetches all protein sequences from a specific patent:
`bash uv run scripts/ncbi_fetch.py patent-search --patent-number US10123456 -o
/tmp/patent.json`

**By keywords** — searches NCBI Protein with `patent[Properties]` filter: `bash
uv run scripts/ncbi_fetch.py patent-search --keywords WRR4B Albugo --organism
"Arabidopsis thaliana" -o /tmp/patent.json`

> [!IMPORTANT] **Patent convention**: In molecular biology patents, SEQ ID NO: 1
> is typically the DNA sequence and SEQ ID NO: 2 is the primary protein. Higher
> SEQ ID NOs are variants or related sequences. Prefer Sequence 2 when selecting
> the primary protein of interest.

### 10. Organism + Length Search

Last-resort search when only organism and expected protein length are known.
Uses NCBI's `[SLEN]` filter for exact length matching.

```bash
uv run scripts/ncbi_fetch.py organism-length \
  --organism "Arabidopsis thaliana" --length 1048 --retmax 50 \
  -o /tmp/result.json
```

> [!NOTE] This often returns multiple candidates. Use the JSON output headers to
> identify the correct protein.

## Workflow

### Standard Sequence Retrieval Cascade

When trying to find a protein sequence, follow this priority order:

1.  **Direct accession** — `fetch-protein` with GenPept/RefSeq accession
2.  **CDS translation** — `cds-translate` with nucleotide/CDS accession
3.  **PubMed-linked** — `pubmed-proteins` with PMID + gene name
4.  **Locus lookup** — `locus-protein` with locus tag + organism
5.  **Gene + organism** — `gene-protein` with gene name + organism
6.  **Patent search** — `patent-search` with patent number or keywords
7.  **Organism + length** — `organism-length` as last resort

### Interpreting Results

-   All subcommands return JSON with a `results` array
-   Each result has `sequence` (AA string), `length`, and `header`/metadata
-   When multiple results are returned, select by:
    -   Closest match to expected length (`target_length`)
    -   Header relevance (matching gene name, "disease resistance" keywords)
    -   Source priority (RefSeq > GenPept > patent)

## Reference

-   **NCBI E-utilities docs**: https://www.ncbi.nlm.nih.gov/books/NBK25499/
-   **Entrez search syntax**: https://www.ncbi.nlm.nih.gov/books/NBK49540/
-   **Database list**: protein, nuccore, gene, pubmed, pmc, biosample, etc.
-   **Common accession formats**:
    -   `XP_` / `NP_` — NCBI RefSeq protein
    -   `AAA` to `AZZ` + digits — GenPept (translated GenBank)
    -   `MK`, `MN`, `HQ`, etc. + digits — GenBank nucleotide
    -   `ENSG`, `ENST`, `ENSP` — Ensembl (use `ensembl-database` skill instead)
    -   `Q`, `P`, `O` + digits — UniProt (use `uniprot-database` skill instead)

© google-deepmind · Apache-2.0 · google-deepmind/science-skills

Похожие скиллы

Всё по теме «Наука и исследования» →
ncbi-pmc-skill официальный OpenAI Скилл для поиска метаданных открытых статей в NCBI PMC Open Access. Возвращает краткие резюме доступности статей по PMCID или DOI, сохраняет сырой XML только по запросу. CX Codex GP ChatGPT 15установок ncbi-blast-skill официальный OpenAI Запускает поиск в NCBI BLAST через Common URL API, опрашивает статус по RID и формирует компактные отчёты по найденным совпадениям для нуклеотидов или белков. CX Codex GP ChatGPT 17установок biopython K-Dense-AI Скилл помогает автоматизировать задачи биоинформатики: разбирать файлы FASTA и PDB, выравнивать последовательности и запрашивать данные через NCBI Entrez. CX Codex +1 2 000установок depmap K-Dense-AI Скилл для поиска и анализа данных Cancer Dependency Map (DepMap). Помогает проверять генные зависимости, ко-эссенциальность и чувствительность опухолевых моделей к препаратам PRISM. CX Codex +1 1 900установок tooluniverse-epigenomics mims-harvard Обрабатывает данные метилирования ДНК, модификаций гистонов, ChIP-seq и ATAC-seq. Помогает рассчитывать плотность CpG и строить статистику хроматина без путаницы в строках таблиц. CX Codex +1 422установок tooluniverse-gene-enrichment mims-harvard Скилл запускает анализ обогащения генных наборов через gseapy и clusterProfiler. Пригодится при интерпретации списков дифференциально экспрессированных генов. CX Codex +1 388установок

Из того же набора39

alphagenome-single-variant-analysis Скилл разбирает эффект генетического варианта в формате chr:pos:ref>alt через AlphaGenome API: экспрессия, доступность хроматина, гистоновые метки. CX Codex +1 2 200установок uniprot-database Скилл ищет белки, аннотации функций и последовательности в базах UniProtKB, UniParc и UniRef. Помогает сопоставлять идентификаторы и выгружать биологические данные. CX Codex +1 2 200установок openfda-database Ищет, считает и выгружает данные из openFDA API. Нужен для запросов о препаратах, отзывах, маркировке, NDC и событиях безопасности FDA. CX Codex +1 2 200установок pymol Скилл для PyMOL: строит изображения белковых и молекулярных структур, делает выравнивания, меряет расстояния и контакты. Пригодится, когда есть файл структуры и нужна картинка или метрика. CX Codex +1 2 200установок pubchem-database Скилл для работы с базой PubChem: ищет соединения по имени, CID или SMILES и вытаскивает свойства, безопасность и биоактивность. CX Codex +1 2 200установок alphafold-database-fetch-and-analyze Скачивает предсказанные структуры AlphaFold по UniProt ID и разбирает их: уверенность pLDDT, неупорядоченные участки, границы доменов. CX Codex +1 2 200установок pdb-database Ищет и выгружает экспериментальные 3D-структуры белков и лигандов из RCSB PDB по атрибутам, схожести последовательностей или химическому описанию. CX Codex +1 2 200установок unibind-database Скилл ищет экспериментально подтверждённые сайты связывания транскрипционных факторов в UniBind и скачивает координаты BED или FASTA для локального анализа. CX Codex +1 2 100установок

Спонсоры проекта

Компании, которые помогают держать аналитику открытой