Interpreting cancer genomes requires an understanding of how tumors develop. UK cancer researchers turned to Julia to run simulations of tumor growth.
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
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.