[Santa-rosa-pm] Modeling synthetic biological software approaches questions/analysis

William Heath wgheath at gmail.com
Wed Oct 31 12:19:03 PDT 2007

Hi All,

I went to a perl programming meeting last night and discussed
approaches to both creating a simulator of cells working via software
and also how dna/cells really are software/computational instruments.
I hope this is not too technical for everyone but I am going to
attempt to describe the approach that nature has taken with the
programming of DNA to do work:

1.  Nature has chosen DNA as the "programming language/software" for doing work

I then specified a simple example of a requirement to create a piece
of DNA software to construct a bottle cap made of cells starting with
one cell.  When working with software in computers you can call
functions/libraries.  The functions that allow you to do work with DNA
are as follows:

1.  Activating genes via promoter regions
2.  De-activating genes via promoter regions
3.  Changing the cell membranes receptors via genes to allow/disallow
chemicals/proteins to get into the cell
4.  Producing a salinity differential inside a cell to cause osmosis
to occur allowing chemicals to get in or out of the cell
5.  Changing the electrical differential to cause chemical movement
in/out of the cell
6.  Causing the cell to divide (Do we know how to tell a cell to divide yet?)
7.  Telling a cell to die
8.  Using RNAi to disallow previously allowable genes from turning on
9.  Building proteins that within a cell will go to a certain organelle
10.  Using chemical signals to cause cells to do things
11.  Using the theory of chemical diffusion to send messages/get
messages to cells
12.  Attaching a protein to a motor protein to cause exocytosis to occur
13.  Causing a cell to differentiate into a different kind of cell by
chemical signals, the texture with which the cell is in contact
14.  Generate ATP from mitochondria for energy (Do we know how to tell
mitochondria how much to make etc... yet?  I still don't understand
how glycogen gets into the cell for the mitochondria to convert to ATP
or even specifically how ATP is used to make the cell do anything
15.  Detection of what cells are around a cell to cause the cell to do
things (I know that some cells will only grow a first layer and after
they detect that this first layer is created that they stop dividing)
16.  Influencing of free energy to bias/control the way a protein
folds which in turn causes other side effects such as what proteins
can even get into a cell etc...
17.  Secrete waste via endoplasmic reticulum  (Do we know how to tell
a cell to do this in a controlled way or is it automatic?  Another
question is what is automatic in a cell that a software developer of
DNA can take for granted?  For example, an operating system has
automatic functionality etc...)

Can anyone else think of any other functions that can be invoked via
DNA that I missed?  I didn't cover viruses as a tool for doing work
with cells but I guess that is a possibility.

Now I want to ask you a question that is probably too hard to answer
but if anyone has courage to try, use the functions I have specified
in 1 - 17 to construct a bottle cap starting with one cell that you
inject your dna software into.  \_/ <- bottle cap

I will show you my attempt at creating a 3 dimensional bottle cap:

I am assuming the cell is in a uterus of some kind initially.  My DNA
program runs as follows:

1.  Tell my initial cell to divide (Using functions:  1, 2, 6)
2.  Somehow tell the 2 cells to join together in a plane (making the
top of the cap, don't know what function could cause this, anyone
3.  Repeat steps 1 through 2 until the top of the cap is created
(using function 15 to know to stop all cells dividing)
4.  Using diffusion signal the outer cells to begin to divide upward
(Using functions: 11, 1, 2, 5.  Note that the cells dividing upward
are at least 2 deep, I will tell you why in a minute)
6.  Repeat steps 5 through 6 until the sides of the cap are created
(using function 15 to know to stop all cells dividing)
7.  Signal the inner cells that are in a spiral patten to die forming
the cork screw type structure of the cap to twist onto the top of the
bottle (Using functions:  1, 2, 7, 11)

What would be even more amazing if someone could help me match my
functions 1 - 17 to real biobrick functions!  Anyway, please let me
know your opinions on my analysis/appraoch.

I also asked at my perl programming group what they felt was the best
language to model/simulate a cell working.  They thought it was prolog
as a cell basically is composed of a system of constraints.  What do
you all think?


More information about the Santa-rosa-pm mailing list