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.
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-codeWhat 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.txtto STRING IDs for the requested species, then analyze pathway enrichment. - Run rank-based enrichment on
experiment.tsvfor 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-codenpx skills add google-deepmind/science-skills --skill string_database -a claude-code2Manually: put the files in place
~/.claude/skills/string_database/SKILL.mdCopy the whole skill folder; for one project use .claude/skills/string_database/
1Skills CLI (Vercel)
npx skills add google-deepmind/science-skills --skill string_database -a codex2Manually: put the files in place
.agents/skills/string_database/SKILL.mdFor all projects use ~/.agents/skills/
1Skills CLI (Vercel)
npx skills add google-deepmind/science-skills --skill string_database -a cursor2Manually: put the files in place
.cursor/skills/string_database/SKILL.mdCursor also reads .agents/skills/ and .claude/skills/
1GitHub CLI
gh skill install google-deepmind/science-skills string_database2Manually: put the files in place
.github/skills/string_database/SKILL.md1Skills CLI (Vercel)
npx skills add google-deepmind/science-skills --skill string_database -a gemini-cli2Platform CLI
gemini skills install https://github.com/google-deepmind/science-skills --path skills/string_databaseManually: put the files in place
.devin/skills/string_database/SKILL.mdThe legacy .windsurf/skills/ path still works
Skills CLI (Vercel)
npx skills add google-deepmind/science-skills --skill string_database -a opencodeClaude.ai
Zip the folder and upload it in Settings → Capabilities → Skills
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