A newer version of the Gradio SDK is available: 6.20.0
metadata
title: Uric-Acid Colorimetric Concentration Predictor
emoji: 🧪
colorFrom: blue
colorTo: green
sdk: gradio
sdk_version: 5.9.1
python_version: '3.11'
app_file: app.py
pinned: false
license: mit
Uric-Acid Colorimetric Concentration Predictor
Interactive demo for the smartphone-based colorimetric uric-acid (UA) biosensor built on a bimetallic Ag–Cu micro-flower (Ag-Cu-MF) nanozyme + TMB chemistry.
Enter the R, G, B of an oxidised-TMB reaction well and the buffer; if you have the same phone's blank (0 μM) reading, enable Use per-device blank for best accuracy. Four models predict UA concentration in parallel and the ANN released with the manuscript is highlighted.
Models
| Model | Description | Held-out R² | RMSE (μM) |
|---|---|---|---|
| Linear (raw RGB) | per-buffer OLS on R, G, B | 0.587 | 128.5 |
| Linear (ΔRGB) | per-buffer OLS on ΔR, ΔG, ΔB | 0.722 | 105.4 |
| Random Forest | 500 trees, depth 10, all features | 0.893 | 65.3 |
| ANN (this work) | 5-seed MLP-Wide-Reg [128, 64] ensemble | 0.874 | 70.9 |
Metrics are the published values on the 28-sample held-out fold (one random replicate per buffer × concentration cell). ΔRGB = blank − measurement, computed per device. Features are R, G, B, ΔR, ΔG, ΔB plus a 4-D one-hot buffer code.
Files
app.py— Gradio interfacemodel.pt— 5-seed ANN ensemble + fitted scalerrf_model.pkl— Random Forest referencebaselines_linear.json— per-buffer linear coefficients (raw RGB and ΔRGB)mean_blanks.json— cohort-mean blank RGB per buffer (fallback)inference.py— standalone (non-UI) inference helper
Caveats
- Trained on a single Ag-Cu-MF + TMB chemistry, four buffers, six phones.
- Predictions are clamped at 0 μM and are most reliable within 0–600 μM.
- Mean-blank fallback is approximate for devices far from the training cohort.
- Research use only; not a medical device.