Ian Holmes
Contents
Research interests
For links to current/past members of my group and their interests, please see our lab page.
Short summary:
- Using computers to investigate genomes, their evolution and ecology.
- Developing the statistical bioinformatics tools for this, e.g.
- phylogenetic alignment;
- stochastic grammars, string transducers and tree transducers;
- multiple alignment of RNA;
- virus and transposon annotation & analysis.
- Developing genomics infrastructure, such as the JBrowse genome browser or the Biomake build tool.
- Synthetic biology, especially RNA engineering.
Genome evolution
Computational biology needs realistic, predictive, quantitative models of the how biological sequences --- and systems --- evolve.
My lab develops & applies stochastic process models (e.g. discrete-state continuous-time Markov chains) for the study of molecular evolution.
The dynamics we have modeled include substitutions, insertions and deletions ("indels"), microsatellite dynamics, local duplications, inversions, transpositions, recombinations and rearrangements.
Systems we might consider include sequences, gene families, cis-regulatory networks and chemical signaling pathways.
Ancestral sequence reconstruction
One interest is in paleogenomics: using molecular evolutionary models to make inferences about the origins of life by working backwards from present-era DNA sequences, with the goal of reconstructing those origins in the laboratory synthetically.
Other applications of the models include genefinding, SNP analysis, simulations, and design of combinatorial libraries.
Genome ecology
A related interest is "genome ecology": the (evolutionary) interactions of genomes with their neighbors.
Examples include the bioinformatics of transposon classification, virus phylogenetics & recombination, or the metagenomics of microbial communities.
Computational tools
Understanding and re-engineering genomes (and metagenomes) will require a robust set of computational tools.
We work on infrastructural components and technologies for genome annotation, such as the Gene Ontology or our genome wiki tools.
Computational tools for synthetic biology are also an ongoing interest.
For more info see the front page, the Holmes lab page or the paper archive.
Computer games
I have an academic interest in several computer-game related areas including interactive fiction, cellular automata, and artificial life (A-life).
In the past I have written several games:
- Zoo Gas (2009) is a cheap and cheerful cellular automaton experiment. Not so much a game, as a very early-stage prototype for a game, experimenting with taking the components of simulations in molecular ecology and polymer physics, and trying to turn them into objects in a virtual world.
- Galactic Dan (1992), with graphics by James Davidson, was published by Fourth Dimension for Acorn's ill-fated Archimedes. Here's a clip on Youtube (here's another). An early, cheap & cheerful first-person shooter/platformer, spiritual descendant of the Wikipedia:3D_Monster_Maze but implemented on a fast RISC chip, it clearly "pales into insignificance" next to Wolfenstein, Doom or Wikipedia:Quake; but some people liked it. In retrospect, the tone we were aiming for was something like Duke Nukem (yes, pretty low). Dan re-appears on several compilations, lately Shootup Games Collection from APDL (review). You can find the cheat codes online.
- Pipeline (1989), co-written with William Reeve, was published by Superior Software for the BBC Micro. It rates a mention on the Wikipedia page for Jupiter's moons in fiction. 8-) Here it is on YouTube. Essentially it was a fast four-way scrolling arcade/puzzle/RPG with a level designer. There's a review here, with a download you can run on an emulator. A PC version, Pipeline Plus, is available from Superior Interactive. In development it was called GuildMaster and I imagined it as a sort of medieval/fantasy guild progression thing, with alternate professions you could follow. My contributions to the code included the non-graphics components: puzzle logic, level designer, etc.
Here are some (mostly retro) games that I've enjoyed over the years:
- Exile: Newtonian physics, implacable robots, synthetic biology, jetpacks, wind, fire, water, grenades, monkeys, mutant maggots, slime molds, bees, fish, an evil genius living in an asteroid... all in 32,768 bytes
- The first game with a "complete physics engine", according to Wikipedia, though "complete" is ambiguous
- Core Wars because programming should be Darwinian
- Not a game I played. But I just love games that are Turing-complete. The Game of Life unit cell is wonderful too
- Elite, The Sentinel and Cholo: atmospheric early 3D. I was the right age to play these
- The first two use procedural generation (as does Exile). Cholo has an intriguing post-apocalyptic thriller plot
- Interactive poetry and fiction.
- The classic authors: Wikipedia:Graham_Nelson, Andrew Plotkin, Emily Short. My picks: Violet, Wikipedia:Blue_Chairs, Wikipedia:The_Space_Under_the_Window
- Shades. Old-school 1980's multiuser dungeon on Prestel. The first mud I ever played
- UniWar - an iPhone multiplayer turn-based strategy game. Board games in your pocket...
Biographical info
I grew up in Cambridge (UK) and studied physics at the Cavendish Laboratory (TCM group) and genomics at the Sanger Institute (Informatics).
I now work at UC Berkeley and live in the Lorin District.
Publications
A list of my published papers is here
Affiliations
I am on the faculty of the Departments of Bioengineering and Electrical Engineering & Computer Science at UC Berkeley and the Physical Biosciences Division at Lawrence Berkeley Laboratory.
- Computational Biology (UCB)
- Bioengineering (UCB/UCSF)
- Biophysics (UCB)
- Computer Science (UCB)
- Board of directors, Evolutionary Software Foundation
Online locations
Contact details
- Skype: ianholmes
- Email: ihh @ berkeley
edu
- Office address: 374C Stanley Hall, UC Berkeley, CA 94720-3220
- Office phone: (510) 666 - 2790
- Department: Bioengineering
- Lab address: 381 Stanley Hall, UC Berkeley, CA 94720-3220
- Lab phone: (510) 666 - 2791