Skip to content

Modeling Cancer Evolution

UK cancer researchers use Julia to model tumor growth, informing interpretation of cancer genomes
Nature Genetics

Interpreting cancer genomes requires an understanding of how tumors develop. UK cancer researchers turned to Julia to run simulations of tumor growth.


According to the researchers, they picked Julia for the following reasons:

  • Fast and easy to code

  • Makes research more open, code is easier to read, more people likely to try out model

  • Approximate Bayesian Computation (ABC) algorithms require potentially millions of simulations - must be fast

  • Write the model and inference framework in Julia - no need to use different languages

  • BioJulia project for analyzing biological data in Julia

  • Bayesian MCMC methods Lora.jl and Mamba.jl

Researcher Marc Williams says that evolutionary simulations were significantly faster in Julia compared with other languages:

Coming from using Matlab, Julia was pretty easy, and I was surprised by how easy it was to write pretty fast code. Obviously the speed, conciseness and dynamic nature of Julia is a big plus and the initial draw, but there are other perhaps unexpected benefits. For example, I’ve learned a lot about programming through using Julia. Learning Julia has helped me reason about how to write better and faster code. I think this is primarily because Julia is very upfront about why it can be fast and nothing is hidden away or “under the hood”. Also as most of the base language and packages are written in Julia, it’s great to be able to delve into what’s going on without running into a wall of C code, as might be the case in other languages. I think this is a big plus for its use in scientific research too, where we hope that our methods and conclusions are reproducible. Having a language that’s both fast enough to implement potentially sophisticated algorithms at a big scale but also be readable by most people is a great resource. Also, I find the code to be very clean looking, which multiple dispatch helps with a lot, and I like the ability to write in a functional style.

The full article, code and notebooks are available online.