An Artificial Life Program for DOS


Introduction

The study of Artificial Life (or a-life) may conjure images from Mary Shelley's Frankenstein or an episode of Star Trek, but is in fact a growing area of serious research. Artificial Life Online from the Santa Fe Institute (New Mexico) describes the discipline as:

...studying 'natural' life by attempting to recreate biological phenomena from scratch within computers and other 'artificial' media.

It is hoped that the study of this 'synthetic biology' will result in a better understanding of biological phenomena, as well as lead to new adaptive techniques in computing, artificial intelligence and robotics.

Most work in a-life has been directed towards computer simulation. Computer users will already be aware of computer viruses and worms that may be contracted from "infected" disks etc. These (usually) disruptive 'life-forms' do in fact bear more than a passing resemblance to their biological counterparts, having the ability to 'reproduce' and spread... and most engender 'disease' symptoms, varying from a mischievous message, to complete destruction of stored data. Computer a-life experiments are generally of a less threatening nature! Areas of research include:


Whether these computer generated 'life-forms' are actually alive is a matter for philosophical debate; some workers do believe that they fall within the wider definitions of life, as prescribed by the a-life discipline. The author prefers to think of such programs as simulations that behave in a life-like manner.

Having experimented with some of these programs, the author became interested in the possibility of producing an a-life model relevant to medicine; perhaps such a system, once refined, could actually be of use in clinical decision making, drug research etc. The result is the freeware program Cybercillin, an early attempt at a qualitatively accurate simulation.



Program Overview

Cybercillin simulates the growth of a colony of single cell bacteria in vitro, and the effect of an 'antibiotic' regimen. Each individual micro-organism is capable of:
  1. movement
  2. asexual division (a 3 stage process)
  3. genetic mutation
  4. conjugation (sexual reproduction)
  5. death by natural causes
  6. death by antibiotic
  7. antibiotic resistance

It is important to realise that the behaviour of the colony as a whole is not pre-programmed. Each member of the colony is allowed to behave independently, as would happen in a biological situation. Any emergent behaviour of the colony as a whole stems from an evolutionary process, based on the ideas of :
The program is written for IBM compatible computers running DOS. It will also run in a DOS box under Windows 95. The higher the processor, the better (286, 386, 486 etc.) - although the program will run slowly on an old 8088 XT machine. Memory requirement is 640kb. Monitor and video card must be able to handle colour text: 50 lines x 80 columns.



The program is packed as a zip file, 140KB in size.

Download now





General Details

The program works by keeping track of each individual micro-organism in the colony. Each has a set of genes that determine:
  1. The motility of the micro-organism.
  2. How often it divides asexually
  3. Whether it has antibiotic resistance
  4. Natural lifespan

Genetic variation is achieved by mutation of individual genes during asexual division, and by conjugation (where two micro-organisms exchange genetic material). The state of each micro-organism in the colony is updated 5 times a second, and represented graphically as an ASCII symbol in a 2-dimensional bug-world (a grid 80 columns wide by 49 rows deep, surrounded by an impenetrable boundary). While the colony remains small most computers are powerful enough to update the display in 'real time', but as the colony size increases the simulation slows down (although the elapsed time is still displayed in seconds). In order to reduce this effect, micro-organism images are not updated every cycle. A micro-organism is only re-drawn when it :
In order to achieve large populations, two or more micro-organisms may occupy the same position in 2-D space; however only one can be displayed. In consequence, as the screen becomes full, one micro-organism may be temporarily overdrawn by another.

A penicillin-like antibiotic may be introduced into the colony as a user-defined regimen. The antibiotic brings about the lysis of bacteria during asexual division. The antibiotic is denatured by 'penicillinase' secreted from resistant organisms. In the absence of antibiotic, the colony will normally develop a few 'penicillinase' emitters by mutation. When antibiotic is introduced, these micro-organisms are favoured by natural selection, and the colony rapidly becomes resistant. In addition, the 'penicillinase' emitter gene is spread by conjugation. If the dose of antibiotic is sufficiently high, then even the 'penicillinase' emitters can be destroyed.

The model makes the following assumptions:

  1. There is an unlimited food source for the micro-organisms.
  2. There is no build up of waste material that might affect the development of the colony.


Click here for a detailed description of the model



Analysis

The program is equipped with two methods for reporting on population and gene statistics:
  1. On terminating the simulation, an instant report is given of gene distribution and total numbers alive and dead.
  2. Before starting the simulation, an output file may be enabled. This repeatedly writes to a disk file (at a user defined interval), a 'snapshot' of gene distribution, population and antibiotic level. In this way, a complete picture of the colony over a period of time may be constructed. This file may be read into most spreadsheet or database software for further analysis, graphical presentation etc.


Results

The simulation performs very much as expected; bacteria can be seen to divide, conjugate and die. Although members of the colony are descended from a single seed, mutation and conjugation ensure genetic diversity throughout the population.

Perhaps the most striking demonstration is the formation of antibiotic-resistant colonies (from a non-resistant seed) in response to poor antibiotic regimen. This can be seen in the following graph drawn from output file data:



As the colony flourishes, a number of antibiotic-resistant bacteria appear; they will normally be in the minority, provided the mutation rate has been set to a low value. Once the colony is exposed to antibiotic, these resistant bacteria will be favoured (i.e. they are harder to kill) and will form an increasing proportion of the colony. If the antibiotic dose is too small or too infrequent, then a large proportion of the colony becomes resistant and survives the regimen. Any subsequent antibiotic regimen must be considerably more aggressive in order to destroy the colony.



The future

This is a crude simulation - population numbers and timescale bear little relation to a real life situation. A lot of assumptions have been made about the behaviour of the micro-organisms; in particular, the gene model has been designed from a software perspective rather than a biological one! The program is slow and the bug world is 2 dimensional.

However, even this simple colony simulation behaves in many ways like its biological counterpart; the formation of an antibiotic-resistant colony can be clearly demonstrated.

Possible improvements include:

  1. Better models of micro-organism behaviour
  2. Better gene models
  3. A 3-dimensional bug world
  4. Realistic population numbers
  5. Real time performance.

In order to improve speed and colony size, future programs will need to be written in assembly language (this program is written in MicroSoft Visual Basic for DOS). The display of bacteria included in this version is purely for dramatic effect, and actually slows the simulation considerably. Future versions need only display colony statistics; the bacteria can remain 'invisible'. In time it may be possible to produce accurate simulations that are actually useful in clinical and research situations, although it should be noted that bacteria only form colonies in-vitro and not in-vivo. The program could also be used as a teaching aid to demonstrate the development of antibiotic resistance.



Installation, and running the program

Copy file CYCILLIN.ZIP into a suitable directory on your hard disk, change to that directory and unpack using PKUNZIP etc. Type CYCILLIN to run the program (or click on file in Windows file manager etc).

The program generally follows MS Windows conventions. Use a mouse (or press ALT) to activate menu bar, and read the help options. Set up your own models using the parameter options - online help is available. Note that your settings are automatically saved at program shutdown and are restored when you next run Cybercillin; the author's default values may be restored by selecting default from the parameter menu list. Begin the simulation by selecting Run Colony from the run menu list (or just CONTROL R). Once the colony has established itself, begin the antibiotic regimen by pressing F1. Press ESC to end the simulation. Select exit from the run menu (or CONTROL X) to quit the program.


Paul Smith BSc BPharm MRPharmS
Kingsclere, Hampshire, United Kingdom

Please send email to: smithoid@geocities.com


The author is a UK registered Pharmacist working in the pharmaceutical industry.


You are visitor (since 21st April 1998)




This page hosted by Get your own Free Homepage


This page was last updated on 21st April 1998
1