ppi-string-query

star 1.1k

Query STRING database for protein-protein interactions with confidence scores. Use this skill when: (1) Finding interaction partners for a protein of interest, (2) Retrieving confidence scores for protein-protein interactions, (3) Building protein interaction networks for pathway analysis.

PharMolix By PharMolix schedule Updated 3/19/2026

name: ppi-string-query description: > Query STRING database for protein-protein interactions with confidence scores. Use this skill when: (1) Finding interaction partners for a protein of interest, (2) Retrieving confidence scores for protein-protein interactions, (3) Building protein interaction networks for pathway analysis. license: MIT category: knowledge-retrieval tags: [string, protein-protein-interaction, ppi, network, interactions]

STRING Protein-Protein Interaction Query

Query the STRING database to retrieve protein-protein interactions with comprehensive confidence scores.

When to Use

  • Find interaction partners for a protein (by UniProt ID)
  • Retrieve confidence scores for PPIs (experimental, text mining, database)
  • Build protein interaction networks for pathway analysis
  • Identify potential protein complexes or functional modules

Workflow

Basic Query

from open_biomed.tools.tool_registry import TOOLS

# Query STRING for interaction partners
tool = TOOLS["ppi_string_request"]
results, _ = tool.run(uniprot_id="P04637")  # TP53

# Access results
for interaction in results:
    print(f"{interaction['partner_gene']}: {interaction['combined_score']}")

Custom Parameters

# High confidence interactions only, limit to 20
results, _ = tool.run(
    uniprot_id="P04637",
    species=9606,           # Human (default)
    required_score=700,     # High confidence (default)
    limit=20                # Max interactors
)

Parameters

Parameter Type Default Description
uniprot_id str required UniProt accession (e.g., P04637)
species int 9606 NCBI taxonomy ID (9606=human)
required_score int 700 Min confidence (150/400/700/900)
limit int 50 Max interactors to return

Confidence Score Thresholds

Score Level Use Case
150 Low Exploratory analysis
400 Medium Balanced retrieval
700 High Reliable interactions (default)
900 Highest Very confident only

Expected Output

[
  {
    "query_protein": "TP53",
    "partner_string_id": "9606.ENSP00000340989",
    "partner_gene": "SFN",
    "combined_score": 0.999,
    "scores": {
      "experimental": 0.981,
      "text_mining": 0.859,
      "database": 0.75,
      "coexpression": 0.0,
      "phylogenetic": 0.0,
      "gene_fusion": 0.0,
      "neighborhood": 0.0
    },
    "ncbi_taxon_id": 9606
  }
]

Score Interpretation

Score Type Source Range
combined_score Weighted combination 0-1
experimental Wet-lab experiments 0-1
text_mining Literature co-occurrence 0-1
database Curated databases (BioGRID, etc.) 0-1
coexpression Expression correlation 0-1
phylogenetic Phylogenetic profiles 0-1
gene_fusion Fusion events 0-1
neighborhood Genomic proximity 0-1

Error Handling

Error Solution
No interactions found Lower required_score threshold
UniProt ID not recognized Verify ID format (e.g., P04637)
Rate limited Wait and retry; STRING allows ~5 req/sec
Wrong species Check NCBI taxonomy ID

Common Organism IDs

Organism Taxonomy ID
Human 9606
Mouse 10090
Rat 10116
E. coli 83333
S. cerevisiae 4932

References

  • examples/basic_query.py - Complete example script
  • references/score_details.md - Detailed score methodology
  • STRING API Docs: https://string-db.org/help/api/
Install via CLI
npx skills add https://github.com/PharMolix/OpenBioMed --skill ppi-string-query
Repository Details
star Stars 1,078
call_split Forks 131
navigation Branch main
article Path SKILL.md
More from Creator