omicverse/omicverse-skills/bulk-stringdb-ppi
Claude Code and agent skill by omicverse/omicverse-skills
- community
Checking that the SKILL.md file is still in the repository.
STRING protein-protein interaction network analysis with pyPPI: query STRING database, build PPI graphs, expand with add_nodes, and visualize styled networks for bulk gene lists.
Install
npx vskill@latest install omicverse/omicverse-skills/bulk-stringdb-ppiSKILL.md
STRING Protein Interaction Analysis with OmicVerse
Overview
Use this skill when the user has a gene list and wants to explore protein-protein interactions via the STRING database. The workflow covers species selection, STRING API queries, network construction, and styled visualization through ov.bulk.pyPPI.
Instructions
1. Set up libraries
2. Collect and validate gene inputs
3. Assign metadata for plotting
Consistent group labels and colours improve legend readability. Every gene in gene_list must appear in both dictionaries.
4. Query STRING interactions
Inspect the DataFrame for combined_score and evidence channels to verify coverage before building the network.
5. Construct and visualise the network
Species ID Reference
STRING requires NCBI taxonomy integer IDs, not species names. The agent must map the user's species to the correct ID.
| Species | Taxonomy ID | Gene Symbol Format | |
|---|---|---|---|
| Human | 9606 | Official HGNC symbols (e.g., TP53, BRCA1) | |
| Mouse | 10090 | Official MGI symbols (e.g., Trp53, Brca1) | |
| Rat | 10116 | Official RGD symbols | |
| Yeast (S. cerevisiae) | 4932 | Systematic names (e.g., YOR317W) or standard names (e.g., FAA4) | |
| Zebrafish | 7955 | ZFIN symbols | |
| Drosophila | 7227 | FlyBase symbols | |
| C. elegans | 6239 | WormBase symbols | |
| Arabidopsis | 3702 | TAIR symbols |
Critical API Reference
Expanding sparse networks with add_nodes
Small gene lists (<10 genes) often produce disconnected networks because the query genes may not directly interact. The add_nodes parameter asks STRING to include its top predicted interaction partners.
Use add_nodes when the initial network is disconnected or sparse. The added nodes are real proteins from STRING's database, but they may not be biologically relevant to your specific study—verify them before including in publications.
Gene symbol format must match the species
If genes are in Ensembl format, map them to symbols first (e.g., via ov.bulk.Gene_mapping()).
Defensive Validation Patterns
Troubleshooting
- No interactions returned (empty DataFrame): Check that
species_idmatches the gene symbol format. Yeast uses systematic names or standard gene names, not human-style symbols. Verify at string-db.org manually. - `HTTPError 429` (rate-limited): STRING limits API requests. Wait 60 seconds between queries, or provide a cached interaction table from a previous run.
- Gene not found in STRING: The gene symbol may not exist in STRING's database for that species. Map Ensembl IDs to gene symbols first using
ov.bulk.Gene_mapping(). - Network plot has disconnected nodes: Use
add_nodes=5(or higher) ininteraction_analysis()to expand the network with STRING-predicted partners. Alternatively, lower thecombined_scorethreshold. - `KeyError` in gene_color_dict during plotting: Every gene in
gene_listmust have an entry in bothgene_type_dictandgene_color_dict. After adding nodes withadd_nodes, the expanded gene list may include new genes—update the dictionaries accordingly. - Network plot too dense/cluttered: For large gene lists (>50 genes), consider filtering to a subset of top DEGs or hub genes before building the PPI network.
Examples
- "Retrieve STRING interactions for my yeast fatty acid genes and plot the network with two colour-coded groups."
- "Build a human PPI network for my top 20 DEGs, expand with 5 predicted partners, and highlight up/down-regulated genes."
- "Download the STRING edge table for my mouse gene panel and colour nodes by WGCNA module."
References
- Tutorial notebook:
t_network.ipynb - Quick copy/paste commands: `reference.md`
Security
- Security scanPassed, 90 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingsrc/omicverse_skills/skills/bulk-stringdb-ppi/SKILL.md
Popularity
- 7-day trend score
- 0
Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/omicverse/omicverse-skills/bulk-stringdb-ppi)