| name | string-protein-interaction-analysis-with-omicverse |
| title | STRING protein interaction analysis with omicverse |
| description | Help Claude query STRING for protein interactions, build PPI graphs with pyPPI, and render styled network figures for bulk gene lists. |
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