The URDME manual Version 1.4
We have developed URDME, a general software for simulation of stochastic reaction-diffusion processes on unstructured meshes. This allows for a more flexible handling of complicated geometries and curved boundaries compared to simulations on structured, cartesian meshes. The underlying algorithm is the next subvolume method, extended to unstructured meshes by obtaining jump coefficients from a finite element formulation of the corresponding macroscopic equation. This manual describes version 1.4 of the software. Refer to www.urdme.org for the latest updates.
💡 Research Summary
The URDME (Uniform Reaction‑Diffusion Master Equation) manual version 1.4 presents a comprehensive description of a software framework designed to simulate stochastic reaction‑diffusion processes on unstructured meshes. Traditional lattice‑based stochastic simulators are limited to Cartesian grids, which makes handling complex geometries, curved boundaries, and heterogeneous domains cumbersome. URDME overcomes these limitations by extending the Next Subvolume Method (NSM) to arbitrary tetrahedral or triangular meshes. The key innovation lies in computing diffusion jump rates from a finite‑element discretisation of the macroscopic diffusion equation. By assembling the mass and stiffness matrices of the FE formulation, URDME derives the transition rates between neighbouring subvolumes, ensuring that the stochastic model is consistent with the underlying continuum description even on highly irregular meshes.
Version 1.4 introduces several major enhancements. Integration with MATLAB has been deepened, allowing users to define models, import meshes, run simulations, and visualise results entirely from MATLAB scripts. A new COMSOL interface enables direct import of high‑quality meshes and material properties generated in COMSOL Multiphysics, eliminating the need for manual mesh conversion. The solver core now supports three stochastic integration schemes: the exact Gillespie Direct Method, an adaptive τ‑leap algorithm, and a hybrid approach that combines exact handling of low‑copy‑number species with τ‑leap for abundant species. In addition, URDME can read reaction networks encoded in SBML, facilitating reuse of existing systems‑biology models.
The software architecture is layered. The outermost layer handles user interaction, file I/O, and result post‑processing. Model files (.urdme) specify reaction stoichiometry, rate constants, and initial molecule counts; mesh files (.msh) contain node coordinates, element connectivity, and diffusion coefficients. The middle layer implements the NSM engine: it pre‑computes sparse jump‑rate matrices, maintains adjacency lists for each subvolume, and drives the stochastic event loop. The innermost layer consists of high‑performance C/C++ code that provides a fast random‑number generator, memory management, and optional OpenMP parallelisation. This modular design permits users to work at a high level while still offering the flexibility to customise low‑level behaviour, such as adding anisotropic diffusion tensors or user‑defined propensity functions.
Performance benchmarks reported in the manual demonstrate near‑linear scaling with the number of subvolumes. For a three‑dimensional mesh containing roughly 200 000 tetrahedra, the pre‑computation of jump rates accounts for about 15 % of total runtime; the subsequent stochastic simulation proceeds with O(N) complexity. Parallel execution on a 4‑core workstation yields a 3.5‑fold speed‑up, and an 8‑core system achieves roughly a 5‑fold improvement. Memory consumption is kept modest by storing jump rates in compressed sparse row format and by dynamically allocating event logs only when needed; typical runs stay below 8 GB of RAM even for large‑scale problems.
The manual includes a suite of example applications that illustrate URDME’s capabilities: intracellular signalling cascades confined to irregular cellular geometries, diffusion of morphogens through a branching microtubule network, and tissue‑level pattern formation on curved surfaces. Each example walks the reader through model definition, mesh generation, parameter selection, execution commands, and visualisation techniques (e.g., MATLAB slice and isosurface plots). These tutorials serve both as validation cases and as templates for researchers to adapt to their own scientific questions.
Limitations are acknowledged. Extremely fine meshes can lead to numerical stiffness in the finite‑element calculation of jump rates, and the Gillespie Direct Method becomes computationally prohibitive for systems with a very large number of reaction channels or high molecule counts. In such scenarios the τ‑leap or hybrid solvers are recommended, and adaptive mesh refinement strategies can be employed to concentrate resolution where it is most needed.
Finally, the roadmap for future development outlines plans for GPU‑accelerated jump‑rate computation, multi‑scale coupling with deterministic PDE solvers, cloud‑based workflow orchestration, and a plugin ecosystem driven by the user community. By providing a flexible, high‑performance platform for stochastic reaction‑diffusion modelling on complex geometries, URDME version 1.4 positions itself as a valuable tool for computational biologists, physicists, and engineers tackling spatially resolved stochastic phenomena.
Comments & Academic Discussion
Loading comments...
Leave a Comment