ABSTRACT

Computers have become ubiquitous in the šeld of biological science. They serve a range of purposes, including collecting and processing signals detected by DNA sequencers, storing data in public repositories, and annotating data and performing simulations on the stored data. Biological molecules like DNA, RNA, and proteins are information carriers, instructing the system when and where a particular biological process needs to take place. In each human cell, approximately 5,000 different proteins are expressed (Celis et al., 1991); efšcient handling of this massive amount of data requires strong computational resources. In the world of computer science, data consist of a numerical value or a value that can be processed by a computer, whereas in the biological world, data consist of raw knowledge and observations and can be seen as pieces of a puzzle that needs to be put in correct perspective for a clear vision. Contributions from the šelds of computer science and mathematics have been very signišcant in expanding our understanding of cell mechanisms at the molecular level. The continuous advancements in computing technologies, supercomputers, and computer clusters are bringing signišcant changes to modern biology. The past few decades have witnessed steady progress in the šeld of bioinformatics. The late 1960s witnessed the development of algorithms responsible for the construction of phylogenetic trees and protein sequence alignment (Fitch and Margoliash, 1967; Cantor, 1968); the 1970s witnessed the development of algorithms for secondary structure prediction of RNA and proteins (Tinoco et al., 1971; Chou and Fasman, 1974); the 1980s witnessed development in sequence analysis, protein structure prediction (tertiary), molecular evolution, and database development; while the past decade witnessed development in methods of in silico drug designing.