Dan Kortschak

Dan Kortschak

Scientific Software Engineer


Dan is actually doing science.


  • Reproducible research
  • Software engineering
  • Genome evolution
  • Graphical analysis
  • Data visualisation


  • PhD in Genetics, 1998

    The University of Adelaide

  • GDip Education, 2006

    The University of Adelaide

  • BSc (Hons) in Biochemistry, 1993

    The University of Adelaide


Projects I am involved in or own.



mbg is an mbox forensics tool written for fun.


AusOcean is an environmental not-for-profit with a mission to help our oceans through the use of technology.


The typogenetics game from Gödel, Escher, Bach: an Eternal Golden Braid.


arrgh is a Go interface to the OpenCPU R server system.


bíogo is a collection of packages for bioinformatics written in the Go programming language.


ev3go is a Go interface to LEGO® Mindstorms-compatible robotics platform built on the ev3dev.org Linux distribution.


Gonum is a collection of scientific software packages written for the Go programming language.


utter implements a deep pretty printer for Go data structures.


Invoke the hive mind.

Recent Publications

The effect of compound kushen injection on cancer cells: Integrated identification of candidate molecular mechanisms

Traditional Chinese Medicine (TCM) preparations are often extracts of single or multiple herbs containing hundreds of compounds, and …

Horizontal transfer of BovB and L1 retrotransposons in eukaryotes

Transposable elements (TEs) are mobile DNA sequences, colloquially known as jumping genes because of their ability to replicate to new …

Transposable elements and gene expression during the evolution of amniotes

Background: Transposable elements (TEs) are primarily responsible for the DNA losses and gains in genome sequences that occur over time …

Divergent genome evolution caused by regional variation in DNA gain and loss between human and mouse

The forces driving the accumulation and removal of non-coding DNA and ultimately the evolution of genome size in complex organisms are …

Superior ab initio identification, annotation and characterisation of TEs and segmental duplications from genome assemblies

Transposable Elements (TEs) are mobile DNA sequences that make up significant fractions of amniote genomes. However, they are difficult …

Selected Talks

Beyond a joke: Writing jokes in Go and what can come of it

This is a discussion of the role of humour in communication and how that can be used in the context of software engineering.

Accidentally starting a community project in Go

This is a talk about the accident of coming to write a suite of scientific software and how that works with Go, and some design principles in Gonum that deviate from idiomatic Go.

Illuminating next generation sequencing data with Go

This talk goes through an examination of discordant read pairs for Structural Variant detection using bíogo to answer the question, “How often does a discordant pair arise due to the sequencing technology as opposed to the underlying biology?”


I have written and taught a variety of courses in bioinformatics and software engineering practice for scientists, and coordinated the Master of Bioinformatics programme at the University of Adelaide from 2018 to 2020.

A half day course in basic git use is available here.

Other interests

Dan has other interests outside science and software development. He will share these things face to face.