Skip to content

NUDGE

NUDGE — an "honesty engine" for AI-driven science.

Core trick

Reports which parameters a differentiable model can identify from the data and withholds numbers for unidentifiable ones, then designs a discriminating trial.

Tags

Description

NUDGE — an "honesty engine" for AI-driven science. Point it at a differentiable model of a biological system; it tells you which parameters you can actually trust, and designs the experiment that resolves the ones you can't. Why we built it: AI can now fit any model and hand you confident numbers — including confident wrong ones. In a drug trial that's dangerous: when amyloid plaque falls, you can't tell if the drug did it or the body did. We wanted a tool that reports what it measured, not what it guessed. What we found: a capable AI agent can already derive this math by hand — so the real value isn't capability, it's trust: NUDGE gives audited, reproducible, guarded answers. It refuses to over-abstain (won't throw out a sloppy-but-predictive model), refuses to over-claim (won't fake a number on an unidentifiable design), designs the trial that separates a drug's effect from natural clearance (~259× sharper, same scans), and every figure ships with the code to reproduce it byte-for-byte.
NicholasEhsanRoy/NUDGE★ 10 forksPythonMITCreated Jul 7, 2026 · last push Jul 13, 2026

README excerpt

<p align="center">
  <img src="docs/assets/nudge-logo.png" width="480" alt="NUDGE">
</p>

<p align="center">
  <a href="https://pypi.org/project/nudge-bio/"><img src="https://img.shields.io/badge/PyPI-v0.4.2-3775A9?logo=pypi&logoColor=white" alt="PyPI version"></a>
  <a href="https://pypi.org/project/nudge-bio/"><img src="https://img.shields.io/pypi/pyversions/nudge-bio" alt="Python versions"></a>
  <a href="https://github.com/NicholasEhsanRoy/NUDGE/blob/main/LICENSE"><img src="https://img.shields.io/github/license/NicholasEhsanRoy/NUDGE" alt="License: MIT"></a>
  <a href="https://github.com/NicholasEhsanRoy/NUDGE/actions/workflows/ci.yml"><img src="https://img.shields.io/github/actions/workflow/status/NicholasEhsanRoy/NUDGE/ci.yml?branch=main&label=CI" alt="CI status"></a>
</p>

<p align="center">
  <a href="https://www.python.org/"><img src="https://img.shields.io/badge/Python-3.10+-3776AB?logo=python&logoColor=white" alt="Python"></a>
  <a href="https://modelcontextprotocol.io/"><img src="https://img.shields.io/badge/MCP-server-1f6feb?logo=modelcontextprotocol&logoColor=white" alt="MCP server"></a>
  <a href="https://claude.ai/"><img src="https://img.shields.io/badge/Built%20with-Claude%3A%20Life%20Sciences-D97757?logo=claude&logoColor=white" alt="Built with Claude: Life Sciences"></a>
</p>

<p align="center">
  <b>Mechanism attribution for perturbation screens — threshold vs gain vs ceiling, and it abstains when it can't tell.</b>
</p>

---

## What is NUDGE

**N**ode/edg

Team