My software

As a PhD student in ancient DNA genomics, I became really interested in designing and thinking about intuitive programming interfaces to complex computational methods. In particular, it became clear to me that a well-designed, easy-to-use research software will make it easy for novel researchers to get started, easy for experts to push the boundaries of what is possible by eliminating friction wherever possible, all while facilitating reproducibility in the process. The less friction in integration of various component of research pipelines, the better.

As part of this interest, I adopted the R programming language both as my main tool of research and the means to explore these ideas and put them into practice. As a result of this work, I published the following R packages so far:

admixr

admixr was the first software I’ve published. I originally built it because I needed to run a huge number of statistical analyses using the ADMIXTOOLS software suite—a powerful set of programs, but quite cumbersome to use due to their reliance on pure unix terminal interfaces and ther need for setting up various configuration files to direct how analyses should be conducted. admixr solves this problem by providing a natural R interface for communication with ADMIXTOOLS programs in the background, automatically, from within R, and without any user intervention, and for presenting results in standard R data-frame objects.

  • project website: here
  • GitHub link: here
  • publication (peer-reviewed): here

slendr

The slendr R package started as a collection of scripts to simulate complex spatio-temporal genomic data on real geographic landscapes created as means to simulate data sets for benchmarking and testing inference methods in spatial population genetics. However, it soon became something much more general—an efficient, simple-to-use R simulation framework for population genetic simulations in general (spatial and non-spatial, forward or coalescent).

  • project website: here
  • GitHub link: here
  • publication (peer-reviewed): here

demografr

After I built slendr, I realized that I have arrived at an extremely useful tool not just for population genetic simulations but also for simulation-based inference. After all, with any method like an Approximate Bayesian Computation (ABC), the most challenging aspect is having to write custom-tailored code for simulation demographic histories and computing summary statistics, for every single project. slendr solves both of these issues by providing a trivially easy interface for simulation and genomic data analysis—which is where demografr steps in and builds an inference framework around slendr. demografr currently supports ABC and parameter grid-based inference, with additional inference techniques in the pipeline.

  • project website: here
  • GitHub link: here
  • publication: in progress!

other software

The software above are all tools that I actively support and maintain, are used in on-going projects, and are (or soon will be) described in formal research publications. Other pieces of software I wrote and work-in-progress projects can be found on my GitHub profile.