I'm currently filling out applications for PhD programs and was wondering what US schools you folks here on Biostars would recommend for a PhD program in computational biology. To clarify, I'm more interested in designing the computational tools bioinformaticians use through algorithm development, programming, etc than in making use of existing tools to do biological research. What US programs are particularly strong in that area?
I am a biochemist/molecular biology PhD student, but I can provide some general advice you may find helpful.
The prior advice you received, to look at specific topics then find labs is good advice but there are pitfalls, I would try a different tack. The problem you can run into is that you may apply to schools under the impression that there are positions available in the labs you identify as interesting. It may not be until you get to the school that you realize this isn't the case. This could happen for any number of reasons, the PI lacks the time, space, money, etc to take a student a particular year. She/he may not even know if positions are availabe as far out as the recruiting period, so positions of interest may or may not be available. I think you have the right to ask and try to ascertain as much information in this regard as possible, especially before moving across the globe, but the PI's themselves don't always know what will happen with current students graduation or the next grant, etc
I believe if one is truly interested in science that there are many problems and projects that would excite and motivate you, within a field such as bioinformatics (or in my case, gene regulation). Identify universities that have multiple faculty in an area of interest. This shows the school has made an investment in this area. As a student, you benefit greatly if this is the case. First, you have multiple options for labs to rotate in and potentially join, which insures you against the pitfalls I mentioned above. Additionally, you will be exposed to questions that may be of interest you couldn't have identified beforehand (i.e. not published yet, new, etc) Also, it enables you to form a thesis committee made up of multiple people who can really impact your science, rather than just one or two experts and a number of people on the outside of your field looking in (such people can be valuable, but real expertise can help you solve problems).
It seems to me that some of the coolest work being done at my university isn't published yet or outlined on a PI's website. Going to a place with multiple faculty working in a given sphere can help you stay ahead of the curve and identify novel problems or solutions to tackle beyond iterating existing work.
Lastly, I see talks all the time from people like me who work at the bench and muddle through data analysis. We don't always have the right answers and approaches at the computer. Likewise, I see talks from computational biologists who have lost sight of, or never saw, aspects of the biology they are trying to analyze. Thus, I think there can be real advantages to joining a department or umbrella program where you gain enough of an understanding of the bench side of things, and interface with bench scientists, to truly understand all facets of the problem. This last piece of advice may not be relevant to all computational biology, but certainly applies to the world of ChIP-seq, RNA-seq, etc, in which I am immersed.
As pointed out in a different answer by bede.portz being admitted to a program does not usually guarantee that the student would work in a particular PI's lab.
At the same time I don't know of programs that would focus solely on algorithmic development as to guarantee that everyone admitted would work in a specific field. In addition most labs that work on algorithmic challenges are associated with computer science departments so it is very likely that you would need to apply and be admitted to a computer science program.
But of course for every rule there are exceptions. If you can develop a relationship with a PI or a group/center prior to applying most likely by collaborating with them, it is possible to obtain an exemption from certain requirements.
The other answers have addressed this, but research topics and style at the graduate level is a function of the PI, not the department. So I would suggest you look for places that have several PIs doing the kind of work you'd like, and favor those. As others noted, there is no guarantee about joining one lab in any particular year (or, you may find once you arrive that your former top choice is not a good fit), so ideally you'd choose a place with multiple options you'd be happy with.
Having said that, even within one lab there is typically a range of projects and research styles, from tool-building to tool-using, or from basic modeling to data analysis. So in a good lab that has some range and with a flexible PI, you should be able to shape your research career as you wish. I would suggest being open with your research plans at the beginning, in order to gauge the support from potential PIs.
Finally, though I pushed the importance of the PI alone, the department label does have bearing on the "average" direction and style of the research, or the balance of applied vs. theoretical, say. A concrete example is the publication venues and styles encouraged by the hiring or tenure process in the home department (though this is changing). Labs in computer science, statistics, or math departments may tend to be more purely algorithmic than computational biology, bioinformatics, or biology programs / departments. However, this is only a generalization and true as a slight difference in averages - I would bet you can find people doing the exact same style of research (arbitrarily theoretical or applied) in either end of the "name spectrum." So don't let that limit you, and be sure to look at the actual labs in a department - just keep it in the back of your mind as a way to slightly enrich for your desired style of research, if necessary. And, though it's a much lower-order bit, this will affect the courses you're required to take to graduate - e.g. will you be happier taking a biochemistry or a distributed systems class?