Programs and other material produced by us

This is a collection of programs, scripts, manuals, etc. that we wrote over the years. Some of them were used to produce results in various publications. Some of the code is relatively well documented, some isn't. Feel free to use and modify the programs any way you want. If you need help understanding certain programs, I will try to help. But my time is limited, and for a lot of the old programs, I might not even remember anymore what exactly I did. That's especially true for anything Matlab or Fortran since I haven't used either in years.


YaRI = Yet another R Introduction - I always wanted to give something a a name like that! This is a short introduction to R that I compiled and use for various courses I teach that are based on R. The R-scripts yari-example1.r and yari-example2.r are also needed if you want to work through the whole tutorial. And if you want to mix your own tutorial, here is the source code. (While I don't insist on it, it would be nice if you shared your remix with me and the rest of the world.)


Introductory Material for Infectious Diseases: A simple NetLogo and R model and an accompaning worksheet: NetLogo-IDmodel1.nlogo, R-IDmodel1.r, and IDmodel1-Worksheet.pdf. This set of papers is useful as background reading: ID-papers.zip.


script1.r, script2.r, script3.r, script4.r, script5.r, decay-data.csv, duck-data.csv - A collection of R scripts and accompanying data to do the various analyses described in Handel et al. (2013) PLoS Comp Bio.


resimmcode.m - A short Matlab program that simulates the dynamics of bacteria and drugs during emergence of resistance. A version of this code was used in Handel et al. (2009) JTB.


gapjunction.nlogo - An agent-based simulation, written for the freely available Netlogo platform. The code simulates gap junction mediated antigen transport during the local spread of virus and clearance by CTL. The simulation is described and used in Handel et al. 2009 JRSI.


populationmodel.m - A Matlab program that simulates the evolution of a bacterial population in repeated exponential growth and serial dilution cycles. A version of this code was used in Handel and Rozen 2009 BMC Evo Bio. Note that to run the program, you will need to also install the freely available lightspeed collection of Matlab functions.


outbreakcontrol.m - A very simple Matlab program to create the data for the figures in Handel et al (2007) PRSB, which deals with ways to best control multiple infectious disease outbreaks.


compensatorymutation.m, SIS3strainsteady_prob.f90, SIS3strainsteady_time.f90 - (sparsely documented) Matlab and Fortran programs to simulate the evolution and spread of drug resistance through compensatory mutations. Details about the mathematical model can be found in Handel et al (2006) PLoS Comp Bio.


Some useful research tools

This section is mainly intended for potential group members so they know what they might be getting themselves into. If others profit from some of the information, even better.

Computation/Simulation software


Our current programming environment of choice is the free and Open Source software R. We use it for almost all of our projects.


Some of our research involves spatially explicit, agent based simulations. We currently write those simulations in NetLogo, a free agent based simulation platform. Netlogo is very easy to program, and quite powerful and flexible. Speed is not great but decent.


Sometimes we need to do a bit of analytics. While Mathematica and Maple are the two main programs for analytical calculations, they are expensive. We have found that for our purpose, the freely available Maxima suffices.


Writing/Presentation software

If you need to write articles with equations, properly embedded figures and tables, etc., word processors such as MS Word are not too great. Use LaTeX instead. It usually comes pre-installed with most Linux distributions, a very good Windows implementation also exists. LaTeX needs getting used to. Instead of writing in a visual style, you write commands that tell the program what to do. But once you figured it out, it's easy and fast.


You will also want a good reference manager. LaTeX uses BibTeX. A bibtex file is basically one long text file that contains all your references. A number of programs allow you to easily manage that file. A good open-source/cross-platform reference manager is JabRef. It has a nice GUI, can automatically import references from places such as PubMed, you can do fulltext search, etc. It runs on any machine that has Java installed. We also use Zotero and Mendeley, both of which have functionality beyond that provided by JabRef.


Other useful tools

Sometimes you don't want big brother and others to see your data. That applies to personal data, as well as potentially sensitive public health data. You can use GnuPG to encrypt files/emails and Truecrypt for things like flashdrives or hard disk partitions. To securely transfer files between computers over the internet, use ssh/scp. It's pre-installed on Linux, WinSCP is good for Windows machines.


If you need to regularly synchronzie files between different machines, Dropbox, Sugarsync, Google Drive or similar services are very useful. Dropbox even works nicely with large files, such as encrypted TrueCrypt containers.


If you can get people to send you their data, great! But often, that fails, even if the data is already published. A great tool to extract data from figures is the free program Engauge Digitizer. The program Data Thief provides similar functionality.