PluginBench
Skill
Pass
Audit score 90

string-database

google-deepmind/science-skills

Query protein-protein interactions, functional enrichment, and homology from the STRING database.

What is string-database?

This skill enables programmatic access to the STRING database for analyzing protein-protein interactions (PPIs), functional enrichment analysis, and homology data. Use it when investigating interactions between specific proteins, interaction evidence and confidence scores, interaction partners, or pathway enrichments.

  • Query protein-protein interactions with confidence scores and evidence types
  • Map common gene names to STRING identifiers for faster API responses
  • Analyze functional enrichment across GO, KEGG, and Pfam pathways
  • Retrieve interaction partners and network topology information
  • Find homologous proteins across species
  • Submit experimental datasets for rank-based enrichment analysis

How to install string-database

npx skills add https://github.com/google-deepmind/science-skills --skill string-database
Prerequisites
  • uv package manager installed and on PATH
  • NCBI Taxon ID for the species of interest (user must provide explicitly)
  • License acknowledgment: review terms at https://string-db.org/cgi/access
Claude Code
Cursor
Windsurf
Cline

How to use string-database

  1. 1.Identify and provide the NCBI Taxon ID for your species of interest (the skill will ask if not provided)
  2. 2.Map your protein identifiers to STRING IDs using the map command if you have common gene names
  3. 3.Choose the appropriate reference file based on your task: mapping, interactions, enrichment, or values/ranks analysis
  4. 4.Execute the corresponding CLI command with uv run scripts/string_cli.py <command> --output /tmp/out.tsv
  5. 5.Process the output file using grep, head, jq, or Python rather than loading large results into context

Use cases

Good for
  • Identify all known interaction partners for a target protein and their confidence scores
  • Map a list of differentially expressed genes to STRING IDs and analyze pathway enrichment
  • Investigate protein interaction networks and mediator proteins in a specific biological pathway
  • Compare homologous proteins across multiple species to understand evolutionary conservation
  • Analyze functional annotations and disease associations for a protein of interest
Who it's for
  • Bioinformaticians analyzing protein interaction networks
  • Molecular biologists investigating specific protein functions
  • Researchers studying pathway enrichment and functional genomics
  • Systems biologists building protein interaction models

string-database FAQ

Do I need to specify a species?

Yes, absolutely. The STRING API requires an NCBI Taxon ID. You must explicitly provide the species; the skill will not assume Human even for well-known proteins like TP53 or BRCA1.

What if I only have gene names like 'TP53' instead of STRING IDs?

Use the map command first to convert common gene names to STRING identifiers. This guarantees much faster server responses.

How should I handle large output files?

Never load large outputs into context. Instead, use command-line tools like grep, head, jq, or Python scripts to process the output file directly.

What types of enrichment analysis are supported?

The skill supports pathway enrichment across GO (Gene Ontology), KEGG, and Pfam databases, as well as rank-based enrichment analysis for experimental datasets with logFC and p-values.

Is there a license requirement?

Yes. If the license file does not exist, you will be notified to review the terms at https://string-db.org/cgi/access before proceeding.

Full instructions (SKILL.md)

Source of truth, from google-deepmind/science-skills.


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:

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 - Map common protein names to STRING IDs.
  • Interactions & Network - Find interacting proteins, network topologies, mediators, homology, and visual network images.
  • Enrichment & Functional Annotations - Analyze pathway enrichment (GO, KEGG, Pfam), PPI significance, or find all proteins associated with a specific term (e.g. Melanoma).
  • Values/Ranks Enrichment - 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.