Computational Biology

Computational Biology is an advanced course offered within the context of our Computer Science Degree Program. It is a theoretic-practical course that covers most of the fundamental concepts and algorithms regarding computational biology, with special emphasis on parallel programming. A set of classic books and articles (see bibliography bellow) give scientific support to the course, while the Bioinformatics Laboratory at UFSC supports the course's practical activities.


The formal requisite for this course is Data Structures, but Parallel Programming is strongly recommended.

Program (54 hours)

Topic Notes Hours
1 - Introduction notes 3
1.1 - Historic Perspective
1.2 - What is Computational Biology anyway?
1.3 - Computational Biology in Brazil
2 - Introduction to Molecular Biology notes 3
3 - Genomics
3.1 - DNA Sequence Alignment
notes 9
3.2 - DNA Fragment Assembly
notes 6
4 - Parallel Programming Revisited
4.1 - Parallel Computers and Programming Paradigms
notes 3
4.2 - Modeling Parallel Programs
notes 3
4.3 - MPI Overview
notes 6
5 - Computational Biology Project 10
6 - Discussion 2


  1. Global sequence alignment
  2. Parallel programming with pthreds


Students will have their skills in computational biology through an written exam and a practical work. The written exam shall cover program topics 1 though 4, while the practical work consists in designing and implementing a parallel computational biology application or tool.


  1. Mark K. Adams, Chris Fields and J. Craig Venter, Automated DNA Sequencing and Analysis, Academic Press, 1994.
  2. Al Geist, Adam Beguelin, Jack Dongarra, Weicheng Jiang, Robert Manchek and Vaidy Sunderam, PVM: Parallel Virtual Machine: A User s Guide and Tutorial for Network Parallel Computing (Scientific and Engineering Computation, MIT Press, nov 1994.
  3. The MPI Forum, MPI: A Message-Passing Interface Standard, 1995.
  4. Ian Foster, Designing and Building Parallel Programs, Addison-Wesley, 1995.
  5. John D. Kececioglu and Eugene W. Myers, Combinatorial Algorithms for DNA Sequence Assembly, Algorithmica, January 1993.
  6. Gene Myers, Whole-genome DNA Sequencing, Computing in Science and Engineering; 1(3):33--43, 1999.
  7. Saul B. Needleman and Christian D. Wunsch, A General Method Applicable to the Search for Similarities in the Amino Acid Sequence of two Proteins., Journal of Molecular Biology; (48):443--453, 1970.
  8. Pavel A. Pevzner, Computational Molecular Biology: an Algorithmic Approach, MIT Press, August 2000.
  9. Pavel A. Pevzner, Haixu Tang and Michael S. Waterman, An Eulerian Path Approach to DNA Fragment Assembly, In: PNAS; 98(17):9748--9753, August 2001.
  10. Joao Setubal and João Meidanis, Uma Introdução a Biologia Computacional, IX Escola de Computação, Recife, July 1994.
  11. João Carlos Setubal and João Meidanis, Introduction to Computational Molecular Biology, Brooks/Cole, January 1997.
  12. T. F. Smith and Michael S. Waterman, Identification of Common Molecular Subsequences, Journal of Molecular Biology; (147):195--197, 1981.
  13. Michael S. Waterman, Introduction to Computational Biology: Maps, Sequences and Genomes, CRC Press, June 1995.
  14. Arnaldo Zaha, Biologia Molecular Básica, In: Ciência XXI, Mercado Aberto, Porto Alegre, 1996.