From 2014.igem.org
Carousel Template · Bootstrap
Purpose
The fish model allows users to see the effects of different concentrations of estrogen on a freshwater ecosystem containing algae, fish, and birds. The model attempts to capture the long-term effects of estrogen on male fish, and demonstrates how sensitive a freshwater ecosystem can be to various concentrations of estrogen. The model is stochastic and it was written in NetLogo, an agent-based modeling language which allows users to view and analyze complex interactions between agents and their environment. A stochastic model employs probability to determine the behavior of its components, thus it is the best type of model to capture the randomness of an ecosystem. The model was also demonstrated to local public school teachers so that they could help their students visualize interactions between different organisms and organisms and their environment. The current lake we are simulating is fictional, however, the code has been developed in such a way that one could substitute the parameters in our model with parameters they have received from a particular lake they wish to test.
Outline
The fish model follows a simple tropic pyramid structure. The algae is the food source of the fish, which
in turn are the food source for the birds. If no estrogen is introduced into the environment, the ecosystem is
stable and the model simulates what is essentially the predator-prey interaction. Initially there is a relatively
high amount of fish, and relatively low amounts of birds and algae. This puts a strain on the fish population,
while simultaneously making it easy for the birds to find prey due to the combination of a large food source
and low competition for that food source. Thus this leads to a dip in the fish population and a peak in the bird
population. The dip in the fish population also leads to a peak in the algae population, as the algae can grow
without being consumed as fast due to the lack of fish. This scenario puts a strain on the bird population as
there is now too much competition for a smaller food source, while simultaneously making it easy for the fish
to find food due to the combination of a large food source and low competition for that food source. Thus the
population is back to the initial starting conditions, and the model continues to cycle through these scenarios ad
infinitum. The user can tamper with the ecosystem by adding varying concentrations of estrogen. The estrogen
leads to the feminization of male fish, with higher concentrations of estrogen corresponding to an increased
likely hood of feminization. Feminized male fish cannot reproduce, which leads to more frequent dips in the
fish population and can throw the entire ecosystem out of the equilibrium that was described above.
To run the model simply go to the interface tab, hit setup, and then run.
Each fish in the model represents a school of 100 fishes.
The Parameters
The parameters do not entirely reflect reality. For example both the max age of the fish and birds are the same
in the model, even though in actuality birds typically live much longer than fish. However, the parameters
are organized in such a way that the math for the model works out in a manner which is easy to program.
Essentially the most important thing for the model to do is capture the effects of estrogenic on a freshwater
ecosystem, which is what the default parameters do.
Parameter
Value (if applicable)
Reasoning (if applicable)
water-color
blue
Aesthetic purposes. Static value.
male-fish-color
cyan
Aesthetic purposes. Static value.
female-fish-color
pink
Aesthetic purposes. Static value.
feminized-fish-color
yellow
Aesthetic purposes. Static value.
bird-color
orange
Aesthetic purposes. Static value.
algae-color
green-scale
Aesthetic purposes. Static value. Darker green squares correspond to more algae.
fish-stride
0.8
The distance traveled each tick. Static value.
bird-stride
0.5
The distance traveled each tick. Static value. Birds should be a little slower than the fish so that the fish are not decimated.
fish-size
0.8
Relative size of the fish. Static value.
bird-size
1.2
Relative size of the birds. Static value. Birds should be bigger than their prey.
fish-reproduction-age
20
The age at which a fish is mature enough to reproduce. Static value.
bird-reproduction-age
20
The age at which a bird is mature enough to reproduce. Static value.
fish-max-age
100
The age at which a fish will die of old age. Static value.
bird-max-age
100
The age at which a bird will die of old age. Static value.
max-fish-offspring
2
Maximum number of offspring a female fish can produce each time she successfully reproduces. Static value. DO NOT CHANGE as the value must
always be greater than the max number of offspring a bird can produce but almost all computers cannot handle a value of > 2.
max-bird-offspring
1
Maximum number of offspring a female bird can produce each time she successfully reproduces. Static value. DO NOT CHANGE as the value must
always be less than the max number of offspring a fish can produce but almost all computers cannot handle a value of > 1.
male?
true/false
Assigned when an agent is born. Static at birth. 50% chance of being true.
energy
≤ 100
Initialized to 100 when an agent is born. If it is less than or equal to 0, then the agent dies. Increases as the agent consumes food, up
to a max value of 100. Decreases by a fixed amount each tick.
current-age
0-100
The age of an agent. Initialized to 0 when an agent is born. Incremented by one each tick.
estrogen-concentration
≥ 0
Initialized to 0. Represents the current concentration of estrogen (ppt) in the water. Decreases over time and as fish are feminized. Can
be increased by the user.
estrogen-resistance
200
The ability of a male fish to resist feminization. Static value. Higher number corresponds to higher base resistance (different types of
fish resist estrogen to various extents so the model can be used to simulate different freshwater sources).
estrogen-accumulated-max
0.1
Essentially captures how much estrogen can be accumulated in the fat tissue of a male fish over time. Static value.
estrogen accumulated
≤ estrogen-stored-max
The current amount of estrogen accumulated in a male fish due to exposure to estrogen from environment. As this number increases the chance
a male fish is feminized also increases.
algae-energy
0-100
The amount of algae present in a square. If it equals 0, then there is no algae present in the square and the square is blue.
algae-growth-rate
10
The amount of energy an algae tile gains each time it reproduces. Static value.
algae-growth-delay
15
The amount of time the algae needs to wait before it can reproduce. Static value.
algae-max-energy
100
The maximum amount of algae that can be located in a tile. Static value.
fish-survival
0.30
Probability that a fish makes it out of infancy. Static value.
bird-survival
0.15
Probability that a bird makes it out of infancy. Static value.
fish-find-egg
10
The more male fish there are the greater the chance is that an egg is fertilized. Increasing this number increases the number of male fish
needed to fertilize eggs (a large body of water will have a greater value for this parameter).
bird-egg
1
The more male birds there are the greater the chance is that an egg is fertilized. Increasing this number increases the number of male
birds needed to fertilize eggs (a large body ecosystem will have a greater value for this parameter).
Insight
In the following section we explain the reasoning behind the two stochastic processes employed in the model:
• Feminization of the male fish
• Reproduction of the birds/fish.
All male fish accumulate estrogen in their bodies when exposed to high levels of estrogen in their environment.
Juvenile males will be more affected by exposure to estrogen, thus they will store it at a faster rate than sexually
matured males. The rate of estrogen storage for a juvenile male fish is captured by the formula below:
Mature male fish store estrogen at a slower rate. A male fish is defined as mature when its age is greater than or
equal to the age it is old enough to reproduce. The rate of estrogen storage for a mature male fish is captured by
the formula below:
The model updates the state of each agent each tick. A tick is essentially representative of all the life functions
an agent needs to carry out. In a tick each organism will consume food, increment its age, move, reproduce, and
determine whether or not it needs to die.
Each tick, the model of a male fish will call a function that uses a random number generator (RNG) to
determine whether or not they are feminized. The chance for a male fish to be feminized is captured by the
formula below:
The RNG then generates a floating point number between 0 and 1.0. If said number is less than the feminization
chance of a particular male fish, then that particular male fish will become feminized. Thus fish with high
amounts of estrogen accumulated in their body (representing a prolonged exposure to estrogen) and placed in a
very estrogenic environment will have a high chance of becoming feminized.
The reproduction function for both the fish and birds follow the same exact principles (they differ in only the
parameters they use). The fish reproduction function will be explained below, and the reasoning will be the
exact same for the bird reproduction function.
Essentially each female fish that is above the reproduction age will call a reproduction function that uses RNG
to determine whether or not it successfully creates offspring. The chance that a female reproduces is based on
the following formula below:
Thus the chance any female can successfully reproduced varies as a function of the number of fertile males of
reproduction age. If there are only a few males in the lake relative to the size of the lake, adding more males
will greatly increase the chance that the eggs of a female are fertilized. Conversely if there are a large number of
males in the lake additional males will not really affect the rate at which eggs are fertilized. The constant fish-
find-egg represents the number of males after which additional males will not greatly affect the rate at which
eggs are fertilized.
Results
The most important thing to take away from the model is how fickle the organisms at the top of the food chain
are to changes in the chemical composition of the water. Even though the estrogen directly affects the fish by
feminizing them, the birds are the species which are more prone to dying out first if the estrogen level is too
high as they are highly responsive to even slight dips in the population of their food source, due to the fact that
they are a trophic level higher than the fish.
Scenario 1: No Estrogen Added
If there is no estrogen added, the ecosystem is in dynamic equilibrium. Essentially the ecosystem follows the classic predator prey relationship described in the section titled 'Outline'.
Scenario 2: Low Concentrations of Estrogen (ppt 0 – 20)
Low concentrations of estrogen have a noticeable immediate effect on the ecosystem; however, over time the ecosystem is able to reach dynamic equilibrium once more. At tick 100, 20 ppt of estrogen was added to the water. Around tick 105 the fish population dipped to the lowest value it would ever be (150,000 individuals). This lead to the bird population experiencing a dangerously low dip at around ticks 130-135. Also the low fish population at tick 105, led to the highest recorded algae population around ticks 130-135.
Scenario 3: Medium Estrogen Concentrations (21 – 39 ppt)
Medium concentrations of estrogen have quite an interesting effect on the ecosystem. 30 ppt of estrogen was added to the ecosystem at tick 40. From ticks 50-100, the fish population was dangerously low for a longer period of time than a typical dip in the fish population. This long dip in the fish population caused the birds to die out as there was simply not enough food. The long dip in the fish population led to a large spike in the algae population. The spike in the algae population coupled with the local extinction of the bird population, allowed the fish population to boom after its prolonged dip.
Scenario 4: High Estrogen Concentrations (≥ 40 ppt)
When the estrogen concentration is too high, both the fish and bird populations get wiped out. The fish are incapable of producing enough fertile offspring to sustain their population, which in turn means the birds have no available food source. The algae due to the lack of fish, overgrows, and covers the whole lake which leads to other problems such as algal bloom. 60 ppt of estrogen was added at tick 95, and the bird population died almost instantly (~15 ticks), whereas the fish population was a little hardier (died out only after ~100 ticks).
Code
A commented, working version of the code can be found at Feminized Fish Model
References
1. Novak, M. and Wilensky, U. (2011). NetLogo Bug Hunt Predators and Invasive Species model. http://ccl.northwestern.edu/netlogo/models/BugHuntPredatorsandInvasiveSpecies. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.
2. Wilensky, U. (1999). NetLogo. http://ccl.northwestern.edu/netlogo/. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.