Multiple allele inheritance and codominance

Multiple allele inheritance and codominance preview image

1 collaborator

Screen_shot_2018-02-02_at_12.53.50_pm lin xiang (Author)

Tags

(This model has yet to be categorized with any tags)
Visible to everyone | Changeable by the author
Model was written in NetLogo 6.0.4 • Viewed 141 times • Downloaded 5 times • Run 0 times
Download the 'Multiple allele inheritance and codominance' modelDownload this modelEmbed this model

Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)


WHAT IS IT?

This model is based on the study from Houston (1979) in the inheritance of the color pattern of Coelophora inaequalis, commonly known as ladybug beetles, which reveals a dominance order among four alleles and codominance involved in three of the alleles.

How to use?

  1. Select one of five cases
  2. Click on "Start/reset Simulation" button to confirm.
  3. Click on "Press and choose 2 beetles" button.
  4. Choose two ladybug beetles in the simulation window.
  5. Click on "cross!" button to conduct test cross.
  6. Examine offspring phenotypes in simulation window and the "progeny" section.

How it works?

Researchers have found that color pattern of Coelophora inaequalis is a multialletic trait (Houston, 1979). Existing work suggests six forms of color patterns in an Australian ladybug beetle species are determined by four alleles: Cs, Cn, Cv and Cb. A dominance order was identified among these four alleles to determine four forms. In addition, two pairs of these alleles are found to be codominant and result in other two phenotypes.

In this simulation, gametes containing one of four alleles are first generated and randomly fuse to form beetles, who can be either homozygotes or heterozygotes. Users need to figure out the dominance order and dominance mechanisms through test crosses.

When users choose two beetles for a test cross, the gametes from one beetle randomly fuse withe the gametes of the other beetle to form offspring. 45~60 offspring beetles may be produced in each generation.

Check http://3dsciencemodeling.com for a detailed teacher's guide.

CREDITS

This module is made by Dr. Lin Xiang at the University of Kentucky in 2018.If you mention this model in a publication, we ask that you include the citations below:

Xiang, L. (2018). Multiallelic Trait and Codominant Inheritance in Ladybug Beetles. Department of STEM Education, University of Kentucky, Lexington, KY.

References

Houston, K. J. (1979). Mosaic dominance in the inheritance of the colour patterns of Coelophora inaequalis (F.)(Coleoptera: Coccinellidae). Australian Journal of Entomology, 18(1), 45-51.

Comments and Questions

Please start the discussion about this model! (You'll first need to log in.)

Click to Run Model

globals [x y num-bugs allele-num p1 p2 p-type population-size]
turtles-own [allele genotype phenotype gender]

breed [sperms sperm]
breed [eggs egg]
Breed [bugs bug]
breed [crosses cross]

to-report allele-s-sperms
  report count sperms with [genotype = "Cs"]
end 

to-report allele-n-sperms
  report count sperms with [genotype = "Cn"]
end 

to-report allele-b-sperms
  report count sperms with [genotype = "Cb"]
end 

to-report allele-v-sperms
  report count sperms with [genotype = "Cv"]
end 

to-report allele-s-eggs
  report count eggs with [genotype = "Cs"]
end 

to-report allele-n-eggs
  report count eggs with [genotype = "Cn"]
end 

to-report allele-b-eggs
  report count eggs with [genotype = "Cb"]
end 

to-report allele-v-eggs
  report count eggs with [genotype = "Cv"]
end 

to parents
  set p1 [phenotype] of bugs with [xcor = max-pxcor - 0.5 and ycor = (max-pycor / 2 ) - 1.5]
  set p2 [phenotype] of bugs with [xcor = max-pxcor - 0.5 and ycor = (max-pycor / 2 ) + 1.5]
  set p-type word p1 " "
  set p-type word p-type "X"
  set p-type word p-type " "
  set p-type word p-type p2
  ;set p-type remove "[" p-type
  ;set p-type remove "]" p-type
end 

to start-gamates
  set population-size 45 + random 11                   ;set population size 45~60

if Cases = "Case 1" [                                  ; 9-spotted X black Cs > Cb (complete dominance)
  create-sperms population-size [
  set genotype item random 3 ["Cs" "Cb" "Cb" "Cv" "Cn"]     ;produce sperms either "Cs" or "Cb", there are more Cb
  gamete-trait]

  create-eggs population-size [
  set genotype item random 3 ["Cs" "Cb" "Cb" "Cv" "Cn"]     ;produce eggs either "Cs" or "Cb", there are more Cb
  gamete-trait]
]

if Cases = "Case 3" [                                  ;Cv and Cn codominace   elongated stripe, normal, and broken stripe (heterzygotes)
  create-sperms population-size [
  set genotype item random 2 ["Cv" "Cn" "Cb" "Cs"]     ;produce sperms either "Cv" or "Cn"
  gamete-trait]

  create-eggs population-size [
  set genotype item random 2 ["Cv" "Cn" "Cb" "Cs"]     ;produce eggs either "Cv" or "Cn"
  gamete-trait]
]

if Cases = "Case 2" [                                  ; 9-spotted, normal, and black Cs > Cn > Cb (complete dominance)
  create-sperms population-size [
  set genotype item random 3 ["Cs" "Cn" "Cb" "Cv"]     ;produce sperms of "Cs" "Cn" or "Cb"
  gamete-trait]

  create-eggs population-size [
  set genotype item random 3 ["Cs" "Cn" "Cb" "Cv"]     ;produce eggs of "Cs" "Cn" or "Cb"
  gamete-trait]
]

if Cases = "Case 4" [                                  ; all six forms of ladybug beetles Cs > Cn > Cb; Cv > Cb (complete dominance and codominance CvCn, CsCv)
  create-sperms population-size [
  set genotype item random 4 ["Cs" "Cn" "Cb" "Cv"]     ;produce sperms of "Cs" "Cn" "Cv" or "Cb"
  gamete-trait]

  create-eggs population-size [
  set genotype item random 4 ["Cs" "Cn" "Cb" "Cv"]     ;produce eggs of "Cs" "Cn" "Cv" or "Cb"
  gamete-trait]
]


if Cases = "Case 5" [                                  ;9-spotted, elongated stripe, 5-spotted (heterzygotes) and black; Complete dominance Cs > Cb and Cv > Cb; Cv and Cs codominace
  create-sperms population-size [
  set genotype item random 3 ["Cs" "Cv" "Cb" "Cn"]     ;produce sperms of "Cs" "Cv" or "Cb"
  gamete-trait]

  create-eggs population-size [
  set genotype item random 3 ["Cs" "Cv" "Cb" "Cn"]     ;produce eggs of "Cs" "Cv" or "Cb"
  gamete-trait]
]
end 

to gamete-trait               ;set gamete characteristics
    set shape "dot"
    if genotype = "Cb" [set color 0]
    if genotype = "Cn" [set color red]
    if genotype = "Cv" [set color sky]
    if genotype = "Cs" [set color 8]
    set size 0.1
    setxy random (max-pxcor - 1) random (max-pycor + 1)
end 

to set-tray        ;set background grid and cross area
  ask patches [ifelse pxcor < max-pxcor - 1
    [set pcolor 52 + random-float 0.25]
    [set pcolor 89 + random-float 0.25]
  ]

  create-crosses 3
    ask cross 0 [
    set shape "x"
    setxy max-pxcor - 0.5  max-pycor / 2
    set size 0.5
    set color 35]

     ask cross 1 [
    set shape "male"
    set heading 45
    setxy max-pxcor + 0.25 (max-pycor / 2) + 2
    set size 0.75
    set color 0]

     ask cross 2 [
    set shape "female"
    setxy max-pxcor + 0.25 (max-pycor / 2) - 2
    set size 0.75
    set color 0]
end 

to set-position
  setxy  random (max-pxcor - 1) random (max-pycor + 1)
  if any? other bugs-here
  [set-position]
end 

to fertilize
  ask sperms [ let mate one-of eggs
    if mate != nobody [
      hatch-bugs 1 [
        set size 0.75
        set heading 0
        set-position
        set genotype word genotype [genotype] of mate
        set-phenotype
      ]
      ask mate [die]]
    die
  ]


  ask bugs with [pxcor >= max-pxcor] [die]  ;make sure no beetles in the cross area
end 

to set-phenotype

  ;rearrange and unify genotype expression

  if genotype = "CnCs" [set genotype "CsCn"]
  if genotype = "CbCs" [set genotype "CsCb"]
  if genotype = "CvCs" [set genotype "CsCv"]
  if genotype = "CnCv" [set genotype "CvCn"]
  if genotype = "CbCn" [set genotype "CnCb"]
  if genotype = "CbCv" [set genotype "CvCb"]

  ;Define phenotype

  if genotype = "CsCs" or genotype = "CsCn" or genotype = "CsCb" [set shape "ladybug-9 spotted" set color rgb 255 140 0 set phenotype "9-spotted"]
  if genotype = "CnCn" or genotype = "CnCb" [set shape "ladybug-normal" set color rgb 255 85 0 set phenotype "normal"]
  if genotype = "CvCv" or genotype = "CvCb" [set shape "ladybug-elongated stripe" set color rgb 200 120 100 set phenotype "elongated-stripe"]
  if genotype = "CbCb" [set shape "ladybug-black" set color rgb 255 140 0 set phenotype "black"]
  if genotype = "CvCn" [set shape "ladybug-broken strip" set color rgb 200 120 100 set phenotype "broken-stripe"]
  if genotype = "CsCv" [set shape "ladybug-5 spotted" set color rgb 255 140 0 set phenotype "5-spotted"]
end 


;==================

to setup
  ca
 set-tray
 start-gamates
 fertilize

reset-ticks
end 

to mating
  ifelse count bugs with [pxcor >= max-pxcor - 1] = 2     ;ensure there are two parent beetles
  [ parents
    gametogenesis
    fertilize
    output-results]
  [user-message "Please choose 2 beetles first!"]
end 

;=================

to pick         ;choose two beetles for test cross
 clear-output
  if mouse-inside? [
    if mouse-down? [
      set x round mouse-xcor set y round mouse-ycor
      ask turtles with [xcor = x and ycor = y] [set size 1.25 setxy (max-pxcor - 0.5) ((max-pycor / 2 ) - 1.5) set gender "mom" if any? other bugs-here [setxy (max-pxcor - 0.5) ((max-pycor / 2 ) + 1.5) set gender "dad"]]
    ] ]


  if count bugs with [pxcor >= (max-pxcor - 1)] = 2     ;Remove all other beetles once two parent beetles are chosen
  [ask bugs with [pxcor < max-pxcor - 1] [die]
   ask eggs [die]
   ask sperms [die]
   stop   ;must stop here to show parent phenotypes
  ]
end 

to gametogenesis
  ask bugs with [gender = "mom"] [
     if genotype = "CsCs" [
          hatch-eggs 2 [gamete-trait set genotype "Cs"]]

        if genotype = "CsCn" [
          hatch-eggs 1 [gamete-trait set genotype "Cs"]
          hatch-eggs 1 [gamete-trait set genotype "Cn"]]

        if genotype = "CsCb" [
          hatch-eggs 1 [gamete-trait set genotype "Cs"]
          hatch-eggs 1 [gamete-trait set genotype "Cb"]]

        if genotype = "CnCn" [
          hatch-eggs 2 [gamete-trait set genotype "Cn"]]

        if genotype = "CnCb" [
          hatch-eggs 1 [gamete-trait set genotype "Cn"]
          hatch-eggs 1 [gamete-trait set genotype "Cb"]]

        if genotype = "CbCb" [
          hatch-eggs 2 [gamete-trait set genotype "Cb"]]

        if genotype = "CvCv" [
          hatch-eggs 2 [gamete-trait set genotype "Cv"]]

        if genotype = "CvCb" [
          hatch-eggs 1 [gamete-trait set genotype "Cv"]
          hatch-eggs 1 [gamete-trait set genotype "Cb"]]

        if genotype = "CvCn" [
          hatch-eggs 1 [gamete-trait set genotype "Cv"]
          hatch-eggs 1 [gamete-trait set genotype "Cn"]]

        if genotype = "CsCv" [
          hatch-eggs 1 [gamete-trait set genotype "Cv"]
          hatch-eggs 1 [gamete-trait set genotype "Cs"]]
  ]

    ask bugs with [gender = "dad"] [
     if genotype = "CsCs" [
          hatch-sperms 2 [gamete-trait set genotype "Cs"]]

        if genotype = "CsCn" [
          hatch-sperms 1 [gamete-trait set genotype "Cs"]
          hatch-sperms 1 [gamete-trait set genotype "Cn"]]

        if genotype = "CsCb" [
          hatch-sperms 1 [gamete-trait set genotype "Cs"]
          hatch-sperms 1 [gamete-trait set genotype "Cb"]]

        if genotype = "CnCn" [
          hatch-sperms 2 [gamete-trait set genotype "Cn"]]

        if genotype = "CnCb" [
          hatch-sperms 1 [gamete-trait set genotype "Cn"]
          hatch-sperms 1 [gamete-trait set genotype "Cb"]]

        if genotype = "CbCb" [
          hatch-sperms 2 [gamete-trait set genotype "Cb"]]

        if genotype = "CvCv" [
          hatch-sperms 2 [gamete-trait set genotype "Cv"]]

        if genotype = "CvCb" [
          hatch-sperms 1 [gamete-trait set genotype "Cv"]
          hatch-sperms 1 [gamete-trait set genotype "Cb"]]

        if genotype = "CvCn" [
          hatch-sperms 1 [gamete-trait set genotype "Cv"]
          hatch-sperms 1 [gamete-trait set genotype "Cn"]]

        if genotype = "CsCv" [
          hatch-sperms 1 [gamete-trait set genotype "Cv"]
          hatch-sperms 1 [gamete-trait set genotype "Cs"]]
  ]

    proportion
end 

to proportion    ;Proportionally make sperms and eggs based on parent beetles and offspring population size. Otherwise, only two offspring beetles are produced.

  set population-size 45 + random 11

  ;set sperms
  create-sperms   2 * (population-size - count sperms with [genotype = "Cs"]) * (allele-s-sperms / 4) [set genotype "Cs" gamete-trait]
  create-sperms   2 * (population-size - count sperms with [genotype = "Cn"]) * (allele-n-sperms / 4) [set genotype "Cn" gamete-trait]
  create-sperms   2 * (population-size - count sperms with [genotype = "Cb"]) * (allele-b-sperms / 4) [set genotype "Cb" gamete-trait]
  create-sperms   2 * (population-size - count sperms with [genotype = "Cv"]) * (allele-v-sperms / 4) [set genotype "Cv" gamete-trait]

  ;set eggs
  create-eggs 2 * (population-size - count eggs with [genotype = "Cs"]) * (allele-s-eggs / 4) [set genotype "Cs" gamete-trait]
  create-eggs 2 * (population-size - count eggs with [genotype = "Cn"]) * (allele-n-eggs / 4) [set genotype "Cn" gamete-trait]
  create-eggs 2 * (population-size - count eggs with [genotype = "Cb"]) * (allele-b-eggs / 4) [set genotype "Cb" gamete-trait]
  create-eggs 2 * (population-size - count eggs with [genotype = "Cv"]) * (allele-v-eggs / 4) [set genotype "Cv" gamete-trait]
end 

to output-results   ;display parent phenotypes
  output-type p-type
end 

There are 2 versions of this model.

Uploaded by When Description Download
lin xiang 3 months ago provide a complete description and fix the bracket errors. Download this version
lin xiang about 1 year ago Initial upload Download this version

Attached files

File Type Description Last updated
Multiple allele inheritance and codominance.png preview Preview for 'Multiple allele inheritance and codominance' about 1 year ago, by lin xiang Download

This model does not have any ancestors.

This model does not have any descendants.