
tooluniverse-systems-biology
Systems biology and pathway analysis integrating Reactome, KEGG, WikiPathways, BioCarta, NCI-Nature Pathway Interaction Database. Multi-database pathway enrichment, protein-pathway relationships, network reasoning. Use for pathway analysis on a gene list, multi-source pathway concordance, and systems-level interpretation across databases.
- Installs
- 434
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/mims-harvard/tooluniverse --skill tooluniverse-systems-biology- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads tooluniverse-systems-biology automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
Systems Biology & Pathway Analysis
Comprehensive pathway and systems biology analysis integrating multiple curated databases to provide multi-dimensional view of biological systems, pathway enrichment, and protein-pathway relationships.
When to Use This Skill
Triggers:
- "Analyze pathways for this gene list"
- "What pathways is [protein] involved in?"
- "Find pathways related to [keyword/process]"
- "Perform pathway enrichment analysis"
- "Map proteins to biological pathways"
- "Find computational models for [process]"
- "Systems biology analysis of [genes/proteins]"
Use Cases:
- Gene Set Analysis: Identify enriched pathways from RNA-seq, proteomics, or screen results
- Protein Function: Discover pathways and processes a protein participates in
- Pathway Discovery: Find pathways related to diseases, processes, or phenotypes
- Systems Integration: Connect genes → pathways → processes → diseases
- Model Discovery: Find computational systems biology models (SBML)
- Cross-Database Validation: Compare pathway annotations across multiple sources
COMPUTE, DON'T DESCRIBE
When analysis requires computation (statistics, data processing, scoring, enrichment), write and run Python code via Bash. Don't describe what you would do — execute it and report actual results. Use ToolUniverse tools to retrieve data, then Python (pandas, scipy, statsmodels, matplotlib) to analyze it.
Domain Reasoning: Enrichment vs Causation
Pathway analysis answers: which biological processes are enriched in my gene list? But enrichment is not causation. A pathway being enriched means your gene list overlaps it more than expected by chance. Ask: is the enrichment driven by a few hub genes, or by many genes distributed across the pathway? A pathway with 3 input genes but 200 annotated members is less informative than one where 15 of 40 members are in your list.
LOOK UP DON'T GUESS: pathway membership, gene-to-pathway assignments, and enrichment statistics. Do not assume a gene is in a pathway — use Reactome, KEGG, or Enrichr to verify. Pathway databases disagree on membership; cross-validate key findings across at least two sources.
Core Databases Integrated
| Database | Strengths |
|---|---|
| Reactome | Detailed mechanistic pathways with reactions; human-curated |
| KEGG | Metabolic maps, disease pathways, drug targets |
| WikiPathways | Emerging and community-curated pathways |
| Pathway Commons | Meta-database aggregating multiple sources |
| BioModels | Mathematical/computational SBML models |
| Enrichr | Statistical over-representation analysis |
| BiGG Models | Genome-scale metabolic reconstructions (85+ organisms), FBA-ready COBRA format |
| Rhea | Expert-curated biochemical reaction knowledgebase (ChEBI-based, EC-cross-referenced) |
Workflow Overview
Input → Phase 1: Enrichment → Phase 2: Protein Mapping → Phase 3: Keyword Search → Phase 4: Top Pathways → Report
Phase 1: Pathway Enrichment Analysis
When: Gene list provided (from experiments, screens, differentially expressed genes)
Objective: Identify biological pathways statistically over-represented in gene list
Tools & Workflow
| Tool | Input | Use |
|---|---|---|
ReactomeAnalysis_pathway_enrichment | identifiers (newline-separated symbols), page_size | FDR-corrected Reactome enrichment (recommended) |
enrichr_gene_enrichment_analysis | gene_list (array), libs (array) | Over-representation with KEGG/Reactome/WikiPathways |
STRING_functional_enrichment | protein_ids (array), species, category | Functional enrichment from PPI networks |
intact_get_interactions | identifier (UniProt accession) | Binary protein interactions with evidence |
- Submit gene list to Enrichr/Reactome. 2. Sort by adjusted p-value < 0.05. 3. Report top 10-20 pathways with IDs, p-values, and overlapping genes. If no enrichment, note explicitly.
Phase 2: Protein-Pathway Mapping
When: Protein UniProt ID provided
Objective: Map protein to all known pathways it participates in
Tools Used
Reactome_map_uniprot_to_pathways:
- Input:
uniprot_id: UniProt accession (e.g., "P53350")
- Output: Array of Reactome pathways containing this protein
Reactome_get_pathway_reactions:
- Input:
stId: Reactome pathway stable ID (e.g., "R-HSA-73817")
- Output: Array of reactions and subpathways
- Use: Get mechanistic details of pathways
Workflow
- Map UniProt ID to Reactome pathways
- Get all pathways this protein appears in
- For top pathway (or user-specified):
- Retrieve detailed reactions and subpathways
- Extract event names, types (Reaction vs Pathway)
- Note disease associations if present
Decision Logic
- Multiple pathways: Report all pathways, prioritize by hierarchical level
- Top pathway details: Get detailed reactions for 1-3 most relevant
- Versioned IDs: Reactome uses unversioned IDs - strip version if present
- Empty results: Check if protein ID valid; suggest alternative databases if Reactome empty
Phase 3: Keyword-Based Pathway Search
When: User provides keyword or biological process name
Objective: Search multiple pathway databases to find relevant pathways
Tools
| Tool | Key Params | Coverage |
|---|---|---|
kegg_search_pathway | keyword | Reference, metabolic, disease pathways |
kegg_get_pathway_info | pathway_id (e.g., "hsa04930") | Detailed genes/compounds for a pathway |
WikiPathways_search | query, organism | Community-curated, emerging pathways |
PathwayCommons_search | action="search_pathways", keyword | Meta-database aggregating multiple sources |
biomodels_search | query, limit | SBML computational models |
Search all databases in parallel. Group results by pathway concept. BioModels often returns empty — this is normal.
Phase 4: Top-Level Pathway Catalog
When: Always included to provide context
Objective: Show major biological systems/pathways for organism
Tools Used
Reactome_list_top_pathways:
- Input:
species(e.g., "Homo sapiens") - Output: Array of top-level pathway categories
- Use: Provides hierarchical pathway organization
Workflow
- Retrieve top-level pathways for specified organism
- Display pathway categories (metabolism, signaling, disease, etc.)
- Serve as reference for pathway hierarchy
Decision Logic
- Always show: Provides context even if other phases empty
- Organism-specific: Filter by species of interest
- Hierarchical view: These are parent pathways with many subpathways
Output Structure
Create a markdown report progressively: header → Phase 1 enrichment results → Phase 2 protein mapping → Phase 3 keyword search → Phase 4 top pathway catalog. Note empty results explicitly; never silently omit them. Include pathway IDs for follow-up.
Tool Parameter Reference
Critical Parameter Notes (from testing):
| Tool | Correct Parameter | Common Mistake |
|---|---|---|
Reactome_map_uniprot_to_pathways | uniprot_id | id |
PathwayCommons_search | action + keyword (both required) | omitting action |
enrichr_gene_enrichment_analysis | gene_list (array) | string |
Response Format Notes:
- Reactome: Returns list directly (not wrapped in
{status, data}) - Pathway Commons: Returns dict with
total_hitsandpathways - Others: Standard
{status: "success", data: [...]}format
Domain Reasoning: Enzyme Kinetics & Metabolic Analysis
LOOK UP DON'T GUESS: Km values, kcat values, cofactor requirements, and optimal pH/temperature for specific enzymes. Use BindingDB_search_by_target, ChEMBL_get_molecule, BRENDA_get_enzyme_info (requires BRENDA_EMAIL + BRENDA_PASSWORD env vars; free academic registration at brenda-enzymes.org) (if available), or EuropePMC_search_articles to retrieve published kinetic parameters. Do not estimate Km from first principles.
Michaelis-Menten Kinetics
The foundational model: v = Vmax * [S] / (Km + [S])
- Km = substrate concentration at half-maximal velocity. NOT binding affinity (Km = (koff + kcat) / kon).
- Vmax = maximum velocity = kcat * [E_total]. Proportional to enzyme concentration.
- kcat = turnover number = molecules of substrate converted per enzyme per second.
- Catalytic efficiency = kcat / Km. The "best" enzymes approach the diffusion limit (~10^8 M^-1 s^-1).
To determine Km and Vmax from data: use Lineweaver-Burk (1/v vs 1/[S]), Eadie-Hofstee (v vs v/[S]), or nonlinear regression (preferred — avoids distortion from reciprocal transforms). See enzyme_kinetics.py in skills/tooluniverse-computational-biophysics/scripts/.
Allosteric Regulation & Cooperative Binding
Not all enzymes follow Michaelis-Menten. Sigmoidal v-vs-[S] curves indicate cooperativity.
- Hill equation: v = Vmax * [S]^nH / (K0.5^nH + [S]^nH)
- Hill coefficient (nH): nH = 1 (no cooperativity), nH > 1 (positive, e.g., hemoglobin O2 binding nH ~ 2.8), nH < 1 (negative cooperativity).
- K0.5: substrate concentration at half-maximal velocity (analogous to Km but not identical for cooperative systems).
- Allosteric activators shift the curve LEFT (lower K0.5). Allosteric inhibitors shift it RIGHT (higher K0.5) or reduce Vmax.
Enzyme Inhibition Types
| Type | Effect on Km | Effect on Vmax | Lineweaver-Burk pattern |
|---|---|---|---|
| Competitive | Increases (Km_app = Km * (1 + [I]/Ki)) | Unchanged | Lines intersect on y-axis |
| Uncompetitive | Decreases | Decreases | Parallel lines |
| Noncompetitive (pure) | Unchanged | Decreases (Vmax_app = Vmax / (1 + [I]/Ki)) | Lines intersect on x-axis |
| Mixed | Changes | Decreases | Lines intersect in quadrant II or III |
To determine Ki: measure v at multiple [I] and [S], fit to the appropriate model. The enzyme_kinetics.py script handles competitive, uncompetitive, and noncompetitive inhibition calculations.
Troubleshooting "No Activity" Results
When a purified enzyme shows no catalytic activity, systematically check:
- Oligomeric state: Many enzymes are obligate dimers/tetramers. Dilute protein may dissociate. Check with SEC, native PAGE, or DLS. Concentrate sample or add stabilizing agents (glycerol, specific ions).
- Cofactors: Metal ions (Zn2+, Mg2+, Mn2+), coenzymes (NAD+, FAD, PLP), or prosthetic groups may be lost during purification. LOOK UP the enzyme's cofactor requirements and supplement the assay buffer.
- pH: Most enzymes have a sharp pH optimum. Even 1 pH unit off can reduce activity 10-fold. Buffer at the literature-reported optimal pH.
- Temperature: Standard assays at 25C or 37C. Thermophilic enzymes need 50-80C. Psychrophilic enzymes denature above 30C.
- Reducing environment: Many enzymes need DTT or beta-mercaptoethanol to maintain active-site cysteines in reduced form.
- Substrate: Wrong isomer (D- vs L-), wrong oxidation state, or degraded substrate. Use fresh substrate and verify by a positive control enzyme.
- Inhibitors in buffer: EDTA chelates essential metals. Phosphate competes at phospho-binding sites. Detergents can denature.
- Protein folding: Inclusion body protein may be misfolded even after refolding. Check by CD spectroscopy or thermal shift assay.
Metabolic Flux Analysis Reasoning
Metabolic flux analysis (MFA) quantifies the rates of metabolic reactions in vivo, not just enzyme activities in vitro.
Key concepts:
- Steady-state assumption: At metabolic steady state, the rate of production of each intermediate equals its rate of consumption. This gives a system of linear equations: S * v = 0, where S is the stoichiometric matrix and v is the flux vector.
- Flux Balance Analysis (FBA): When the system is underdetermined (more reactions than metabolites), FBA uses linear programming to optimize an objective function (e.g., maximize biomass production). Use
biomodels_searchto find a published SBML paper's model for the organism, or — for a model that is already curated, versioned, and ready to run FBA on without further cleanup — use BiGG (below). - 13C-MFA: Uses isotope labeling to experimentally constrain intracellular fluxes. The labeling pattern of metabolites reveals which pathways carried flux.
- Control coefficients: How much does a 1% change in enzyme activity change the pathway flux? Most enzymes have near-zero flux control coefficients — flux is usually controlled by a few rate-limiting steps plus substrate supply.
LOOK UP DON'T GUESS: stoichiometric coefficients, pathway topology, and published flux distributions. Use KEGG (kegg_get_pathway_info), Reactome (Reactome_get_pathway_reactions), and BioModels (biomodels_search) for these data.
Genome-Scale Metabolic Models & FBA (BiGG)
BiGG Models (bigg.ucsd.edu) is a curated database of 108 genome-scale metabolic
reconstructions (bacteria, archaea, eukaryotes — E. coli, yeast, human Recon3D,
and more), each already in FBA-ready COBRA format: every reaction carries flux
lower_bound/upper_bound and a gene_reaction_rule, unlike a biomodels_search
hit (which is a paper's raw SBML file that may need cleanup before it will run).
Use BiGG when the goal is to actually run FBA, not just read about a pathway.
Tools (each has its own operation enum value defaulted in its schema — you don't need to set it manually, just call the tool named for what you want):
| Tool | Key Params | Use |
|---|---|---|
BiGG_list_models | none | Discover available organisms/models (108 total) |
BiGG_get_model | model_id | Model metadata: reaction/metabolite/gene counts, publication DOI, genome accession |
BiGG_get_model_reactions | model_id | Enumerate every reaction ID + name in a model |
BiGG_get_reaction | reaction_id, model_id (or "universal") | Full stoichiometry, participating metabolites, gene-reaction rule |
BiGG_get_metabolite | metabolite_id, model_id (or "universal") | Formula, compartment, cross-refs (KEGG/MetaCyc/HMDB/ChEBI) |
BiGG_search | query, search_type (models/reactions/metabolites/genes) | Free-text discovery across any of the four entity types |
BiGG_get_database_version | none | Data currency check |
BiGG_download_model | model_id, format (json/sbml) | The full FBA-ready COBRA model — every reaction with bounds/objective coefficient, every metabolite, every gene |
Workflow — find a model, inspect it, get it FBA-ready:
BiGG_list_models→ each entry hasbigg_id,organism,reaction_count,metabolite_count,gene_count. For a quick/small worked example,e_coli_core(E. coli core metabolism: 95 reactions, 72 metabolites, 137 genes) is the standard teaching model; for genome-scale work pick a full reconstruction likeiJO1366(E. coli) orRecon3D(human).BiGG_get_model(model_id="e_coli_core")→ publication DOI, genome accession (ncbi_accession:NC_000913.3for E. coli), file sizes, last-updated date — check currency before citing.BiGG_get_model_reactions(model_id="e_coli_core")→ list of{bigg_id, name, organism}per reaction (e.g.ACKr= "Acetate kinase"). Use this to find candidate reaction IDs before drilling in.BiGG_get_reaction(reaction_id="ACKr", model_id="e_coli_core")→ full stoichiometry as ametabolitesarray (each withbigg_id,name, signedstoichiometry), plusgene_reaction_rule(empty string/None for some reactions — a real absence, not a fetch failure) anddatabase_links(RHEA, etc.).BiGG_get_metabolite(metabolite_id="g3p_c", model_id="e_coli_core")→name,formula,compartment_bigg_id/compartment_name, anddatabase_linksfor cross-referencing to KEGG/ChEBI. Note some fields (e.g.formulae) come backNonefor some entries — report what's actually present rather than assuming every field is populated.BiGG_search(query="glucose", search_type="metabolites")→ ranked hits across the universal namespace by default (model_bigg_id: "Universal") as well as model-specific IDs; usesearch_type="models"to find organisms,"genes"to resolve a gene symbol to its BiGG gene ID.BiGG_download_model(model_id="e_coli_core", format="json")→ the complete COBRA model: top-levelmetabolites/reactions/genes/compartmentsarrays, each reaction withlower_bound,upper_bound,gene_reaction_rule, and ametabolitesdict of{metabolite_id: stoichiometry}— this is the object to hand to a COBRApyModelfor FBA, notBiGG_get_model's metadata-only response.format="sbml"returns the same model as an SBML XML string instead, for tools that expect that format.
Gotchas (from live testing): model_id defaults to "universal" for BiGG_get_reaction/BiGG_get_metabolite — pass the specific model ID when you want model-scoped stoichiometry/bounds rather than the universal (model-agnostic) entry. BiGG_search's default search_type is "reactions" — set it explicitly for metabolite/gene/model searches. BiGG_get_model returns only counts and metadata; BiGG_download_model is the one that returns an actually runnable model.
Reaction-Level Biochemistry (Rhea)
Rhea (rhea-db.org, SIB) is an expert-curated knowledgebase of individual
biochemical reactions — each has a ChEBI-based equation, a curation status
(approved, reviewed, etc.), a mass/charge balance flag, and cross-referenced
EC number(s). Use it when the question is about ONE reaction's participants,
stoichiometry, and enzyme classification, rather than a whole model's fluxes
(BiGG, above) or a pathway diagram (Reactome/KEGG).
Tools:
| Tool | Key Params | Use |
|---|---|---|
Rhea_search_reactions | query, limit, offset | Free-text search by compound/keyword. Use a single keyword, not a phrase — query="glucose" returns real hits, query="glucose oxidation" returns zero (verified live) |
Rhea_search_by_ec | ec_number, limit, offset | All reactions catalyzed by a given EC class |
Rhea_search_by_chebi | chebi_id, limit, offset | All reactions where a specific ChEBI compound participates (substrate, product, or either) |
Rhea_get_reaction | rhea_id | Full detail: equation, status_curation, balanced/transport flags, reactants/products with ChEBI IDs and stoichiometry |
Rhea_get_reaction_participants | rhea_id | Just the reactants/products list (subset of Rhea_get_reaction, useful when you don't need curation metadata) |
Workflow (real values from live testing): Rhea_search_reactions(query="glucose") →
RHEA:14293 ("D-glucose + NAD(+) = D-glucono-1,5-lactone + NADH + H(+)", EC 1.1.1.47/1.1.1.118/1.1.1.359 among others) →
Rhea_get_reaction(rhea_id="RHEA:14293") → status_curation: "approved", balanced: true, reactants
[{chebi_id: "CHEBI:4167", name: "D-glucose", stoichiometry: "1"}, {chebi_id: "CHEBI:57540", name: "NAD+", ...}].
Cross-reference a Rhea chebi_id against tooluniverse-chemical-compound-retrieval's PubChem/ChEBI tools for
the compound's structure, and a Rhea ec_numbers value against BRENDA (see Domain Reasoning above) for kinetic
constants on that same reaction.
Fallback Strategies
Enrichment Analysis
- Primary: Enrichr with KEGG library
- Fallback: Try alternative libraries (Reactome, GO Biological Process)
- If all fail: Note "enrichment analysis unavailable" and continue
Protein Mapping
- Primary: Reactome protein-pathway mapping
- Fallback: Use keyword search with protein name
- If empty: Check if protein ID valid; suggest checking gene symbol
Keyword Search
- Primary: Search all databases (KEGG, WikiPathways, Pathway Commons, BioModels)
- Fallback: If all empty, broaden keyword (e.g., "diabetes" → "glucose")
- If still empty: Note "no pathways found for [keyword]"
Limitations & Known Issues
- Reactome: Strong human coverage; limited for non-model organisms
- KEGG: Requires keyword match; may miss synonyms
- WikiPathways: Variable curation quality; check pathway version dates
- Pathway Commons: Aggregation may have duplicates; check source attribution
- BioModels: Sparse for many processes; often returns no results
- Enrichr: Requires gene symbols (not IDs); case-sensitive
- BiGG: Curated reconstructions only exist for 108 organisms (mostly bacteria/model organisms; not every species of interest has one) — check
BiGG_search(search_type="models")before assuming coverage;BiGG_get_reaction/BiGG_get_metabolitedefault to the"universal"(model-agnostic) namespace unlessmodel_idis passed explicitly
GO Term Lookup, KEGG BRITE Classification, and Causal-Statement Mining (GOAPI / KEGG BRITE / INDRA)
Four more small, previously-undocumented tool families, live-tested below. Two of them overlap in purpose with tools already used elsewhere in ToolUniverse — read the overlap notes before reaching for these as a first choice.
GOAPI: direct GO term/gene-annotation lookup
GOAPI_get_term, GOAPI_get_gene_functions, GOAPI_get_genes_by_function (go_api_tools.json) hit the GO API directly. Overlap note: this is a different tool family from GO_get_annotations_for_gene / GO_get_term_by_id / GO_get_term_details (gene_ontology_tools.json), which several other skills — tooluniverse-target-research, tooluniverse-gene-enrichment, tooluniverse-structural-variant-analysis — already document for the same purpose. Prefer those existing tools if you're already using them elsewhere in a workflow; reach for GOAPI when its CURIE-based gene addressing (below) or its reverse "genes by function" lookup is specifically what you need.
GOAPI_get_term(go_id="GO:0006281")→ term label + full definition + PMID xrefs (verified live: "GO:0006281" = "DNA repair", correct definition returned).GOAPI_get_gene_functions(gene_id=..., rows=, aspect=)→ gotcha, verified live:gene_idmust be a CURIE ("HGNC:11998","UniProtKB:P04637","MGI:MGI:98834"), not a bare gene symbol —gene_id="TP53"fails with a 400,gene_id="UniProtKB:P04637"succeeds and returns real GO terms withevidence_type/evidence_label/provided_by/referencesper annotation (e.g. p53 → "negative regulation of cell population proliferation", IMP evidence from UniProt, PMID:10962037).GOAPI_get_genes_by_function(go_id=...)→ the reverse direction: real gene list annotated with a GO term, each withgene_id(CURIE),gene_label,taxon_id.
KEGG BRITE: hierarchical functional classification
KEGG_list_brite_hierarchies (no params) and KEGG_get_brite_hierarchy(hierarchy_id=...) (kegg_brite_tools.json) — genuinely new, no existing coverage. BRITE is KEGG's classification-tree layer (e.g. enzymes grouped by EC hierarchy, drugs by target class), distinct from kegg_search_pathway/kegg_get_pathway_info already in this skill's Phase 3, which return pathway maps rather than classification trees.
KEGG_list_brite_hierarchies()→ real response: 156 hierarchy files (e.g.br08901= "KEGG pathway maps").KEGG_get_brite_hierarchy(hierarchy_id="ko01000")→ real nestedchildrentree of enzyme classes (e.g. "1. Oxidoreductases" → "1.1 Acting on the CH-OH group of donors" → ...). Use when you need the classification structure itself (e.g. "what are all the kinase subclasses"), not a single pathway's gene/compound list.
INDRA: automated literature-mined causal statements
INDRA_get_statements, INDRA_get_evidence_count, INDRA_get_statement_by_hash (indra_tools.json) — genuinely new. INDRA text-mines causal relationships (Activation/Inhibition/Phosphorylation/Complex/etc.) directly from PubMed abstracts and assembles them with evidence counts — this is automated extraction with variable precision, not manually curated causal edges like SIGNOR's (documented in tooluniverse-protein-interactions). Treat an INDRA statement as a literature-mining lead to verify, not a confirmed mechanism, especially when evidence_shown is low relative to total_evidence.
INDRA_get_evidence_count(agent="TP53")→ real count: 25,846 total evidence items across all TP53 statements (verified live; slow-ish, ~3-20s).INDRA_get_statements(agent="EGFR", limit=3)→ gotcha: this call can take 30-90+ seconds — give it a generous timeout, don't assume a hang means failure. Real response: statements typedPhosphorylation/Complex/etc., each withhash,evidence_shown, and per-evidencepmid+source sentence (e.g. a real Phosphorylation statement backed by 2 shown evidence sentences from PMID 31635022 and 37443708, out of 74,891 total evidence for EGFR overall — most evidence is never shown per call, useINDRA_get_evidence_countfirst to gauge how well-studied a relationship is).INDRA_get_statement_by_hash(hash=...)→ full single-statement detail once you have a hash from the above (real example: hash-35357180905875939, an EGFR Inhibition statement with 1,376 evidence items).
Known-broken tool, verified live: ReactomeInteractors
ReactomeInteractors_get_protein_interactors, ReactomeInteractors_get_entity_pathways, ReactomeInteractors_search_entity (reactome_interactors_tools.json) — all 3 tools currently return HTTP 521 on every call, confirmed both via tu test/tu run and an independent direct curl to Reactome's own interactors endpoint (reactome.org/ContentService/interactors/...), which also returned 521. This is Reactome's interactors service being unreachable at the origin, not a ToolUniverse bug — it may be transient, so don't assume it's permanently gone, but do not fabricate protein-interactor or entity-pathway results from this family if you hit the same error; report it as "ReactomeInteractors service currently unreachable (HTTP 521)" and fall back to STRING_functional_enrichment, intact_get_interactions, or (for causal edges) SIGNOR/INDRA above instead. Note this is a different tool family from the already-documented Reactome_map_uniprot_to_pathways/Reactome_get_pathway_reactions (Phase 2, above) and from Reactome_get_interactor (singular, in reactome_tools.json, used by tooluniverse-spatial-omics-analysis) — three separate Reactome-branded tool families exist in the registry; this section covers only the ReactomeInteractors_* one.
Best for: Gene set analysis, protein function investigation, pathway discovery, systems-level biology
FAQ
What does the tooluniverse-systems-biology skill do?
Systems biology and pathway analysis integrating Reactome, KEGG, WikiPathways, BioCarta, NCI-Nature Pathway Interaction Database. Multi-database pathway enrichment, protein-pathway relationships, network reasoning. Use for pathway analysis on a gene list, multi-source pathway concordance, and systems-level interpretation across databases.
How do I install tooluniverse-systems-biology?
Run npx skills add https://github.com/mims-harvard/tooluniverse --skill tooluniverse-systems-biology in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/tooluniverse-systems-biology/ (personal) or .claude/skills/tooluniverse-systems-biology/ (project).
Which AI agents can use tooluniverse-systems-biology?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is tooluniverse-systems-biology safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains tooluniverse-systems-biology?
It is published by mims-harvard in mims-harvard/tooluniverse. It has 434 recorded installs.
More from mims-harvard/tooluniverse
tooluniverse-sequence-retrieval
mims-harvard/tooluniverse
Retrieve DNA/RNA/protein sequences from NCBI and ENA with disambiguation. Quality hierarchy: RefSeq (NM/NP) RefSeq predicted (XM/XP) GenBank submissions. Use for fetching specific sequences by accession, gene-symbol-to-sequence lookup, transcript-isoform retrieval, and curated-vs-raw-submission preference.
tooluniverse-literature-deep-research
mims-harvard/tooluniverse
Deep literature review — PubMed, EuropePMC, bioRxiv preprints, citation networks, evidence synthesis. Disambiguates queries, runs collision-aware searches, grades evidence T1-T4, and produces structured reports. Use for systematic literature review, meta-analysis evidence collection, and detailed answer-with-citations workflows.
tooluniverse-image-analysis
mims-harvard/tooluniverse
Microscopy and quantitative imaging analysis — colony morphometry, fluorescence intensity quantification, cell-count statistics, dose-response curves, and ANOVA/Dunnett on image-derived measurements. Uses pandas/numpy/scipy/scikit-image. Use for analyzing tabular outputs from CellProfiler/ImageJ, image-derived measurement statistics, and image-based assay quantification.
tooluniverse-clinical-guidelines
mims-harvard/tooluniverse
Search and retrieve clinical practice guidelines from 12+ authoritative sources — NICE, WHO, NCCN, AHA, ADA, SIGN, USPSTF, IDSA, NIH consensus, ESMO/ESC/EASL European societies, and US specialty associations. Use for evidence-graded treatment recommendations, dosing protocols, screening guidance, and authoritative-source-prioritized clinical guidance (NICE/WHO ranked above society guidelines).
tooluniverse
mims-harvard/tooluniverse
ToolUniverse plugin router. STEP 1 BEFORE ANY ANALYSIS: if the data folder contains executed.ipynb, run tu run readexecutednotebook '{"datafolder":" ","search":" "}' to extract its cell outputs and apply EVERY filter/sample-exclusion the notebook used — even when the question says 'Using DESeq2/Run X/Compute Y' (this describes the METHOD the notebook used, not a request to rerun). The notebook's cell outputs are the only published authoritative answers; reimplementing or reading stale pre-computed CSVs in the data folder produces different numbers because of outlier-sample removal, library version, and filter steps you don't see by skimming. STEP 2 routing — pick a sub-skill name from this exact list (never invent): tooluniverse-rnaseq-deseq2 (RNA/miRNA-seq DE, correlation, PCA, clustering, dispersion), tooluniverse-gene-enrichment (GO/KEGG/Reactome/GSEA/pathway enrichment), tooluniverse-statistical-modeling (regression, ANOVA, ordinal/logistic, chi-square, correl
tooluniverse-drug-research
mims-harvard/tooluniverse
Comprehensive drug profiling — mechanism, primary/secondary targets, drug interactions, clinical-trial status, adverse events (FAERS), pharmacogenomics, and approval history. Use for full drug investigation reports, 'tell me about drug X' queries, and assembling drug profiles for clinicians, researchers, or regulatory work.
Popular education & science skills
teach
mattpocock/skills
Teach the user a new skill or concept, within this workspace.
scaffold-exercises
mattpocock/skills
Create exercise directory structures with sections, problems, solutions, and explainers that pass linting. Use when user wants to scaffold exercises, create exercise stubs, or set up a new course section.
paper-context-resolver
lllllllama/rigorpilot-skills
Rigor Paper Context helper for README-first deep learning repo reproduction. Use only when the README and repository files leave a narrow reproduction-critical gap and the task is to resolve a specific paper detail such as dataset split, preprocessing, evaluation protocol, checkpoint mapping, or runtime assumption from primary paper sources while recording conflicts. Do not use for general paper summary, repo scanning, environment setup, command execution, title-only paper lookup, or replacing README guidance by default.
caveman-learn
juliusbrussee/caveman
Act on a Caveman learn report - review the ranked token sinks, apply cost-lowering fixes with per-edit consent, and report what those fixes returned. Use when asked to lower an agent's token cost, what caveman has saved, to trim a heavy CLAUDE.md, or to offload re-pasted context into cavemem.
gsap-plugins
greensock/gsap-skills
Official GSAP skill for GSAP plugins — registration, ScrollToPlugin, ScrollSmoother, Flip, Draggable, Inertia, Observer, SplitText, ScrambleText, SVG and physics plugins, CustomEase, EasePack, CustomWiggle, CustomBounce, GSDevTools. Use when the user asks about a GSAP plugin, scroll-to, flip animations, draggable, SVG drawing, or plugin registration.
teach-impeccable
pbakaus/impeccable
DEPRECATED: Use /impeccable teach instead. This command has been folded into the impeccable skill.