Skip to content

Releases: molpopgen/fwdpy11

Bug fix

07 Aug 17:10
4e67872
Compare
Choose a tag to compare

Bug fixes:

Fix bug in handling fixation removal in generations
when simplification occurs. (PR {pr}1326)

Back end changes:

  • Improve runtime validation of inputs to GSL discrete
    lookup tables. (PR {pr}1330)
  • Throw an exception if ALL diploid fitness values are 0. (PR {pr}1330)
  • Throw an exception if ALL diploid fitness values are 0 within a single deme. (PR {pr}1330)
  • Fix a warning relating to code not accepted in C++20. (PR {pr}1333)

Bug fix`

17 Jul 17:42
Compare
Choose a tag to compare

Bug fixes:

Fix bug in handling fixation removal (#1323)

  • In effect, flags to remove fixations were ignored.
    This likely occurred when modifying the back end
    to support demes graphs, but I have not bothered to
    bisect out the source of the error.
  • Added explicit C++ and Python tests of removing fixations
  • Updated Python tests of selective sweeps, including
    fixing some logic errors in the tests that led them
    to pass "by luck" rather than by design.

This bug does not affect simulation results for multiplicative
models. For such models, relative fitness is what matters
and not removing fixations still maintains relative fitness.

0.23.0

08 Jul 17:46
ed654ce
Compare
Choose a tag to compare

0.23.0

Bug fixes:

  • For multiplicative fitness models, "super lethal" mutations ("s" < -1.0)
    could results in positive fitness values.
    This is now fixed, and the fitness function returns as soon as "w" <= 0.
    PR {pr}1319

Deprecations

  • All previous deprecations have been removed. PR {pr}1301
  • Site frequency spectrum calculations from tables are now deprecated.
    PR {pr}1292
  • Redundant methods for loading demes graphs are now deprecated.
    PR {pr}1304

UI improvements

  • Add {attr}fwdpy11.ForwardDemesGraph.demes_graph.
    PR {pr}1297.
    PR {pr}1298.
  • Improve early detection of invalid optimum values.
    See issue {issue}1217 for context.
    PR {pr}1299.

C++ back end:

  • Code for genetic value calculations extracted into a location available
    for C++ unit testing.
    PR {pr}1319
  • Run c++ test suite through valgrind in CI. PR {pr}1296

Dependencies

  • pybind11 bumped to 2.12.0. PR {pr}1313
  • demes-forward-capi bumped to 0.5.0. PR {pr}1294
  • scipy dropped as a dependency. PR {pr}1292

Maintenance release

09 Apr 19:01
Compare
Choose a tag to compare

0.22.2

Maintenance release

C++ back end:

  • Clear table collection indexes early each generation.
    PR {pr}1272

Build system

  • Use scikit-build as the build backend.
    PR {pr}1284
  • Remove boutique arguments from setup.py.
    PR {pr}1288
  • Remove setup.py.
    PR {pr}1291

CI and deployment

Several PRs resulted in the following changes:

  • macos CI now runs on Apple Silicon runners
  • macos wheels are now built for two recent Python versions for both
    x86 and arm64 platforms
  • cibuildwheel is used to build wheels.
  • docker images are only pushed for releases and not for each commit
    to main.

Bug fix

19 Jan 20:43
651f629
Compare
Choose a tag to compare

0.22.0

Bug fixes:

  • Fixed incorrect handling of models with end times > 0 in a demes Graph.
    When exporting to tskit, alive node times were treated as 0.0, causing
    potential problems for some use cases.
    Issue {issue}1253
    PR {issue}1255

Deprecations

  • Deprecate the demes_graph argument to {func}fwdpy11.DiploidPopulation.dump_tables_to_tskit
    PR {issue}1265
  • Deprecate using a dict for the the model_params argument to {func}fwdpy11.DiploidPopulation.dump_tables_to_tskit
    PR {issue}1265

Set time_units in output tree sequence

07 Dec 19:41
31b196e
Compare
Choose a tag to compare

Data output to tskit now sets the time_units to generations.

Python 3.12 support

01 Dec 22:31
9a11cf5
Compare
Choose a tag to compare

Add support for Python 3.12, including wheels for Linux and macOS/x86.

Point release

13 Nov 23:40
29562bd
Compare
Choose a tag to compare

0.21.4

Behavior changes:

  • {func}fwdpy11.DiploidPopulation.add_mutation now considers the overlap
    with the desired interval when calculating weights.
    PR {pr}1228
    Issue {issue}1180
  • Raise warnings when removing selected fixations may
    not be the right thing to do during a simulation.
    PR {pr}1235

Documentation

  • Remove deprecated API use from manual.
    PR {pr}1233

Point release

10 Nov 00:11
Compare
Choose a tag to compare

0.21.3

Deprecations

  • Constructing {class}fwdpy11.ModelParams without a demographic object is now deprecated
    and raises a warning.
    This will be a hard error in a future release.
    PR {pr}1219

Documentation

  • Minor updates to manual.
    Some formatting issues fixed.
    PR {pr}1222
    PR {pr}1223

Python back end

  • Use tskit.NODE_IS_SAMPLE constant instead of relying on the numeric value
    when exporting to tskit.
    PR {pr}1218

Bug fix

05 Nov 14:08
Compare
Choose a tag to compare

0.21.2

Bug fixes

  • Fix internal error validating distributions of effect sizes for multi-deme models
    with correlations in effect sizes between demes.
    PR {pr}1210.

Examples

  • Update examples to latest API and run them in CI.
    PR {pr}1211.

Dependencies

  • Bump pybind11 to 2.11.11.
    PR {pr}1172.
  • Require tskit >= 0.5.6
    PR {pr}1206.
  • Add cmake dependency to pyproject.toml.
    PR {pr}1177.
  • Bump demes-forward-capi to depend on latest version.
    PR {pr}1182.

Deprecations

The following are deprecated:

  • fwdpy11.GSS
  • fwdpy11.GSSmo
  • fwdpy11.MutivariateGSS
  • fwdpy11.MutivariateGSSmo

Their functionality is replaced with {class}fwdpy11.GaussianStabilizingSelection.

PR {pr}1166.
Issue {issue}{463}.