Skip to main content
skill CX Codex

string-database — Claude Code skill: PPI queries and setup

This skill queries STRING for protein interactions, functional enrichment, and homology. Use it when protein evidence or pathway analysis is needed.

Install into Claude Code · Skills CLI (Vercel) All methods and platforms ↓
npx skills add google-deepmind/science-skills --skill string-database -a claude-code
npx skills add google-deepmind/science-skills --skill string_database -a claude-code
Open on GitHub

What string-database does

The skill runs a bundled Python CLI with uv run and sends requests to the STRING database. It can map gene names to STRING identifiers, retrieve protein-protein interaction networks, inspect evidence and confidence scores, find interaction partners, and run enrichment for GO, KEGG, or Pfam terms. It also supports rank-based enrichment for complete experimental value sets.

A species or NCBI Taxon ID must be supplied before querying; the skill does not infer one from a protein name. Output goes to the required --output <file.tsv> path rather than stdout, which keeps large result tables out of the agent context. uv must be available on PATH. On first use, the workflow also asks the user to review STRING access terms and records that notice in .licenses/string_database_LICENSE.txt.

What it helps with

  • retrieve interaction partners for selected proteins
  • map common gene names to STRING IDs
  • inspect evidence behind protein interaction scores
  • run GO, KEGG, or Pfam enrichment
  • submit experimental values for rank-based enrichment

Example prompts for the agent

  • Query interactions for TP53 and MDM2 in the species with NCBI Taxon ID 9606, and write the result to ppi.tsv.
  • Map the gene names in genes.txt to STRING IDs for the requested species, then analyze pathway enrichment.
  • Run rank-based enrichment on experiment.tsv for the species with NCBI Taxon ID 9606.

How to install string-database

1Skills CLI (Vercel)

npx skills add google-deepmind/science-skills --skill string-database -a claude-code
npx skills add google-deepmind/science-skills --skill string_database -a claude-code

2Manually: put the files in place

~/.claude/skills/string_database/SKILL.md

Copy the whole skill folder; for one project use .claude/skills/string_database/

Step by step, with commands for each platform: How to install skills in Claude Code: five ways

Questions about string-database

How do I install string-database in Claude Code?

Run npx skills add google-deepmind/science-skills --skill string-database -a claude-code, then check ~/.claude/skills/string_database/SKILL.md.

What does string-database do?

It queries STRING for protein-protein interactions, identifier mapping, interaction evidence, functional enrichment, and homology-related analysis.

Does the skill choose a species automatically?

No. Provide the species or its NCBI Taxon ID before the query. A familiar protein name does not select Human by default.

Source text

SKILL.md · Apache-2.0
---
name: string-database
description: >
  Query the STRING database for protein-protein interactions (PPIs), functional
  enrichment, and homology. Use when the user asks about interactions between
  specific proteins, interaction evidence, confidence scores, protein
  interaction partners, or pathway enrichments.
---

# STRING Database Skill

This skill allows you to query the STRING database programmatically using a
bundled Python CLI wrapper.

## 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/string_database_LICENSE.txt does not
    already exist in the workspace root directory then (1) prominently notify
    the user to check the terms at https://string-db.org/cgi/access, then (2)
    create the file recording the notification text and timestamp.

## Core Rules

1.  **MANDATORY: Ask for Species First:** The STRING API requires NCBI Taxon
    IDs. **You MUST NOT guess or assume a species.** If the user does not
    explicitly state a species or Taxon ID, you MUST stop and ask: "Which
    species are you interested in? I need the NCBI Taxon ID to proceed." Even
    for well-known proteins like TP53, BRCA1, or MDM2 that are commonly
    associated with human studies, you MUST still ask — do not default to Human.
2.  **Never print output to stdout:** The `--output <file.tsv>` is required.
    Never read large outputs into context. Instead use jq, python or file
    operations (`grep`, `head`) to process large output.
3.  **Map Identifiers first:** If you only have common gene names (e.g.,
    'TP53'), map them to STRING IDs first as this guarantees much faster server
    responses. Use the `map` command for this.
4.  **Notification**: If this skill is used, ensure this is mentioned in the
    output.

## Tool Execution

The CLI is at `scripts/string_cli.py` and should be run using `uv run`:

```bash
uv run scripts/string_cli.py <command> [options] --output /tmp/out.tsv
```

## Feature Domains (Progressive Disclosure)

Read the following reference files based on the user's request:

*   **[Mapping Identifiers](references/mapping.md)** - Map common protein names
    to STRING IDs.
*   **[Interactions & Network](references/interactions.md)** - Find interacting
    proteins, network topologies, mediators, homology, and visual network
    images.
*   **[Enrichment & Functional Annotations](references/enrichment.md)** -
    Analyze pathway enrichment (GO, KEGG, Pfam), PPI significance, or find all
    proteins associated with a specific term (e.g. Melanoma).
*   **[Values/Ranks Enrichment](references/valuesranks.md)** - Submit full
    experimental datasets (e.g., logFC, p-values) for rank-based enrichment
    analysis using the async background API.

To begin, read the reference file most appropriate to the current task to
discover the correct CLI command.

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

Similar skills

Everything for Science and research →

From the same set39

jaspar-database Queries the JASPAR database for transcription factor binding profiles. Useful when fetching PFM or PWM matrices and converting gene names into stable matrix IDs. CX Codex +1 2,100installs gtex-database Retrieves RNA expression and eQTL data from GTEx across 54 non-diseased human tissue sites. Use it to query genes, variants, or tissue-specific expression. CX Codex +1 2,100installs foldseek-structural-search Sends a protein 3D structure file to the Foldseek API and returns structurally similar proteins. Built for cases where you have coordinates, not just a sequence. CX Codex +1 2,100installs interpro-database Queries protein domains, families, and functional sites through the InterPro API. Integrates 14 member databases and automates genome annotations with GO terms. CX Codex +1 2,100installs embl-ebi-ols This skill queries the EMBL-EBI Ontology Lookup Service for terms, definitions and hierarchies. Useful when an agent works with diseases, phenotypes or gene functions. CX Codex +1 2,100installs reactome-database Connects Reactome services for gene list enrichment, identifier mapping, and pathway exports. Useful for running biological data queries inside coding agents. CX Codex +1 2,200installs dbsnp-database A skill for NCBI dbSNP: resolves rsIDs from coordinates or HGVS, returns variant type, gene associations, clinical significance and allele frequencies. CX Codex +1 2,200installs protein-sequence-similarity-search Runs a homology search on a protein sequence with MMseqs2 or BLAST, interprets the alignment metrics and writes a Markdown table of top hits. CX Codex +1 2,100installs

Project sponsors

Companies that keep this analytics open
Gold sponsor

Impressions, clicks and code copies — open statistics. We keep the numbers public for the same reason NeBlask itself is public. Become a sponsor