Software

I typically write software for high performance computing UNIX systems, often developing code on macOS for ultimate use on Linux. I write code in a wide range of languages, including C, C++, Python, Perl, R, JavaScript and NetLogo – depending on the needs of the individual application.

While a few of my larger programs are explicitly described below, most of the code I release is hosted on my official repository on GitHub.

Note that some of my earliest papers list “code available on request”. While that was considered good practice at the time – remember that GitHub only launched in 2008 – all of these programs are now available and documented on my GitHub site.

My group and I extensively test and validate our software, but code is never completely bug free. As always, interpret your results critically. Please contact me if you find an error. This caveat aside, my code is freely available and all of my software is released under GNU General Public License v3.0.

GitHub

SolexaQA++

illumina

SolexaQA++ creates statistics and visual representations of data quality for Illumina next generation sequencing data.


HyLiTE

hylite

HyLiTE analyzes gene-expression transcriptome data from hybrid and allopolyploid species.


IMgc

recombination

IMgc generates recombination-free sequences from recombination-rich multiple sequence alignments.


Adwave

adwave

Adwave implements wavelet analysis to infer local ancestry along the chromosomes in admixed populations.


SMARTPOP

smartpop

SMARTPOP is a fast population genetics simulator, especially designed to model social behavior and mating rules.


Recomb Package

ancestral recombination graph

The recomb package simulates and summarizes genetic datasets with recombination rates that change over time.


Microsat

microsatelites

Microsat simulates the evolution of linked and unlinked microsatellites using the coalescent.


Drifter

frequencies

Drifter simulates allele frequencies using forward-in-time evolution under the Wright-Fisher model.