About
I build computational methods for genomic problems that become difficult when the data are large, repetitive, or poorly represented by existing references. My work sits at the intersection of computer science, bioinformatics, software engineering, and genome biology: I find where existing methods fail, build something better, and use it to answer biological questions that were previously hard to reach.
My path to computational genomics ran through electrical and biomedical engineering, bioinformatics, and computer science. As an undergraduate, I began studying bioinformatics and built a taxonomic classifier that turns DNA sequences into chaos game representation images and classifies them with machine learning. At Nile University, bioinformatics became the center of my research. I worked on k-mer algorithms for searching, partitioning, and clustering large sequence collections, and later began collaborating with Titus Brown’s lab at UC Davis. I then joined the lab for my PhD in computer science, with Titus as my advisor. During the PhD, I became increasingly interested in problems where a good biological idea was not enough. The computation also had to survive biobank-scale sequencing data, imperfect inputs, and users other than the person who wrote the code. That experience still shapes how I approach research: I care about the method, but also whether it remains useful when the problem becomes larger or messier than the original experiment.
Today, in the Dennis Lab, I work on genome assembly and genetic variation in duplicated and other difficult regions of the genome. My research has ranged from building chromosome-scale mammalian genomes to studying rare and de novo variation in autism families. The biological questions differ, but I keep returning to the same problem: important information is often already present in the data, yet our references, representations, or algorithms prevent us from seeing it clearly. I enjoy finding those blind spots, building the computational machinery needed to get past them, and then returning to the biology with a view that was not available before.
I also care strongly about what happens to a method after the paper is finished. Not every analysis needs to become a software package. Still, when an approach is broadly useful, I want other researchers to be able to inspect it, reproduce it, adapt it to another organism or cohort, and improve it. That is why open-source software, documented workflows, and public genomic resources are an important part of how I work. A method I build becomes more valuable when it can leave the project that produced it and become part of how other people do science.
Away from work I play chess and billiards, swim, and kayak. I still build things for the fun of it, mostly serverless and WebAssembly web applications.