Julia in population/systems biology article


#1

Continuing the discussion from [ANN] Special issue on the Julia programming language:

Following discussions with @ChrisRackauckas @mkborregaard and @kevbonham – there seems to be some interest in writing a perspective/overview piece on the promises and uses of Julia in systems/computational biology, with (maybe) an emphasis on population biology.

Let’s start the discussion here.


#2

Great, thanks! I’m in the microbiome field, and I’m writing a package for the microbiome. There’s a fair bit of overlap with Ecology stuff, though the communities don’t talk much to each other (at least, human microbiome folks don’t go to the same conferences as microbial ecologists).

Standard issues of multi-language problems abound (in my lab alone we have people working in python, R, matlab, and many calling modules written in C). Data generation is going nuts.

I have a lot of ideas for what would be useful to write, though if we get serious about this I’d need to chat with my advisor about taking the time… I don’t have him on board the julia train just yet.


#3

I think I’d write something on hybrid multiscale methods, how abstract typing can be used to mix multiscale modeling with high order integration methods of ODEs/SDEs/DDEs, together with jumping continuous Markov Chain processes, and the applications to (cell) population modeling. I’ve mentioned how this is done a bunch but never actually got around to publishing it, so it would be a good fit here. I can put in a special discussion on how the Julia-based design allows for mixing and matching the 200+ integration schemes with different multiscale models without re-writing any of the modeling code via multiple dispatch.


#4

Looks like this would bring the paper in a “modelling” direction, which I’m absolutely fine with. In a sense, we could look at different scales (i.e. from cells or lower to meta-ecosystem models) and show how Julia can bring us closer to a common language to describe them.


#5

I’m a developer of the BioJulia project, in which we aim to make building blocks for bioinformatics/computational biology in Julia.

In my lab, we use the BioJulia libraries to write custom analysis scripts that are not so easy or performant in existing software. For example, in this paper (https://www.nature.com/articles/s41467-018-02866-0), Bio.jl (the actual tools used in it are now in BioAlignments.jl) is used to detect special kind of splicing events of RNA.

I think Julia and BioJulia tools are especially great for doing tailor-made analysis of high-throughput sequencing data, because it achieves both ease of use and performance at very high level. I think no other languages can do this at the moment, and that is the reason why we use Julia.


#6

I have contributed structural biology stuff to BioJulia at BioStructures.jl. As has been mentioned the BioJulia people have discussed on and off for a while the best mechanism for publishing the work, whether it be together as one article, a series of articles, or separately.

Whilst I don’t think structural biology would fit the scope of the article being discussed here I am interested in the outcome of this and would be happy to help as needed.


#7

As I’ve said before, I’ve a greenlight from the EiC to contribute such an article to Ecography, and I’m happy to lead it. With regards to a potential special issue I also almost have full greenlight for that, as long as the papers are relevant for the ecology/evolution/geography field. Ecography doesn’t mind moving the field, so the “widely relevant and useful” criterion won’t have to apply here. If we have scope for that, I’ll try to close the deal with some suggested titles.


#8

Reading the discussion, it could also be two different papers - what are your plans @tpoisot?


#9

One modeling paper showcasing what @ChrisRackauckas has been doing would be great, and especially if there is a discussion of what it means for modelling across scales of biological organisation.

I also think there is something to write for data manipulation (your screencast of SpatialEcology was mind-blowing to the colleagues who saw it).

So there may be two very different things.

A broader perspective piece that would maybe tie an issue together would be the new functions in Pkg3, in that project management just got orders of magnitude easier and reproducible - this would be a nice follow-up to the previous special issue in Ecography on reproducible ecology.

Now, in terms of what I could do, I would be happy to write something either on networks (no surprise) or my own experience in using Julia to teach programming to biology majors. What’s clear is that should we go ahead with a special issue, I’ll carve out the time to contribute.


#10

I can stick a similar model on a population ecology application if I get some help. @zahachtah mentioned interest awhile ago and I can dig this up, though I am much less familiar with this domain of course.


#11

I’d love to hear about the later regardless. I’m working on a similar class now (though it will likely need to be python, alas).

Special issue in Ecogeography or PCB? I think either would be great, though I think the scope of my contribution in the former would be limited.


#12

Just throwing my hat in the ring here…

I originally wrote the toy model for my thesis dissertation in Ruby in order to make the code as understandable to non-programmers as possible (albeit at the non-trivial cost of performance). I used R to analyze and chart the results for the paper. It’s been a number of years, and I’ve (mostly) left academia for a career as a software engineer, but I’ve been looking for an excuse to revisit that model and re-write it in Julia.

If there’s an interest in having something like this for the article being discussed, I could try and prioritize that re-write. It might be interesting to compare the readability of Ruby vs Julia.