Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
google-deepmind avatar

String Database

  • 1.3k installs
  • 2.6k repo stars
  • Updated July 7, 2026
  • google-deepmind/science-skills

string-database is a Claude Code skill that runs Gene Ontology, KEGG, Pfam, and protein-protein interaction statistical enrichment through STRING CLI commands for developers who analyze protein sets in terminal or agent

About

string-database is a google-deepmind/science-skills guide for functional and PPI enrichment using scripts/string_cli.py invoked with uv run. The enrichment command accepts protein identifiers and a species NCBI taxon ID, then writes TSV output with category, term, p_value, fdr, and description columns covering GO, KEGG, Pfam, InterPro, and SMART terms. A separate ppi-enrichment command tests whether a network has significantly more interactions than a background proteome. Developers reach for string-database when they need reproducible enrichment statistics from STRING inside automated research pipelines rather than manual web searches. Commands are designed for copy-paste terminal execution or agent orchestration with explicit output paths such as /tmp/enrichment.tsv.

  • Four specialized commands: enrichment, ppi-enrichment, functional-terms, functional-annotation
  • Outputs enriched terms with p_value, fdr, description for GO/KEGG/Pfam/InterPro/SMART
  • PPI network significance testing against background proteome distribution
  • Retrieves all functional annotations or proteins linked to a term like "Melanoma" or a GO ID
  • Species-aware analysis supporting 511145 (E. coli), 10090 (mouse), 9606 (human) and others

String Database by the numbers

  • 1,259 all-time installs (skills.sh)
  • +165 installs in the week ending Aug 5, 2026 (Skillselion tracking)
  • Ranked #263 of 2,064 Data Science & ML skills by installs in the Skillselion catalog
  • Security screen: MEDIUM risk (skills.sh audit)
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
npx skills add https://github.com/google-deepmind/science-skills --skill string-database

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs1.3k
repo stars2.6k
Security audit2 / 3 scanners passed
Last updatedJuly 7, 2026
Repositorygoogle-deepmind/science-skills

How do you run GO and KEGG enrichment from STRING?

Run Gene Ontology, KEGG, Pfam, and PPI statistical enrichment analyses directly from the terminal or via an agent.

Who is it for?

Developers or bioinformatics engineers running STRING-based functional enrichment and PPI statistics from terminal or agent-driven pipelines.

Skip if: Teams that only need Human Protein Atlas expression lookups or who lack a uv/Python environment for STRING CLI scripts.

When should I use this skill?

The user asks for STRING enrichment, GO or KEGG pathway analysis, Pfam term enrichment, or PPI network significance testing.

What you get

Enrichment TSV files with category, term, p_value, fdr, and description plus PPI significance results.

  • enrichment.tsv
  • PPI enrichment statistics

By the numbers

  • Enrichment TSV includes 5 output fields: category, term, p_value, fdr, description
  • Covers 6 annotation sources: GO, KEGG, Pfam, InterPro, and SMART

Files

SKILL.mdMarkdownGitHub ↗

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 LICENSE_NOTIFICATION.txt does not already exist in this skill 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:

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.

Related skills

How it compares

Choose string-database for GO, KEGG, and PPI statistical enrichment via STRING CLI rather than HPA expression query construction.

FAQ

What does the STRING enrichment command output?

The string-database skill's enrichment command produces a TSV with category, term, p_value, fdr, and description fields covering GO, KEGG, Pfam, InterPro, and SMART functional terms for supplied protein identifiers.

How do you invoke STRING enrichment from the terminal?

Run uv run scripts/string_cli.py enrichment with --identifiers, --species, and --output flags. The string-database skill example uses identifiers trpA trpB trpC trpE and species 511145 writing to /tmp/enrichment.tsv.

Is String Database safe to install?

skills.sh reports 2 of 3 security scanners passed. Review the Security Audits panel on this page before installing in production.

Data Science & MLresearchautomation

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.