• Parse admixture proportions from the “best coefficients” line of the qpAdm output file.

• Fixed handling of warnings when dealing with duplicated populations.
• 9s are now replaced with NAs in read_geno() and write_geno(), which makes it more convenient to write custom analytic code working on data.frames.
• Renamed qpAdm() output elements and changed its function signature.

• Rename keep_transversions() to transversions_only(). The old function is now deprecated.
• print.EIGENSTRAT() now uses a pre-calculated numbers of removed/remaining sites, instead of calculating them each and every time.
• Printing EIGENSTRAT objects now also shows “group” and “exclude” modifiers only if present.

• read_output() made public.
• Fixed issues with parsing of mis-formatted ind files (tabs at the ends of lines etc.).

• It turned out that dragging along Rcpp and Boost dependencies just for the VCF -> EIGENSTRAT conversion function causes unnecessary complications in the installation process. It’s not worth having it in the package if it would be used only by a small fraction of potential users.

This function has been removed and the vcf2eigenstrat program is maintained in its own repository.

• Conversion of VCF to EIGENSTRAT format is now implemented in C++ and should be approximately infinitely faster than the old conversion function written in pure R.
• Conversion of EIGENSTRAT into VCF has been removed.

• Added full implementations of qpWave() and qpAdm() functions.
• filter_bed() now implemented simply by calling bedtools in the background. This turned out to be way faster and memory efficient than the previous data.table-based solution.

• Fixed missing group_labels() update.
• Removed the huge built-in data set. Implemented download_data() function that fetches the example data set from the web.

• The package now has a tutorial vignette describing the main functionality.
• Simple SNP dataset is now included with the package.
• The API of many utility functions has been simplified and their internals re-written.
• filter_sites is now implemented using data.table and allows overlap with an arbitrary BED file.

• All wrappers have been given simpler names (qpDstat() -> d(), qpF4ratio() -> f4ratio(), etc).
• F4 statistic can now be calculated using a separate f4() function (f4mode parameter remains in the d() function though, as f4() calls d() internally).
• All tests are performed on Travis CI using installed and compiled ADMIXTOOLS software.