Open
Description
As discussed with @jeanrjc: how to do this is described in Cury et al:
- use a nonWF model
- have indviduals be haploid
- switch out the reproduction callback to do HGT
This might be pretty different to the existing SLiM engine because population regulation happens in a different way; for instance in the paper above it works as follows:
early()
{
inds = p1.individuals;
ages = inds.age;
// kill off parental individuals; biologically they don’t even exist,
// since they split by mitosis to generate their offspring
inds[ages > 0].fitnessScaling = 0.0;
// density-dependent population regulation on juveniles, toward Ne
juvenileCount = sum(ages == 0);
inds[ages == 0].fitnessScaling = Ne / juvenileCount;
}
However, probably a bunch of the same machinery from the existing implementation will be useful. I don't know if this should be a new engine, or just additional behavior of the same engine.