Stdpopsim: Problem with slim 3.6?

Created on 4 Mar 2021  Â·  5Comments  Â·  Source: popsim-consortium/stdpopsim

During the pytest transition in #777, I hit some problems from SLiM. This is probably not an issue with stdpopsim, but either pyslim or msprime. @petrelharp or @grahamgower, any chance one of you could look into this?

I worked around by pinning the CI tests to 3.5 - we should close this issue when we can run against 3.6.

bug

All 5 comments

Looks like stdpopsim's slim engine code is relying on stdout/stderr behaviour of SLiM, which has changed in the 3.6 release.

The behaviour in stdpoposim HEAD is wrong, so #781 fixes that. Luckily, this doesn't affect stdpopsim 0.1.2.

Hmm, actually I think there's slightly more to this. The stop() eidos function call now sends output to stderr (the eidos manual still says this goes to the normal "output"). The new behaviour is arguably more correct.

$ echo "stop('xyz');" | ./eidos-3.5 /dev/stdin 2> /dev/null
xyz
$ echo "stop('xyz');" | ./eidos-3.6 /dev/stdin 2> /dev/null
$

Whoops, sorry about that. It didn't occur to me that this change in behavior would break such usage patterns (but of course it should have occurred to me). I have just fixed the documentation of stop(), thanks for pointing that out.

Oh, and – I encourage you folks to tag me on issues whenever there's something SLiM-related that I ought to be aware of. Thanks! :->

Was this page helpful?
0 / 5 - 0 ratings

Related issues

grahamgower picture grahamgower  Â·  5Comments

jeromekelleher picture jeromekelleher  Â·  5Comments

gtsambos picture gtsambos  Â·  5Comments

grahamgower picture grahamgower  Â·  6Comments

Rosemeis picture Rosemeis  Â·  5Comments