slendr 0.7.0
This is an emergency upgrade to match the latest pyslim 1.0.3 due to a serious bug in recapitation. See here and here for an extensive discussion during the process of identification of the bug and its eventual fix. For a brief summary of the practical consequences of this bug, see this thread by pyslim's developer and its formal announcement here.
-
This change will require you to re-run
setup_env()
in order to update slendr's Python internals by creating a new internal Python virtual environment. (#45539a) -
A potential issue with a parent population being scheduled for removal before a daughter population splits from it is now caught at the moment of the daughter
population()
call rather than during a simulationslim()
run. (#0791b5) -
The function
plot_model()
has a new argumentgene_flow=<TRUE|FALSE>
which determines whether gene-flow arrows will be visualized or not. (#104aa6) -
The possibility to perform recapitation, simplification, or mutation of a tree sequence right inside a call to
ts_load()
(by providingrecapitate = TRUE
,simplify = TRUE
, andmutate = TRUE
, together with their own arguments) has now been removed. The motivation for this change is the realization that there is no benefit of doing things likets_load("<path>", recapitate = TRUE, Ne = ..., recombination_rate = ...)
overts_load("<path>") %>% ts_recapitate(Ne = ..., recombination_rate = ...)
, and the frequent confusion whenrecapitate = TRUE
or other switches are forgotten by the user. All slendr teaching material and most actively used research codebases I know of use the latter, more explicit, pipeline approach anyway, and this has been the one example where reduncancy does more harm than good. (#ad82ee)
Note: Loading library(slendr)
will prompt a message "The legacy packages maptools, rgdal, and rgeos, underpinning the sp package, which was just loaded, will retire in October 2023. [...]." This is an internal business of packages used by slendr which unfortunately cannot be silenced from slendr's side. There's no reason to panic, you can safely ignore them. Apologies for the unnecessary noise.