skills/tooluniverse-enzyme-kinetics/SKILL.md
Enzyme kinetics — Michaelis-Menten Km, Vmax, kcat (turnover), and kcat/Km (catalytic efficiency / specificity constant) from substrate-velocity data, plus inhibition-mechanism analysis (competitive / uncompetitive / non-competitive, Ki). Fits the MM equation by nonlinear regression (and reports Lineweaver-Burk for reference). Use when you have substrate concentrations and initial reaction velocities and need kinetic parameters or to classify an inhibitor. NOT for BRENDA database lookups of published constants (use the BRENDA tools).
npx skillsauth add mims-harvard/tooluniverse tooluniverse-enzyme-kineticsInstall 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.
Turn substrate concentration vs initial velocity data into Km, Vmax, kcat, and catalytic efficiency — and classify an inhibitor's mechanism.
The Michaelis-Menten model: v = Vmax·[S] / (Km + [S]).
For published kinetic constants (someone else's Km/kcat), use the BRENDA tools instead — this skill is for analyzing your own measured data.
| Issue | What to do |
|---|---|
| Initial velocities, not endpoints | v must be the initial rate (linear phase, <10% substrate consumed). Endpoint or plateaued rates give a wrong Km/Vmax. |
| Substrate range must span Km | Include [S] both well below and well above Km (ideally ~0.2×Km to ~5×Km). Points only above Km can't define Km; only below can't define Vmax. |
| Units — be consistent | One [S] unit (mM, µM) → Km comes back in that unit. One velocity unit. Keep them fixed. |
| For kcat you need [E] | kcat = Vmax / [E]total. The tool's "catalytic_efficiency" is Vmax/Km on the velocity scale; to get true kcat (per-second turnover) and kcat/Km, divide Vmax by the molar enzyme concentration yourself. |
| ≥5–7 points | Few points → unstable fit. Spread them across the range, not clustered. |
tu run EnzymeKinetics_calculate '{"operation":"michaelis_menten",
"substrate_concs":[0.1,0.25,0.5,1,2,5,10],
"velocities":[8.5,18,32,52,72,90,98]}'
Returns a nonlinear_fit block (Vmax, Km, R2, SSE) — use these as the answer, a lineweaver_burk block (for reference only), catalytic_efficiency (Vmax/Km), and predicted_velocities + residuals.
Prefer the nonlinear fit, not Lineweaver-Burk. The double-reciprocal (Lineweaver-Burk) linearization distorts error (it over-weights low-
[S]points) and is only for visualization/sanity — never report its Km/Vmax as the final values. The tool gives both; citenonlinear_fit.
scripts/fit_michaelis_menten.py does the same nonlinear fit from a CSV and converts Vmax→kcat→kcat/Km when you supply the enzyme concentration.
| Parameter | Meaning | Notes |
|---|---|---|
| Km | Substrate concentration at ½Vmax — apparent affinity (lower Km = tighter binding / higher affinity). | In the same units as [S]. Must lie inside your tested range to be trustworthy. |
| Vmax | Maximum velocity at saturating substrate. | Depends on [E]; not an intrinsic enzyme property. |
| kcat | Turnover number = Vmax/[E] (per second). | Requires the molar enzyme concentration; intrinsic to the enzyme. |
| kcat/Km | Catalytic efficiency / specificity constant. | The best single metric to compare enzymes or substrates; near ~10⁸–10⁹ M⁻¹s⁻¹ is diffusion-limited ("catalytically perfect"). |
| R² / SSE | Fit quality. | R²≥0.98 good; check residuals for systematic curvature (a pattern, not random scatter, means MM is the wrong model). |
Provide velocities ±inhibitor to classify the mode:
tu run EnzymeKinetics_calculate '{"operation":"inhibition",
"substrate_concs":[...],
"velocities_no_inhibitor":[...],
"velocities_with_inhibitor":[...],
"inhibitor_conc":5, "inhibition_type":"competitive"}'
| Mechanism | Effect on apparent Km | Effect on Vmax | Signature | |---|---|---|---| | Competitive | ↑ (increases) | unchanged | inhibitor competes at the active site; beatable by more substrate | | Uncompetitive | ↓ (decreases) | ↓ | inhibitor binds only the ES complex | | Non-competitive (mixed) | ~unchanged (pure) / changes (mixed) | ↓ | binds enzyme and ES; not relieved by substrate |
Ki is the inhibition constant (lower = more potent inhibitor). Decide the mechanism from how Km and Vmax shift, not from a single Lineweaver-Burk eyeball.
[S]) breaks MM — the fit will show systematic residuals; flag it instead of forcing one Km.[S].tooluniverse-dose-response — IC50/EC50 (the Hill/4PL sibling for concentration-response).tooluniverse-statistical-modeling — general nonlinear regression and model comparison.tools
Post-market safety surveillance and recall/adverse-event RETRIEVAL across the full spectrum of FDA-regulated products that are NOT covered by the drug-AE signal skills: medical devices, food / dietary supplements / cosmetics, veterinary drugs, and drug supply (shortages). Orchestrates openFDA endpoints (MAUDE device adverse events + device recalls + 510(k), CAERS food/supplement/ cosmetic adverse events, veterinary adverse events, drug shortages, and cross-product enforcement/recall reports). USE WHEN the user asks: "are there adverse events for [device / pacemaker / infusion pump / insulin pump]", "device recalls for [firm/product]", "supplement / vitamin / cosmetic adverse reactions", "is [drug] in shortage", "what injectables are on shortage", "veterinary / animal adverse events for [drug] in [dog/cat/horse]", "food recall for listeria", "MAUDE report for [device]", "CAERS reactions for [brand]". DO NOT USE for drug adverse-event SIGNAL detection or disproportionality (PRR / ROR / IC) or drug-AE association scoring — that is `tooluniverse-pharmacovigilance` / `tooluniverse-adverse-event-detection`. This skill is multi-product surveillance and retrieval, not drug-AE statistical signal mining.
tools
--- name: tooluniverse-phewas description: Cross-ancestry / cross-biobank phenome-wide association (PheWAS) and replication. Given ONE variant (rsID) or ONE gene, look up every phenotype it associates with across European/UK (UKB-TOPMed), Finnish (FinnGen), Japanese (BioBank Japan), and Taiwanese (TPMI) biobanks, plus exome-wide gene-burden PheWAS (Genebass), then judge whether an association replicates across ancestries or is population-specific. Use whenever the user asks "what else is this va
tools
Dereplicate a putative natural product and assign its chemical taxonomy. Use to answer "is [compound] a known natural product", "what microbe/organism produces [compound]", "what chemical class is [compound]", "dereplicate this metabolite (by formula/exact mass/InChIKey/SMILES)", or "classify this molecule into ChemOnt". Searches NPAtlas for known microbial natural products (producing organism + literature reference), assigns the ChemOnt kingdom→superclass→class→subclass hierarchy via ClassyFire, resolves systematic IUPAC names to structure via OPSIN, and cross-references identity in PubChem. NOT for general drug/compound identity or ADMET (use tooluniverse-chemical-compound-retrieval / tooluniverse-small-molecule-discovery) and NOT for metabolomics pathway/enrichment analysis (use tooluniverse-metabolomics skills).
tools
Genome-ASSEMBLY discovery, QC, and replicon mapping for any organism (bacteria, archaea, fungi, and beyond) using NCBI Datasets. Resolves an organism name or taxid to assemblies, picks the reference/representative or best-quality assembly, pulls assembly QC metrics (total length, contig/scaffold N50, contig count, GC%, assembly level, RefSeq category), enumerates chromosomes and plasmids via per-replicon sequence reports, and compares candidate assemblies on quality. Use for "what genomes are available for [organism]", "assembly stats / N50 / GC content for [GCF_/GCA_ accession]", "how many plasmids does [strain] have", "compare assemblies for [species]", "find the reference genome for [taxon]", "is this assembly Complete Genome or just contigs". NOT for gene-level orthology/synteny (use tooluniverse-comparative-genomics), plant gene structure (use tooluniverse-plant-genomics), de novo assembly from raw reads (no tool exists), or taxonomy-only name/lineage lookups.