Hi Nathan! OK, so, I take it this is a WF model, since you refer to "the WF sequence of events". I don't know anything about E&R experiment design, so I'm not going to make any reference to that at all (for fear of saying something incorrect), but I'll try to clarify SLiM's behavior.
So, the reference for WF models is the generation cycle diagram in chapter 22. If you create and initialize a subpopulation in generation 1 late(), you can see that the very next thing to happen is calculation of fitnesses; so the standing genetic variation that you set up will affect the fitness values of individuals at that point. Then generation 1 ends. In generation 2 in SLiM, you will then get early() events, and then generation of offspring following the Wright-Fisher model's procedure (detailed in section 22.2), using the fitness values calculated at the end of generation 1. So at early() event time in generation 2, you still have the same initial individuals that you created initially; at late() event time in generation 2, reproduction has occurred, the parental generation has died, and the child generation has taken its place, generated under the influence of the fitness effects calculated initially. Then, after late() events in generation 2, the fitness values of those new offspring are calculated, ready for the next round of reproduction in generation 3.
So when you write that "If I understand correctly, the new mutations added will not influence the generation of generation 2. Generation 3 is the first born under the influence of the the selected snps added in generation 1.", that is not correct. Similarly, "generation 3 in SLiM corresponds with generation 1 in the E&R" does not seem correct, nor "And there is a generation of drift (generation 2 in SLiM) between when the SNPs are added and when they are selected on". I'm not sure what gave this impression that there would be a generation of drift; please let me know if there's an error in the manual or the workshop somewhere that needs to be corrected. (If you create your initial subpop in a WF model in an *early()* event, then – as the generation cycle diagram shows – you *do* get one round of reproduction before fitness values are ever recalculated. Creating a non-neutral initial generation in an early() event in a WF model is therefore bad practice, and ought to result in a warning message from SLiM.)
This should also make clear when you want to output SNP frequencies. If you do it in an early() event, then the generation 2 early() event would output SNPs from the initial population, prior to reproduction. If you do it in a late() event, then the generation 2 late() event would output SNPs from the next generation, after the initial population has reproduced. Which of those you want is up to you. :-> (Maybe it's also worth nothing that if you do it as a late() event without a 2: late() declaration, that event will also run in generation 1; whether it runs before the initial subpopulation is even created, or immediately after it is created, is a matter of what order the events are declared in your script.)
In general, the generation cycle diagrams in chapters 22 and 23 are your friend. :-> They tell you exactly what happens when, in what order, so if you ever have questions like this you should be able to consult the diagram for your model type to figure it out. :-> Good luck!
Cheers,
-B.
Benjamin C. Haller
Messer Lab
Cornell University