plugin/skills/tooluniverse-protein-interactions/SKILL.md
Protein-protein interaction (PPI) network analysis — STRING (predicted + experimental), BioGRID (curated), SASBDB (small-angle scattering). Distinguishes physical interactions (binding) from functional associations (co-expression, co-regulation). Use for interactome queries, complex partner identification, and pathway-level interaction analysis.
npx skillsauth add mims-harvard/tooluniverse tooluniverse-protein-interactionsInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
Comprehensive protein interaction network analysis using ToolUniverse tools. Analyzes protein networks through a 4-phase workflow: identifier mapping, network retrieval, enrichment analysis, and optional structural data.
When asked about protein interactions, ask: physical interaction (do they bind?) or functional interaction (do they affect the same pathway)? STRING combines both — a high combined_score does not mean physical binding. For physical binding evidence, check the experimental score (escore) specifically. A high tscore (text mining) or dscore (database) with a low escore suggests co-annotation or co-citation, not direct binding.
LOOK UP DON'T GUESS: protein interaction scores, experimental evidence types, and whether two specific proteins have known co-crystal structures. Use STRING escore and BioGRID experimental data — do not infer binding from pathway co-membership alone.
| Database | Coverage | API Key | Purpose | |----------|----------|---------|---------| | STRING | 14M+ proteins, 5,000+ organisms | Not required | Primary interaction source | | BioGRID | 2.3M+ interactions, 80+ organisms | Required | Fallback, curated data | | SASBDB | 2,000+ SAXS/SANS entries | Not required | Solution structures |
STRING_map_identifiers(): validate protein names, get STRING IDsSTRING_get_network() (primary); BioGRID_get_interactions() (fallback, requires API key)STRING_functional_enrichment() for GO/KEGG/Reactome; STRING_ppi_enrichment() to test functional coherenceSASBDB_search_entries() for SAXS/SANS solution structuresSee python_implementation.py for runnable examples (example_tp53_analysis(), analyze_protein_network()).
| Parameter | Default | Description |
|-----------|---------|-------------|
| proteins | Required | Gene symbols or UniProt IDs |
| species | 9606 | NCBI taxonomy ID |
| confidence_score | 0.7 | Min interaction confidence (0–1) |
| include_biogrid | False | BioGRID fallback (requires API key) |
| include_structure | False | SASBDB structural data (slower) |
| Score | Use Case | |-------|----------| | 0.4 | Exploratory analysis (default STRING threshold) | | 0.7 | Recommended — reliable interactions | | 0.9 | Core interactions only |
Key fields returned per interaction edge:
score — combined confidence (0–1)escore — experimental score (use for physical binding evidence)dscore — database scoretscore — text mining scoreascore — coexpression scorepreferredName_A, preferredName_B — gene namesSignaling Pathways:
OmniPath_get_signaling_interactions — directed, signed PPI (stimulation/inhibition)Reactome_map_uniprot_to_pathways — map proteins to Reactome pathways (param: uniprot_id)ReactomeAnalysis_pathway_enrichment — pathway enrichment for gene setsDruggability & Clinical Context:
DGIdb_get_drug_gene_interactions — drug interactions for hub proteins (param: genes as array)DGIdb_get_gene_druggability — druggability categoriesgnomad_get_gene_constraints — gene essentiality metrics (pLI, oe_lof)civic_search_evidence_items — clinical evidence for mutations in network proteinsUniProt_get_function_by_accession — protein function annotationinteraction_ids are in the metadata field of the response, NOT at the top level:
interaction_ids = result.get("metadata", {}).get("interaction_ids", [])
BioGRID_get_chemical_interactions always includes a limitation note — chemical interaction coverage may be incomplete. Defaults to taxId=9606 (human) when no organism is provided.
protein_name AliasIntAct tools accept protein_name as an alias parameter in addition to the original identifier parameter.
LOOK UP DON'T GUESS: oligomeric state, subunit stoichiometry, and binding valency. Use RCSB PDB (RCSBAdvSearch_search_structures, RCSBData_get_entry) or UniProt (UniProt_get_function_by_accession) to confirm whether a protein is a monomer, dimer, trimer, etc. Do not assume from gene name alone.
Valency = number of independent binding sites on a multimeric complex. A homodimer with one binding site per subunit has valency 2. A pentamer (e.g., IgM) with 2 Fab arms each has valency 10.
Key reasoning steps:
When a symmetric multimer binds a ligand, statistical factors affect the apparent rate constants:
If measured Kd values deviate from these statistical predictions, the protein shows positive cooperativity (Kd decreases more than expected) or negative cooperativity (Kd increases more than expected).
| Approach | Use when | What it tells you | |----------|----------|-------------------| | Stoichiometry (ITC, AUC, SEC-MALS) | You need the number of binding partners per complex | n (sites), not affinity | | Binding curves (SPR, FP, ELISA) | You need Kd and kinetics | Affinity, but apparent Kd conflates valency and cooperativity | | Hill plot (log-log binding curve) | You suspect cooperativity | Hill coefficient nH: nH=1 non-cooperative, nH>1 positive, nH<1 negative | | Scatchard plot (bound/free vs bound) | Classic approach, now less common | Curved = multiple site classes or cooperativity; linear = single Kd |
Obligate vs facultative multimers: An obligate dimer (e.g., many kinases) has NO monomeric activity. If your "purified protein" shows no activity, check if dimer formation is required. Use SEC or native PAGE to confirm oligomeric state. Low protein concentration, high salt, or wrong pH can dissociate obligate multimers.
For "what protein does X" questions: ALWAYS search UniProt and PubMed first — do not guess from memory. Key pathways to know:
confidence_score=0.4BIOGRID_API_KEY in environment; STRING works without a key2>&1 | grep -v "Error loading tools" (see KNOWN_ISSUES.md)tools
PCR / qPCR primer and oligo design — design forward/reverse primers for a target region (SantaLucia nearest-neighbor thermodynamics), compute melting temperature (Tm) and annealing temperature (Ta), check GC content, and screen an oligo for hairpins and primer-dimers. Use when you need primers for a sequence, want to QC an existing primer pair, or need the Tm of an oligo. Covers the primer-design rules (Tm matching, GC clamp, 3'-end, length) and the tools' constraint quirks.
tools
Pharmacokinetic (PK) analysis of concentration-time data — non-compartmental analysis (NCA) for Cmax, Tmax, AUC (0-t and 0-∞), terminal half-life, clearance (CL), volume of distribution (Vd), MRT, and absolute bioavailability (F). Also one-compartment fitting. Use when you have plasma/serum drug concentrations over time after a dose and need PK parameters, or to compute bioavailability from IV + oral AUCs. NOT for ADMET property prediction from structure (use tooluniverse-admet-prediction).
tools
Molecular cloning assembly design — Gibson Assembly (overlap design for seamless multi-fragment joining) and Golden Gate Assembly (Type IIS / BsaI / BbsI design with unique 4-bp fusion overhangs). Use when you need to plan how to join DNA fragments into a construct, design assembly overlaps/overhangs, or decide between cloning methods. Covers the domestication (internal-site removal), overhang-uniqueness, and overlap-Tm rules. For PCR primers to generate the fragments, see tooluniverse-primer-design.
tools
Meta-analysis / evidence synthesis — pool effect sizes across studies (odds ratios, risk ratios, hazard ratios, mean differences, correlations, GWAS betas) with fixed- or random-effects models, quantify heterogeneity (Q, I², τ²), and build a forest plot. Use when you have results from MULTIPLE studies and need a single pooled estimate, or to synthesize evidence from a systematic review / multiple GWAS / replicated experiments. Handles the error-prone effect-size + standard-error preparation (converting OR/HR/CI, two-group means±SD, proportions, and correlations into the (effect, SE) the pooling step needs).