This Python-based tool automates the design of microfluidic gradient generators for connecting multiple modules, such as organs-on-a-chip. It was developed in collaboration between the Chair for Design Automation at the Technical University of Munich (TUM) and the BIOS group at the University of Twente, as part of the Munich Microfluidic Toolkit (MMFT).
The tool supports automatic placement of modules and connects them through a microfluidic network capable of generating concentration gradients in both the x- and y-directions. Layouts are designed to follow ISO standards and are, where feasible, sized to fit standard well plate dimensions.
- Automated placement and routing of modules, e.g., organ-on-a-chip designs
- Gradient generation in both x and y directions
- Configurable parameters: number of modules, dilution settings, spacing, channel dimensions, and more
- ISO-compatible layouts optimized for standard well plate footprints
This tool requires Python. Create the repository-wide Python environment in the location used by the command-line tool, backend, and GUI development scripts:
python -m venv backend/venv
source backend/venv/bin/activate
python -m pip install -r requirements.txtRun the command-line tool from the repository root as a Python module:
backend/venv/bin/python -m src.mainIf the virtual environment is already activated, the equivalent command is:
python -m src.mainDo not run python src/main.py directly. The source now uses package-relative
imports, so it must be executed with -m src.main from the repository root.
The default command uses the settings in src/config.py, writes DXF output
under results/, generates GeneratedTest.cpp, and opens a Matplotlib
preview window.
Extra parameters, including the number of modules in each direction, the dilution, minimal channel distances and spacing as well as channel width and height can be defined in the config.py script.
There is a graphical user face available. To start the app locally change into the gui directory and run
npm run dev There are several tests, as well as the option to generate a 1D simulation file for the mmft-modular-1D-simulator, the file is generated for the designed geometry or across a sweep of different heights to account for fabrication inconsistencies. To run the simulation copy the file content into the tests GradientGenerator file in the simulator and execute the following commands:
mkdir build
cd build
cmake ..
make
./dropletTest --gtest_filter=GradientGeneratorTo execute the tests for the code, run from the repository root:
backend/venv/bin/python -m pytest -vYou can also activate the venv first and then run python -m pytest -v.
