skills/tooluniverse-pharmacokinetics/SKILL.md
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).
npx skillsauth add mims-harvard/tooluniverse tooluniverse-pharmacokineticsInstall 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 a concentration-vs-time profile after a dose into the standard PK parameters, and compute bioavailability from IV + oral data. Non-compartmental analysis (NCA) is the model-independent workhorse used for most PK reporting.
This is measured-data PK. For predicting ADMET properties from a chemical structure, use tooluniverse-admet-prediction.
| Issue | What to do |
|---|---|
| Units — be consistent | One time unit (h), one concentration unit (mg/L or ng/mL), one dose unit (mg). Pass them as time_unit/conc_unit/dose_unit. CL and Vd come back in derived units (e.g. L/h, L). |
| Route matters | Set route to iv or po/oral. CL and Vd are only directly interpretable for IV data; from oral data they are apparent (CL/F, Vd/F) because absorption is incomplete. |
| Include t=0 | For IV bolus include the t=0 (back-extrapolated) point; for oral the pre-dose value is usually 0. |
| BLQ (below limit of quantification) | Leading BLQs before the first measurable → treat as 0; BLQs in the terminal tail → drop them (don't set to 0, it corrupts the terminal slope). |
| Sampling design | You need enough late points to define the terminal phase (≥3 points clearly in the log-linear decline) or the half-life and AUC0-∞ are unreliable. |
| Single vs multiple dose | NCA here assumes a single dose. For steady-state, analyze one dosing interval (AUC0-τ) and say so. |
tu run NCA_compute_parameters '{
"times":[0,0.5,1,2,4,8,12,24],
"concentrations":[0,2.5,4.8,6.1,4.2,2.1,1.0,0.2],
"dose":100, "route":"iv",
"dose_unit":"mg", "conc_unit":"mg/L", "time_unit":"h"}'
Returns Cmax, Tmax, Clast, Tlast, AUC0_last, AUC0-inf, AUC_extrapolation_pct, lambda_z, t_half, r_squared_terminal_fit, clearance_CL, volume_distribution_Vd, MRT_iv, with a units block. AUC uses the FDA/EMA linear-up / log-down trapezoidal method.
For a CSV profile (with BLQ handling), scripts/nca_from_csv.py computes the same parameters locally.
Other tools:
NCA_fit_one_compartment — fit a 1-compartment model (k, V, CL) when you want a parametric model instead of NCA.NCA_calculate_bioavailability — absolute F from auc_po, dose_po, auc_iv, dose_iv (see Step 4).| Parameter | Meaning | Notes / sanity |
|---|---|---|
| Cmax / Tmax | Peak concentration & time to peak — absorption rate/extent. | For IV bolus Cmax is at t=0; a later Tmax means absorption (oral) or distribution. |
| AUC0-t / AUC0-∞ | Total exposure (area under the curve). The key exposure metric. | AUC0-∞ extrapolates the tail using Clast/lambda_z. |
| AUC_extrapolation_pct | % of AUC0-∞ that was extrapolated beyond the last point. | >20% → AUC0-∞ (and anything derived from it) is unreliable; report AUC0-last instead and note insufficient sampling. |
| lambda_z / t_half | Terminal elimination rate constant and half-life. | Trust only if r_squared_terminal_fit ≥ ~0.95 and ≥3 terminal points were used. |
| CL (clearance) | Volume cleared per time = Dose/AUC0-∞ (IV). | From oral data this is CL/F (apparent). |
| Vd | Volume of distribution = CL/lambda_z (IV). | From oral data this is Vd/F (apparent). |
| MRT | Mean residence time. | Longer MRT = slower overall elimination. |
F needs the same drug given both IV and orally (ideally same subjects, dose-normalized):
tu run NCA_calculate_bioavailability '{"auc_po":35.0,"dose_po":200,"auc_iv":43.4,"dose_iv":100}'
F = (AUC_po / Dose_po) / (AUC_iv / Dose_iv). Report as a fraction or %. F near 1 = well absorbed; low F = poor absorption or high first-pass metabolism. F > 1 signals a data/dosing error (recheck units and doses).
r_squared_terminal_fit < 0.9, or <3 tail points) → half-life is unreliable.units block.NCA_fit_one_compartment or population PK for that.tooluniverse-admet-prediction — predict ADME properties from structure (no measured data).tooluniverse-dose-response — IC50/EC50 potency from concentration-response (not time-course).tooluniverse-statistical-modeling — compare PK parameters across groups.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.