Nematodes

Nematodes preview image

1 collaborator

Default-person Kenneth Brito (Author)

Tags

(This model has yet to be categorized with any tags)
Visible to everyone | Changeable by everyone
Model was written in NetLogo 6.1.0 • Viewed 76 times • Downloaded 9 times • Run 0 times
Download the 'Nematodes' 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 is a model of how fertility rates and population sizes affect the rate of evolution.

Every tick is a generation, where each organism reproduces asexually, and its offspring inherit its fertility. If the population rises above the terrain's carrying capacity, organisms randomly die (starve) until the population is reduced below the terrain's carrying capacity. Worms can also die based on the amount of energy they have.

Each time a worm is born, there is a probability that is born either a male or female. If the fertility rate of the offspring does change, the model chooses a random number in probability. In this way, the offspring's fertility maybe slightly higher or slightly lower than its parent's. There can be a preference or no preference of a male to reproduce.

HOW TO USE IT

Always use the SETUP button at the start of these models to initialize the population of organisms.

The CARRYING-CAPACITY slider sets the carrying capacity of the terrain. The model is initialized to have a total population of CARRYING-CAPACITY.

The GO button runs the model. Clicking it again stops the model.

The POPULATION plot displays the number of organisms currently in the population.

The SWITCH can lead to producing different results, if it is either ON or OFF.

The LOG-FERTILITY-RATE slider sets the probability that an organism's fertility rate changes at reproduction. The log base is 10, so -1 = 0.1 and -2 = 0.01, and so on.

THINGS TO NOTICE

Take a look at the graph and see what trends you can analyze.

THINGS TO TRY

Try adjusting the sliders and rerun the experiment. Does the population evolve faster or slower? Why?

Now set the carrying capacity between 1 and 1000 and re-run the experiment. Does the larger population evolve faster or slower? Why?

EXTENDING THE MODEL

If you want to download the model and change the code, try changing the switch for other things.

You can also include more switches for other scenarios

Please cite the NetLogo software as:

NETLOGO FEATURES

The model draws features that you can see from the wolf-sheep model and simple births model.

CREDITS AND REFERENCES

To cite the original model itself:

Copyright 1997 Uri Wilensky.

CC BY-NC-SA 3.0

This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 3.0 License. To view a copy of this license, visit https://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

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

Click to Run Model

;Every tick is a generation, where each organism reproduces asexually, and its offspring inherit its fertility

breed[males a-male]
breed[hermaphrodites a-hermaphrodites]

globals
[
  ;fertility is used in a slider and can determine probability of turtles

  min-fertility
  max-fertility
  max-fertility-range
  degree-of-fertility
  fertility-rate
]

turtles-own
[
  energy    ;energy for each kind of worm
  male?     ; if true, worm born is male
  hermaphrodite? ; if true, the worm born is hermaphrodite
  fertility ; the whole number of fertility
  fertility-remainder ; the fractional part
]

to setup
  clear-all
   setup-worms
   set min-fertility 1
   set max-fertility-range 3
   reset-ticks
   set fertility-rate(10 ^ log-fertility-rate)
   set degree-of-fertility 0.1
   setup-worms
end 

to setup-worms
  clear-patches
  clear-turtles
  clear-all-plots
  clear-ticks


  ;sets population of two distinct kind of worms randomly across viewer


  create-males carrying-capacity-for-males

  [
    let temp-fertility min-fertility
    setxy random-xcor random-ycor         ; make and set random turtle locations
    set energy 10
    set color blue
    set size 2
    set male? false
    set hermaphrodite? false
    set shape "caterpillar"
    set fertility 1
    set fertility-remainder 0


    ; each worm has a 50% chance of starting out male.

     if (random-float 100 < 50)
    [
      set male? true
      set hermaphrodite? false

    ]

  ]

  create-hermaphrodites carrying-capacity-for-hermaphrodites ;same as initial number
  [
    let temp-fertility min-fertility
    setxy random-xcor random-ycor         ; make and set random turtle locations
    set energy 10
    set color red
    set size 2
    set male? false
    set hermaphrodite? false
    set shape "caterpillar"
    set fertility 1
    set fertility-remainder 0
     ; each worm has a 50% chance of starting out hermaphrodite

     if (random-float 100 < 50)
    [
      set male? false
      set hermaphrodite? true

    ]




  ]


  reset-ticks
end 

to go
  reproduce
  cease
  cease2

  tick
end 

;preference for hermaphrodites on and off switch
;don't mix with the breed function and variable on Netlogo, this means breed with males or not

to breed-males
  ask hermaphrodites
  [ if pcolor = blue [ set pcolor red]] ; asking turtles and turtle procedure
  ifelse preference-for-males?
      [set label males]
      [set label ""]
end 

to assign-color ; turtle procedure
  if male?
    [set color blue]
  if hermaphrodite?
    [set color red]
end 

to wiggle  ;; turtle procedure
  rt random 40
  fd random 40
  if not can-move? 1 [ rt 180 ]
end 


; reproduction for the nematodes

to reproduce
ask Hermaphrodites
  [

    ifelse (random-float 100) < (100 )
      [ hatch  1 [ wiggle ]]
      [ hatch   1 [wiggle ]]
    set energy 10
  ]
end 


; kill worms in excess of carrying capacity. This limits the number of worms on viewer.
; note that red and blue worms have equal probability of dying

to cease2   ;When there are too many hermaphrodites in the area
  let num-turtles count turtles
  if num-turtles <= carrying-capacity-for-hermaphrodites
    [ stop ]
  let chance-to-die (num-turtles - carrying-capacity-for-hermaphrodites) / num-turtles
  ask turtles
  [
    if random-float 1.0 < chance-to-die
      [ die ]
  ]
end 

to cease     ; when there are too many males in the area
  let num-turtles count turtles
  if num-turtles <= carrying-capacity-for-males
    [ stop ]
  let chance-to-die (num-turtles - carrying-capacity-for-males) / num-turtles
  ask turtles
  [
    if random-float 1.0 < chance-to-die
      [ die ]
  ]
end 


;worms can die from overpopulation or insufficient amount of energy

to die-by-energy
  if energy <=  0 [ die ] ; When energy dips at or below zero, the worm dies
end 
;;problem with males reproducing, males cannot reproduce on their own... Only hermaphrodites

There are 2 versions of this model.

Uploaded by When Description Download
Kenneth Brito over 4 years ago New updated version Download this version
Kenneth Brito over 4 years ago Initial upload Download this version

Attached files

File Type Description Last updated
Nematodes.png preview Preview for 'Nematodes' over 4 years ago, by Kenneth Brito Download

This model does not have any ancestors.

This model does not have any descendants.