Computer Science Department, Stanford University and Department of Biological Sciences and Lane Center for Computational Biology, Carnegie Mellon University.|Computer Science Department, Stanford University and Department of Biological Sciences and Lane Center for Computational Biology, Carnegie Mellon University.