← Guides Continent-Island Model

Introductory 8 min read Open the module

Continent-island migration

One-way gene flow pulls an island to the continent frequency, and the gap shrinks by the same fraction every generation.

Read first: Genotype frequencies and Hardy-Weinberg

One-way gene flow

An island that receives migrants from a large mainland ends up with the mainland allele frequency. The Continent-Island module shows how fast it gets there. The model has one locus with alleles A and a. The continent holds a constant frequency P of A. Each generation a fraction m of the island gene pool is replaced by continental migrants, and the rest stays. The island frequency p updates as p(t + 1) = (1 − m)p(t) + mP.

Read m as a share of gene copies. With m = 0.05, 5 of every 100 gene copies on the island come from the mainland each generation. On an island that holds 1,000 gene copies, 50 are new arrivals. The mainland is so large that sending them out does not change its own frequency.

The island is treated as infinitely large, so drift does not act. There is no selection and no mutation. Migration is the only force. That makes the curve exact and smooth.

The default run

Figure 1. The continent holds P = 0.8 and the island starts at 0.2, with m = 0.05. The island is at 0.3357 in generation 5, 0.4408 in generation 10, 0.5074 in generation 14, 0.7538 in generation 50 and 0.7964 in generation 100.

The gap shrinks by a fixed fraction

Subtract P from both sides of the update. The result is p(t + 1) − P = (1 − m)(p(t) − P). The gap between island and continent is multiplied by (1 − m) every generation. After t generations the gap is (p₀ − P)(1 − m)^t, so p(t) = P + (p₀ − P)(1 − m)^t.

With the defaults the gap is 0.6 × 0.95^t. It is 0.6 at generation 0 and 0.36 at generation 10. The curve is steepest at the start, because the same fraction of a larger gap is a larger step.

The island ends at P whatever m is. The value of m sets only the speed. The gap halves every ln(0.5) / ln(1 − m) generations, about 0.693 / m for small m. For m = 0.05 that is 13.5 generations, so the island passes the halfway value 0.5 between generations 13 and 14.

The extremes check the formula. With m = 0 nothing arrives and the island stays at p₀. With m = 0.5 the island is at 0.5000 in generation 1, 0.6500 in generation 2 and 0.7250 in generation 3, and it reaches 0.7994 in generation 10. With m = 1 the island equals the continent after one generation. In each case the gap follows (1 − m)^t.

Because the gap shrinks geometrically, the island never quite arrives. It gets close fast and then creeps. With the defaults the island first comes within 0.01 of the continent in generation 80, when it reads 0.7901. Reading the module chart, remember that its y axis scales to the plotted values, so check the tick labels before judging how large a gap looks.

Ten times less migration

Figure 2. The same populations with m = 0.01 and 500 generations. The gap halves every 69.0 generations, so the island reaches 0.5001 in generation 69. It is at 0.5804 in generation 100 and 0.7961 in generation 500. The destination is still 0.8.

Exercise

Compare two migration rates

Open the module and run p(cont) 0.8, p(isle) 0.2, m 0.05, Gen 100. Save the run from the Runs panel. Change m to 0.01, set Gen to 500, run again and tick the saved run.

What to expect. Both curves end at 0.8. The m = 0.05 curve is at 0.7964 in generation 100, and the m = 0.01 curve is at 0.5804. Step 4 of the walkthrough shows the same comparison.

Open the walkthrough step →

Starting above the continent

Figure 3. The island starts at 0.95, above the continent at 0.8, with m = 0.05. The gap is 0.15 and shrinks by 0.95 each generation. The island falls to 0.8538 in generation 20 and 0.8009 in generation 100.

Exercise

Start above and below

Set p(cont) 0.8, m 0.05 and Gen 100. Run with p(isle) 0.2, then with p(isle) 0.95.

What to expect. The first island rises to 0.7964 and the second falls to 0.8009. Both approach 0.8 at the same rate, because only the size of the gap sets the speed.

Open the walkthrough step →

Summary

  • The island frequency follows p(t + 1) = (1 − m)p(t) + mP, with P fixed.
  • The gap to the continent is multiplied by (1 − m) each generation: p(t) = P + (p₀ − P)(1 − m)^t.
  • The island always ends at P. Migration rate sets the speed, not the destination.
  • The gap halves every ln(0.5) / ln(1 − m) generations: 13.5 for m = 0.05 and 69.0 for m = 0.01.
  • A lasting difference between island and continent needs another force, such as local selection, or drift acting on a small island with low Nm.
  • The model is exact because it ignores drift. Real islands scatter around the curve.