Skip to content

ElisabethRoesch/Perspective_Julia_for_Biologists

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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


About

Online material for the Perspective: "Julia for Biologists" presented at JuliaCon 2021: https://www.youtube.com/watch?v=gRj7E5kYG1I

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published