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

Releases: molpopgen/libsequence

Refactoring of VariantMatrix

18 Jun 18:33
Compare
Choose a tag to compare
  • 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

01 Apr 16:07
Compare
Choose a tag to compare

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

06 Nov 15:48
Compare
Choose a tag to compare
  • 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

13 Sep 22:08
Compare
Choose a tag to compare
  • 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!

02 Aug 20:19
Compare
Choose a tag to compare

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.

12 Jul 22:31
Compare
Choose a tag to compare
  • 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

16 Oct 23:39
Compare
Choose a tag to compare

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

19 Apr 16:55
Compare
Choose a tag to compare
  • 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.

24 Oct 16:58
Compare
Choose a tag to compare
  • 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"

15 Feb 22:40
Compare
Choose a tag to compare
  • 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