Skip to content
This repository was archived by the owner on Oct 12, 2023. It is now read-only.

Releases: molpopgen/libsequence

Refactoring of VariantMatrix

Choose a tag to compare

@molpopgen molpopgen released this 18 Jun 18:33
  • Refactor VariantMatrix to manage memory via Sequence::GenotypeCapsule and Sequence::PositionCapsule
  • Windows of VariantMatrix objects now do not require copies, and instead use Sequence::NonOwningGenotypeCapsule and Sequence::NonOwningPositionCapsule.
  • A bug in haplotype labelling is fixed. Issue 59. Statistics like number of haplotypes, haplotype diversity, etc., were affected by this issue, but the errors were small for larger data sets.

Bug fix in l-Haf statistics. Compiles on OS X again

Choose a tag to compare

@molpopgen molpopgen released this 01 Apr 16:07

A bug in l-Haf from #53 was fixed. Thanks to Alex Nater for spotting that.

The library compiles on OS X again, which required that the path names for deprecated summary stats be changed.

Bug fixes and performance

Choose a tag to compare

@molpopgen molpopgen released this 06 Nov 15:48
  • Fix GitHub issue PR50 via PR51.
  • Added very efficient overload of Sequence::nsl. PR51 and PR52
  • PR52 added a first implementation of Sequence::nslx, a series of back-end changes to some of the summary statistic code as well as some more testing.
  • Added Sequence::lhaf. PR53
  • Include Sequence/variant_matrix/msformat.hpp when installing the library.
  • Fix GitHub issue 54

Improved summary stat calculation performance

Choose a tag to compare

@molpopgen molpopgen released this 13 Sep 22:08
  • Support for slices of VariantMatrix and AlleleCountMatrix. PR49
  • Faster summary statistic calculation. PR46 PR47 PR48
  • Added Sequence::is_different_matrix. PR45
  • Fixed a bug in Sequence::label_haplotypes.PR44

New summary statistic functions! No dependencies!

Choose a tag to compare

@molpopgen molpopgen released this 02 Aug 20:19

A major step towards 2.0

  • Summary statistics can now be calculated from a VariantMatrix.
    PR33 PR36
  • More feature deprecation. See Issue 21.
  • Dependency on TBB removed. PR38
  • Dependency on zlib removed. PR39

Lots of deprecation.

Choose a tag to compare

@molpopgen molpopgen released this 12 Jul 22:31
  • Refactor unit tests to be much faster to compile
  • Remove dependency on htslib.
  • The coalescent simulation machinery is no longer compiled or installed.
  • Mark a lot of code as deprecated
  • Travis CI is now Linux-only
  • Add Sequence::VariantMatrix and Sequence::StateCounts

This release includes the following GitHub PRs: #11, #12, #13, #14, #15, #25, #26, #30, #31, and #32.

Refactoring nSL/iHS calculations

Choose a tag to compare

@molpopgen molpopgen released this 16 Oct 23:39

This release simplifies these calculations. There is no longer a function to standardize/bin results. Rather, a vector if (nSL/iHS/derived mutation count) tuples are returned.

Use standard library exceptions instead of custom exceptions

Choose a tag to compare

@molpopgen molpopgen released this 19 Apr 16:55
  • Sequence::SeqException was removed. Exceptions from namespace std are preferred, and are easier to wrap in other languages.
  • Sequence::PolySNP::ThetaL throws exception if outrgroup not present

Parallelization of several summary statistics.

Choose a tag to compare

@molpopgen molpopgen released this 24 Oct 16:58
  • Fixed issues with Sequence::Comeron95 that made it impossible to allocate on the stack.
  • Updated threaded implementation of the l-Haf statistic to use TBB.
  • Weights on stop codons used in Grantham distance calculations is now configurable, and defaults to the max value of a double. Previous library versions arbitrarily used 999.0.
  • PolySIM::ThetaL now correctly will not include fixed differences in the calculation.
  • nSL/iHS, H1, H12, H2H1, and haplotype homozygosity statistics are now calculated in parallel.
  • Sequence::Disequilibrium parallelized.
  • Intel's TBB is now a dependency.

"war on mutable"

Choose a tag to compare

@molpopgen molpopgen released this 15 Feb 22:40
  • Issue #8 fixed
  • Sequence::PolyTableSlice will throw std::runtime_error if input range is not properly sorted
  • War on "mutable". The use of this keyword has been removed from the library to the best extent possible.
  • The API for calculations involving codons has been modernized. This includes Sequence::Comeron95, Sequence::RedundancyCom95, Sequence::WeightingScheme2 (and derived types), Sequence::WeightingScheme3 (and derived types), Sequence::TwoSubs, Sequence::ThreeSubs, functions in Sequence/PathwayHelper.hpp
  • Sequence::PolyTable (and derived types) have been refactored. The fundamental idea is the same, but the API is modernized. IMO, it is still imperfect, and can be further changed to reflect more idiomatic C++11, but that'll have to wait.
  • Private data members for classes have been hidden using the PIMPL idiom. This goes a long way to future-proofing the ABI compatibility of these types against further implementation changes such as bug fixes.
  • Sequence/SummStats/classic.hpp provides a sneak previous of how summary statistics will work in the future, once the deprecated Sequence::PolySNP and Sequence::PolySIM can finally be removed