Introduction – Avida-ED and Digital Evolution
Avida-ED is adapted from Avida, a software platform created by a group of computer scientists and software engineers interested in the experimental study of digital organisms in order to better understand how biological evolution works. Both programs provide an instance of evolution in a model environment. The evolution itself is real; the digital organisms are subject to the same processes as biological organisms, such as mutation, replication, and selection.
Scientists can study how digital organisms evolve, and examine questions related to the evolution of complex features, sex, intelligence, cooperation, and foraging behavior. Avida has even been used to confirm the outcomes of ongoing biological experiments. This is possible because the process of evolution is “substrate neutral”, meaning that when a system possesses three key characteristics – variation, inheritance, and selection – evolution will inevitably result. Using this powerful tool, you will be able to design and perform your own experiments to test hypotheses about evolution in much the same way that researchers use Avida.
What is Avida-ED (how does it work)?·
What do biologists mean when they say the word “evolution”?·
Can we observe evolution? How?·
Can we study evolution by doing experiments? What kinds?·
How is Avida a useful tool for biologists? What are the strengths and limitations of such an approach?·
- Begin by reading the article by Carl Zimmer “Testing Darwin” that appeared in Discover Magazine in 2005. The article can be found immediately following this Introduction or will be made available by your instructor.
- Start Avida-ED. The program now runs in a web browser. Navigate to https://avida- ed.beacon-center.org/app/AvidaED.html. Please note that the program may take a minute or two to load, be patient.
- Watch the Avida-ED video tutorial found in the support section of the Avida-ED website or on YouTube: https://www.youtube.com/watch?v=mJwtg0so4BA&feature=youtu.be Use it to help you explore the application’s controls.
The Avida-ED workspace includes:
- The “Navigation” area (view mode buttons) allows you to switch among three modes: a. Population – the organisms evolving in the virtual Petri dish and the
experimental set-up; b. Organism – displays the “genome” of any single individual; and c. Analysis – allows comparisons of population variables (e.g. average fitness)
- The “Freezer” (saved materials)
- Configured dishes – settings, no organisms; b. Organisms – individual organisms, including the “@ancestor”; can be saved by
dragging or saving to the freezer; and c. Populated Dishes – settings and organisms saved by freezing populations.
- The “Lab Bench” (where things happen)
When in “Population” mode, the Lab Bench contains a “Virtual Petri Dish”, which is the place where your Avidians will grow and multiply (Figure 1). You can access the settings by clicking on the “Set-Up” button (Figure 2). There, you can change the dish size (30×30 is default), mutation rate (2.0% is default), whether or not functions are rewarded (default is all nine rewarded), and other options.
Figure 1. Screen shot of the Avida-ED Workspace in the “Population” map view. The virtual Petri Dish is where Avidians will grow and divide. The “Navigation” and “Freezer” areas are on the left.
Figure 2. Screen shot of the Avida-ED Lab Bench Setting in the “Population” view. Several parameters of the experimental set-up can be manipulated.
To run an Avida-ED experiment, drag an organism from the freezer to the virtual Petri dish (if in Map view) or to the Ancestral Organism box (if in Setup view) and click “Run” in Map view or choose “Run” under the Control pull down menu. NOTE: Loading the organism into the “Ancestral Organism Box” in “Setup” assures that the individual will be placed in the center of the virtual Petri dish. To examine a single Avidian, click on “Organism” in the Navigation panel, drag an organism from the freezer (e.g. “@ancestor”) to the lab bench area (Figure 3).
Figure 3. Screen shot of the Avidian “@ancestor” in the “Organism” view. The genome is circular and represented by colored letters. Each letter is a specific command. Notice that most of the instructions in “@ancestor” are tan-colored C’s (these are “no operation” commands and here essentially serve as placeholders).
Examining an Avidian Individual and Observing Replication
The digital organisms in Avida are referred to as Avidians, and are defined by a series of commands, which are simple computer instructions (Figure 3). During an experiment, the Avida-ED application reads the “genome” of an organism and carries out the commands, which are symbolized by letters. The default organism (“@ancestor”) has a circular genome of 50 letters, which includes a sequence of instructions for replication.
Follow the steps below to observe Avidian replication.
- Click on “Organism” in the Navigation panel. The lab bench becomes an empty rectangle with a set of buttons at the bottom.
- Drag the default organism (“@ancestor”) from the freezer panel to the lab bench area. A set of circles with letters inside them appears (see Figure 3).
- Click the “Run” button and observe as the organism’s code is read by Avida-ED. At a certain point, you will notice that the organism replicates. Click the “Reset” button and repeat this step a number of times. You can observe the code being read and replicated more slowly by clicking on the “Forward” button, which moves the read head forward one instruction at a time. When paused, you can get the instruction number by clicking on an instruction.
Once you have observed a number of “Runs”, please respond to the following questions by entering your responses in the space provided.
At which position of the Avidian “genome” does the program begin reading the instructions?·
At which positions of the “genome” are the instructions for replication?·
Mutations in the offspring appear as an instruction with a black circle. Record the mutations for a single round of replication. Position 1 10 20 30 40 50
Total # of mutated sites _______ Locations of mutated sites ________________
If a mutation occurred within the sequence of replication instructions what do you think would happen to that mutated offspring’s ability to replicate?·
If you wanted to determine the function of each letter (command) of the code, where would you find that information?·
How does the offspring Avidian compare to its parent? In other words, how many differences are there in the set of 50 commands, and where are the differences located in the “genome”?·
How is the instruction set (“genome”) for an Avidian similar to a bacterial genome?·
Observing the Frequency and Location of Mutations that Occur During Replication
- Under Settings (still in Organism view), find the mutation rate that you used above, and record it.
- Next, if it isn’t already, set the per site mutation rate to 2% by moving the slider or typing “2%” in the box. If you use the slider to change the mutation rate, look carefully at the placement of the decimal to verify you have set it to (approximately) 2% and not 0.20%. You can either press the enter key, or click elsewhere on the screen, and the mutation rate will update. Then click on the x in the upper right corner of this box.
- Then click play or drag the slider to watch the organism run through its code.
Please respond to the following questions by entering your responses in the spaces provided.
There are 50 commands. How many sites do you expect will have a mutation given a 2% per site mutation rate?·
How does your replicated offspring compare to the parent?·
How did your offspring (replicated with the 2% mutation rate) compare to your neighbor’s offspring (also replicated with a 2% mutation rate)? Did they have the same number and/or type of mutations?·
Storing an Avidian Individual in the Freezer
- Click and drag the offspring genome into the Freezer Panel. 2. Then you will be prompted to “enter name of organism to freeze.” You may use any
name you like, but we suggest something descriptive, perhaps indicating the mutation rate, or what tasks it can perform.
Evolving a Population Avidians
Evolving a Population Avidians replicate in the virtual Petri dish, much the way bacteria replicate when plated on a medium. The virtual dish is divided into a grid in which each box holds one Avidian. When an Avidian replicates, the offspring are placed in a box adjacent to the parent (the default setting) or randomly on the grid. As we have seen above, if there is mutation, offspring will not be exactly like the parent.
Figure 4. Screen shot of the panels displaying population and individual statistics. The upper right panel shows basic population statistics, plus how many individuals in the population perform each function. The panel just to its left does the same for a selected individual. The lower panel graphs a number of population parameters as the run progresses.
Carrying out the set of numbered tasks below will result in the growth of an Avidian population, with each individual in that population having descended from a single ancestral Avidian. At the end of the run, you will save the Petri plate containing your Avidians to the Freezer, as well as saving a single Avidian with relatively high fitness.
- Click on “Population” in the navigation panel. The lab bench changes back to the Petri dish.
- Click on “Setup”. Drag the default organism (“@ancestor”) from the freezer panel into “Ancestral Organism” box. Set the world size to 30 x 30 cells and the per site mutation rate to 2.0%. Make sure the “Near their parent” option is checked in the Place Offspring panel (should be the default). Turn off all resources (i.e., notose, nanose, etc.) by clicking in the box so that it is not checked. All other default settings should remain unchanged. [Note: resources, when made available, provide additional energy to Avidians that evolve the ability to use these resources.]
- Click “Map” to return to the Petri dish view. Choose “Fitness” from the “Mode” drop down menu below the Petri dish. Use the slider below the Petri dish to increase the view size.
- Push the “Run” button below the Petri dish and watch as the ancestor and subsequent descendants start multiplying. Each grid square represents an organism.
- As you watch the Avidians multiply, notice that the information in the Population Statistics box and the graph change. When the dish looks full, click “Pause” to stop the growth in the Petri dish.
- Click on an organism (a grid square). The information for the Avidian in this grid square appears in the Selected Organism Type panel (Figure 4). Click on a few other organisms and notice how their information differs. You may click on different individuals during the run to observe their characteristics in the organism information box.
- Information on the population is displayed in the Population Statistics panel, and in the graph below this panel. Click the play button again and observe the dish and the population statistics boxes as the run proceeds.
- Pause the run when there have been about 1,000 updates (unit of time for Avida- ED). The update number can be found under the bottom left corner of the Petri dish. Before proceeding with the next step, save the entire plate by clicking the “Freeze” button at the bottom and saving the population to the Freezer. You will be prompted whether you wish to save the Configuration, Organism, or Population; here you should save the Population. We recommend using a labeling system that keeps track of the mutation rate and world size (i.e., m2-w30x30-number of updates, but you can use any naming system that makes sense to you).
- Click on individual organisms, one at a time, to find an individual with a high fitness. To do this, use the fitness scale below the Petri dish, as well as looking in the organism info panel for each organism.
- Drag an organism with a relatively high fitness to the freezer panel. In the box, type a name for this organism followed by the fitness value.
Please respond to the following questions by entering your responses in the spaces provided.
What do biologists mean when they use the word “fitness”? How is fitness measured in Avida-ED?·
Choose two Avidians in your population with different fitness and explain how differences in these Avidians contribute to differences in their fitness.·
Based on what you observed in the Population Statistics and the Organism Type boxes during the run, what do you think accounts for changes in individual fitness and changes in the average fitness in the population?·