Inspiration

Red blood cells (RBCs), also called erythrocytes, are the most common type of blood cell and they occupy 40% to 45% of blood volume. During their 120-day lifespan, RBCs often squeeze through small capillaries that are smaller than the cell size (~8µm) and thus undergo large deformations. Computational modeling of RBCs can facilitate the understanding of biological problems that is not accessible by experimental studies due to the limitation on the length and time scales. However, explicit representation of lipid bilayer at whole cell level is prohibitively expensive due to the significant computational cost in simulating the lipid bilayer.

What it does

OpenRBC allows us to simulate a single RBC with explicit representations of cytoskeleton and lipid bilayer by approximately 4 million coarse-grained (CG) particles on a single SuperVessel 4-core instance.

How we built it

We invented an adaptive spatial searching algorithm to accelerate the computation of short-range pairwise interactions in an extremely sparse 3D space. The algorithm is based on a Voronoi partitioning of the point cloud of coarse-grained particles, and is continuously updated over the course of the simulation. The algorithm enables the construction of a lattice-free cell list, i.e. the key spatial searching data structure in our code, in O(N) time and O(N) space with cells whose position and shape adapts automatically to local density and curvature. In contrast, the construction of a conventional rectilinear lattice requires O(L3 + N) time and space, and leads to worse spatial searching performance. The code implements NUMA/NUCA-aware OpenMP parallelization and achieves perfect scaling with all 8 hardware threads on all cores. The code outperforms a legacy solver by at least 6 times in time-to-solution and more than 20 times in problem size, thus providing a new venue for probing the biomechanics of red blood cells.

Challenges we ran into

The computational challenge of simulating an entire RBC comes in from several angles. Due to the orders of magnitude difference in the length scale between a cell and a single protein, we need to simulate a total of 4 million particles to represent the entire RBC. In addition, the model uses an implicit solvent model and hence while eliminating the overhead for calculating the solvent, also introduces a notable spatial density heterogeneity in the particle system — the CG particles are almost exclusively located on the surface of a biconcave shell, while the inside and outside of the RBC remains empty. This density imbalance imposes a serious challenge on conventional accelerating algorithms and data structures, such as the cell list and Verlet list, which typically assumes a uniform spatial density and a bounded rectilinear simulation box. The pairwise particle-particle interactions also assumes a complex form that is more than twice as expensive as compared to conventional Lennard-Jones potentials.

Accomplishments that we're proud of

We present a from-scratch development of OpenRBC, a coarse-grained molecular dynamics code, which is capable of performing an unprecedented in silico experiment — simulating of an entire mammal red blood cell lipid bilayer and cytoskeleton modeled by 4 million mesoscopic particles — on a single SuperVessel 4-core instance.

What we learned

Designed for the particular geometry of RBCs, where lipid CG particles are located in in an extremely sparse 3D space and interact via a short-range pairwise potential, our OpenRBC can greatly increase the computational speed and reduce the memory usage.

What's next for OpenRBC

The developed RBC model will be applied to study a variety of biological problems related to RBCs such as, endocytosis, exocytosis, membrane loss through vesiculation in hereditary spherocytosis and elliptocytosis, abnormal diffusion of membrane proteins, interaction between hemoglobin fibers and RBC membrane in sickle cell disease, and RBC adhesion.

Built With

Share this project:

Updates