Curriculum vitae



A PDF copy of my up-to-date CV can be downloaded here.

Scientific software tools



Enzo

Enzo is a simple python library that allows mathematical models of metabolic pathways to be evolved between phenotypic states. I developed this approach for a paper on the simulated evolution of the anthocyanin biosynthesis pathway. Enzo is a wrapper for the Tellurium environment, which is an excellent tool for developing reproducible systems biology simulations in Python. Enzo is a work in progress and I am planning to add additional functionality as time goes by. The primary purpose of its existence is to allow the simulations performed in Computational modeling of anthocyanin pathway evolution: Biases, hotspots, and trade-offs and Structure and contingency determine mutational hotspots for flower color evolution to be easily replicated.

To install or contribute to enzo, go to the github repo.

Orbweaver

Orbweaver is a pet project that is still a work in progress. It is a Python library designed to analyze gene co-expression relationships. Currently the functionality is limited, but it contains some useful tools for calculating distance matrices and generating network data structures.

To install or contribute to orbweaver, go to the github repo.

Kmertime

Kmertime is a super simple tool, written in python and cython, for counting k-mers in sequence data. It is reasonably fast and uses a convenient “KmerSet” class for handling the data. Kmertime also has a built-in function for generating random sequences.

To install or contribute to kmertime, go to the github repo.

Educational materials



Python for Scientists

Python is a very useful programming language that has become increasingly popular in the scientifc community in recent years. My friends and I found that there was a lack of a single centralized guide to help scientists set up a working Python environment. So, we decided to do something about it! We created a web page using Read the Docs that walks through setting up a useful Python ecosystem and also contains brief overviews of popular scientific packages and visualization tools.

Follow this link to reach the guide:

Python for Scientists

To make a contribution to the guide:

Fork and clone the master github repo

Pyway

Emergent properties arise from interactions between individual agents within systems. Think of a school of fish or a flock of starlings. One of the most famous computational examples is the simulated world of Conway’s game of life. By following just three simple rules that determine the behavior of individual agents in the model and their relationships to neighbors, beautifully complex and interesting patterns emerge. I created a simple Python package that contains all the tools necessary to simulate Conway’s game of life on a grid of any size, using either random or user-defined initital conditions. Pyway is meant as a teaching tool. It simplifies the initialization of the game and allows visualizations to be made of game trajectories.

You can install pyway from it’s github repo.

Recorded presentations



Evolution 2023 in Albuquerque, New Mexico

Colorado Native Plant Society 2023 in Denver, Colorado

Solanaceae Seminar Series 2020, Online

Botany Virtual Conference 2020, Online

Evolution 2019 in Providence, Rhode Island

Datasets and article repos



Dryad repo for “Predictive links between petal color and pigment quantities in natural Penstemon hybrids”

OSF repo for “Evolutionary walks through flower color space driven by gene expression in Petunia and allies (Petunieae)”

SRA BioProject RNA-seq dataset for “Transcription factors evolve faster than their structural gene targets in the flavonoid pigment pathway.”

OSF repo for “Transcription factors evolve faster than their structural gene targets in the flavonoid pigment pathway.”

Github repo for “Were ancestral proteins less-specific?”

SRA BioProject phage display dataset used in “Were ancestral proteins less-specific?” and “Learning peptide recognition rules for a low-specificity protein.”

OSF repo for “Structure and contingency determine mutational hotspots for flower color evolution.”

Zenodo repo for “Computational modeling of anthocyanin pathway evolution: Biases, hotspots, and trade-offs.”

Github repo for “S100A5 binds Ca2+ and Cu2+ independently.”