bulk-stringdb-ppi_skill

This skill helps you query STRING for protein interactions, build PPI networks with pyPPI, and render styled network figures from gene lists.
  • Python

866

GitHub Stars

2

Bundled Files

2 months ago

Catalog Refreshed

4 months ago

First Indexed

Readme & install

Copy the install command, review bundled files from the catalogue, and read any extended description pulled from the listing source.

Installation

Preview and clipboard use veilstrat where the catalogue uses aiagentskills.

npx veilstrat add skill starlitnightly/omicverse --skill bulk-stringdb-ppi

  • reference.md1.2 KB
  • SKILL.md6.2 KB

Overview

This skill helps you query STRING for protein–protein interactions using omicverse, build PPI objects with pyPPI, and render publication-ready network figures for bulk gene lists. It accepts a curated gene list, supports species selection via NCBI taxonomy IDs, and produces both edge tables and styled network plots. Use it to quickly inspect interaction evidence, extend networks with predicted partners, and colour-code genes by groups or priorities.

How this skill works

You provide a gene list and optional metadata mapping genes to types and colours. The skill uses ov.bulk.string_interaction to fetch STRING edges, then constructs a pyPPI network object (ov.bulk.pyPPI) and runs interaction_analysis() to cache edges and optionally expand nodes. Finally it renders a styled network via ppi.plot_network(), with further layout and legend adjustments available through ov.utils.plot_network keyword arguments.

When to use it

  • You have a curated list of gene symbols and want to visualise known/predicted protein interactions.
  • You need an interaction edge table with STRING combined scores and evidence channels for downstream analysis.
  • You want to colour or annotate network nodes by gene modules, priorities, or experimental groups.
  • You plan to extend a seed network by adding top predicted partners before plotting.
  • You need reproducible figures that follow omicverse aesthetics for reports or manuscripts.

Best practices

  • Pass gene symbols that match the target species; STRING is case-sensitive—map Ensembl IDs to symbols when necessary.
  • Provide a concise gene_type_dict and gene_color_dict to ensure clear legends and consistent colour mapping.
  • Inspect the returned DataFrame for combined_score and evidence channels to confirm interaction coverage.
  • If rate-limited by the STRING API, either wait or reuse a cached edge table returned by interaction_analysis().
  • Use add_nodes in interaction_analysis(add_nodes=...) to include predicted partners when seed lists have sparse connectivity.

Example use cases

  • Retrieve STRING interactions for a yeast gene panel (NCBI 4932) and plot nodes coloured by module.
  • Download the STRING edge table for a bulk RNA-seq signature and filter edges by combined_score for enrichment tests.
  • Highlight a set of priority genes in a cancer signature network and export a high-resolution figure for a manuscript.
  • Expand a small seed list by the top five predicted partners and inspect how new nodes change network topology.
  • Share a cached interaction table with collaborators to let them reproduce or extend the analysis without re-querying STRING.

FAQ

Check species and symbol case; map IDs to the correct gene symbols. If still sparse, enable add_nodes to include predicted partners or provide broader gene lists.

How can I avoid STRING API rate limits?

Run queries in batches, wait between requests, or rely on the cached edge table produced by ppi.interaction_analysis() for repeated work.

Built by
VeilStrat
AI signals for GTM teams
© 2026 VeilStrat. All rights reserved.All systems operational