Plant Hybridization
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IS IT?
This model lets you conduct experiments in Mendelian genetics with cross fertilization in a population of flowering plants.
A population of plants is used to show two sets of patterns of gene expression. One of these set of patterns is between a dominant and recessive forms (alleles) of a gene. The other is between two co-dominant genes.
This population of plants can be fertilized in the wild using bees to transmit pollen from one plant to another, or the user can artificially cross fertilize some or all the plants by hand (using the mouse to transfer pollen from one plant to another). After fertilization, seeds immediately form. Once fertilized, the same plant can not be fertilized again in that same growing season.
Plants drop the seeds they create in the same location the parent plant was growing. The user can allow these seeds of the plants to grow in the same location or move, organize, and label the seeds to make better sense of the outcomes of various fertilization events, in the following season of plant growth.
Also the user can move plants to the greenhouse location to "over winter" the plants so that they do not die at the end of the growing season. Keeping a plant in the greenhouse, ensures that it can be used in future seasons for additional cross fertilization experiments. But plants in the greenhouse are only permitted to cross-fertilize their pollen to plants outside the greenhouse. Greenhouse plants can not be fertilized, unless they are moved outside the greenhouse.
HOW IT WORKS
Plants have two possible genes that determine their expression of flower color: W or R. The genotype and phenotype each plant follows the following co-dominant gene expression patterns:
WW - white flower WR or RW - pink flower RR - red flower
Plants have two possible genes that determine their expression of plant height: T or t. The genotype and phenotype each plant follows the following dominant-recessive gene expression patterns:
TT or Tt or tT - tall tt - small
Plants have two possible genes that determine their expression of leaf pattern: C or c. The genotype and phenotype each plant follows the following dominant-recessive gene expression patterns:
CC or Cc or cC - solid green leaf cc - variegated green and yellow leaf
HOW TO USE IT
Buttons: SETUP - sets up the initial conditions set on the sliders. GO - runs and stops the model. NEXT SEASON advances the season. You must press this button to move the plants through their different stages of growth and reproduction. CLEAR SELECTED - clears any plants or seeds from the currently selected field. POLLINATE WITH BEES - randomly pollinates any plants that are not yet pollinated
Sliders: INITIAL-SEEDS sets the number of initial seeds that appear randomly distributed in the world. CHANCE-MUTATION sets the chance that a mutation is introduced when plants are fertilized from the known set of available genes W, R, T, t, C, and c. If a mutation is added, the result may be the genotype does not actually change, if the gene that was randomly replaced is replaced with the same gene as before or if the overall genotype has a different order for the genes, but not a different combination.
Switches: SHOW-FERTILIZATION-NETWORK shows lines between which plants have cross-fertilized. A circle represents self-fertilization LABEL-SEEDS-AND-PLANTS? allows the user to assign a label to any seed or plant they move. The label will be inherited by the next generations of seeds the plant produces. ADD-WILD-SEEDS? allows the user to add new random seeds during the fall or winter. USE-GREENHOUSE? when on a section of the world will be designated as the greenhouse when SETUP is pressed.
Running through the seasons:
On SETUP, a number of seeds (set by INITIAL-SEEDS) are randomly distributed about a garden. These seeds carry three genes for each trait they express. One pair of genes is for the expression of plant height. The next pair of genes is for the expression of flower color. The last pair of genes is for leaf pattern.
When the user presses GO and then clicks on the NEXT SEASON button, the seeds begin to advance through different stages of plant growth. The five seasons used in the model are shown in the SEASON-NAME monitor: early spring, late spring, summer, fall, and winter.
In each season the user can do different things with the plants.
In early spring, the seeds germinate and begin the process of forming a new plant. In this season, the user can select any of the fields of plants and clear all the seeds out of that field.
In late spring, the plants grow large enough to see and the user can click and drag the plants to new locations (transplanting them).
In summer, the plants are fully grown and their expressed traits are now visible. Here again the user can select any of the fields of plants and clear all the seeds out of that field.
In the fall the plants are ready to cross-fertilize or self-fertilize. Plants have both female and male plant structures. When you enter fall you will be asked if you want to pollinate with bees (randomly). You can answer YES and all the plants will be cross-pollinate. If you answer NO you can cross-pollinate using the mouse and you can later have the remaining plants cross-pollinate by pressing the POLLINATE WITH BEES button. To pollinate using the mouse click on a plant, hold the mouse button down and drag to another plant. Once a plant is fertilized, its flower closes up and a seed appears. It may no longer be fertilized by pollen, but it may continue to offer its pollen for the fertilization of other plants. Plants in the greenhouse (the upper right green quadrant of the world) are only permitted to cross-fertilize their pollen to plants outside the greenhouse. Greenhouse plants can not be fertilized, unless they are moved outside the greenhouse.
In the winter, the user can move the seeds that resulted from pollination to new locations by clicking and holding the mouse button down when the mouse cursor is positioned over a seed. The seed may be dragged to an open patch, but may not be placed on a patch where a seed already is located. Once the mouse button is released, the seed is dropped in the open patch under it. If the user turns the ADD-WILD-SEEDS? switch on, then the user may also click on open patches to add new wild seeds to the garden plot. These have a white box around them to help distinguish them from seeds that were created through a previous fertilization event on in the world.
In the early spring, the cycle of plant growth starts all over again from the seeds remaining in the garden
THINGS TO NOTICE
What happens when you cross pollinate two pink plants? Are the results always the same?
What must be true about the two parents for the offspring of them to always end up with a white flowered plant?
When you cross pollinate a tall plant with a tall plant, are all the offspring tall? Are most? What percentage or fraction of the offspring is tall?
Is there any fertilization plan you can find that will guarantee that you end up with all tall plants?
In the wild, what percentage or fraction of the plants are short and white?
THINGS TO TRY
Try to self-pollinate many of the plants to see what outcome those give. Continue self pollinating the plants until they breed true - which is to say, they consistently give the same characteristics in the next generation.
Move the plants and seeds into different areas of the screen to conduct different experiments in those areas. Label your plants to describe the parent's characteristics.
EXTENDING THE MODEL
Plants could drop multiple seeds (e.g. four or five) like in a pea pod of a pea plant.
Mendel used pea plants to conduct similar experiments. In his peas, flower color was not co-dominant, it was dominant vs. recessive for white vs. violet.
Mendel also discovered other traits that follow these types of relationships:
The inflated vs. wrinkled seeds. The color of the seed (green vs. yellow). Inflated vs. wrinkled seed pod. The color of the seed pod (green vs. yellow) The distribution of the flowers along the stem.
NETLOGO FEATURES
An output area is used to give instructions to the user.
The model makes heavy use of the MOUSE-* and USER-* primitives to allow the user to interact with the model.
CREDITS AND REFERENCES
This model is a part of the BEAGLE curriculum (http://ccl.northwestern.edu/simevolution/beagle.shtml)
Other references to Gregor Mendel's 1865 paper "Versuche ueber Pflanzen-Hybriden" and a revised version of the English translation by C.T. Druery and William Bateson, "Experiments in Plant Hybridization", can be found at http://www.mendelweb.org/Mendel.html
HOW TO CITE
If you mention this model in a publication, we ask that you include these citations for the model itself and for the NetLogo software:
- Novak, M. and Wilensky, U. (2007). NetLogo Plant Hybridization model. http://ccl.northwestern.edu/netlogo/models/PlantHybridization. Center for Connected Learning and Computer-Based Modeling, Northwestern Institute on Complex Systems, Northwestern University, Evanston, IL.
- Wilensky, U. (1999). NetLogo. http://ccl.northwestern.edu/netlogo/. Center for Connected Learning and Computer-Based Modeling, Northwestern Institute on Complex Systems, Northwestern University, Evanston, IL.
COPYRIGHT AND LICENSE
Copyright 2007 Uri Wilensky.
This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/3.0/ 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 uri@northwestern.edu.
Comments and Questions
globals [ greenhouse plant-shape-1 plant-shape-2 flower-shape-1 flower-shape-2 grabbed-turtle ] breed [plants plant] breed [seeds seed] turtles-own [ color-genotype height-genotype leaf-genotype ] ;; ;; Setup Procedures ;; to setup clear-all set-default-shape seeds "seed" set greenhouse green - 2 set plant-shape-1 "plant-tall" set plant-shape-2 "plant-short" set grabbed-turtle nobody setup-fields ask n-of initial-seeds patches [ add-one-wild-seed ] output-print "First press GO, Then click on different " output-print "locations on screen below to plant wild seeds." output-print "You can move seeds by clicking and dragging them" output-print "You can label seeds by enabling LABEL-SEEDS-AND-PLANTS? and clicking on the seed to label" output-print "When done planting, press NEXT SEASON." reset-ticks end to setup-fields ask patches [ set pcolor black ] ifelse use-greenhouse? [ ask patches with [pxcor >= 6 and pycor >= 6] [ set pcolor greenhouse ] ask patch 11 6 [ set plabel "greenhouse plants" ] ] [ ask patch 11 6 [ set plabel "" ] ] end ;; ;; Runtime Procedures ;; to go run (word "do-" season-procedure) end to start-early-spring ask seeds [ set shape "seed-sprouted" hatch-plants 1 [ set color phenotype-flower-color color-genotype set shape (word (phenotype-plant-height height-genotype) phenotype-leaf leaf-genotype) set size 0.2 ] ] end to do-early-spring listen-select-field display end to start-late-spring repeat 40 [ ask plants [ grow-plants ] display ] ask seeds [ die ] end to do-late-spring move-turtles plants patch mouse-xcor mouse-ycor display end to start-summer ask plants [ set size 1 ] end to do-summer listen-select-field display end to start-fall if user-yes-or-no? (word "Do you want to pollinate with bees?\n" "(yes=randomly) (no=select which ones with mouse)") [ pollinate-with-bees ] end to do-fall listen-cross-fertilize-plants display end to start-winter clear-drawing ask plants with [not in-greenhouse?] [ die ] end to do-winter let p patch mouse-xcor mouse-ycor ifelse not any? seeds-on p and grabbed-turtle = nobody [ if add-wild-seeds? and mouse-inside? [ add-wild-seeds p ] ] [ move-turtles seeds p ] display end ;; ;; Plant and Field Procedures ;; to clear-field ask patches with [pcolor = blue] [ ask plants-here [ die ] ask seeds-here [ die ] ] setup-fields end to add-wild-seeds [p] if not [in-greenhouse?] of p and not any? seeds-on p [ ifelse mouse-down? [ ask patch mouse-xcor mouse-ycor [ add-one-wild-seed ] ] [ ask seeds [ set size 1 ] ] ] end to grow-plants if size < 1 [ set size size + 1 / 50 ] end to pollinate-with-bees ask plants with [not in-greenhouse? and not any? in-link-neighbors] [ let pollinator one-of plants pollinate pollinator ] end to-report in-greenhouse? report pcolor = greenhouse end ;; ;; Mouse Procedures ;; to listen-cross-fertilize-plants ifelse mouse-down? [ if grabbed-turtle = nobody [ set grabbed-turtle one-of plants-on patch mouse-xcor mouse-ycor ] ] [ if grabbed-turtle != nobody [ let pollinated one-of (plants-on patch mouse-xcor mouse-ycor) with [not in-greenhouse? and not any? in-link-neighbors] if pollinated != nobody [ ask pollinated [ if not any? seeds-here [pollinate grabbed-turtle ] ] ] set grabbed-turtle nobody ] ] end to listen-select-field if mouse-down? [ setup-fields ask patch mouse-xcor mouse-ycor [ set pcolor blue ask neighbors [ set pcolor blue ] ] ] end to move-turtles [b p] ifelse mouse-down? and mouse-inside? [ ifelse label-seeds-and-plants? [ ask (turtles-on p) with [breed = b] [ set label user-input (word "Label for " self ":") ] ] [ ifelse grabbed-turtle = nobody [ set grabbed-turtle one-of (turtles-on p) with [breed = b] ] [ if not any? seeds-on p [ ask grabbed-turtle [ move-to p ] ] ] ] display ] [ set grabbed-turtle nobody ] end ;; ;; Seed initialization procedures ;; to pollinate [my-pollen] set shape (word shape "-fertilized") hatch-seeds 1 [ set color-genotype (word one-of-alleles [color-genotype] of my-pollen one-of-alleles color-genotype) set height-genotype (word one-of-alleles [height-genotype] of my-pollen one-of-alleles height-genotype) if random 100 < chance-mutation [ set height-genotype add-mutation-height height-genotype ] if random 100 < chance-mutation [ set color-genotype add-mutation-color color-genotype ] ] if show-fertilization-network? [ ifelse my-pollen != self [ create-link-from my-pollen ] [ hatch 1 [ set color gray + 2 set ycor ycor - 0.3 pd set heading 90 repeat 360 [ fd (1 / 180) lt 1 ] die ] ] ] end to add-one-wild-seed sprout-seeds 1 [ set shape "seed-wild" set color-genotype assign-random-color-genotype set height-genotype assign-random-height-genotype set leaf-genotype assign-random-leaf-genotype ] end ;; ;; Genotype reporters ;; to-report assign-random-color-genotype report one-of ["WW" "RR" "WR" "RW"] end to-report assign-random-height-genotype report one-of ["TT" "tt" "Tt" "tT"] end to-report assign-random-leaf-genotype report one-of ["CC" "cc" "Cc" "cC"] end to-report add-mutation-color [genotype] report replace-item random 2 genotype one-of ["R" "W"] end to-report add-mutation-height [genotype] report replace-item random 2 genotype one-of ["T" "t"] end to-report add-mutation-leaf [genotype] report replace-item random 2 genotype one-of ["C" "c"] end to-report phenotype-flower-color [genotype] ifelse member? "R" genotype [ ifelse member? "W" genotype [ report pink ] [ report red ] ] [ report white ] end to-report phenotype-plant-height [genotype] if genotype = "tt" [ report plant-shape-2] report plant-shape-1 end to-report phenotype-leaf [genotype] if genotype = "cc" [report "-varigated"] report "" end to-report one-of-alleles [genotype] report item random 2 genotype end ;; ;; Instruction-related reporters ;; to next-season setup-fields tick print-instructions run (word "start-" season-procedure) end to print-instructions clear-output output-print (word "It is now " season-name ".") output-print instructions output-print "Or you may press NEXT SEASON.\n" end to-report instructions report item season (list (word "The plants have died and dropped their newly formed seeds.\n" "You may move the seeds to new locations or plant new wild\n" "seeds with using the mouse") "The seeds are germinating.\nYou may select a field of seeds to clear if you wish." "The plants are growing.\nYou may transplant the plants using the mouse." "You may select a field of plants to clear\nusing the mouse and the CLEAR SELECTED button." (word "The plants are ready for fertilization.\n" "If you did not pollinate with bees you can pollinate using the mouse.\n" "Click on the pollinator, hold the mouse button down and drag to the plant to pollinate\n" "When you are done pollinating you may press POLLINATE-WITH-BEES,\n" "which will randomly pollinate the remaining plants\n" "(note that plants that are not pollinated will not come back next year) or pre NEXT-SEASON") ) end to-report season-name report item season [ "winter" "early spring" "late spring" "summer" "fall"] end to-report season-procedure report item season [ "winter" "early-spring" "late-spring" "summer" "fall"] end to-report season report ticks mod 5 end to-report year report floor (ticks / 5) end ; Copyright 2007 Uri Wilensky. ; See Info tab for full copyright and license.
There are 10 versions of this model.
Attached files
File | Type | Description | Last updated | |
---|---|---|---|---|
Plant Hybridization.png | preview | Preview for 'Plant Hybridization' | over 11 years ago, by Uri Wilensky | Download |
This model does not have any ancestors.
This model does not have any descendants.