dynamics of cell behavior. For example, a certain
protein P (produced by a gene G) is used to prevent
the production of another protein P ’ by blocking the
processing of gene G ’. The computer science analog
is keeping some parts of a program from being executed once the execution reaches a certain stage.
This behavior is akin to Edsger Dijkstra’s semaphores
in regulating the dynamic behavior of concurrent
programs [ 2].
Both systems and synthetic biology will require
expertise in computer science way beyond the expertise necessary for processing sequences. In turn, these
disciplines will challenge computer scientists with
ing is measured by special scanners linked to computers. The measurements estimate the amounts of
products generated by a gene. Microarrays can also
be used by biologists to dynamically record the
changes in gene products over time, as a cell is subjected to some external influence (such as food starvation or the effect of a drug).
Microarrays are also expensive, each costing hundreds of dollars, and tens or possibly hundreds of
them may be necessary to study the gene interactions
of a single cell. But, as with sequencing costs, microarray costs are decreasing, and the volume of data being
generated by microarray experiments is gigantic, possi-
The computer algorithms in systems and synthetic biology are akin to those
used for finding bugs or incorrect behavior in large complex programs.
problems that are at the forefront of computer science today, including how to develop nanotechnology hardware, fault-tolerant circuit design, program
verification, model checking, program synthesis from
data, and data mining.
Systems biology deals with gene interactions,
some involving hundreds, if not thousands, of genes.
When some interactions go awry, cell behavior
changes dramatically, resulting in situations like the
uncontrollable growth of a cancer. Thus, the computer algorithms in systems and synthetic biology are
akin to those used for finding bugs or incorrect
behavior in large complex programs. Debugging is
one of the most arduous tasks in program development. Nonetheless, computer scientists have already
developed sophisticated tools to facilitate debugging,
some applicable for finding faulty configurations in
A microarray, or genome chip, is a silicon chip
that has become a common tool in systems biology.
It includes tens of thousands of minute wells, each
with multiple short strands of DNA material representative of each gene ( www.affymetrix.com/index.
affx). Each strand is matched with its counterparts
obtained through a wet-lab experiment involving the
genes of the cell being studied. The degree of match-
bly surpassing the size of the available DNA data.
Even though results of microarray experiments are
coarse and may contain laboratory errors, they represent challenging problems for data-mining experts.
Several research groups led by prominent computer scientists have immersed themselves in fascinating research involving the amalgamation of
computer science and systems biology. For example,
a team at the Weizmann Institute led by Ehud
Shapiro has designed nanobiological processors that
function as finite-state-automata to recognize desired
sequences of DNA and eventually deliver drugs
capable of correcting cell behavior that could lead to
disease ( www.wisdom.weizmann.ac.il/math/profile/
scientists/ shapiro-profile.html) [ 8].
As mentioned earlier, synthetic biology is a
notable leading-edge effort in systems biology. Its
aim is to use the existing “processing” capabilities of
a cell (such as yeast or E. coli) to perform such tasks
as cleaning the environment, detecting dangerous
chemicals, and manufacturing drugs. J. Craig Venter,
a pioneer in sequencing the human genome, is pursuing the goal of generating (in a wet-lab) very long
sequences of artificially produced DNA (www.jcvi.
org). The artificial DNA is being designed to perform the tasks involved in reengineering cell behav-