Introduction to basic computational issues and methods used in the field of bioinformatics and computational biology. This course emphasizes the implementation of methods and how one goes about attacking computational problems in biology, not expert use of existing tools. Areas addressed include analytical thinking, problem decomposition, and algorithm design and implementation as applied to biological problems such as alignment of DNA and amino acid sequences, phylogenetic tree construction, structural comparisons of proteins, homology modeling, molecular dynamics and energy minimization, gene finding, microarray data analysis, and statistical analysis of biological data. Project assignments will focus on the design and implementation of algorithms addressing these biological areas.
At the conclusion of this course, the student will be able to:
- Understand the principals of algorithm design;
- Compare and contrast different algorithmic approaches to solving biological problems;
- Implement efficient algorithms.
Students are expected to have programming competence in a language such as Python, C, C++, or Fortran. (Examples in class will be primarily in Python.) This course focuses on algorithm understanding and design, not learning how to program. Recommended: BMI-206 - Introduction to Bioinformatics, and PC-204 - Introduction to Object-Oriented Programming.
Although accounts will be provided on request on host socrates.cgl.ucsf.edu for use in doing homework assignments and the final project, students may use any convenient computing facilities for their work. Indeed, any personal PC should provide an adequate computing platform for use with the course. Students desiring to download and install a Python interpreter on their PC or Macintosh can find the lastest version at www.python.org. If you prefer to use host socrates instead, drop by room S-1024, ask for an "Account Application Form" and then fill it out, indicating "BMI-203" as the research project. Such accounts will remain active until the end of spring quarter unless other arrangements are made. Host socrates can be reached via the Internet using the "ssh" terminal emulation protocol. See the Secure Shell Tutorial for details.