STRING PPI Query

Data & APIs

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.

Install

openclaw skills install ppi-string-query

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

ParameterTypeDefaultDescription
uniprot_idstrrequiredUniProt accession (e.g., P04637)
speciesint9606NCBI taxonomy ID (9606=human)
required_scoreint700Min confidence (150/400/700/900)
limitint50Max interactors to return

Confidence Score Thresholds

ScoreLevelUse Case
150LowExploratory analysis
400MediumBalanced retrieval
700HighReliable interactions (default)
900HighestVery 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 TypeSourceRange
combined_scoreWeighted combination0-1
experimentalWet-lab experiments0-1
text_miningLiterature co-occurrence0-1
databaseCurated databases (BioGRID, etc.)0-1
coexpressionExpression correlation0-1
phylogeneticPhylogenetic profiles0-1
gene_fusionFusion events0-1
neighborhoodGenomic proximity0-1

Error Handling

ErrorSolution
No interactions foundLower required_score threshold
UniProt ID not recognizedVerify ID format (e.g., P04637)
Rate limitedWait and retry; STRING allows ~5 req/sec
Wrong speciesCheck NCBI taxonomy ID

Common Organism IDs

OrganismTaxonomy ID
Human9606
Mouse10090
Rat10116
E. coli83333
S. cerevisiae4932

References

  • examples/basic_query.py - Complete example script
  • references/score_details.md - Detailed score methodology
  • STRING API Docs: https://string-db.org/help/api/