Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
40 commits
Select commit Hold shift + click to select a range
803889e
all work I have done untill the midterm: tumor replicated from the na…
salva24 Aug 15, 2025
e612c20
car-t oxygen consumption
salva24 Aug 15, 2025
293c1d4
Update README.md
salva24 Aug 16, 2025
1b45fd8
Update src/cart_cell.cc
salva24 Aug 16, 2025
cc8e2bc
still in progress CAR-T displacement
salva24 Aug 16, 2025
1f81855
cleaned comments to follow Doxygen-style
salva24 Aug 16, 2025
126a7ad
Merge branch 'master' of https://github.com/salva24/CARTopiaX
salva24 Aug 16, 2025
0494c5c
changed comments to follow doxygen-style
salva24 Aug 16, 2025
d5ece7f
Remove draft_code_my_own_analysis/ from tracking and add to .gitignore
salva24 Aug 16, 2025
2f41925
remove draft_code_my_own_analysis
salva24 Aug 16, 2025
bb8fe6b
add to gitignore draft_code_my_own_analysis
salva24 Aug 16, 2025
6d5b9aa
fixing comments
salva24 Aug 16, 2025
3aa026d
[ci] Add basic github actions infrastructure
vgvassilev Aug 17, 2025
54df45b
Merge branch 'master' into master
vgvassilev Aug 17, 2025
4309a1c
Update CMakeLists.txt
salva24 Aug 17, 2025
5c5717c
Update README.md
salva24 Aug 17, 2025
d82301f
Update README.md
salva24 Aug 17, 2025
58a5a02
Update src/cart_cell.cc
salva24 Aug 17, 2025
934f828
Update src/cart_cell.cc
salva24 Aug 17, 2025
4a32933
Update src/forces_tumor_cart.cc
salva24 Aug 17, 2025
b7a48e6
changed some things to imporve code quality
salva24 Aug 17, 2025
bcd0b26
cart_cell comments fixed
salva24 Aug 17, 2025
a8471bb
changed all comments to /// in the .h and changed some of them
salva24 Aug 17, 2025
4826179
changed the project name + new readme part Results
salva24 Aug 17, 2025
532d758
minor change spelling
salva24 Aug 17, 2025
6c842c9
30-days simulation
salva24 Aug 17, 2025
6a4d6d1
Merge branch 'compiler-research:master' into add_cart
salva24 Aug 17, 2025
ef7787b
Merge branch 'add_cart' into midterm_code_push
salva24 Aug 17, 2025
a9fefd7
all work I have done untill the midterm: tumor replicated from the na…
salva24 Aug 15, 2025
4667d1f
cleaned comments to follow Doxygen-style
salva24 Aug 16, 2025
69c73e2
Update README.md
salva24 Aug 16, 2025
9ef971c
Update src/cart_cell.cc
salva24 Aug 16, 2025
05cb370
changed comments to follow doxygen-style
salva24 Aug 16, 2025
84d0473
Remove draft_code_my_own_analysis/ from tracking and add to .gitignore
salva24 Aug 16, 2025
c6b7620
remove draft_code_my_own_analysis
salva24 Aug 16, 2025
f08333c
add to gitignore draft_code_my_own_analysis
salva24 Aug 16, 2025
8ae6f23
fixing comments
salva24 Aug 16, 2025
07ed3cd
Add missing include
vgvassilev Aug 21, 2025
136f1a8
Merge branch 'compiler-research:master' into midterm_code_push
salva24 Aug 21, 2025
108fe7d
Merge branch 'ci-salva' into midterm_code_push
salva24 Aug 21, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
83 changes: 83 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -39,3 +39,86 @@

# debug information files
*.dwo

build/
output/

**/.DS_Store

#----------------- intellij -----------------
.idea
cx3d-cpp.iml

#----------------- eclipse ------------------
.project
.cproject
.settings/

#----------------- VS Code ------------------
.vscode/*

#----------------- GNU global ------------------
GPATH
GRTAGS
GTAGS

#------------------- C++ --------------------
# Compiled Object files
*.slo
*.lo
*.o
*.obj

# Precompiled Headers
*.gch
*.pch

# Compiled Dynamic libraries
*.so
*.dylib
*.dll
*.jnilib

# Fortran module files
*.mod

# Compiled Static libraries
*.lai
*.la
*.a
*.lib

# Executables
*.exe
*.out
*.app

#------------------- CMake --------------------
CMakeCache.txt
CMakeFiles
CMakeScripts
Makefile
cmake_install.cmake
install_manifest.txt

#------------------- Doxygen files --------------------
Doxyfile
doc/html
doc/latex

#------------------- Paraview --------------------
*.vtu
*.vti
*.pvtu
*.pvti


#Debugging files
*.csv

# Result files
*.xyz
*.dat

# Draft code for comparing models
draft_code_my_own_analysis/
46 changes: 46 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# -----------------------------------------------------------------------------
#
# Copyright (C) 2021 CERN & University of Surrey for the benefit of the
# BioDynaMo collaboration. All Rights Reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
#
# See the LICENSE file distributed with this work for details.
# See the NOTICE file distributed with this work for additional information
# regarding copyright ownership.
#
# -----------------------------------------------------------------------------
cmake_minimum_required(VERSION 3.19.3)
project(cart_tumor)


# BioDynaMo curretly uses the C++17 standard.
set(CMAKE_CXX_STANDARD 17)

# Use BioDynaMo in this project.
find_package(BioDynaMo REQUIRED)

# See UseBioDynaMo.cmake in your BioDynaMo build folder for details.
# Note that BioDynaMo provides gtest header/libraries in its include/lib dir.
include(${BDM_USE_FILE})

# Consider all files in src/ for BioDynaMo simulation.
include_directories("src")
file(GLOB_RECURSE PROJECT_HEADERS src/*.h)
file(GLOB_RECURSE PROJECT_SOURCES src/*.cc)

bdm_add_executable(${CMAKE_PROJECT_NAME}
HEADERS ${PROJECT_HEADERS}
SOURCES ${PROJECT_SOURCES}
LIBRARIES ${BDM_REQUIRED_LIBRARIES})

# Consider all files in test/ for GoogleTests.
include_directories("test")
file(GLOB_RECURSE TEST_SOURCES test/*.cc)
file(GLOB_RECURSE TEST_HEADERS test/*.h)

bdm_add_test(${CMAKE_PROJECT_NAME}-test
SOURCES ${TEST_SOURCES}
HEADERS ${TEST_HEADERS}
LIBRARIES ${BDM_REQUIRED_LIBRARIES} ${CMAKE_PROJECT_NAME})
131 changes: 130 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,130 @@
# CARTopiaX
# CARTopiaX

This repository provides an **agent-based simulation** of tumour-derived organoids and their interaction with **CAR T-cell therapy**.
Developed as part of Google Summer of Code 2025, the project is released under the **Apache License 2.0**.

The simulation integrates computational modeling and biological insights to explore tumour–immune dynamics and assess treatment outcomes under various scenarios.

---

## Table of Contents

1. [Project Overview](#project-overview)
2. [Dependencies](#dependencies)
3. [Installation](#installation)
4. [Building the Simulation](#building-the-simulation)
5. [Running the Simulation](#running-the-simulation)
6. [Visualizing Results](#results)
7. [Acknowledgments](#acknowledgments)
8. [License](#license)


---

## Project Overview

This project implements an **agent-based model** to simulate the behavior of *tumour-derived organoids* (lab-grown tumour models) and their response to **CAR T-cell therapy**.

With this simulation, researchers can:
- Recreate in vitro conditions for tumour growth.
- Introduce CAR T-cells and analyze their effectiveness in solid tumor microenvironments.
- Explore different treatment strategies and parameter variations.
- Evaluate outcomes such as tumour reduction, elimination, or relapse risk.

By adjusting biological and therapeutic parameters, the model enables **in silico experimentation** to complement laboratory research.

---

## Dependencies

- [BioDynaMo](https://biodynamo.org/) (tested with version 1.05.132)
- CMake ≥ 3.13
- GCC or Clang with C++17 support
- GoogleTest (for unit testing)

**Note:** Ensure BioDynaMo is installed and sourced before running the simulation.

---

## Installation

Clone the repository:
```bash
git clone https://github.com/compiler-research/CARTopiaX.git
cd CARTopiaX

```

---

## Building the Simulation

**Option 1:**
Use BioDynaMo’s build system:
```bash
biodynamo build
```

**Option 2:**
Manual build:
```bash
mkdir build && cd build
cmake ..
make -j <number_of_processes>
```

---

## Running the Simulation

After building, run the simulation using one of the following methods:

**Option 1:**
With BioDynaMo:
```bash
biodynamo run
```

**Option 2:**
Directly from the build directory:
```bash

./build/CARTopiaX
```

---

## Results

Data about tumor growth and diffrent types of cell populations is output in ./output/final_data.csv

To visualize the results in paraview use:
```bash
paraview ./output/CARTopiaX/CARTopiaX.pvsm

```

---

## Acknowledgments

This project builds upon the BioDynaMo simulation framework.

> Lukas Breitwieser, Ahmad Hesam, Jean de Montigny, Vasileios Vavourakis, Alexandros Iosif, Jack Jennings, Marcus Kaiser, Marco Manca, Alberto Di Meglio, Zaid Al-Ars, Fons Rademakers, Onur Mutlu, Roman Bauer.
> *BioDynaMo: a modular platform for high-performance agent-based simulation*.
> Bioinformatics, Volume 38, Issue 2, January 2022, Pages 453–460.
> [https://doi.org/10.1093/bioinformatics/btab649](https://doi.org/10.1093/bioinformatics/btab649)

Some of the mathematical models and solver implementations are based on the research of
Luciana Melina Luque and collaborators, as described in:

> Luque, L.M., Carlevaro, C.M., Rodriguez-Lomba, E. et al.
> *In silico study of heterogeneous tumour-derived organoid response to CAR T-cell therapy*.
> Scientific Reports 14, 12307 (2024).
> [https://doi.org/10.1038/s41598-024-63125-5](https://doi.org/10.1038/s41598-024-63125-5)

---

## License

This project is licensed under the Apache License 2.0. See the [LICENSE](LICENSE) file for details.
10 changes: 10 additions & 0 deletions bdm.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
[visualization]
export = true
interval = 7200

[[visualize_agent]]
name = "TumorCell"
additional_data_members = ["diameter_","volume_", "type_"]

[[visualize_diffusion]]
name = "oxygen"
Loading
Loading