[Chih-Horng Kuo] Home: Software: BottleSim

Files (Version 2.6, 06/12/2003)

Catalogued on GSR

Description

BottleSim is a computer simulation program for simulating the process of population bottlenecks. The major novelties of the program include:

  1. implementation of an overlapping-generation model
  2. ability to simulate a wide range of scenarios regarding changes in population sizes
  3. fexible settings of reproductive systems

Modules included in this version:

  1. Diploid singlelocus with constant population size
  2. Diploid singlelocus with variable population size
  3. Diploid multilocus with constant population size
  4. Diploid multilocus with variable population size

An option of generating raw genotypic data output is also available. The raw genotypic data output file contains the genotypic data from the last year of each iteration. The genotypic data output is in GENEPOP (Raymond and Rousset 1995) format.

The degree of generation overlap indicates the percentage of individuals that being assigned a random age value with the longevity limit. The age of individuals that are not assigned randomly is set to zero in year0.

The operation is self-explanatory, details of the algorithm are provided in Kuo and Janzen (2003).

Input file format

This program can only read ASCII text files (e.g. MS-DOS text or text-only).

Sample1 (input1.txt) - allele frequency input file for diploid singlelocus modules

3 --- Number of alleles
0.6 --- Frequency of 1st allele
0.3 --- Frequency of 2nd allele
0.1 --- Frequency of 3rd allele

The first line indicates the number of alleles in the input file, frequency of each allele starts from second line as demonstrated in sample input file (input1.txt).

Sample2 (input2.txt)- multilocus genotypic data input for diploid multilocus modules

6 --- Number of individuals
3 --- Number of loci
Locus1 Locus2 Locus3 --- List of locus names
ID1 1 4 A D f h --- ID and genotype of 1st individual
ID2 2 9 F J s x --- ID and genotype of 2nd individual
ID3 0 8 B I ? ? --- ID and genotype of 3rd individual
ID4 7 7 T T o z --- ID and genotype of 4th individual
ID5 1 5 C F a a --- ID and genotype of 5th individual
ID6 5 7 G H c d --- ID and genotype of 6th individual

The first line indicates the number of individuals in the input file and the second line indicates the number of loci typed for each individual. The third line is a list of locus names. Genotypic data start on the fourth line; each individual has an ID followed by its multi-locus genotype in the same order as the locus name list.

Alleles can be coded as any number or character (0-9, A-Z, a-z) as demonstrated in sample input file (input2.txt). The default missing value is '?'. If the genotype of a locus is unknown, the genotype of that locus should be entered as '? ?' (individual3 - locus3). Locus with one or two unknown alleles will be ignored and not included in the allele frequency calculation.

Sample3 (input3.txt) - population size input file for variable population size modules using asexual/monoecious reproductive systems

6   --- Number of years to simulate
0 20 --- Year0, population size = 20
1 10 --- Year1, population size = 10
2 20 --- Year2, population size = 20
3 10 --- Year3, population size = 10
4 30 --- Year4, population size = 30
5 15 --- Year5, population size = 15
6 8 --- Year6, population size = 8

The first line indicates the number of years to simulate. Population size settings start from the second line, each line has the year number followed by the population size of the year. Year0 indicates the starting population size (founder population).

Sample4 (input4.txt) - population size input file for variable population size modules using dioecious reproductive systems

6     --- Number of years to simulate
0 30 15 --- Year0, population size = 30, number of female = 15
1 20 10 --- Year1, population size = 20, number of female = 10
2 10 5 --- Year2, population size = 10, number of female = 5
3 6 3 --- Year3, population size = 6, number of female = 3
4 5 2 --- Year4, population size = 5, number of female = 2
5 10 3 --- Year5, population size = 10, number of female = 3
6 8 4 --- Year6, population size = 8, number of female = 4

The first line indicates the number of years to simulate. Population size settings start from the second line, each line has the year number followed by the population size and the number of female of the year. Year0 indicates the starting population size (founder population).

Program limitation

The simulation process of this program is only limited by the amount of memory (RAM) available. (Mac OS 9 users: use command+I to change the amount of memory assigned to the program.)

Other limitations regarding input/output filenames and input data:

Frequently Asked Questions (FAQ)

Several users contacted me about the program quits without generating any error message (usually when running on a Windows machine). It turned out that this is often caused by a combination of small population size and a high maturation setting. When the population size is small (for any given year) and the maturation setting is high, it is possible that all males (or all females) in the population are juveniles just by chance. Under this scenario, the program encounters a logical error when it needs to generate new individuals. The program should generate an error message like this:

*** Population size setting error
*** Number of breeding male < 1
*** Unable to generate new individuals

before it quits. For some unknown reasons, Windows may just close the application window without showing the error message.

Currently there are no good solutions to this problem other than to increase the population size or to lower the maturation setting.

References

Kuo CH, Janzen FJ. 2003. BottleSim: a bottleneck simulation program for long-lived species with overlapping generations. Molecular Ecology Notes, 3, 669-673. DOI: 10.1046/j.1471-8286.2003.00532.x

Raymond M, Rousset F. 1995 GENEPOP (version 1.2): population genetics software for exact tests and ecumenicism. Journal of Heredity, 86, 248-249.