Menu

SelectionRegimes

Robert Kofler Christos Vlachos
Attachments
CodeCogsEqn.png (2164 bytes)
dimret-example.png (22359 bytes)
dirsel-equation.gif (5645 bytes)
disruptive.png (25167 bytes)
gauss-example2.png (11219 bytes)

1 Files specific to mode qt

truncating selection (--selection-regime)

selection for large phenotypic values

Per default MimicrEE2 performs truncating selection for the most pronounced phenotypic values (e.g the tallest individuals).

1   0.5
3   0.2
  • col1: generation
  • col2: selected fraction of individuals with the largest phenotypic values (i.e. fraction of individuals surviving truncating selection; these survivors will mate and the offspring will constitute the next generation)

Note A selection intensity must be provided for the first generation
Note For not provided generations the selection intensity of the next closest previous generation is used; This allows to provide short selection regime files;

selection for small phenotypic values

MimicrEE2 also allows performing truncating selection for the least pronounced phenotypic values (e.g. the smallest individuals). To select the small phenotypes simply provide negative values for the selected fraction.

1   -0.5
3   -0.2
  • col1: generation
  • col2: when multiplied with -1.0, the selected fraction of individuals with the smallest phenotypic values

Note It is also possible to mix selection for large and small phenotypic values.

2 Files specific to mode qff

fitness function (--fitness-function)

MimicrEE2 supports many different fitness functions.
The first line of the file is used to distinguish between these options.

stabilizing selection [stabilizing]

With stabilizing selection a Gaussian fitness function is used to map the phenotype to fitness.
This input file allows providing the shape for the Gaussian function for each generation. This allows simulating a moving optimum.

[stabilizing]
1       0.7     1.2     6       2
10      0.7     1.2     8       2
30      0.7     1.2     10      3
  • col1: generation
  • col2: min. fitness
  • col3: max. fitness
  • col4: mean of the fitness peak
  • col5: standard deviation of the fitness peak

Note a fitness function MUST be provided for the FIRST generation
Note a fitness function is valid for all following generations, until a new function is provided. In the above example the first entry is valid from generation 1-9 the second entry from generation 10-29 and the third from generation 30 onward.
Note per default the fitness function applies to all sexes

As an example the first entry of the file (0.7, 1.2, 6, 2) yields the following fitness function:

In this example only phenotypic values between 0 and 12 are shown. For very small and very large phenotypic values the fitness converges towards the minimum fitness (i.e. 0.7).
The highest fitness is 1.2 at the phenotypic value 0.6 and the standard deviation of the Gaussian is 2.

disruptive selection [disruptive]

Disruptive selection is similar to stabilizing selection. It also uses a Gaussian fitness function to map phenotype to fitness. Only difference the position of the fitness valley is provided instead of the peak.

[disruptive]
1       0.1     1.2     0       3
10      0.1     1.2     1       3
30      0.1     1.2     2       3
  • col1: generation
  • col2: min. fitness
  • col3: max. fitness
  • col4: mean of the fitness valley
  • col5: standard deviation of the fitness valley

Note a fitness function MUST be provided for the FIRST generation
Note a fitness function is valid for all following generations, until a new function is provided.

As an example the first entry of the file (0.1, 1.2, 0, 3) yields the following fitness function:

diminishing returns epistasis [dimret]

MimicrEE2 allows to simulate diminishing returns epistasis for a quantitative trait according to the following fitness function (similarly to Kosheleva and Desai 2017 MBE) :

Where f_min is the minimum fitness, f_max the maximum fitness, alpha the steepness of diminishing returns and beta the position of the function.

Note MimicrEE2 uses max(f, f_min), thus f_min will be used for f smaller than f_min

[dimret]
1       0.0     1.2     0.2       0
10      0.2     1.2     0.4       0
30      0.3     1.2     0.5       0
  • col1: generation
  • col2: min. fitness
  • col3: max. fitness
  • col4: alpha (influences the steepness of the curve)
  • col5: beta (shifts the position of the curve on the abszissa)

Note a fitness function MUST be provided for the FIRST generation
Note a fitness function is valid for all following generations, until a new function is provided. In the above example the first entry is valid from generation 1-9 the second entry from generation 10-29 and the third from generation 30 onwards.

As an example the first entry of the file (0.0, 1.2, 0.2, 0) yields the following fitness function:

directional selection [dirsel]

Similarly as implemented in quantiNemo (https://www.ncbi.nlm.nih.gov/pubmed/18450810) MimicrEE2 allows to simulate directional selection using the following equations:

The parameters of this equation may be provided in the fitness function

[dirsel]
1       0.3     1.2     1       -0.4     0
10      0.3     1.2     1       -0.6     0
30      0.3     1.2     1       -0.8     0
  • col1: generation
  • col2: min. fitness
  • col3: max. fitness
  • col4: s symmetry of the curve
  • col5: r growth rate
  • col6: beta (shift of the curve on the abszissa)

Note a fitness function MUST be provided for the FIRST generation
Note a fitness function is valid for all following generations, until a new function is provided.

As an example the first entry of the file (0.3, 1.2, 1, -0.4, 0) yields the following fitness function:

arbitrary fitness function [interpolate])

The Gaussian fitness function or diminishing returns epistasis only covers some specific cases of the infinitely many possible functions that could be used to map phenotypic values to fitness.
To enable more complex fitness functions we allow the user to provide as an approximation, arbitrary many pairs of phenotypic values and corresponding fitness values. Missing values will be interpolated linearly. This allows to approximate any fitness function with an arbitrary precision (e.g. increase precision with more dense data points).
For phenotypic values outside the range of provided values the fitness of the next closest phenotypic value will be used.

[interpolate]
1   0.0 1.2
1   0.5 1.1
1   1.0 1.05
1   1.5 1.2
1   2.0 1.3
5   0.0 1.2
5   0.5 1.1
5   1.0 0.8
5   1.5 1.2
5   2.0 1.3
  • col1: generation
  • col2: phenotypic value
  • col3: fitness (w) for the corresponding phenotypic value

No particular sorting of the entries is required.

Note a fitness function MUST be provided for the FIRST generation
Note a fitness function is valid for all following generations, until a new function is provided. In the above example the first entry is valid from 1-4 generations and the second entry from 5 onward.
Note the accuracy of the arbitrary fitness function may be increased by providing denser phenotypic values

sex specific fitness function (--fitness-function)

MimicrEE2 supports sex specific fitness function. Sex specific fitness functions are currently supported for stabilizing selection, disruptive selection, diminishing returns epistasis, directional selection and arbitrary fitness functions.

sex specific stabilizing selection [stabilizing]

To provide sex specific stabilizing selection it is just necessary to add more columns (13 columns in total).

[stabilizing]
1       0.7     1.2     6       2    0.7     1.2     8       2    0.7     1.2     6       2
10      0.7     1.2     8       2    0.7     1.2     6       2    0.7     1.2     6       2
30      0.7     1.2     10      3    0.7     1.2     10       2    0.7     1.2     6       2
  • col1: generation
  • col2: min. fitness - males
  • col3: max. fitness - males
  • col4: mean of the fitness peak - males
  • col5: standard deviation of the fitness peak - males
  • col6: min. fitness - females
  • col7: max. fitness - females
  • col8: mean of the fitness peak - females
  • col9: standard deviation of the fitness peak - females
  • col10: min. fitness - hermaphrodites
  • col11: max. fitness - hermaphrodites
  • col12: mean of the fitness peak - hermaphrodites
  • col13: standard deviation of the fitness peak - hermaphrodites

sex specific disruptive selection [disruptive]

To provide sex specific disruptive selection it is just necessary to add more columns (13 columns in total).

[disruptive]
1       0.1     1.2     0       3     0.1     1.2     3       3    0.1     1.2     0       3
10      0.1     1.2     1       3     0.1     1.3     2       3    0.1     1.2     0       3
30      0.1     1.2     2       3     0.1     1.4     1       3    0.1     1.2     0       3
  • col1: generation
  • col2: min. fitness - males
  • col3: max. fitness - males
  • col4: mean of the fitness valley - males
  • col5: standard deviation of the fitness valley - males
  • col6: min. fitness - females
  • col7: max. fitness - females
  • col8: mean of the fitness valley - females
  • col9: standard deviation of the fitness valley - females
  • col10: min. fitness - hermaphrodites
  • col11: max. fitness - hermaphrodites
  • col12: mean of the fitness valley - hermaphrodites
  • col13: standard deviation of the fitness valley - hermaphrodites

sex specific diminishing returns epistasis [dimret]

To provide sex specific disruptive selection it is just necessary to add more columns (13 columns in total).

[dimret]
1       0.0     1.2     0.2       0    0.0     1.5     0.2       0    0.0     1.2     0.2       0
10      0.2     1.2     0.4       0    0.0     1.3     0.2       0    0.0     1.2     0.2       0
30      0.3     1.2     0.5       0    0.0     1.5     0.2       0    0.0     1.2     0.2       0
  • col1: generation
  • col2: min. fitness - males
  • col3: max. fitness - males
  • col4: alpha - males
  • col5: beta - males
  • col6: min. fitness - females
  • col7: max. fitness - females
  • col8: alpha - females
  • col9: beta - females
  • col10: min. fitness - hermaphrodites
  • col11: max. fitness - hermaphrodites
  • col12: alpha - hermaphrodites
  • col13: beta - hermaphrodites

sex specific directional selection [dirsel]

To provide sex specific disruptive selection it is just necessary to add more columns (16 columns in total).

[dirsel]
1       0.3     1.2     1       -0.4     0    0.3     1.5     2       -0.4     0    0.3     1.2     1       -0.4     0
10      0.3     1.2     1       -0.6     0    0.3     1.5     2       -0.4     0    0.3     1.2     1       -0.4     0
30      0.3     1.2     1       -0.8     0    0.3     1.5     2       -0.4     0    0.3     1.2     1       -0.4     0
  • col1: generation
  • col2: min. fitness - males
  • col3: max. fitness - males
  • col4: s - males
  • col5: r - males
  • col6: beta - males
  • col7: min. fitness - females
  • col8: max. fitness - females
  • col9: s - females
  • col10: r - females
  • col11: beta - females
  • col12: min. fitness - hermaphrodites
  • col13: max. fitness - hermaphrodites
  • col14: s - hermaphrodites
  • col15: r - hermaphrodites
  • col16: beta - hermaphrodites

sex specific arbitrary fitness function [interpolate])

To provide sex specific disruptive selection it is just necessary to add more columns (5 columns in total).

[interpolate]
1   0.0 1.2  1.3  1.4
1   0.5 1.1  1.4  1.4
1   1.0 1.05  1.9  1.4
1   1.5 1.2  1.8  1.4
1   2.0 1.3  1.7  1.4
5   0.0 1.2  1.6  1.4
5   0.5 1.1  1.5  1.4
5   1.0 0.8  1.4  1.4
5   1.5 1.2  1.3  1.4
5   2.0 1.3  1.2  1.4
  • col1: generation
  • col2: phenotypic value
  • col3: fitness (w) for the phenotypic value - males
  • col4: fitness (w) for the phenotypic value - females
  • col5: fitness (w) for the phenotypic value - hermaphrodites

Related

Wiki: Home
Wiki: Manual
Wiki: Walkthrough for qff mode
Wiki: Walkthrough for qt mode

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.