NetLogo banner

 Contact Us

 Modeling Commons

 User Manuals:


NetLogo Models Library:
Curricular Models/BEAGLE Evolution

(back to the library)

DNA Replication Fork

[screen shot]

If you download the NetLogo application, this model is included. (You can also run this model in your browser, but we don't recommend it; details here.)


In this model you can orchestrate the DNA replication fork process that occurs in the cells of all living creatures before cells divide. Both mitosis and meiosis rely on this process to make copies of existing DNA before making new cells.

In a real cell, the DNA replication begins by unwinding and unzipping of the twisted double helix structure of DNA at specific location in the genome. It is then followed by construction of a new DNA strand to match the template strand. This entire process is aided by many proteins which initiate, facilitate, and terminate the DNA replication process. It is this process that the model replicates.

As the model runs you will can facilitate the placement and assembly of some of the molecules involved this process by dragging and dropping relevant proteins and nucleosides to help catalyze various reactions at different steps of the process

Alternatively, you can let the model run on its own without interacting with any of the proteins and nucleosides in the model. As these molecules float freely about the cell nucleus they will eventually make a copy of the DNA strand autonomously, as the eventually wander into the correct locations and configurations that permit them to interact for DNA replication.

By attempting to speed up this process using the mouse cursor you may find that the replication process incurs errors in the duplication. These errors, though relatively rare in the cell duplication in living organisms do occur, are the basis for some types of mutations. These mutations will in turn lead to the emergence of new proteins in daughter cells when the DNA is translated.


This model is based on simplified representations shown for how DNA polymerase facilitates DNA replication summarized at

In this model nucleotides are molecules that when joined together make up the structural units of DNA. Visually this appears as a nitrogen base (represented as a colored polygon) and 1 phosphate group (represented as a yellow circle), and white line that links these two representing the five-carbon sugar that forms the backbone of DNA.

A nucleoside is represented in this model as an unjoined nucleotide, a five-carbon sugar link and three phosphate groups (the little yellow circles) attached to it (a nucleoside triphosphate). A di-phosphate is released through a chemical reaction when a nucleoside (a reactant) bind to the template DNA nucleotides to form a new nucleotide sub-unit (a product) in the new DNA strand copy.

The nitrogen bases for nucleotides and nucleotide come in four variations: ([A]dine, [G]uanine, [T]hymine, [C]ytosine) bound to a ribose or deoxyribose backbone

Four enzymes are included in this model of the DNA replication fork process:

  • The entire DNA polymerase enzyme is be modeled as a single agent
  • The entire Helicase enzyme will is modeled as a single agent
  • The entire Topoisomerase enzyme is modeled as a two agents. That includes a base agent (topoisomares) that maintains a specific heading and a rotating set of "gear shaped" proteins that is attached to it (topoisomare-gears)
  • The primase enzyme is used both for showing where Helicase and Topoisomerase should start their work. In reality, primase is used for showing the starting location for where the polymerase enzyme begins duplication, but in this model polymerase can duplicate at any nucleotide that is unwound and unzipped.

When the substitution switch is turned "on", then the polymerase protein does not catch any mismatches between which nitrogen bases are to be paired together in the new DNA strand based on the template DNA strand. In reality, polymerase can auto-correct many errors and will check and confirm that the correct bases are paired up (e.g. A goes with T and G goes with C). But in a real cell this is not an error free process. Other molecules in the cell can interfere with the double checking chemical processes that polymerase can perform. UV light and other forms of radiation can cause unwanted chemical changes that interfere with correct base pair matching.

When this interference results in a incorrect pairing of bases (e.g. an A with an A, or an A with a G), this is a type of substitution mutation.

When a base is not paired up, or a section of DNA is not replicated, this is known as a deletion mutation.


Your goal is to speed up the DNA replication process that occurs in every cell in every living creature as part of mitosis or meiosis.

To do this you will need to complete 4 tasks in the shortest time you can (with the greatest fidelity possible). Each of these tasks requires you to drag a molecule using your mouse, from one location to another. The 1st task will be to unwind a twisted bundle of DNA by using your mouse to place a topoisomerase enzyme on top of the primase enzyme. The 2nd task will be to unzip the DNA ladder structure by dragging a helicase enzyme from the 1st base pair to the last base pair. The 3rd task will be to first drag a polymerase enzyme to an open nucleotide and then drag a floating nucleoside to the same location. The last task is to simply repeat the previous task of connecting nucleosides to open nucleotides until as much of the DNA as possible has been replicated.

To increase the chances that DNA replication coordinated by the user will unintentionally lead to the emergence of two types of mutations (deletions and substitutions), make sure the TIME-LIMIT chooser is set to something other than "none" and make sure the SUBSTITUTIONS? is set to "on". This last setting allows substitution mutations to occur when incorrect bases are paired up at a polymerase facilitated location. When set to "off" SUBSTITUTIONS? will ensure no substitution errors can occur (the polymerase will automatically reject any nucleosides that do not pair correctly when it is synthesizing a complementary strand of DNA).

The model will automatically duplicate the entire DNA strand correctly on its own when the TIME-LIMIT is set to "none" and SUBSTITUTIONS? are set to "off". It just will take a lot more time for the process to be completed than it would if the user were to help it along.

DNA-STRAND-LENGTH sets the length of the initial DNA strand you are going to copy.

SUBSTITUTIONS? when set to "on" it will allow substitution mutations to occur when bases are paired up at a polymerase facilitated location. When set to "off" it will ensure no substitution errors can occur.

FREE-NUCLEOSIDES sets the number of free floating nucleosides inside this part of the cell. If you have none, you won't be able to replicate the DNA. If you have too many, they can tend to interfere (visually) with the sorting and aggregation you are trying to do in the replication process.

ENZYME-LABELS? shows which enzymes are which, using labels.

NUCLEO-LABELS? shows a A,T,G,C label for each nucleotide (including the free floating ones and the ones connected into the sugar backbone of the DNA).

TIME-LIMIT has 3 settings. "None" Lets you run the model until either forever or until you press the DIVIDE-THE-CELL button. The other two settings give you a time limit to see how much of the DNA you were able to duplicate correctly.

TIME-REMAINING shows the time left before the model will stop and display how accurate your duplication process was in that time.

NEXT-INSTRUCTION displays the next direction for the user to follow to interact with the model using the mouse (what is necessary to unwind and unzip the DNA strand and then replicate it).

PREVIOUS-INSTRUCTION displays the previous direction.

INSTRUCTION displays which direction out of the total number of directions is currently being displayed.

DIVIDE-THE-CELL marks that you are done with the duplication process and you want the model to calculate the mutations you have accumulated (if any) in the DNA duplication process. It will report these values:

CORRECT DUPLICATIONS (both for the top and bottom strands). This is a count of every A that is paired with a T and every G that is paired with a C.

DELETIONS (both for the top and bottom strands). This is a count of every base pair that was skipped and not paired with any other nucleotide.

SUBSTITUTIONS (both for the top and bottom strands). This is a count of every A that is paired but not with a T and every G that is paired but not with a C.


Mutations can be incurred both in the top and bottom strands of DNA. Since the mutation that affects one strand of DNA is not the same that necessarily affects another strand, different replication mutations may affect different daughter cells in mitosis or meiosis.


Compete against another user who also is running their own version of the model at the same time with the SUBSTITUTIONS? setting set to "on". This element of competition will encourage the emergence of unintentional mutations as each player is tries to increase their rate of duplications, but end up decreasing their fidelity of duplication in the process.


Another important type of mutation that could be added to the model is an insertion mutation. That could be added by allowing more than one base to be paired up at an original nucleotide location.


The model makes use of transparency features in the color channel for the shape to help see through the many different agents. This aids the user in being able to keep track of things in the molecular assembly processes.

Shape and color changes of the polymerase molecule simulate the confirmation shape shape changes that the molecule undergoes as it catalyzes various parts of the reaction.


The DNA Protein Synthesis in BEAGLE is the follow-up model for this one. It shows how different mutations then lead to different types of proteins produced in cells. It is still under development and will be included in a future release.


This model is a part of the BEAGLE curriculum (


If you mention this model or the NetLogo software in a publication, we ask that you include the citations below.

For the model itself:

Please cite the NetLogo software as:


Copyright 2012 Uri Wilensky.


This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. To view a copy of this license, visit or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

Commercial licenses are also available. To inquire about commercial licenses, please contact Uri Wilensky at

(back to the NetLogo Models Library)