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
If multiple DrawMutation events with the same single site id are supplied to the SLiM engine, then multiple mutations of the same type will be generated. If these mutations make it into the sampled individuals, they will ultimately end up as different alleles (integer codes) in the outputted tree sequence.
This creates a bit of a dilemma for ConditionOnAlleleFrequency. What exactly should be conditioned on? Some options are:
The simulation could abort if there's more than one DrawMutation event at the same site. This is de facto what happens currently -- if there's more than one extant mutation at a site when the AF condition is evaluated, then SLiM will exit with a rather ambiguous error message. So we'd just need to add a check for overlapping DrawMutation events in slim_makescript and exit with an informative error.
The allele frequency condition could apply to the sum of frequencies of derived alleles.
The allele frequency condition could apply independently to all derived alleles. This seems useful in some cases, like for conditioning on the survival of all derived alleles. However we'd need some additional checks to ensure that the condition is possible to satisfy.
Separate conditions could be applied to separate alleles. I think the only reasonable way to allow this would be to permit multiple mutation types at the same "single site" (in which case alleles could have separate fitness coefficients) -- but this would require more infrastructure, testing, etc.
My vote is for (1) as this will require very little work to implement, and should cover many use cases (?). Ultimately it'd be nice to extend this to (4).
The text was updated successfully, but these errors were encountered:
Relates to #608.
If multiple
DrawMutation
events with the same single site id are supplied to the SLiM engine, then multiple mutations of the same type will be generated. If these mutations make it into the sampled individuals, they will ultimately end up as different alleles (integer codes) in the outputted tree sequence.This creates a bit of a dilemma for
ConditionOnAlleleFrequency
. What exactly should be conditioned on? Some options are:DrawMutation
event at the same site. This is de facto what happens currently -- if there's more than one extant mutation at a site when the AF condition is evaluated, then SLiM will exit with a rather ambiguous error message. So we'd just need to add a check for overlappingDrawMutation
events inslim_makescript
and exit with an informative error.My vote is for (1) as this will require very little work to implement, and should cover many use cases (?). Ultimately it'd be nice to extend this to (4).
The text was updated successfully, but these errors were encountered: