STRING protein interaction analysis with omicverse
Overview
Invoke this skill when the user has a list of genes and wants to explore STRING protein–protein interactions via omicverse. The
workflow mirrors t_network.ipynb, covering species selection, S
TRING API queries, and quick visualisation of the resulting network.
Instructions
- •Set up libraries
- •Import
omicverse as ovand callov.utils.ov_plot_set()(orov.plot_set()) to match omicverse aesthetics.
- •Import
- •Collect gene inputs
- •Accept a curated list of gene symbols (
gene_list = [...]). - •Encourage the user to flag priority genes or categories so you can colour-code groups in the plot.
- •Accept a curated list of gene symbols (
- •Assign metadata for plotting
- •Build dictionaries mapping genes to types and colours, e.g.
gene_type_dict = dict(zip(gene_list, ['Type1']*5 + ['Type2']*6 ))andgene_color_dict = {...}. - •Remind users that consistent group labels improve legend readability.
- •Build dictionaries mapping genes to types and colours, e.g.
- •Query STRING interactions
- •Call
ov.bulk.string_interaction(gene_list, species_id)wherespecies_idis the NCBI taxonomy ID (e.g. 4932 for yeast). - •Inspect the resulting DataFrame for combined scores and evidence channels to verify coverage.
- •Call
- •Construct the network object
- •Initialise
ppi = ov.bulk.pyPPI(gene=gene_list, gene_type_dict=..., gene_color_dict=..., species=species_id). - •Run
ppi.interaction_analysis()to fetch and cache STRING edges.
- •Initialise
- •Visualise the network
- •Generate a default plot with
ppi.plot_network()to reproduce the notebook figure. - •Mention that advanced styling (layout, node size, legends) can be tuned through
ov.utils.plot_networkkeyword arguments if the user requests adjustments.
- •Generate a default plot with
- •Troubleshooting
- •Ensure gene symbols match the species—STRING expects case-sensitive identifiers; suggest mapping Ensembl IDs to symbols when queries fail.
- •If the API rate-limits, instruct the user to wait or provide a cached interaction table.
- •For missing interactions, recommend enabling STRING's "add_nodes" option via
ppi.interaction_analysis(add_nodes=...)to exp and the network.
Examples
- •"Retrieve STRING interactions for FAA4 and plot the network highlighting two gene classes."
- •"Download the STRING edge table for my Saccharomyces cerevisiae gene panel and colour nodes by module."
- •"Extend the network by adding the top five predicted partners before plotting."
References
- •Tutorial notebook:
t_network.ipynb - •STRING background: string-db.org
- •Quick copy/paste commands:
reference.md