Recent Releases of fwdpy11

fwdpy11 - Maintenance release

  • Refactor mutation metadata definition for compatibility with tskit 0.6.1
  • Fix pinning of rust toolchain version
  • Clean up unused Python imports

- C++
Published by molpopgen about 1 year ago

fwdpy11 - Maintenance release

No new features or bug fixes.

This version focuses on improving reproducible builds and dependency management.

- C++
Published by molpopgen about 1 year ago

fwdpy11 - Bug fix

Bug fix:

  • Raise error when simulating neutral mutations and tracking mutation counts suppresses table indexing. (PR {pr}1342)

- C++
Published by molpopgen over 1 year ago

fwdpy11 - Maintenance release

Removes an unintended print statement from the C++ back end code.

- C++
Published by molpopgen over 1 year ago

fwdpy11 - Bug fix

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)

- C++
Published by molpopgen almost 2 years ago

fwdpy11 - Bug fix`

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.

- C++
Published by molpopgen almost 2 years ago

fwdpy11 - 0.23.0

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

- C++
Published by molpopgen almost 2 years ago

fwdpy11 - Maintenance release

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.

- C++
Published by molpopgen about 2 years ago

fwdpy11 - Bug fix

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

- C++
Published by molpopgen over 2 years ago

fwdpy11 - Set time_units in output tree sequence

Data output to tskit now sets the time_units to generations.

- C++
Published by molpopgen over 2 years ago

fwdpy11 - Python 3.12 support

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

- C++
Published by molpopgen over 2 years ago

fwdpy11 - Point release

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

- C++
Published by molpopgen over 2 years ago

fwdpy11 - Point release

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

- C++
Published by molpopgen over 2 years ago

fwdpy11 - Bug fix

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}.

- C++
Published by molpopgen over 2 years ago

fwdpy11 - Version 0.21.0

0.21.0

Breaking changes

  • Refactor {class}fwdpy11.conditional_models.SimulationStatus as an enum. This change makes correct use much easier. PR {pr}1161. Issue {issue}934.

Fixes

  • {class}fwdpy11.conditional_models.ConditionalModelOutput now contains fields allowing one to distinguish if the tracked mutation is still present in {attr}fwdpy11.DiploidPopulation.mutations and/or {attr}fwdpy11.DiploidPopulation.fixations PR {pr}1163. Issue {issue}1160.

New features

  • {func}fwdpy11.DiploidPopulation.create_from_tskit is now able to restore individual metadata, populating {attr}fwdpy11.DiploidPopulation.diploid_metadata and {attr}fwdpy11.DiploidPopulation.ancient_sample_metadata. PR {pr}1157. Issue {issue}1130.

CI changes

  • Remove tests using conda environments. This removal was a pragmatic decision to speed up CI time.
  • Test macOS/x86 using brew instead of conda
  • Reduce number of work flows run for PRs into the dev branch. Several work flows are only needed when merging into main.
  • Reduce number of work flows running upon push to main/dev. We now use branch protection, so in theory any changes merging have passed their CI requirements.

- C++
Published by molpopgen almost 3 years ago

fwdpy11 - Bug fix release

Fixes bug #1153 via pr #1155. Improves issues with build system (issue #1154, pr #1156).

- C++
Published by molpopgen almost 3 years ago

fwdpy11 - v0.20.0

This is the first stable release of the 0.20.x series.

The main change is that a rust implementation of demes is used by the C++ back end to manage the internal state of the demographic model.

The CHANGELOG is extensive for this one!

- C++
Published by molpopgen about 3 years ago

fwdpy11 - Second alpha of 0.20.0

0.20.0a1

New features

  • Add {class}fwdpy11.BinomialIntervalMap. PR {pr}1142

Back end

  • Improve test suite run times. PR {pr}1136
  • Refactor some C++ test fixtures. PR {pr}1139
  • Python tests now treat warnings as errors. PR {pr}1135

Documentation

  • Improve docs related to {class}fwdpy11.ForwardDemesGraph. PR {pr}1133 PR {pr}1137

- C++
Published by molpopgen about 3 years ago

fwdpy11 - 0.20.0 alpha 0

0.20.0a0

New features

  • {func}fwdpy11.DiploidPopulation.create_from_tskit now uses the generation field from top-level metadata to restore all times to their forward-in-time values. PR {pr}1129
  • Discrete demographic models are now managed by {class}fwdpy11.ForwardDemesGraph See {ref}here <demes_vignette>. PR {pr}1101 PR {pr}1103 PR {pr}1121 PR {pr}1123 PR {pr}1124
  • Add support for Python 3.11 PR {pr}1108
  • Allow suppressing of residual selfing. See {ref}here <demes_details>. PR {pr}1117 PR {pr}1118

Deprecations

  • Deprecate use of {class}fwdpy11.Region for recombination PR {pr}1126

Breaking changes

  • Drop support for Python 3.7 PR {pr}1108
  • Removed deprecated discrete demography API PR {pr}1101 PR {pr}1116

Documentation

  • Give link to examples of lists of "gvalue" objects PR {pr}1127
  • Rewrite demes-related documentation PR {pr}1124

- C++
Published by molpopgen about 3 years ago

fwdpy11 - Documentation improvement

Rewrote a vignette to focus only on what it is trying to document.

1119, issue #1104

- C++
Published by molpopgen about 3 years ago

fwdpy11 - Bug fix

Bug fix:

  • When building a population from a tskit tree sequence, we now correctly handle the origin times of mutations generated from within fwdpy11.
  • This fix allows evolve/export/import/evolve work flows

PR #1113

- C++
Published by molpopgen about 3 years ago

fwdpy11 - Bug fix / new feature (matter of perspective)

Added support for creating a population from a tskit tree sequence output from a previous fwdpy11 run.

PR #1110 / issue #1109

- C++
Published by molpopgen about 3 years ago

fwdpy11 - Bug fix release

Fix #1105 via #1106

- C++
Published by molpopgen about 3 years ago

fwdpy11 - Bug fix release

Bug fix

  • Fix error in conditional models when sampling ancient samples throughout the focal mutation sojourn. PR #1094 Issue #1093

- C++
Published by molpopgen about 3 years ago

fwdpy11 - v0.19.5

Bug fix in the new implementations of binomial crossover types released in 0.19.4

PR #1088

- C++
Published by molpopgen about 3 years ago

fwdpy11 - major performance improvement

Massive improvement to the performance of simulations using genetic maps with a large number of PoissonInterval classes.

These changes mean that simulations with many regions will give different results for the same random number seed.

1087 (see issue #1082)

This release also include several back-end changes getting ready to use demes models directly. See the detailed change log in the manual.

- C++
Published by molpopgen about 3 years ago

fwdpy11 - v0.19.3

0.19.3

Deprecations

  • The low-level Python API for defining demographic events is now deprecated and will raise warnings. No action has to be taken yet. There is no replacement API to migrate to. PR {pr}1064.

Back end changes

  • Prepare to refactor C++ code to evolve directly from demes graphs. PR {pr}1063. PR {pr}1067.
  • Boolean flags affecting simulation behavior collected into struct. PR {pr}1061.

- C++
Published by molpopgen over 3 years ago

fwdpy11 - Documentation improvement

This release updates one of the vignettes:

  • Fix an error where the vignette says we cannot import tskit tree sequences with mutations.
  • Add a link to the vignette showing exactly how to create/import such tree sequences.

0.19.2

Documentation

  • Add link between vignettes regarding importing tree sequences from tskit. PR {pr}1054.
  • Force notebooks to be executed during doc builds. PR {pr}1058.

Testing/CI

  • Docs workflow updated to run with Python 3.10. PR {pr}1056.

- C++
Published by molpopgen over 3 years ago

fwdpy11 - Bug fix release

Fixes the generation of the source distributions uploaded to PyPi.

- C++
Published by molpopgen over 3 years ago

fwdpy11 - v0.19.0

This is a major back end release:

  • rust and demes-rs integration
  • main functionality is built into a core shared library

Two bug fixes.

One new feaure: importing mutation from tskit tree sequences.

0.19.0

Differences from the last stable release also include entries for all alpha releases listed below

Documentation

  • Add new vignettes. See {ref}here <varying_fitness_conditions_across_demes_intro> PR {pr}950

Bug fix

  • Add runtime checks for invalid models where effect sizes vary across demes. PR {pr}1047

Testing

  • Disable wheel build workflow for PRs PR {pr}1048

0.19.0a5

Deployment

  • Add missing , to docker tag names PR {pr}1042

Testing

  • Remove stray return statement in a test. PR {pr}1043

0.19.0a4

Deployment

  • Add a version name tag to releases PR {pr}1041

Documentation

  • Describe podman and give singularity example in deployment section. PR {pr}1040

Testing

  • Fix logic error in testing mutation import from tskit. PR {pr}1039

0.19.0a3

Deployment

  • Update docker base image to ubuntu:jammy. PR {pr}1031
  • Docker images now installs into a venv rather than globablly. PR {pr}1031
  • Fix docker tags so that latest means the latest release. PR {pr}1036

Documentations

  • Document how to build core library in isolation. PR {pr}1038
  • Document cbindgen requirement for development. PR {pr}1030

Back end changes

  • C++ back ends of Region/Sregion now validate their coordinates at run time. PR {pr}1032
  • Add wrapper to gsl_ran_flat to avoid returning max value. PR {pr}1035

Testing

  • Separate Python tests requiring compiled C++ modules to another directory. PR {pr}1037

0.19.0a2

Documentation

  • Rewrite {ref}vignette <import_mutations_from_tskit_vignette>. PR {pr}1026.

0.19.0a1

New features

  • Ability to import tree sequences with mutations from tskit. A new {ref}vignette <import_mutations_from_tskit_vignette> describes the procedure. PR {pr}1026.

Bug fixes

  • Fix bug in sweep models. The fix in PR {pr}1020 was incomplete. Tree span is now accounted for. PR {pr}1026.
  • Fix Python-side constructors in Mutation re: integer types. No previous results were affected. PR {pr}1023.

Documentation

  • Update developer docs. PR {pr}1021.

0.19.0a0

Bug fixes

  • Fix bug in sweep models. The previous implementation chose acceptable branches for mutation placement uniformly. The new method chooses proportionally to branch length. PR {pr}1020.

API changes

  • Remove deprecated WrappedTreeSeqeuence PR {pr}978.
  • Add Python-level checks that "regions" don't contain positions extending past the genome ends. PR {pr}987.

Dependencies

  • Bump pybind11 to 2.10.0 PR {pr}986.

Build system and CI

  • Remove all use of automake/autoconf. PR {pr}971.
  • Build core library as shared library. PR {pr}961.
  • Allow for standalone cmake builds. PR {pr}966.
  • Add rust crate demes-forward-capi to core lib. PR {pr}962. PR {pr}1001.
  • Build C++ tests with cmake. PR {pr}967.
  • Use python -m build . for Ubuntu CI. PR {pr}970.
  • Build all C++ targets in one command on Ubuntu CI. PR {pr}972.
  • Test docker work flow on CI. PR {pr}979.
  • Add cancel actions to all work flows. PR {pr}982. PR {pr}985.
  • Wheels are now based on manylinux_2_28 PR {pr}994.
  • move fwdpy11/src to cpp/ PR {pr}996.
  • Add dependabot for GitHub actions PR {pr}1002.
  • Fix warnings from python -m build . PR {pr}1018.

Back end changes

  • Move evolve code to core library. PR {pr}974.
  • Clean up implementation of individual and mutation metadata decoding. PR {pr}1015.
  • Tidy up a lot of mypy errors. PR {pr}1016.

Testing

  • Remove many C++ files from tests/ PR {pr}976.
  • Test that we can load YAML files from demes-spec into our rust-based ForwardDemesGraph. PR {pr}975.
  • move fwdpy11.ezparams module to tests/ PR {pr}977.
  • Add C++ tests of our new "forward demes graph". PR {pr}980. PR {pr}983. PR {pr}984. PR {pr}989. PR {pr}999.

- C++
Published by molpopgen over 3 years ago

fwdpy11 - v0.19.0a5

0.19.0a5

Deployment

  • Add missing , to docker tag names PR {pr}1042

Testing

  • Remove stray return statement in a test. PR {pr}1043

- C++
Published by molpopgen over 3 years ago

fwdpy11 - v0.19.0a4

0.19.0a4

Deployment

  • Add a version name tag to releases PR {pr}1041

Documentation

  • Describe podman and give singularity example in deployment section. PR {pr}1040

Testing

  • Fix logic error in testing mutation import from tskit. PR {pr}1039

- C++
Published by molpopgen over 3 years ago

fwdpy11 - v0.19.0a2

Rewrite vignette on importing mutations from tskit

- C++
Published by molpopgen over 3 years ago

fwdpy11 - v0.19.0a1

0.19.0a1

New features

  • Ability to import tree sequences with mutations from tskit. A new {ref}vignette <import_mutations_from_tskit_vignette> describes the procedure. PR {pr}1026.

Bug fixes

  • Fix bug in sweep models. The fix in PR {pr}1020 was incomplete. Tree span is now accounted for. PR {pr}1026.
  • Fix Python-side constructors in Mutation re: integer types. No previous results were affected. PR {pr}1023.

Documentation

  • Update developer docs. PR {pr}1021.

- C++
Published by molpopgen over 3 years ago

fwdpy11 - v0.19.0a0

Alpha relase

0.19.0a0

Bug fixes

  • Fix bug in sweep models. The previous implementation chose acceptable branches for mutation placement uniformly. The new method chooses proportionally to branch length. PR {pr}1020.

API changes

  • Remove deprecated WrappedTreeSeqeuence PR {pr}978.
  • Add Python-level checks that "regions" don't contain positions extending past the genome ends. PR {pr}987.

Dependencies

  • Bump pybind11 to 2.10.0 PR {pr}986.

Build system and CI

  • Remove all use of automake/autoconf. PR {pr}971.
  • Build core library as shared library. PR {pr}961.
  • Allow for standalone cmake builds. PR {pr}966.
  • Add rust crate demes-forward-capi to core lib. PR {pr}962. PR {pr}1001.
  • Build C++ tests with cmake. PR {pr}967.
  • Use python -m build . for Ubuntu CI. PR {pr}970.
  • Build all C++ targets in one command on Ubuntu CI. PR {pr}972.
  • Test docker work flow on CI. PR {pr}979.
  • Add cancel actions to all work flows. PR {pr}982. PR {pr}985.
  • Wheels are now based on manylinux_2_28 PR {pr}994.
  • move fwdpy11/src to cpp/ PR {pr}996.
  • Add dependabot for GitHub actions PR {pr}1002.
  • Fix warnings from python -m build . PR {pr}1018.

Back end changes

  • Move evolve code to core library. PR {pr}974.
  • Clean up implementation of individual and mutation metadata decoding. PR {pr}1015.
  • Tidy up a lot of mypy errors. PR {pr}1016.

Testing

  • Remove many C++ files from tests/ PR {pr}976.
  • Test that we can load YAML files from demes-spec into our rust-based ForwardDemesGraph. PR {pr}975.
  • move fwdpy11.ezparams module to tests/ PR {pr}977.
  • Add C++ tests of our new "forward demes graph". PR {pr}980. PR {pr}983. PR {pr}984. PR {pr}989. PR {pr}999.

- C++
Published by molpopgen over 3 years ago

fwdpy11 - Bug fix

Fixes #990

- C++
Published by molpopgen over 3 years ago

fwdpy11 - Minor bug fix, CI changes, back end tweaks.

Fixes a bug in demes models with zero burn-in length. #949

for other changes, see the change log in the manual.

- C++
Published by molpopgen almost 4 years ago

fwdpy11 - Minor bug fix

Fix bug in the display of effect size distributions (#885)

- C++
Published by molpopgen about 4 years ago

fwdpy11 - Several bug fixes

This is a somewhat large release -- see the change log over in the manual. Lots of bug fixes, deprecations removed, etc..

Big thanks to @apragsdale for lots of help on this one.

- C++
Published by molpopgen about 4 years ago

fwdpy11 - Point release

Fixes a bug where some selective sweep models took to long to figure out that the mutation was gone. This error did not give incorrect results. Rather, it resulted in less efficient work flows. See #893

- C++
Published by molpopgen over 4 years ago

fwdpy11 - 0.17.0

First stable release of the fwdpy11.conditional_models module.

This module allows simulations conditioning on events like sweeps, mutations with minimal ages, etc..

The API is somewhat preliminary, and the docs minimal.

- C++
Published by molpopgen over 4 years ago

fwdpy11 - Fifth alpha release of 0.17.0

- C++
Published by molpopgen over 4 years ago

fwdpy11 - Fourth alpha release of 0.17.0

- C++
Published by molpopgen over 4 years ago

fwdpy11 - Third alpha release of 0.17.0

- C++
Published by molpopgen over 4 years ago

fwdpy11 - 0.17.0, second alpha release

- C++
Published by molpopgen over 4 years ago

fwdpy11 - First alpha release of 0.17.0

First alpha version: several bug fixes and draft API of fwdpy11.conditional_models.

- C++
Published by molpopgen over 4 years ago

fwdpy11 - Point release

  • Update docs for virtual envs. See issue #833
  • Fix imports of fwdpy11.demographic_models.human. See issue #832

- C++
Published by molpopgen over 4 years ago

fwdpy11 - Point release

Minor release--some documentation fixes and a better str for fwdpy11.Mutation

- C++
Published by molpopgen over 4 years ago

fwdpy11 - Several "demes" model fixes

Most of the issues/PRs are collected under milestone 0.16.0

From the change log:

Bug fixes

  • An integer type in the infinitely-many sites mutation model was changed from unsigned to signed. This does not affect previous results because unsigned overflow doing the "right thing" ended up with final values being correct. PR {pr}766 Issue {issue}765
  • Fix a bug where stopping/restarting the evolution of demographic models at time points where a deme goes extinct. It is not possible that this bug affected results from earlier versions, as attempting to stop/start at these time points raised exceptions. Issue {issue}775 PR {pr}774
  • Fix bugs in C++ back-end for discrete demographic models. In some cases, we were using the wrong vector of deme sizes to update the model, leading to runtime exceptions. PR {pr}802 PR {pr}803
  • Fix error in demes models where "replacement" models had 1 generation of overlap between ancestral/derived demes. Issue {issue}814 PR {pr}815 {user}apragsdale {user}molpopgen

Behavior changes

  • If a demographic model is evolved, pickled, unpickled, and then used to evolve, it is now possible that exceptions will raise. This change is due to the fix for Issue {issue}775 introduced in PR {pr}774. See issue {issue}777 for more background.
  • Mass migration events implemented via {func}fwdpy11.copy_individuals and {func}fwdpy11.move_individuals now occur after sampling within a generation.
    This change makes the timings consistent with all other events and also makes certain operations easier/feasible. {pr}809
  • Calling {func}fwdpy11.infinite_sites during a simulation now raises RuntimeError. {pr}820 {issue}769
  • Models imported from demes now start the forward-time portion of the model 1 (one) generation before the most ancient end time of an ancestral deme. {pr}818 {user}apragsdale {user}molpopgen

New features

  • Add {func}fwdpy11.DiploidPopulation.add_mutation. PR {pr}764 PR {pr}799
  • Add {class}fwdpy11.NewMutationData. PR {pr}764
  • Add __copy__ and __deepcopy__ to {class}fwdpy11.DiploidPopulation. PR {pr}770
  • Add __deepcopy__ to {class}fwdpy11.DiscreteDemography. PR {pr}773

C++ back-end

  • A population can now be checked that it is- or is not- being simulated. PR {pr}762
  • {class}fwdpy11.discrete_demography.DiscreteDemography now stores the migration matrix as a stack-allocated object and not a unique_ptr. PR {pr}785 {issue}781

Build system

  • All GCC builds and CI tests on Ubuntu + GCC now apply a much stricter set of compiler options. {pr}779 {issue}778

Dependencies

  • Bump pillow version in doc/requirements.txt. {pr}763 {pr}811
  • Bump all lib dependencies and some doc dependencies. {pr}807

- C++
Published by molpopgen over 4 years ago

fwdpy11 - Point release with two bug fixes

Fixes #787 and #792. Details in the change log via the manual.

Both bugs would not affect previously-obtained results because the issue resulted in exceptions preventing simulations from being run.

- C++
Published by molpopgen almost 5 years ago

fwdpy11 - Point release with a bug fix

Fixes #759 via #760

demes version updated in requirements files via #761

- C++
Published by molpopgen almost 5 years ago

fwdpy11 - Improved interaction with tskit

This release contains several improvements relating to exporting simulations to tskit and then dealing with the exported objects.

The details of this release are collected under the 0.15.0 milestone and are detailed in the change log, which is found in the docs.

- C++
Published by molpopgen almost 5 years ago

fwdpy11 - Documentation update

Small release to push new docs re: demes.

- C++
Published by molpopgen about 5 years ago

fwdpy11 - Support for "demes"

This release includes support for defining demographic models using demes. @apragsdale contributed the code to convert from the demes.Graph objects to fwdpy11 objects.

Other changes are collected in the 0.14.0 milestone or the change log in the manual.

- C++
Published by molpopgen about 5 years ago

fwdpy11 - Point release

Fix for wheel building action. c31420aede4180becfe2a28936469ed471c6ea41

Same as previous 0.13.x releases otherwise.

- C++
Published by molpopgen over 5 years ago

fwdpy11 - Point release

Same as 0.13.0, but includes #682 to attempt to fix various deployment issues we had with the previous release. See #680 and #681.

- C++
Published by molpopgen over 5 years ago

fwdpy11 - New features, new manual, new packaging, and bug fixes!

Details are collected under milestone 0.13.0

Copy/paste from the change log:

API changes

  • The demesizes keyword is no longer accepted to initialize instances of {class}fwdpy11.DiploidPopulation. {pr}676
  • {meth}fwdpy11.TreeIterator.nodes no longer takes an argument. {pr}678
  • The type of {attr}fwdpy11.Mutation.g changed from an unsigned integer to a signed integer. This change has no practical consequence to user code written in Python. {pr}656 {pr}670

New features

  • The dominance of a mutation may now be specified by a function. See {ref}mutationdominance_vignette. {pr}590 {pr}629 {pr}630
  • Add {meth}fwdpy11.TableCollection.build_indexes. {pr}651

Improved IDE and editor integration

  • Several key classes and functions were reimplemented. They are now Python layers on top of the C++. These changes allow better type hinting and make the docstrings more easily discoverable, resulting in jedi, etc., being better able to use them for auto completion and other tasks. {pr}676 {pr}677 {pr}678

Packaging changes

  • The build system is now PEP 517/518 compliant. {commit}cfd95f57e97d0fff6d4d87d06bd280d2f58ea545
  • setup.py no longer imports pybind11. {pr}634

Bug fixes

  • Fixed bugs in experimental features involving simulating neutral mutations during simulations recording ancient samples. These fixes make these features less experimental and part of the API now. {pr}643 {pr}647 {pr}650
  • Improved input parameter validation for {func}fwdpy11.evolvets. {pr}649
  • Fixed a bug where mutations on branches generated by msprime had invalid origin times, leading to exceptions when calling {meth}fwdpy11.DiploidPopulation.dump_tables_to_tskit. {pr}656 {pr}670

Deployment changes

  • Pushes to main and new releases now trigger updates to a Docker image. See {ref}sec_deployment. {pr}652 {pr}663 {pr}671 {pr}672
  • Binary wheels are automatically deployed for macOS and Linux for new releases. {pr}669

Documentation changes

  • The manual is now built with jupyter book. {pr}653.
  • The manual is now longer hosted on Read The Docs.
    It has been moved here and is automatically deployed by GitHub actions. {pr}654.

- C++
Published by molpopgen over 5 years ago

fwdpy11 - Two bugs fixed!

API breakage:

  • Simulation without tree sequence recording is no longer supported. #607

Bug fixes:

This release fixes two bugs. Neither bug would affect results. Rather, they affect the behavior of some advanced features.

  • Explicit initialization of a data structure used for simplification is now always done. #626 #627
  • Simplification is now allowed to occur after a single generation. #624 #627

New features:

  • Recombination breakpoints can be restricted to integer positions. #612
  • Improved methods for decoding tskit meta data. #609

.. note:

The meta data decoding is still a moving target/work in progress. We anticipate further changes as we get a better idea of what works well/is most useful.

This release also includes several updates to dependencies, documentation, and CI testing. These changes are collected under the 0.12.0 milestone on GitHub.

- C++
Published by molpopgen over 5 years ago

fwdpy11 - Point release

Point release.

Behavior changes:

  • The events passed to :class:fwdpy11.DiscreteDemography are now sorted stably by time. #598

Documentation changes:

  • Fixed documentation for :class:fwdpy11.SetMigrationRates. #603

Back end changes:

  • Cleanup some parts of the code base. #604
  • Make the C++ back-end of :class:fwdpy11.MassMigration have the same initialization semantics as other demographic events. #605

- C++
Published by molpopgen over 5 years ago

fwdpy11 - Point release

Point release.

Bug fixes:

  • Fix some errors in :class:fwdpy11.DemographyDebugger. #594

Testing changes:

  • We now use GitHub actions instead of Travis. #593

Documentation changes:

  • We now use jupyter-sphinx to execute code in the manual. #597

- C++
Published by molpopgen over 5 years ago

fwdpy11 - New metadata schema, new distribution of effect sizes.

Interface changes:

  • When dumping tables to tskit via :func:fwdpy11.DiploidPopulation.dump_tables_to_tskit, we now use the latest metadata methods. #588
  • Most arguments to :func:fwdpy11.evolvets are now keyword-only. #584
  • Added :class:fwdpy11.DiscreteDESD. #587

Dependency updates:

  • Minimum tskit version is now 0.3.2.
  • Minimum attrs version is now 0.19.2.
  • Sphinx version pinned to 3.1.
  • The warnings for deprecated features got promoted to :class:FutureWarning. #583

C++ back-end changes:

  • New method to handle GSL errors. #574
  • Table collections are now managed by shared pointers. #582

- C++
Published by molpopgen over 5 years ago

fwdpy11 - Python genetic values

This release allows genetic value objects to be written in Python.
The API closely matches the underlying C++, making it easy to prototype in Python and then implement in C++ later if speed is needed.

As usual, install from PyPi or conda. If you use an archive from this GitHub release, use the sdist and not the auto-generated files.

- C++
Published by molpopgen almost 6 years ago

fwdpy11 - Point release -- new manual!

  • fwdpy11.DiploidPopulation.dumptablesto_tskit now populates the provenance table. #542
  • Improve checking migration rates in fwdpy11.DemographyDebugger. #545
  • fwdpy11.DemographyDebugger now makes a deep copy of input. #546
  • The C++ back-ends for Gaussian stabilizing selection classes got streamlined without changing the user interface. #547
  • Manual got overhauled. #543
  • Snowdrift example reimplemented using attrs. #548

If not using conda nor PyPi to install, use fwdpy11-0.8.3.tar.gz instead of the auto-generated downloads!

- C++
Published by molpopgen almost 6 years ago

fwdpy11 - Point release

Fix #538 via #539. Re-implement initialization of DemographyDebugger using attrs. #540

This is the source distribution containing submodules:

fwdpy11-0.8.2.tar.gz

- C++
Published by molpopgen almost 6 years ago

fwdpy11 - Point release

  • Fixes #535 via #536
  • Improves memory handling at end of simulation. #537
  • Add 3 deme Jouganous model. #534

It not installing from PyPi or conda, please use the attached .tar.gz rather than those provided by GitHub, which exclude the submodules.

- C++
Published by molpopgen almost 6 years ago

fwdpy11 - Stable release

This is the first stable release of 0.8.x. This includes all the changes in the two alpha releases plus some new memory improvements. See the change log in the manual for details.

If not installing from PyPi nor bioconda, please use this file for compiling from source, as it contains the submodules:

fwdpy11-0.8.0.tar.gz

- C++
Published by molpopgen almost 6 years ago

fwdpy11 - Second alpha release of 0.8.0

Contains #529 and #530.

Please use either the PyPi source release or this:

fwdpy11-0.8.0a1.tar.gz

- C++
Published by molpopgen almost 6 years ago

fwdpy11 - First alpha release of 0.8.0!

This release has load of changes--see the change log in the manual for details.

Most important thing is the implementation of an efficient replacement for edge table sorting during simulation.

This is the sdist for this release, which you should use instead of the GitHub auto-generated files:

fwdpy11-0.8.0a0.tar.gz

- C++
Published by molpopgen almost 6 years ago

fwdpy11 - Tree sequence "recaptitation"

This is mostly a maintenance release. The only new feature is that we allow preservation of the first generation to facilitate correct tree sequence "recapitation". See the manual for details.

- C++
Published by molpopgen about 6 years ago

fwdpy11 - Correlated effect sizes across demes

This release adds a major feature, which is to allow mutation effect sizes to differ across demes. See the change log in the manual for details + links to the new manual pages describing this feature.

A few bugs were squashed, too, and several important changes to the C++ back end also happened.

Milestone 0.7.0 contains all the relevant issue/PR links.

- C++
Published by molpopgen about 6 years ago

fwdpy11 - Bug fix

Fixes #437

- C++
Published by molpopgen about 6 years ago

fwdpy11 - Bug fixes

Fixes the following issues:

  • #420
  • #421
  • #422
  • #432
  • #428

Also makes an important back-end change to the C++ implementation of a Population. #427

- C++
Published by molpopgen about 6 years ago

fwdpy11 - Change migration scheme

This release changes the back-end code for migration. See #416 for details.

- C++
Published by molpopgen about 6 years ago

fwdpy11 - Maintenance release

Closes a set of nagging issues: #246, #280, #339, #365, #386, #397

- C++
Published by molpopgen over 6 years ago

fwdpy11 - Major feature release.

This is a major feature release. The changes include all those listed for the various release candidates (0.6.0rc0, 0.6.0rc1, and 0.6.0rc2) plus the following:

- C++
Published by molpopgen over 6 years ago

fwdpy11 - 0.6.0, third release candidate

This is a major push towards a stable release! A large number of improvements to default behavior, the C++ back end, documentation, and testing are all included. See either the 0.6.0rc2 Milestone or the Change Log in the manual.

One fun thing to note is that simulations with tree sequence recording now use a lot less memory!

To install:

pip install fwdpy11==0.6.0rc2

- C++
Published by molpopgen over 6 years ago

fwdpy11 - 0.6.0, second release candidate

This release is identical to 0.6.0rc0 except that it is based on a master branch that has been rebased so that the bug fixes in 0.5.5 are included.

To install

pip install fwdpy11==0.6.0rc1

- C++
Published by molpopgen over 6 years ago

fwdpy11 - Important bugs fixed!

Fixed #362 and #363

Note: these changes could result in different results being obtained when mutating tree sequences after restoring a population from a file. Previous results were correct in distribution, however. The bug fixes mean that an internal lookup table is now properly restored after converting a population back from binary. This restoration means that the output from fwdpy11.infinite_sites could now differ from earlier versions.

- C++
Published by molpopgen over 6 years ago

fwdpy11 - Version 0.6.0, first release candidate

This is a major new feature release. Finally, we have support for demographic events involving multiple demes, meaning that merges, splits, size changes, migration, etc. are all possible now.

This release incorporates changes from several PRs. See the change log in the manual for details.

Future release candidates will focus on improving the docs and fixing any bugs that get found along the way.

- C++
Published by molpopgen over 6 years ago

fwdpy11 - Bug fix

Fixes #350

- C++
Published by molpopgen over 6 years ago

fwdpy11 - Neutral mutations during sims w/tree sequences

The following two PR are the main ones:

  • #328 allows neutral mutations during simulations with tree sequences
  • #237 adds infrastructure for general demographic models involving discrete demes

The stuff in #237 is not usable in simulations yet. That'll come in the next release...

- C++
Published by molpopgen over 6 years ago

fwdpy11 - Bug fixes + new features

Several new features + bug fixes. See the milestone for details.

- C++
Published by molpopgen over 6 years ago

fwdpy11 - Bug fixes + new features

Issues fixed: #268, #269, #267

New features: #272, #275, #279

- C++
Published by molpopgen almost 7 years ago

fwdpy11 - Add SiteTable

This is an intermediate release as we are still working towards supporting more general demographic models.

Major changes include:

  • Updating the fwdpp back-end to the pre-release code for fwdpp 0.8.0. Almost none of these changes are "user facing".
  • Add :class:fwdpy11.SiteTable, :class:fwdpy11.Site and new fields to :class:fwdpy11.MutationRecord. #258 These changes affect the API for some function calls. See :ref:upgrade_path for details.

Even though this release changes some of the tree sequence data structures, we are still able to read in files generated by version 0.4.5! (This is actually unit tested.)

Minor changes include:

  • Add :func:fwdpy11.gsl_version. :class:fwdpy11.MutationRecord.#256
  • :attr:fwdpy11.Mutation.g is converted to the mutation's age when dumping table collections to tskit's format. #257
  • New exception types from fwdpp registered as Python exceptions. #260
  • Several updates to documentation and to continuous integration testing.

- C++
Published by molpopgen almost 7 years ago

fwdpy11 - Fix behavior of DataMatrixIterator

Fixes handling of nested window coordinates. #244

- C++
Published by molpopgen about 7 years ago

fwdpy11 - Faster "sliding window" analysis from tree sequences

Added fwdpy11.DataMatrixIterator, which allows very fast traversal of multiple genomic intervals, retrieving the genotype matrix at each window.

- C++
Published by molpopgen about 7 years ago

fwdpy11 - Minor feature release

  • Minor fixes to packaging of source distrubition.
  • Add a YCM config file to source repo
  • Allow mutation and recombination regions to be empty. PR 239

- C++
Published by molpopgen about 7 years ago

fwdpy11 - Minor tweak for VariantIterator

VariantIterator's __init__ now accepts arguments to skip neutral or selected variants.

- C++
Published by molpopgen about 7 years ago

fwdpy11 - More docs, some UI tweaks to improve consistency

Minor release:

  • Added position ranges to tree traversal. #232
  • Changed default type for range arguments for VariantIterator and data matrix generation. #233
  • Skipping fixations is now optional in :func:fwdpy11.data_matrix_from_tables.
  • The C++ back-end for population classes was changed to avoid deleting move constructors. #231
  • Documentation updates

- C++
Published by molpopgen about 7 years ago

fwdpy11 - fwdpy11 0.4.0

This is a BIG release! Far too much to list here. The manual is re-written, and that's the best place to look.

- C++
Published by molpopgen about 7 years ago

fwdpy11 - Bug fix

Fixes #228

- C++
Published by molpopgen about 7 years ago

fwdpy11 - Bug fixes

Fixes #212 and some minor issues involving the C++ back-end.

- C++
Published by molpopgen about 7 years ago

fwdpy11 - fwdpy11 0.3.0

- C++
Published by molpopgen about 7 years ago

fwdpy11 - Pre-release of 0.3.0

Many new changes! See Changelog at the manual

- C++
Published by molpopgen about 7 years ago

fwdpy11 - Fix packaging issue

This is a point release that fixes an issue where several of the C++ source files were not included in 0.2.0 on pypi.

- C++
Published by molpopgen over 7 years ago

fwdpy11 - First public release with tree sequence recording!

This is the first release with support for tree sequence recording, data interchange with msprime, etc.. Major updates to many corners of the package.

There is a lot of cool stuff, and a ton of work went into this version.

- C++
Published by molpopgen over 7 years ago

fwdpy11 - So many changes

Major new release. See change log in manual. Tree sequence recording is the "big deal" here, but lots of other cool stuff, too.

- C++
Published by molpopgen over 7 years ago

fwdpy11 - fwdpy11 0.1.4

Too many changes to list here. See change log in the manual.

- C++
Published by molpopgen about 8 years ago

fwdpy11 - Compatibility with numpy 1.14

Fixes #66, making fwdpy11 compatible with numpy 1.14

- C++
Published by molpopgen over 8 years ago

fwdpy11 - fwdpy11 0.1.3.post 1 (bug fix release)

Fixes #23 and #25 via pull request #24.

- C++
Published by molpopgen over 8 years ago