Home Research People Courses Publications Resources


Evolutionary Biology - BIOS 30305 (3 cr. - Taught Fall term annually)


Every area of biological investigation, from the study of biodiversity and consequences of environmental change to the origin and diversification of protein coding genes and variation in developmental processes, is informed by the principles of evolutionary biology. The field of evolutionary biology is one of the most dynamic areas in biology with application to understanding disease dynamics, human biology, agriculture, and the conservation of biological diversity. The study of evolution encompasses both the description and analysis of historical patterns in the biological diversity of life as well as the conceptual and mathematical frameworks that describes the processes causing evolutionary change through time. In this course, we develop the basic mathematical frameworks for population and quantitative genetics and examine evolution at the molecular and phenotypic levels. Throughout the course we draw extensively from the primary literature to illustrate the amazing diversity of life around us and the evolutionary processes that have shaped this diversity over hundreds of millions of years.

Ecological Genetics and Genomics - BIOS 60574 (1-3 cr. - Co-taught Spring term annually w/ Jeff Feder)


The objective of this topics class is to explore the burgeoning field of Ecological Genomics, with an emphasis on the issue of population divergence and speciation. Recent advances in molecular genetic techniques and high-throughput DNA sequencing have opened up new vistas in how we can approach classic questions about the dimensions of biodiversity in nature (what is out there and why?), how organisms adapt to the environments they live in, how natural populations will respond to rapidly changing environments, and the role that ecological adaptation plays in the genesis of new biodiversity. Bios. 60574 will examine the latest technical advances in molecular genetics that are changing our approach to data collection, and expanding the scale of investigation to whole genomes. But more importantly, the class will investigate how these methodologies, and the availability of genome level data, are currently being used to approach important questions in ecology and evolution. Will Ecological Genomics lead to new paradigm shifts in how we view the living world? Are there aspects of living systems that can only be discovered from a networks approach integrating genomics, transcriptomics, proteomics, and metabolomics with natural history? Or is the power of the new methodology mostly going to be realized by those who efficiently shift through the mounds of new genomic data generated to devine answers to age-old questions posed by students of the natural world? What do you think? Our task is to identify the leading edge of this exciting field as a jumping off point for future investigation.

Basic Computing for Bioinformatics - BIOS/CSE 60132 (3 cr. - Co-Taught with Scott Emrich (Computer Science Engineering))


This cross-listed course covers the nuts and bolts of data-centered computing tasks in a Unix/Linux environment. We cover the basics of using such an environment, including installing and running software on remote machines. We make use of many command line tools to explore and analyze data, and use of programming languages such as Python to A) write our own analysis tools as needed and B) act as glue to make effective pipelines of other tools. Course Outcomes: At the end of the course, students will have a toolbox of techniques for data analysis and the ability to put them together to form pipelines, including:

1. Navigate and use the Unix file system, including understanding directory structure/permissions, and creating/editing/removing files.
2. Know the basic functionality and options of building block data analysis tools included in Unix-like operating systems such as sed, awk, grep, and sort.
3. Install and run several types of software in this environment, including, but not limited to BLAST and a sequence assembly program such as Trinity.
4. Understand how to chain these tools together to answer novel questions about tabular data.
5. Use scripting languages such as Python to analyze data from sources such as BLAST or Trinity.
6. Explore and visualize data using tools such as R.

Topics in Population Genomics - BIOS 60505 (1-3 cr. - Taught by demand)


The field of population genomics is a rapidly moving area rich in theory and applications. This course is based on a working group concept to bring advanced students together to explore recent papers, work through software, and share data and analysis. Topics include variant calling, GWAS, QTL analysis, genome scans and phylogenomics. A working knowledge of UNIX/LINIX and basic population genetic theory is helpful.