PICTURE

Thomas J. Hladish

University of Texas at Austin
1 University Station, #C0930
Austin, TX 78712

Research Interests

Contact network epidemiology

Although I've recently started working with more traditional ODE compartmental models and their stochastic Gillespie counterparts, contact networks have been the focus of my work in epidemiology and are still what I turn to to develop intuition about epi problems. In the simplest case, a network can be thought of as a group of nodes (representing people) that are connected by edges (representing interactions that could propagate a disease). Networks are an elegant approach to epidemiology because they allow us to explicitly and conveniently model heterogeneity in contact patterns between people and there is a substantial body of analytical tools that come from statistical physics to help us understand, parameterize, and validate network models.

Some of the network topics I've worked on include efficient random network generation, in silico network representation, the epidemiological consequences of non-random structures like modules (groups of nodes that are exceptionally well inter-connected), and the multi-season dynamics of a partially-immunizing disease (like influenza) as it is repeatedly introduced.

Open-source software

For better or worse, modern science is often driven by the software tools that are available. If some analysis is easy to do, then people will do it; if a vague intuition is time-consuming or difficult to explore, however, it will probably be forgotten. As new fields develop, certain new tools are written over and over again by different researchers out of necessity, creating a huge inefficiency in how research is done. It's a waste of time, and it's bad scientific practice, because everyone ends up having their own black box that produces results, with no independent confirmation that the black boxes work correctly.

Writing and publishing open-source scientific tools speeds up research and provides a natural peer-review system for the tools we use. To quote Linus Torvalds, “There really are only two acceptable models of [software] development: 'think and analyze' or 'years and years of testing on thousands of machines.'” Everyone tries to do the former with their own code, but why not aspire to do it with the same code? The final product will likely be of much higher quality.

There's one other reason I like open-source software: I love programming. The surest way for me to confirm that I understand an algorithm or model is to code it up and play around with it. If I can do something useful for other people at the same time, so much the better.

Programming education

Teaching new students to program is one of my favorite things I do every year. Programming allows you to create something out of nothing with a minimum of resources (i.e., a computer and a text editor), limited only by your ingenuity. Seeing students discover this is extremely gratifying.

In the same way that doing math forces you to formalize relationships, writing code forces you to formalize processes. This is extremely useful. If you can't formalize a process, you don't understand it; if you can, you can make a machine do the boring stuff while you go get coffee and read a book.

Since 2009 I have taught the lab component of Computational Biology at the University of Texas at Austin, and the "Graphs and Network Theory in Infectious Diseases" module at the Summer Institute in Statistics and Modeling of Infectious Diseases at the University of Washington.

Programming projects

EpiFire installation files for Windows and OS X
EpiFire source code
Texas Pandemic Flu Simulator
Bio::NEXUS Perl API