You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
\f4\fs20 \cf2 The dominance coefficient of the mutation, taken from the default dominance coefficient of its
5907
+
\f3\fs18 MutationType
5908
+
\f4\fs20 . If a mutation has a
5909
+
\f3\fs18 selectionCoeff
5910
+
\f4\fs20 of
5911
+
\f1\i s
5912
+
\f4\i0 and a
5913
+
\f3\fs18 dominanceCoeff
5914
+
\f4\fs20 of
5915
+
\f1\i h
5916
+
\f4\i0 , the multiplicative fitness effect of the mutation in a homozygote is 1+
5917
+
\f1\i s
5918
+
\f4\i0 , and in a heterozygote is 1+
5919
+
\f1\i hs
5920
+
\f4\i0 . The dominance coefficient of a mutation can be changed with the
5921
+
\f3\fs18 setDominanceCoeff()
5922
+
\f4\fs20 method.\
5923
+
Note that this property has a quirk: it is stored internally in SLiM using a single-precision float, not the double-precision float type normally used by Eidos. This means that if you set a mutation
5924
+
\f3\fs18 mut
5925
+
\f4\fs20 \'92s dominance coefficient to some number
5926
+
\f3\fs18 x
5927
+
\f4\fs20 ,
5928
+
\f3\fs18 mut.dominanceCoeff==x
5929
+
\f4\fs20 may be
5930
+
\f3\fs18 F
5931
+
\f4\fs20 due to floating-point rounding error. Comparisons of floating-point numbers for exact equality is often a bad idea, but this is one case where it may fail unexpectedly. Instead, it is recommended to use the
5932
+
\f3\fs18 id
5933
+
\f4\fs20 or
5934
+
\f3\fs18 tag
5935
+
\f4\fs20 properties to identify particular mutations.\
\f4\fs20 \cf0 The selection coefficient of the mutation, drawn from the distribution of fitness effects of its
6034
+
\f4\fs20 \cf2 The selection coefficient of the mutation, drawn from the distribution of fitness effects of its
6000
6035
\f3\fs18 MutationType
6001
-
\f5\fs20 .
6002
-
\f4 \cf2 \expnd0\expndtw0\kerning0
6003
-
If a mutation has a
6036
+
\f4\fs20 . If a mutation has a
6004
6037
\f3\fs18 selectionCoeff
6005
6038
\f4\fs20 of
6006
6039
\f1\i s
6040
+
\f4\i0 and a
6041
+
\f3\fs18 dominanceCoeff
6042
+
\f4\fs20 of
6043
+
\f1\i h
6007
6044
\f4\i0 , the multiplicative fitness effect of the mutation in a homozygote is 1+
6008
6045
\f1\i s
6009
-
\f4\i0 ; in a heterozygote it is 1+
6046
+
\f4\i0 , and in a heterozygote is 1+
6010
6047
\f1\i hs
6011
-
\f4\i0 , where
6012
-
\f1\i h
6013
-
\f4\i0 is the dominance coefficient kept by the mutation type.
6014
-
\f5 \cf0 \kerning1\expnd0\expndtw0 \
6015
-
6016
-
\f4 Note that this property has a quirk: it is stored internally in SLiM using a single-precision float, not the double-precision float type normally used by Eidos. This means that if you set a mutation
6048
+
\f4\i0 . The selection coefficient of a mutation can be changed with the
6049
+
\f3\fs18 setSelectionCoeff()
6050
+
\f4\fs20 method.\
6051
+
Note that this property has a quirk: it is stored internally in SLiM using a single-precision float, not the double-precision float type normally used by Eidos. This means that if you set a mutation
6017
6052
\f3\fs18 mut
6018
6053
\f4\fs20 \'92s selection coefficient to some number
\f4\fs20 \cf2 Set the dominance coefficient of the mutation to
6105
+
\f3\fs18 dominanceCoeff
6106
+
\f4\fs20 . The dominance coefficient will be changed for all individuals that possess the mutation, since they all share a single
6107
+
\f3\fs18 Mutation
6108
+
\f4\fs20 object (note that the selection coefficient will remain unchanged).\
6109
+
Changing this will normally affect the fitness values calculated toward the end of the current tick; if you want current fitness values to be affected, you can call the
6110
+
\f3\fs18 Species
6111
+
\f4\fs20 method
6112
+
\f3\fs18 recalculateFitness()
6113
+
\f4\fs20 \'96 but see the documentation of that method for caveats.\
\f4\fs20 \cf0 Set the mutation type of the mutation to
6120
+
\f4\fs20 \cf2 Set the mutation type of the mutation to
6072
6121
\f3\fs18 mutType
6073
6122
\f4\fs20 (which may be specified as either an
6074
6123
\f3\fs18 integer
6075
6124
\f4\fs20 identifier or a
6076
6125
\f3\fs18 MutationType
6077
-
\f4\fs20 object). This implicitly changes the dominance coefficient of the mutation to that of the new mutation type, since the dominance coefficient is a property of the mutation type. On the other hand, the selection coefficient of the mutation is not changed, since it is a property of the mutation object itself; it can be changed explicitly using the
6126
+
\f4\fs20 object). The selection coefficients and dominance coefficients of existing mutations are not changed, since they are properties of the mutation objects themselves; they can be changed explicitly using the
6078
6127
\f3\fs18 setSelectionCoeff()
6079
-
\f4\fs20 method if so desired.\
6080
-
The mutation type of a mutation is normally a constant in simulations, so be sure you know what you are doing. Changing this will normally affect the fitness values calculated toward the end of the current tick; if you want current fitness values to be affected, you can call the
6081
-
\f3\fs18 Species
6082
-
\f4\fs20 method
6083
-
\f3\fs18 recalculateFitness()
6084
-
\f4\fs20 \'96 but see the documentation of that method for caveats.\
In nucleotide-based models, a restriction applies: nucleotide-based mutations may not be changed to a non-nucleotide-based mutation type, and non-nucleotide-based mutations may not be changed to a nucleotide-based mutation type.\
\f4\fs20 \cf0 Set the selection coefficient of the mutation to
6141
+
\f4\fs20 \cf2 Set the selection coefficient of the mutation to
6095
6142
\f3\fs18 selectionCoeff
6096
6143
\f4\fs20 . The selection coefficient will be changed for all individuals that possess the mutation, since they all share a single
6097
6144
\f3\fs18 Mutation
6098
-
\f4\fs20 object (note that the dominance coefficient will remain unchanged, as it is determined by the mutation type).\
6099
-
This is normally a constant in simulations, so be sure you know what you are doing; often setting up a
6145
+
\f4\fs20 object (note that the dominance coefficient will remain unchanged).\
6146
+
Often setting up a
6100
6147
\f3\fs18 mutationEffect()
6101
6148
\f4\fs20 callback is preferable, in order to modify the selection coefficient in a more limited and controlled fashion. Changing this will normally affect the fitness values calculated toward the end of the current tick; if you want current fitness values to be affected, you can call the
6102
6149
\f3\fs18 Species
@@ -6394,14 +6441,16 @@ Note that these distributions can in principle produce selection coefficients sm
\f4\fs20 \cf0 The dominance coefficient used for mutations of this type when heterozygous. Changing this will normally affect the fitness values calculated toward the end of the current tick; if you want current fitness values to be affected, you can call the
6401
-
\f3\fs18 Species
6447
+
\f4\fs20 \cf2 The default dominance coefficient used for mutations of this type when heterozygous. This default value is taken by new mutations of this mutation type when they are created, as the value of their
6448
+
\f3\fs18 dominanceCoeff
6449
+
\f4\fs20 property, but that can be changed later with the
6450
+
\f3\fs18 Mutation
6402
6451
\f4\fs20 method
6403
-
\f3\fs18 recalculateFitness()
6404
-
\f4\fs20 \'96 but see the documentation of that method for caveats.\
6452
+
\f3\fs18 setDominanceCoeff()
6453
+
\f4\fs20 .\
6405
6454
Note that the dominance coefficient is not bounded. A dominance coefficient greater than
6406
6455
\f3\fs18 1.0
6407
6456
\f4\fs20 may be used to achieve an overdominance effect. By making the selection coefficient very small and the dominance coefficient very large, an overdominance scenario in which both homozygotes have the same fitness may be approximated, to a nearly arbitrary degree of precision.\
@@ -6417,8 +6466,7 @@ Note that this property has a quirk: it is stored internally in SLiM using a sin
6417
6466
\f3\fs18 id
6418
6467
\f4\fs20 or
6419
6468
\f3\fs18 tag
6420
-
\f4\fs20 properties to identify particular mutation types.
6421
-
\f5 \
6469
+
\f4\fs20 properties to identify particular mutation types.\
@@ -6428,7 +6476,7 @@ Note that this property has a quirk: it is stored internally in SLiM using a sin
6428
6476
\f3\fs18 1.0
6429
6477
\f4\fs20 , and is used only in models where null haplosomes are present; the
6430
6478
\f3\fs18 dominanceCoeff
6431
-
\f4\fs20 property is the dominance coefficient used in most circumstances. Changing this will normally affect the fitness values calculated toward the end of the current tick; if you want current fitness values to be affected, you can call the
6479
+
\f4\fs20 property of the mutation is the dominance coefficient used in most circumstances. Changing this will normally affect the fitness values calculated toward the end of the current tick; if you want current fitness values to be affected, you can call the
6432
6480
\f3\fs18 Species
6433
6481
\f4\fs20 method
6434
6482
\f3\fs18 recalculateFitness()
@@ -13288,6 +13336,12 @@ Note that this method is only for use in nonWF models, in which migration is man
13288
13336
\f4\fs20 object with which the mutation is associated.\
// NOTE THAT THE STACKING POLICY IS NOT ENFORCED HERE, SINCE WE DO NOT KNOW WHAT HAPLOSOME WE WILL BE INSERTED INTO! THIS IS THE CALLER'S RESPONSIBILITY!
// A nucleotide value of -1 is always used here; in nucleotide-based models this gets patched later, but that is sequence-dependent and background-dependent
0 commit comments