MathBio: The Basic Horseshoe Crab Model

Horseshoe Crab Parameters

During the last class before spring break, we were visited by Daniel Sasson from the Biology Department, a horseshoe crab expert and mathematical modeling enthusiast.  We presented several versions of our models for the “Blood Harvest” we discussed in Wednesday’s class and he advised us on some parameter values that make sense.  Our general conclusions are posted above and we began simulating the code in class.  Everyone immediately noticed an annoying, but persistent explosion no matter what parameters choices were made.  Basically, the default model was given as follows.

Version 1 of the Blood Harvest Model
Version 1 of the Blood Harvest Model
  • m is the mortality rate of juveniles, assumed during class to be 70%, but later determined to be a different value (see below).
  • g is the graduation rate of juveniles to be adults. Since it takes juveniles on average 10 years to become adults, we set this to 0.1
  • f_A is the fecundity of adults.  Daniel said that each female lays 60,000 eggs, of which roughly 10,000 are fertilized and become juveniles.
  • f_B is the fecundity of bled adults.  We assume that the fecundity is about half that of healthy adults.
  • h is the fraction of healthy adults that are harvested and bled each year.  Daniel’s research indicated that roughly one-fifth of the population is bled each year.
  • r is the rate of recovery of the bled adults.  We assume that after one year all bled crabs that have not died are recovered. So r = 1 - \mu_B.
  • \mu_A is the fraction of adults that die each year.  Daniel estimated that crabs live for about ten years as adults, so we set \mu_A = 0.1.
  • \mu_B is the fraction of bled adults that die each year.  The article indicated that roughly 20% of captured crabs do not survive the process.  It was not clear whether this was measured only during the harvesting process, or if the researchers tracked the crabs through out the year to observe their long term rate of death.

As was soon pointed out by David Garcia in the comments section of the Linear 3d coding post, the problem lay in our model for the graduation rate of juveniles to adults.  Very few juveniles progress to adulthood, but the way Version 1 of the model is written, 10% of the 10,000 fertilized eggs will become adults in the next generation.  A more realistic depiction of the dynamic would say that a very large portion of juveniles die first, and then 10% of the remaining juveniles become adults. The updated model would be this.

Version 2 of the Blood Harvest Model
Version 2 of the Blood Harvest Model

I wrote up some code to simulate Version 2.  blood_harvest.R

In the simulation depicted below, the annual fraction of juvenile deaths has been increased to 9/10.  Furthermore, to establish the dynamics before bleeding, the harvest parameter is set to zero. You will note that there is still exponential growth, but it is much slower.

The carnage of the Blood Harvest reduced to three innocuous looking curves.
The carnage of the Blood Harvest reduced to three innocuous looking curves.

Your next homework assignment will involve two parts (an explicit description will be posted Wednesday):

  • You will determine what combinations of the juvenile death fraction m and harvest capture fraction h lead to exponential growth and decay.
  • To introduce the possibility of a stable existence equilibrium, we will introduce logistic growth somewhere in the model and once again analyze circumstances under which the extinction equilibrium is unstable.

Though you are only required to analyze the basic models, I encourage groups with other models to analyze those in parallel to this model.  I will judge the extended models and will pick the best two, which will then presented to Daniel Sasson in a follow-up session.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s