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 - 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}
1217for 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.
dockerimages are only pushed for releases and not for each commit tomain.
- 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}
1253PR {issue}1255
Deprecations
- Deprecate the
demes_graphargument to {func}fwdpy11.DiploidPopulation.dump_tables_to_tskitPR {issue}1265 - Deprecate using a dict for the the
model_paramsargument to {func}fwdpy11.DiploidPopulation.dump_tables_to_tskitPR {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_mutationnow considers the overlap with the desired interval when calculating weights. PR {pr}1228Issue {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.ModelParamswithout 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}
1222PR {pr}1223
Python back end
- Use
tskit.NODE_IS_SAMPLEconstant instead of relying on the numeric value when exporting totskit. 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-capito depend on latest version. PR {pr}1182.
Deprecations
The following are deprecated:
fwdpy11.GSSfwdpy11.GSSmofwdpy11.MutivariateGSSfwdpy11.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.SimulationStatusas an enum. This change makes correct use much easier. PR {pr}1161. Issue {issue}934.
Fixes
- {class}
fwdpy11.conditional_models.ConditionalModelOutputnow contains fields allowing one to distinguish if the tracked mutation is still present in {attr}fwdpy11.DiploidPopulation.mutationsand/or {attr}fwdpy11.DiploidPopulation.fixationsPR {pr}1163. Issue {issue}1160.
New features
- {func}
fwdpy11.DiploidPopulation.create_from_tskitis now able to restore individual metadata, populating {attr}fwdpy11.DiploidPopulation.diploid_metadataand {attr}fwdpy11.DiploidPopulation.ancient_sample_metadata. PR {pr}1157. Issue {issue}1130.
CI changes
- Remove tests using
condaenvironments. 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
devbranch. Several work flows are only needed when merging intomain. - 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}1133PR {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_tskitnow uses thegenerationfield 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.ForwardDemesGraphSee {ref}here <demes_vignette>. PR {pr}1101PR {pr}1103PR {pr}1121PR {pr}1123PR {pr}1124 - Add support for Python 3.11
PR {pr}
1108 - Allow suppressing of residual selfing.
See {ref}
here <demes_details>. PR {pr}1117PR {pr}1118
Deprecations
- Deprecate use of {class}
fwdpy11.Regionfor recombination PR {pr}1126
Breaking changes
- Drop support for Python 3.7
PR {pr}
1108 - Removed deprecated discrete demography API
PR {pr}
1101PR {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 / 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
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 - 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
demesgraphs. 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
latestmeans the latest release. PR {pr}1036
Documentations
- Document how to build core library in isolation.
PR {pr}
1038 - Document
cbindgenrequirement 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_flatto 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}
1020was 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
WrappedTreeSeqeuencePR {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-capito 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_28PR {pr}994. - move
fwdpy11/srctocpp/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
mypyerrors. 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.ezparamsmodule 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.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.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}
1020was 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
WrappedTreeSeqeuencePR {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-capito 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_28PR {pr}994. - move
fwdpy11/srctocpp/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
mypyerrors. 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.ezparamsmodule 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 - 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 - 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}
766Issue {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}
775PR {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}
802PR {pr}803 - Fix error in
demesmodels where "replacement" models had 1 generation of overlap between ancestral/derived demes. Issue {issue}814PR {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}
775introduced in PR {pr}774. See issue {issue}777for more background. - Mass migration events implemented via {func}
fwdpy11.copy_individualsand {func}fwdpy11.move_individualsnow 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_sitesduring a simulation now raisesRuntimeError. {pr}820{issue}769 - Models imported from
demesnow 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}764PR {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.DiscreteDemographynow stores the migration matrix as a stack-allocated object and not aunique_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
pillowversion 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
demesizeskeyword is no longer accepted to initialize instances of {class}fwdpy11.DiploidPopulation. {pr}676 - {meth}
fwdpy11.TreeIterator.nodesno longer takes an argument. {pr}678 - The type of {attr}
fwdpy11.Mutation.gchanged 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.pyno longer importspybind11. {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
msprimehad invalid origin times, leading to exceptions when calling {meth}fwdpy11.DiploidPopulation.dump_tables_to_tskit. {pr}656{pr}670
Deployment changes
- Pushes to
mainand 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
tskitmeta 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.DiscreteDemographyare 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.MassMigrationhave 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-sphinxto 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
tskitvia :func:fwdpy11.DiploidPopulation.dump_tables_to_tskit, we now use the latest metadata methods. #588 - Most arguments to :func:
fwdpy11.evolvetsare now keyword-only. #584 - Added :class:
fwdpy11.DiscreteDESD. #587
Dependency updates:
- Minimum
tskitversion is now 0.3.2. - Minimum
attrsversion is now 0.19.2. Sphinxversion 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.DemographyDebuggernow 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:
- 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:
- 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:
- 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:
- 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 - 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:
- Several back-end issues are fixed: Issue 388 Issue 389 Issue 390 Issue 392
- fwdpy11.TableCollection.fs added. PR387 PR399
- Creating populations from msprime input improved. PR395
- Added PendingDeprecationWarning to fwdpy11.evolve_genomes. PR396
- 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 - 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.Siteand new fields to :class:fwdpy11.MutationRecord. #258 These changes affect the API for some function calls. See :ref:upgrade_pathfor 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.gis 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 - 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