Software

The software that I have developed in my research falls in one of the following categories.

Cancer genomics

PMH-S PMH-S is a fixed parameter tractable (FPT) algorithm for the Parsimonious Migration History problem for the case where the migration graph is restricted to a tree (i.e. $\mathcal{P} = \{S\}$). The asymptotic running time is exponential in the number $m$ of locations.
SPhyR SPhyR is an algorithm for reconstructing phylogenetic trees from single-cell DNA sequencing data. SPhyR employs the $k$-Dollo phylogeny model, where each single-nucleotide variant can only be gained once but lost $k$ times.
MACHINA MACHINA is a computational framework for inferring migration patterns between a primary tumor and metastases using DNA sequencing data.
SPRUCE SPRUCE reconstructs the tumor evolutionary history of a tumor from multi-sample bulk DNA sequencing data, incorporating both single-nucleotide variants and copy-number aberrations. SPRUCE employs a combinatorial exhaustive enumeration.
AncesTree AncesTree reconstructs the tumor evolutionary history of a tumor from multi-sample bulk DNA sequencing data. AncesTree incorporates single-nucleotide variants under the infinite sites assumption.

Network biology

eXamine eXamine is a Cytoscape 3.x app that displays set membership as contours on top of a node-link layout. Source code is available on Github.
xHeinz xHeinz identifies conserved dysregulated network modules given differential expression data from two organisms and their protein/gene interaction networks.
Heinz Heinz identifies dysregulated network modules given differential expression data and a protein/gene interaction network.
Natalie 2.0 Natalie 2.0 is a method for network alignment based on Lagrangian relaxation.

Miscellaneous

CSO The Crossing Schedule Optimization (CSO) problem arises in the context of marker-assisted plant breeding, where we are given a desired diploid genotype $C^*$ in the form of a $2 \times m$ binary matrix. In addition, we are given a set $\{C^1,\ldots,C^n\}$ of $n$ parental genotypes, an $m \times m$ recombination probability matrix $R$ and a desired probability $\gamma$ of success. The task is to identify a crossing schedule (DAG) with minimum depth, total population size, generations (depth) and crossings (internal vertices) that results in $C^*$ from $\{C^1,\ldots,C^n\}$.