Skip to main content

Population fragmentation drives up genetic diversity in signals of individual identity

Cite this dataset

Dytham, Calvin; Thom, Michael (2019). Population fragmentation drives up genetic diversity in signals of individual identity [Dataset]. Dryad.


Many species advertise their unique identity to conspecifics using dedicated individuality signals: one familiar example is human faces. But how unique in the global population do these signals need to be? While human faces are highly variable, each person interacts with many fewer individuals than are found in the total population. This raises the question of how evolutionary mechanisms drive up population-wide diversity when selection occurs at such a local level. We use an individual-based model in which individuals broadcast their identity and quality in separate, genetically-coded signals. Mimicking, for example, scent marking mammal species, females in the model assess males using the quality signal, then attempt to relocate the highest quality male using his identity signal. We ask how population fragmentation affects genetic diversity in the individual identity-signalling region under sexual selection, predicting one of two opposing outcomes: (1) divided populations evolve fewer signal variants globally, since repetition of signals is not costly when individuals interact only with local conspecifics, or (2) stochasticity in mutation and selection cause divergence among subpopulations, increasing the global number of signal variants. We show that local selection drives up global genetic diversity substantially in fragmented populations, even with extremely low rates of dispersal. Because new signal variants arise by mutation and then sweep through their subpopulation, a fragmented population has more global signal variation. This result furthers our understanding of how high levels of diversity in individuality signals are maintained.


We use an individual-based model of a sexual population with discrete events following Allen & Dytham’s (2009) adaptation of the Gillespie (1977) algorithm for simulating continuous time models. Extending the single, well-mixed population approach of Thom & Dytham (2012), we model a one dimensional ring of discrete patches connected by dispersal. An event can be either a birth (with possible dispersal to an adjacent population) or a death, and time advances after each event. The probability of a death event is density dependent and the population size will show stochastic logistic growth. We use an equilibrium density of 10,000 individuals divided equally across identical patches. The number of patches varies from 1 to 50, so the population ranges from 1 patch with 10,000 equilibrium density, to 2 patches with 5,000 through to 50 patches with an equilibrium density of 200.

Each individual carries a diploid attractiveness locus with alleles that can take any value, and six unlinked, diploid loci with four possible alleles at each locus. We consider the loci in two groups of three. One group controls signalling and the other evolves neutrally under mutation and drift only. There are 1000 possible unique combinations in each group (10 unique combinations at each locus, because genotype AB is phenotypically equivalent to BA), and thus 103 (1000) possible individuality signals.

A random individual is chosen from the global population of N individuals and an event type (either birth or death) is chosen at random. Time moves on an average of 1/2N of a time step after each event. If birth is selected and the chosen individual is female, she chooses a mate from a random selection of 10 individuals from within the same patch. The focal female either selects a male on attractiveness criteria (see below) or is assigned one at random, with a probability of 0.5 for each. If no males are encountered there is no birth, but if a male is encountered then the female produces a single offspring. At birth, the new individual is randomly assigned a sex (even sex ratio), inherits one allele for each of the six marker loci from each parent, and one attractiveness allele from each parent. There is no linkage. There is an independent chance of mutation for marker and attractiveness alleles. For signalling or neutral region mutations, there is a 1:1000 chance that one allele of 12 will mutate to one of the three different states. This represents a 1:6000 mutation rate per locus, which is of the order used in other simulation models (Roff 1998). Our mutation rate of 1:500 per locus for attractiveness is substantially higher because we assume that attractiveness is the product of numerous alleles across the genome, and thus that the mutational target is relatively large (Hunt et al. 2004). When an attractiveness allele mutates, a random number from a normal distribution with a mean of ‑0.02 and standard deviation of 0.02 is added to the existing allele with the result that the majority of mutations have negative effects on attractiveness. Following Thom & Dytham (2012), there is no upper limit on attractiveness. After birth the individual has a probability, set by the dispersal rate, of moving to an adjacent patch. Patches are arranged in a ring, and dispersal in a clockwise or anti-clockwise direction is equally likely. We use dispersal rates of 0, 0.0001, 0.001, 0.01, 0.1 and 0.5. Individuals have no more than one dispersal event during their lifetime.

We used a discrimination rate of 50% for simulations here, based on previous simulations of this system (Thom and Dytham 2012) — females choose the best male in half their mating opportunities; the rest of the time, they select randomly from males they have encountered. When discriminating, a female chooses a mate based on male attractiveness using the sum of the two attractiveness alleles. The female rejects all males that have signalling loci different from those of the most attractive male, and then chooses a mate at random from those remaining. There is no other effect of attractiveness or signalling on fecundity, dispersal or mortality, and females assess male attractiveness without error.

Populations are initiated with the number of individuals equal to the equilibrium density (10,000) spread randomly across patches. At initiation, each individual has an equal chance of being male or female. All markers are set to the same value (i.e., there is initially no variation in signalling or neutral loci) and each attractiveness allele is assigned a random value drawn from a uniform distribution between 0 and 1. We describe a “time step” as the period when the number of possible events is twice the population size. We used 100 realisations for each parameter set tested (the ‘neutral’ model, with female discrimination rate set to 0, was replicated 40 times). Simulations ran for 50,000 time steps, by which time population dynamics had settled into an equilibrium state.

Usage notes

There are two datasets, one in which the female discrimination function was turned on ("Dytham Thom discriminationON raw data.csv") and one with the female discrimination function turned off ("Dytham Thom discriminationOFF raw data.csv"). In the latter realizations of the model, females chose males entirely at random.

For both datasets, the column names in order are:

Dispersal = the dispersal rate (probability of an individual moving patch), set at either 0, 0.0001, 0.001, 0.05, 0.1, or 0.5
Rep = Replicate number (100 replicates for discriminationON, 40 replicates for discriminationOFF)
Pop = Population size (the target population size was 10,000, maintained through density dependence)
Npatches = Number of patches - we modelled 1 - 20 patches, plus the population divided into 25, 30, 35, 40, 45 and 50 patches
Sig_genotypes = Number of signalling genotypes in the population
Nonsig_genotypes = Number of nonsignalling genotypes in the population
Mean_quality = Mean quality of males in the population (an unbounded value representing quality)
Var_quality = Variance in male quality quality in the population
Sig_genos_per_patch = Mean number of signalling genotypes per patch (i.e. for Npatches = 1, this is the same as the population-wide signal number, for Npatches = 2, it is half, etc).
Nsig_genos_per_patch = Mean number of non-signalling genotypes per patch