An Algorithm which shows the impact of different parameters on the success of a new mutant gene.
![]() A screenshot of the program in action. |
Download the program (For Windows) here. If there are issues, you may need to google the VB5 Runtimes and install them (most likely on older Windows versions.) Just put it in a folder and run it..
This app simulates a gene pool and the proliferation of a new mutant within the population. It shows the effect of the following user-definable parameters:
· Mutant Advantage - The amount of survival advantage given by an individual expressing this mutant.
· Mortality Rate - The chance (each turn) that an individual will die. Overall, about this proportion of the population dies each turn, which also determines how much space is available for new offspring to be produced.
· Starting Mutant Population - You can start with a single individual, or a whole bunch. Note that starting specimens are all heterozygous.
· Total Population - This is the max number of specimens allowed to be alive simultaneously. It will stay 100% populated at almost all times. (There may be rare exceptions in smaller populations if the sex ratio gets too far out of balance.)
· Success Goal - The attempt will be considered successful if the number of individuals in the population exceeds this percentage.
· Dominant/Codominant/Recessive mutant.
Reproduction is diploid. That is, a female contributes one gene, and a male contributes the other gene, in standard Mendelian fashion:
· If the mutation is dominant, any carrier (het or homo) will gain the survival advantage.
· If the mutation is codominant, heterozygotes are treated (for simplicity's sake) as an exact intermediate between the full advantage and no advantage, while the homozygotes gain the full advantage.
· If it is recessive, only those individuals homozygous for the mutated gene will gain its advantage.
No reproductive advantage (as in, increased number of offspring) exists in this simulation, only survival. You can also set this number to a negative value to give your mutant gene a survival disadvantage.
Each round, the number of generations for that round is added to the success or failure list. These can be copied/pasted to a spreadsheet for analysis.
The simulation runs an individual round as follows. First is the death cycle, where each individual faces its mortality rate's chance of dying. This generally leave a bunch of slots open. Next comes the reproduction cycle, where each empty slot is filled by pulling a random male and a random female from the population and breeding them together. The number "Generations" is incremented by 1, and the process starts over at the death cycle.
Information supplied:
· Mutants: # of specimens that are het or homo for the mutant allele. (# of mutant genes present: each het = 1 gene, each homo = 2 genes)
· Normals: Number of specimens not carrying any copies of the mutant allele.
· Total: # specimens in the population (Males . Females)
· Hatched: # specimens that hatched this last round.
· Number of Generations elapsed
· Show Deaths: shows which individuals died each time with a quick flash of white.