Quantitative Genetics Experiments
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
NetLogo - Quantitative Genetics Experiment
WHAT IS IT?
This model examines the fundamentals of quantitative genetics in a population of wild rabbits. Using the various sliders, experiments can be conducted on this theoretical population. Parameters such as population mean, population variance, and narrow sense heritability are directly reported by this simulation. Other important parameters can then be derived from those values.
HOW IT WORKS
An original population (with unknown environmental conditions) is generated in the beginning of the simulation. By adjusting habitat parameters, you can design experiments to test the relationships between the three traits, the original population, and the environment. As you run offspring populations under different habitat parameters, the graphs will automatically update indicating the population's response to selection. Note: you are not directly provided information about those individuals from the original population who are actally able breed (i.e., the breeders/selected parents).
HOW TO USE IT
Set up the original population. By pressing the "Original Population Setup" button, you will generate a population of rabbits. This will automatically generate the frequency distribution for three continuous traits. You will also notice that "Parent-Offspring Regressions" are also plotted for each of these three traits. Tip: Think about what the the parent-offspring regression tells you about heritibility and variance components.
Change habitat parameters. While the environment of the original population is unknown, you can directly manipulate the environment of the offspring population by adjusting the various habitat parameter sliders.
Preview the habitat. The "Preview Habitat" button allows the user to view the habitat the offspring population will be born into.
View the offspring population. The "Offspring" button randomly generate a habitat (based on the habitat parameters) and populates the offspring population.
Revisit the original population. The "Original" button clears the offspring population and allows you to revisit the same original population. The only way to change the original population is to select the "Original Population Setup" button (not recommended as distributions may change).
Plots and population data Plots will automatically update as you run simulations of the offspring population. You shouldn't expect the distribution of the original population to change, however each offspring simulation will be unique. To keep track of these simulations, you can copy/export the graphs or write down the means and variances of the three continuous traits.
THINGS TO TRY
Try treating this simulation like a lab experiment. Take into consideration which variables you want to manipulate and which you will keep constant.
THINGS TO NOTICE
There are random processes underlying each simulation. While the underlying structure will remain consistent, the habitat and offspring distribution will vary slightly for each simulation.
Comments and Questions
;extensions [table] breed [rabbit rabbits] breed [parents parent] breed [trees tree] breed [hawks hawk] breed [offsprings offspring] breed [wolves wolf] breed [rabbit-holes rabbit-hole] breed [carrots carrot] breed [lakes lake] globals[ t1-mean t1-var t2-mean t2-var t3-mean t3-var t4-mean t4-var ] parents-own[ trait1-p trait2-p trait3-p trait4-p t1-parent t1-offspring t2-parent t2-offspring t3-parent t3-offspring t4-parent t4-offspring ] offsprings-own [ trait1-o trait2-o trait3-o trait4-o ] to setup-population ca reset-ticks ask patches [; create unknown background set pcolor 4 - (random 3) ] create-parents 1000 [ set trait1-p median (list 0 (random-normal 55 5) 100) set t1-parent median (list 30 (random-normal 55 5) 70) set t1-offspring (t1-parent * median (list 0 (random-normal .5 .02) 1)) set trait2-p median (list 0 (random-normal 55 6) 100) set t2-parent median (list 30 (random-normal 55 5) 70) set t2-offspring (t2-parent * median (list 0 (random-normal .3 .02) 1)) set trait3-p median (list 0 (random-normal 25 7) 100) set t3-parent median (list 0 (random-normal 25 7) 100) set t3-offspring (t3-parent * median (list 0 (random-normal .90 .02) 1)) set trait4-p median (list 0 (random-normal 165 20) 260) set t4-parent median (list 0 (random-normal 165 20) 260) set t4-offspring (t4-parent * median (list 0 (random-normal .10 .02) 1)) set shape "rabbit" setxy random-xcor random-ycor set color white ] set t1-mean "NA" set t1-var "NA" set t2-mean "NA" set t2-var "NA" set t3-mean "NA" set t3-var "NA" set t4-mean "NA" set t4-var "NA" tick end to setup-habitat ask trees [die] ask hawks [die] ask wolves [die] ask rabbit-holes [die] ask carrots [die] ask parents[ set hidden? TRUE ] ask offsprings[ set hidden? TRUE ] ask patches [; create grass set pcolor 61 + grass-color + (random-float 0.4167 * grass-patchiness) ] ask n-of water patches [set pcolor sky] create-rabbit-holes n-rabbit-holes[ set shape "circle" set size .3 setxy random-xcor random-ycor set color black ] create-wolves n-wolves[ set shape "wolf" set size 2 setxy random-xcor random-ycor set color 2 ] create-trees n-trees[ set shape "tree pine" set color 51 setxy random-xcor random-ycor set size 3 ] create-carrots n-carrots[ set shape "carrot" setxy random-xcor random-ycor set size 1.5 ] create-hawks n-hawks[ set shape "hawk" set size 1.5 setxy random-xcor random-ycor set color brown ] end to unhide-pop clear-output reset-ticks ask trees [die] ask hawks [die] ask wolves [die] ask offsprings [die] ask rabbit-holes [die] ask carrots [die] ask patches [; create unknown background set pcolor 4 - (random 3) ] ask parents [ set hidden? FALSE ] tick end to setup-offspring setup-habitat reset-ticks tick ask offsprings [die] ask parents[ set hidden? TRUE ] ask offsprings[ set hidden? FALSE ] create-offsprings 1000 [ ;if (grass-color = 2) [set trait1-o median (list 0 (random-normal (t1-mean) (sqrt(12.5 + (12.5 * ((0.5 * (grass-patchiness / 6)) +(0.5 * (n-carrots / 50))))))) 100)] set trait1-o median (list 0 (random-normal (59 - grass-color * 2) (sqrt(12.5 + (12.5 * ((0.5 * (grass-patchiness / 6)) +(0.5 * (n-carrots / 50))))))) 100) if (n-wolves = 0) and (n-hawks = 0) [set trait2-o median (list 0 (random-normal 55 6) 100)] if (n-wolves = 0) and (n-hawks != 0) [set trait2-o median (list 20 (random-normal (55 + (15 * (n-hawks / 20))) 5.25) 75)] if (n-wolves != 0) and (n-hawks = 0) [set trait2-o median (list 35 (random-normal (55 - (30 * (n-wolves / 20))) 5.25) 85)] ;if (n-wolves != 0) and (n-hawks != 0) [set trait2-o ifelse-value (random-float 1 < 0.5) [median (list 20 (random-normal (55 - (35 * (n-wolves / 20))) 5) 100)] [ median (list 0 (random-normal (55 + (10 * (n-hawks / 20))) 5) 85)]] if (n-wolves != 0) and (n-hawks != 0) [set trait2-o median (list (20 + (0.5 * n-hawks)) (random-normal (55 - ((1.5 * n-wolves)- (0.75 * n-hawks))) (6 - (3 * (((2 * n-wolves) + n-hawks) / 40)))) (85 - (1 * n-wolves)))] if (n-wolves = 10) and (n-hawks = 20) [set trait2-o median (list (20 + (0.5 * n-hawks)) (random-normal 55 (6 * ((n-wolves / 20) / (n-hawks / 20)))) (85 - (1 * n-wolves)))] ;set trait3-o median (list 0 (random-normal (20 + (15 * (n-rabbit-holes / 100))) 7) 100) set trait3-o ifelse-value (random-float 1 < 0.5) [median (list 0 (random-normal (25 - (10 * (2 * n-rabbit-holes / 100))) 5) 100)] [ median (list 0 (random-normal (25 + (10 * (2 * n-rabbit-holes / 100))) 5) 100)] set trait4-o median (list 0 (random-normal (100 + water) 20) 260) set shape "rabbit" setxy random-xcor random-ycor set color white ] ifelse (grass-color = 2) [set t1-mean mean [trait1-p] of parents] [set t1-mean mean [trait1-o] of offsprings] ifelse (grass-patchiness = 6) and (n-carrots = 50) [set t1-var variance [trait1-p] of parents] [set t1-var variance [trait1-o] of offsprings] ifelse (n-wolves = 0) and (n-hawks = 0) [set t2-mean mean [trait2-p] of parents set t2-var variance [trait2-p] of parents] [set t2-mean mean [trait2-o] of offsprings set t2-var variance [trait2-o] of offsprings] ifelse (n-rabbit-holes = 25) [set t3-mean mean [trait3-p] of parents set t3-var variance [trait3-p] of parents] [set t3-mean mean [trait3-o] of offsprings set t3-var variance [trait3-o] of offsprings] ifelse (water = 65) [set t4-mean mean [trait4-p] of parents set t4-var variance [trait4-p] of parents] [set t4-mean mean [trait4-o] of offsprings set t4-var variance [trait4-o] of offsprings] tick end
There are 7 versions of this model.
Attached files
File | Type | Description | Last updated | |
---|---|---|---|---|
Quantitative Genetics Experiments.png | preview | Preview for 'Quantitative Genetics Experiments' | about 7 years ago, by Andrew McDevitt | Download |
This model does not have any ancestors.
This model does not have any descendants.