diff --git a/QtSLiM/recipes.qrc b/QtSLiM/recipes.qrc
index 23d65051..bcaa1cb3 100644
--- a/QtSLiM/recipes.qrc
+++ b/QtSLiM/recipes.qrc
@@ -202,6 +202,5 @@
recipes/Recipe 19.6 - A coevolutionary host-parasitoid trait-matching model.txt
recipes/Recipe 19.7 - A coevolutionary host-parasite matching-allele model.txt
recipes/Recipe 19.8 - Within-host reproduction in a host-pathogen model.txt
- recipes/Recipe 22.7 - Parallelizing nonWF reproduction and spatial interactions.txt
diff --git a/QtSLiM/recipes/Recipe 22.7 - Parallelizing nonWF reproduction and spatial interactions.txt b/QtSLiM/recipes/Recipe 22.7 - Parallelizing nonWF reproduction and spatial interactions.txt
deleted file mode 100644
index 3327d8fa..00000000
--- a/QtSLiM/recipes/Recipe 22.7 - Parallelizing nonWF reproduction and spatial interactions.txt
+++ /dev/null
@@ -1,62 +0,0 @@
-initialize() {
- initializeSLiMModelType("nonWF");
- initializeSLiMOptions(dimensionality="xy");
- defineConstant("K", 100000); // carrying-capacity density
- defineConstant("S", 0.005); // sigma_S, the spatial interaction width
- defineConstant("M", 0.025); // sigma_M, the spatial mating width
-
- initializeMutationType("m1", 0.5, "f", 0.0);
- m1.convertToSubstitution = T;
-
- initializeGenomicElementType("g1", m1, 1.0);
- initializeGenomicElement(g1, 0, 1e8 - 1);
- initializeMutationRate(1e-7);
- initializeRecombinationRate(1e-8);
-
- // competition kernel
- initializeInteractionType(1, "xy", reciprocal=T, maxDistance=S * 2);
- i1.setInteractionFunction("n", 1.0, S);
-
- // mating kernel
- initializeInteractionType(2, "xy", reciprocal=T, maxDistance=M * 2);
- i1.setInteractionFunction("n", 1.0, M);
-}
-2: first() {
- i2.evaluate(p1);
-}
-reproduction() {
- inds = p1.individuals;
- mates = i2.drawByStrength(inds, 1, returnDict=T);
- order = mates.compactIndices();
- inds = inds[order];
- num = rpois(size(inds), 5);
- nonzero_indices = which(num > 0);
-
- for (i in nonzero_indices)
- {
- ind = inds[i];
- offspring = p1.addCrossed(ind, mates.getValue(i), count=num[i], defer=T);
- offspring.setSpatialPosition(ind.spatialPosition);
- }
-
- self.active = 0;
-}
-1 early() {
- sim.addSubpop("p1", K);
- p1.individuals.setSpatialPosition(p1.pointUniform(K));
-}
-early() {
- // deviate offspring from their maternal positions
- newborns = p1.subsetIndividuals(maxAge=0);
- old_pos = newborns.spatialPosition;
- new_pos = p1.pointReflected(old_pos + rnorm(size(old_pos), 0, 0.02));
- newborns.setSpatialPosition(new_pos);
-}
-early() {
- // spatial competition
- i1.evaluate(p1);
- inds = p1.individuals;
- competition = i1.localPopulationDensity(inds);
- inds.fitnessScaling = K / competition;
-}
-100 late() { }
diff --git a/SLiMgui/Recipes/Recipe 22.7 - Parallelizing nonWF reproduction and spatial interactions.txt b/SLiMgui/Recipes/Recipe 22.7 - Parallelizing nonWF reproduction and spatial interactions.txt
deleted file mode 100644
index 3327d8fa..00000000
--- a/SLiMgui/Recipes/Recipe 22.7 - Parallelizing nonWF reproduction and spatial interactions.txt
+++ /dev/null
@@ -1,62 +0,0 @@
-initialize() {
- initializeSLiMModelType("nonWF");
- initializeSLiMOptions(dimensionality="xy");
- defineConstant("K", 100000); // carrying-capacity density
- defineConstant("S", 0.005); // sigma_S, the spatial interaction width
- defineConstant("M", 0.025); // sigma_M, the spatial mating width
-
- initializeMutationType("m1", 0.5, "f", 0.0);
- m1.convertToSubstitution = T;
-
- initializeGenomicElementType("g1", m1, 1.0);
- initializeGenomicElement(g1, 0, 1e8 - 1);
- initializeMutationRate(1e-7);
- initializeRecombinationRate(1e-8);
-
- // competition kernel
- initializeInteractionType(1, "xy", reciprocal=T, maxDistance=S * 2);
- i1.setInteractionFunction("n", 1.0, S);
-
- // mating kernel
- initializeInteractionType(2, "xy", reciprocal=T, maxDistance=M * 2);
- i1.setInteractionFunction("n", 1.0, M);
-}
-2: first() {
- i2.evaluate(p1);
-}
-reproduction() {
- inds = p1.individuals;
- mates = i2.drawByStrength(inds, 1, returnDict=T);
- order = mates.compactIndices();
- inds = inds[order];
- num = rpois(size(inds), 5);
- nonzero_indices = which(num > 0);
-
- for (i in nonzero_indices)
- {
- ind = inds[i];
- offspring = p1.addCrossed(ind, mates.getValue(i), count=num[i], defer=T);
- offspring.setSpatialPosition(ind.spatialPosition);
- }
-
- self.active = 0;
-}
-1 early() {
- sim.addSubpop("p1", K);
- p1.individuals.setSpatialPosition(p1.pointUniform(K));
-}
-early() {
- // deviate offspring from their maternal positions
- newborns = p1.subsetIndividuals(maxAge=0);
- old_pos = newborns.spatialPosition;
- new_pos = p1.pointReflected(old_pos + rnorm(size(old_pos), 0, 0.02));
- newborns.setSpatialPosition(new_pos);
-}
-early() {
- // spatial competition
- i1.evaluate(p1);
- inds = p1.individuals;
- competition = i1.localPopulationDensity(inds);
- inds.fitnessScaling = K / competition;
-}
-100 late() { }
diff --git a/SLiMgui/Recipes/_README.txt b/SLiMgui/Recipes/_README.txt
index 88431374..82f61929 100644
--- a/SLiMgui/Recipes/_README.txt
+++ b/SLiMgui/Recipes/_README.txt
@@ -8,7 +8,7 @@ SLiM's manual contains full explanations of each recipe, in the corresponding se
These recipes were all created by Ben Haller, except recipe 5.4, created by Aaron Sams and Chase W. Nelson.
-All recipes are copyright (c) 2016-2022 Philipp Messer. All rights reserved.
+All recipes are copyright (c) 2016-2023 Philipp Messer. All rights reserved.
They are products of the Messer Lab, http://messerlab.org/slim/
All of these recipes are a part of SLiM.