Graph Cross-Correction Simulation

Project motivation

This project is a computational extension of my master's thesis research. It uses simulation and graph-based modelling to test whether a biological hypothesis around molecular cross-correction is plausible under simplified conditions. The central question is: if only a subset of nuclei in a multinucleated muscle fibre are corrected, could locally transported signal accumulate enough to rescue neighbouring nuclei? The model treats this as a structured numerical experiment in signal production, diffusion, decay, and rescue thresholds.

Core Modelling idea: In the model, signal represents the corrective influence produced by genetically-corrected nuclei. Biologically, this is motivated by the translocation of genetically-corrected nuclei via the U7 snRNA which can then mediate the cross-correction of diseased, neighbouring nuclei. It treats this corrective effect as a scalar quantity that can be produced, transported across local graph connections, decay over time and accumulate toward a rescue threshold. Nuclei are represented as graph nodes. Corrected nuclei act as signal sources. The local exchange is approximated using graph diffusion and genetic correction (Rescue) is treated as a threshold response to transported signal.

Related publication

This simulation is conceptually linked to the co-authored publication: Cell-mediated exon skipping normalizes dystrophin expression and muscle function in a new mouse model of Duchenne Muscular Dystrophy . The paper investigates U7 snRNA-mediated exon skipping and cross-correction in multinucleated muscle fibres, providing the biological motivation for this modelling exercise.

Reasoning chain: biological observation → source nodes → graph structure → Laplacian diffusion → rescue threshold → sensitivity testing.

How the project evolves

Part Model change Purpose
1 Naive line simulation Turn the biological idea into executable logic
2 Graph Laplacian diffusion Replace manual averaging with a formal transport operator
3 Geometry-based spatial graph Make connectivity depend on proximity
4 Parameter sensitivity Test diffusion, decay, source fraction, and threshold assumptions
5 Cumulative exposure rescue Model sustained signal accumulation rather than instant rescue

💻 Tech Stack:

📊 Code Snippets & Visualisations:

# Graph Laplacian diffusion update
# u: signal at each nucleus
# L: graph Laplacian, q: source production
# alpha: diffusion strength, beta: decay, dt: step size

for t in range(num_steps):
    diffusion = -alpha * (L @ u)
    decay = -beta * u
    source = q
    u = u + dt * (diffusion + decay + source)

    exposure = exposure + u * dt
    rescued = exposure >= rescue_threshold
Corrected source nodes → graph diffusion → rescue threshold Green: corrected/source · Gold: rescued/exposed · Grey: below threshold
Conceptual visualisation: Corrected nuclei produce signal; neighbouring nuclei receive transported signal through graph connectivity.

Key result

The project shows that rescue depends not only on how many nuclei are corrected, but also where they sit in the spatial network, how strongly signal diffuses, how quickly it decays, and whether rescue requires immediate or cumulative exposure.

Limitations

This is a proof-of-concept simulator, not a calibrated biological model. It simplifies fibre geometry, signal chemistry, stochastic expression, and tissue-level variation. Its value lies in clarifying assumptions and making the biological hypothesis computationally testable.

What this demonstrates

This project shows cross-domain reasoning: a thesis-driven biological hypothesis becomes a graph model; the graph model becomes a simulation; and the simulation becomes a structured way to ask what conditions make local rescue plausible before moving toward more experimentally grounded modelling.

View on GitHub

← Back to Projects