Skip to content

abcucberkeley/simucell3d

Repository files navigation

SimuCell3D

SimuCell3D is a C++ cell-based simulation framework designed to simulate tissues in 3 dimensions with high geometrical resolution.


Manual installation on linux and Windows

Windows users can manually install SimuCell3D on their machines via a Windows Linux Subsystem (WSL).

Requirements

  • GCC compiler at version 9 or higher
  • CMake at version 3.0 or higher

1. Clone this git repository
git clone https://git.bsse.ethz.ch/iber/Publications/2024_runser_simucell3d.git

2. Create a build folder in the repository
mkdir path/to/SimuCell3D/build && cd "$_"

3. Compile the code
cmake -DCMAKE_BUILD_TYPE=Release .. && make -j4

Automatic installation on any operating system with Docker

Requirements

  • Docker

1. Clone this git repository
git clone https://git.bsse.ethz.ch/iber/Publications/2024_runser_simucell3d.git
cd path/to/SimuCell3D/

2. Create a docker image
docker build -t simucell3d_docker_img .

3. Create a folder to store the simulation results
mkdir -p simulation_results

How to launch a simulation?

SimuCell3D needs 2 input files to initialize the simulations:
      1. A parameter file at the XML format (ex: path/to/SimuCell3D/parameters.xml)

      2. An initial mesh geometry in the VTK format (ex: path/to/SimuCell3D/data/input_meshes/cube.vtk)
More information on the structure of these files can be found at here and here


If SimuCell3D has been installed manually:

cd path/to/SimuCell3D/build
./simucell3d path/to/parameter/file #ex: ./simucell3d ../parameters_default_dynamic.xml

The output files will be saved based on the output folder path specified in the parameter file.


If SimuCell3D has been installed with Docker:

docker run -it -v "$(pwd)/simulation_results":/app/simulation_results  simucell3d_docker_img:latest ../parameters_default_dynamic.xml

In this second case, note that the parameter file path is relative to the build folder and only files in the repository can be accessed from the container. To add a file to the container, it must be added to the repository and then the container must be rebuilt. The simulation results will be saved in the simulation_results folder.


What output files does SimuCell3D create?

The output files of a simulation are structured in the following way:

.
|-- 
|   |-- output_folder_path
|		|-- simulation_statistics.csv
|		|-- cell_data
|			|-- result_0.vtk
|			|-- result_1.vtk
|			|-- ...
|		|-- face_data
|			|-- result_0.vtk
|			|-- result_1.vtk
|			|-- ...
|   |-- ...
|...

The output folder path can be specified in the parameter.xml file.

The simulation _statistics.csv file contains simulation statistics such as the cell areas and volumes over time. More information on this file can be found here.

Finally, the cell_data and face_data folders contain meshes of the tissue at different iterations. The cell_data meshes can be used to visualize the cell attributes (ex: volume, pressure etc). Whereas, the face_data meshes are used to visualize the atributes of the faces of the cells (triangle area, adhesion energy etc).

Both type of meshes can be visualized with the rendering software Paraview.


Additional documentation

Several tutorials have been added to this repository to explain how to launch simulations or edit the framework:

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages