Skip to content

Latest commit

 

History

History
101 lines (96 loc) · 9.1 KB

File metadata and controls

101 lines (96 loc) · 9.1 KB

Perspective: Julia for Biologists

Authors: Elisabeth Roesch, Joe G. Greener, Adam L. MacLean, Huda Nassar, Christopher Rackauckas, Timothy E. Holy, Michael P.H. Stumpf.

This is the online material accompanying the paper "Julia for Biologists" and the JuliaCon presentation "Julia for Biologists". It's objective is to provide A. a diverse collection of Julia code examples and B. information on related online material in regards to Julia for biologists.

The code examples are chosen and organised in a way so that they highlight the three core language features of Julia: speed, abstraction and metaprogramming. We focus on capturing diversity in several regards:

  • examples are selected from multiple biological and methodological domains.
  • They are also designed to reflect different levels in regards to the computational focus of readers/listeners: high-level user cases (e.g. here) and low-level user cases (e.g. here).
  • Additionally, they demonstrate different access points to Julia: Pluto notebooks (e.g. here), Jupyter notebooks (e.g. here) and .jl files (e.g. here).

Example 1: Speed - Single cell data and network inference


name


This example demonstrates the speed of Julia for vectorisable code and the code can be found here. If you haven't used Pluto notebooks before, see here how to open them and explore!


Example 2: Speed - Dynamical systems and Lotka-Volterra


name


This example demonstrates the speed of Julia for non linear system code and can be found here.

  • Domain: Ecology
  • Methodology: Dynamical systems
  • Feature: Speed for non linear system code
  • Packages: DifferentialEquations.jl
  • Access point: .jl file
  • Computational focus: high-level user case

Example 3: Abstraction - Structural bioinformatics


name


This example demonstrates the composability of packages in Julia and the code can be found here.


Example 4: Abstraction - Image processing in Julia


name


This example demonstrateds code reusability and the use of lazy operations in Julia and the code can be found here.

  • Domain: Cell biology and neuroscience
  • Methodology: Image processing
  • Feature: Code reusablility and lazy operations
  • Packages: JuliaImages suite
  • Access point: Jupyter notebook
  • Computational focus: low-level user case

Example 5: Metaprogramming - Biochemical reaction networks


name


This example demonstrates metaprogramming with Julia and the code can be found here.



General resources


Intermediate language features


Switching to Julia


Julia for biologists


Community