RELSA Severity Assessment & Humane Endpoint Forecasting
Combines lab-animal welfare readouts into a single RELSA severity score and forecasts humane endpoints with ARIMA plus KDE-derived severity zones.
Data & AnalyticsAdvanced★ 33,030⑂ 3,248AI score 8/10Last updated: Aug 9, 2026
What it does
- Merges multiple welfare readouts (weight loss, body temperature, clinical/nesting scores, biomarkers, activity, heart rate, burrowing) into one RELSA score per animal per time point, relative to a reference set of known burden (0 = baseline, 1 = the reference set's maximum deviation).
scripts/relsa_score.pybuilds, echoes and serialises the reference model to JSON so later cohorts stay on the same scale.scripts/forecast_relsa.pyfits an auto-selected ARIMA (Hyndman–Khandakar AICc) to each animal's trajectory, predicts the next score with a 95% interval, and reports RMSE, PICP and MPIW together.scripts/kde_thresholds.pyfinds density minima by kernel density estimation to propose attention/danger zones, with a mandatory bandwidth sensitivity sweep.- Makes the four result-determining decisions explicit (directionality of "turned" variables, reference set choice, mapping zero-baseline ordinal scores, stable variable composition) and supplies a reporting checklist plus hard boundaries (not a regulatory severity grading, not a validated predictor of death).
Who it's for
- Researchers writing severity-assessment, 3Rs/refinement or EU Directive 2010/63/EU sections
- Animal welfare bodies / IACUC members needing quantitative support for humane endpoint decisions
- Data analysts handling telemetry, body-weight and clinical-score time series in preclinical studies
Example uses
- Run
relsa_score.pyon a cohort CSV to get per-animal per-day RELSA scores with per-variable weights, saving the endpoint-reaching group asreference.jsonfor reuse. - Run
forecast_relsa.py --animals M01,M02 --endpoints M01=5to train up to the step before the endpoint, predict the endpoint score, and evaluate with RMSE/PICP/MPIW; switch to--mode rollingfor daily one-step-ahead monitoring. - Run
kde_thresholds.py --n-thresholds 2to derive attention/danger cutoffs from density minima, then report the bandwidth and its sensitivity sweep in the methods.
· · · Install guide · · ·
Try it now, no install
Paste this into Claude to use the skill without installing anything.
Read the instructions in this file and follow them to help me: https://raw.githubusercontent.com/K-Dense-AI/scientific-agent-skills/HEAD/skills/relsa-severity-assessment/SKILL.md What I want: (describe your task here)
If Claude can't open the link, open it yourself and paste the contents instead.
↓ If it works for you, download the ZIP below and install it. Then it runs on its own — no pasting each time.
Install in the Claude app (no terminal)
- Download the ZIP with the button below.
- In Claude, open Settings → Capabilities and turn on 'Code execution and file creation'. (one time)
- Go to Customize → Skills → + → 'Upload a skill' and upload the ZIP.
Install in Claude Code
Let Claude do it — paste this into Claude Code
Install the skill I found on Claude Skill Mart. Copy the skills/relsa-severity-assessment folder from the GitHub repo K-Dense-AI/scientific-agent-skills into my ~/.claude/skills/relsa-severity-assessment/. When it's done, tell me in one line what this skill can do.
Install with a command instead
git clone https://github.com/K-Dense-AI/scientific-agent-skills.git && mkdir -p ~/.claude/skills && cp -r scientific-agent-skills/skills/relsa-severity-assessment ~/.claude/skills/⚠ This is a third-party skill. Check the source repository before installing.
- Open a terminal and confirm Python 3.10+:
python --version - Install dependencies:
uv pip install "numpy>=1.26" "pandas>=2.0" "scipy>=1.11" "statsmodels>=0.14" matplotlib(orpip install ...if you don't use uv) - Clone the repository:
git clone https://github.com/K-Dense-AI/scientific-agent-skills.git - Copy the skill into Claude's skills folder:
mkdir -p ~/.claude/skills && cp -r scientific-agent-skills/skills/relsa-severity-assessment ~/.claude/skills/ - Restart Claude Code and ask something like "compute a RELSA severity score from these weight, temperature and clinical-score readings".
- For a first smoke test, run the Step 1 command from the docs against the bundled
assets/example_cohort.csv.
View source on GitHub ↗License: MIT