Paul Macklin's Math Cancer Lab Website

MathCancer on Twitter

Recent news

Friday, Sep 9th, 2016
Coarse-graining discrete cell cycle models: Introduction One observation that often goes underappreciated in computational biology discussions is that a computational model is often a model of a model of a model ... [read more]

Tuesday, Aug 30th, 2016
Some quick math to calculate numerical convergence rates: I find myself needing to re-derive this often enough that it’s worth jotting down for current and future students. Introduction A very common task in our ... [read more]

Click here for more news!

Open Source

I have been involved in open source software development since 2005. Here are the main projects released by my lab.

PhysiCell Screenshot

PhysiCell: Physics-based multicell model

This core technology, in development since 2007, models individual cells as agents. Each agent has a lattice-free position (center of mass), a velocity that is determined by the balance of biomechanical forces, and a phenotype that depends upon the cell's internal genomic/proteomic state and its sampling of the local microenvironment. Cell cycle progression and apoptotic and necrotic cell death are modeled as stochastic processes that vary with the microenvironment. Detailed, state-dependent "submodels" regulate the cell's fluid and biomass content. We are the first to model the critical process of necrotic cell calcification, and have the most detailed model of cell necrosis. PhysiCell is capable of simulating 105 to 106 cells on desktop processors in complex 3-D tissue structures. Click here to read more. PhysiCell is currently in submission for peer review, and it is available as open source under the (3-clause) BSD license. PhysiCell stats

Recent reference: Macklin et al. (2012)
Recent multimedia (1): A necrotic tumor with 500k cells
Recent multimedia (2): DCIS simulations
Project website:

Download PhysiCell  

Back to top

BioFVM Screenshot

BioFVM: A biological transport solver

This code simulates the diffusive transport of multiple substrates (e.g., oxygen, glucose, growth factors, drugs) as they are secreted/released/absorbed by biological elements in 3-D tissues. We use this code to simulate the microenvironment and its interactions with cells. BioFVM is capable of simulating diffusive transport of 5-10 substrates on 1-10 million voxel meshes (generally 5-100 mm3) on desktop processors. Click here to read more. BioFVM was released as part of a peer-reviewed publication in Bioinformatics. It is available as open source under the (3-clause) BSD license. BioFVM stats

Recent reference: Ghaffarizadeh et al. (2016)
Project website:
Alternate download site: click here

Download BioFVM  

Back to top

CellPD Screenshot

CellPD: Cell Phenotype Digitizer

This project extracts cell phenotype parameters (currently cell birth and death rates, and logistic growth limits), with a user-friendly program. All inputs are through an intuitive Excel-compatible spreadsheet, and outputs include a series of HTML pages, publication-quality graphics, tables, and MultiCellDS digital cell lines. CellPD was written in cross-platform compatible Python, with stand-alone executables available for OSX, Windows, and Linux.

CellPD automatically fits multiple mathematical models to the supplied data, without need for programming or mathematical modeling by its user. As part of its HTML outputs, it automatically ranks the fitted model and explains the fitted parameters and models in both mathematical and layman's terms. CellPD was released as part of a peer-reviewed publication in BMC Systems Biology. It is available as open source under the MIT license. CellPD stats

Recent reference: Juarez et al. (2016)
Recent multimedia: CellPD timed demo
Project website:

Download CellPD  

Back to top

MultiCellDS Screenshot


MultiCellDS (Multicellular data standard), an outgrowth of the earlier MultiCellXML project, aims to create a data standard for sharing multicellular experimental, simulation, and clinical data. Our ultimate goal is to foster a community that develops user-friendly tools that can read, write, and recombine data into better simulations and analyses for multicellular biology and predictive medicine. As part of this effort, we are developing MultiCellDB: a repository for a curated libary of digital cell lines and peer-reviewed simulation and experimental data.

A novel part of MultiCellDS is the digital cell line: a digital analogue of experimental cell lines that will help to collect biophysical cell line measurements coming from many research groups and make them readily accessible to an ecosystem of compatible computational models. Digital snapshots provide a unified, model-independent representation of simulation data, as well as segmented pathology, radiology, and experimental data.

In the past year, MultiCellDS has grown from a single-lab effort to an international community of mathematicians, biologists, data scientists, and clinicians, with contributors in the US, the United Kingdom, Germany, and elsewhere. We are currently preparing our first method paper on a repository of over 200 digital cell lines, many of which were created from brain and breast cancer patient data. Click here to read more!

Project website:

Back to top

EasyBMP Screenshot


EasyBMP is a simple, cross-platform, open source (revised BSD) C++ library designed for easily reading, writing, and modifying Windows bitmap (BMP) image files. I use it to write rasterized images in simulations, postprocessing, and visualization. EasyBMP stats

Project website:
Alternate download site: click here

Download EasyBMP  

Back to top

EasyBMPtoAVI Screenshot


EasyBMPtoAVI is a simple, cross-platform, open source C++ program for converting series of images into an uncompressed movie. I use this to efficiently generate animations of my simulations via SSH and download the zipped AVI file. EasyBMPtoAVI stats

Project website:
Alternate download site: click here

Download EasyBMPtoAVI  

Back to top