differ-hug / README.md
componavt's picture
+sdk_version: 5.31.0
79ecbf5
|
Raw
History Blame Contribute Delete
3.08 kB

A newer version of the Gradio SDK is available: 6.19.0

Upgrade
metadata
title: Differ Hug
emoji: πŸ“Š
colorFrom: gray
colorTo: green
sdk: gradio
sdk_version: 5.31.0
python_version: '3.11'
app_file: app.py
pinned: false

Differ Hug: ODE Research Platform

An interactive platform for exploring and analyzing ordinary differential equations (ODEs), focused on gene regulatory systems and numerical diagnostics.

Features

ode System

  • Gene Regulatory ODE System: Cooperative sigmoidal activation model
  • Numerical Integration: High-precision DOP853 solver with RK45 fallback
  • Initial Conditions: Circular/sector-based ensembles with controllable center and radius

Diagnostics & Metrics

  • FTLE: Finite-Time Lyapunov Exponent with RΒ² reliability metric
  • Hurst Exponent: Rescaled range (R/S) analysis for time series
  • Curvature Statistics: Mean, median, std, p10, p90 of curvature radius
  • Path Length: Total arclength of trajectories
  • Local Z-score: Nearest-neighbor analysis of curvature metrics
  • Anomaly Score: Combined robust z-scores for outlying trajectories

Visualization

  • Phase Portrait: Trajectories in phase space with annotations
  • Time Series: x(t) and y(t) evolution over time
  • Shadowing Analysis: Perturbation growth visualization
  • Metrics Table: Full diagnostic output with highlighting

Requirements

gradio>=4.44.1
numpy>=1.24.0
scipy>=1.10.0
matplotlib>=3.7.0
pandas (optional for extended functionality)

Usage

Run the application locally:

python app.py

The app will be available at http://localhost:7860

ODE System

The gene regulatory system:

{dxdt=K x1/Ξ±b1/Ξ±+x1/Ξ±βˆ’Ξ³1 x,dydt=K y1/Ξ±b1/Ξ±+y1/Ξ±βˆ’Ξ³2 y. \begin{cases} \displaystyle \frac{dx}{dt} = \frac{K\,x^{1/\alpha}}{b^{1/\alpha} + x^{1/\alpha}} - \gamma_1\,x,\\[10pt] \displaystyle \frac{dy}{dt} = \frac{K\,y^{1/\alpha}}{b^{1/\alpha} + y^{1/\alpha}} - \gamma_2\,y. \end{cases}

Parameters

  • alpha: Controls sigmoid steepness (1/alpha = Hill coefficient)
  • K: Maximum activation rate
  • b: Half-activation constant
  • gamma1, gamma2: Decay rates

Project Structure

differ-hug/
β”œβ”€β”€ app.py                 # Gradio UI entry point
β”œβ”€β”€ differ_hug/            # Core computation package
β”‚   β”œβ”€β”€ __init__.py
β”‚   β”œβ”€β”€ compute.py         # Numerical computation functions
β”‚   β”œβ”€β”€ plotting.py        # Visualization functions
β”‚   β”œβ”€β”€ params.py          # Parameter serialization
β”‚   └── docs.py            # Documentation helpers
└── differential_equations_streamlit_src/  # Original Streamlit code (archived)

Migration Notes

This is a Gradio port of the original Streamlit implementation. Key changes:

  • Replaced streamlit with gradio
  • Separated computation logic from UI
  • Preserved all numerical diagnostics
  • Made torch-based neural network solvers optional

Citation

If you use this tool in your research, please cite:

@software{differ_hug,
  author = {Krizhanovsky, Andrey},
  title = {Differ Hug: ODE Research Platform},
  url = {https://huggingface.co/spaces/componavt/differ-hug},
  year = {2026}
}