Estimate Kinship and FST under Arbitrary Population Structure
Provides functions to estimate the kinship matrix of individuals from a large set of biallelic SNPs, and extract inbreeding coefficients and the generalized FST (Wright's fixation index). Method described in Ochoa and Storey (2021) <10.1371>.10.1371>
2017-09-11 - popkin 22.214.171.12400
2017-11-21 - popkin 126.96.36.19900
- Fix a bug in which genotypes input to popkin via a function (rather than a regular matrix or a BEDMatrix object) caused popkin to die. Now popkin behaves as expected. New test unit cases were added to test function inputs (previously this case was untested).
2017-11-24 - popkin 188.8.131.5200
- Added option to set colors for the lines that separate subpopulations.
2018-01-08 - popkin 1.0.3
- Minor non-code changes for first CRAN submission.
2018-01-13 - popkin 1.0.4
2018-01-26 - popkin 1.0.5
- Updated vignette code to work when suggested package "lfa" is not available (needed for CRAN tests). This change is not visible in rendered vignette included in package.
2018-02-01 - popkin 184.108.40.20600
plotPopkin now allows NULL elements in input list x, makes empty plots with titles (good for placeholders or other non-existent data)
Clarified plotPopkin documentation (that marPad is added to xMar values if set)
README.md now contains instructions for installing from CRAN as well as from GitHub.
2018-07-30 - popkin 220.127.116.1100
- Internal function printLabs (used by plotPopkin) is now more flexible in where it places its labels (new args "side1" and "side2")
2018-08-08 - popkin 18.104.22.16800
- Added option for continuous colors, off by default. Default is still to use only the 17 colors given directly by RColorBrewer.
2018-09-05 - popkin 22.214.171.12400
- Changed some function parameter defaults from missing to NULL, added more validation tests (affects fst, inbr, plotPopkin).
2018-10-19 - popkin 126.96.36.19900
- Added neff function (estimates effective sample size given a kinship matrix and weights; can find optimal weights that are non-negative or sign-unconstrained, yielding maximum neff values)
2019-02-13 - popkin 188.8.131.5200
popkin function preserves the individual names if they are present in the input genotype matrix.
These names get copied to the rows and columns of the output kinship matrix.
Converted the vignette from PDF to HTML
2019-02-13 - popkin 1.1.2
- Minor non-code changes for second CRAN submission.
2019-04-10 - popkin 184.108.40.20600
- Renamed functions to fit tidyverse naming style:
- Several argument names were also updated to be more descriptive (particularly in
- Functions with old names remain for now as deprecated functions (to be removed in the future); only
plotPopkin retains the older argument names.
inbr_diag now accepts lists of kinship matrices to transform (for easier plotting of multiple matrices).
plot_popkin now requires its non-NULL inputs to be proper kinship matrices.
Previously, the code used to somewhat allow for non-square matrices to be visualized, but this case had no guarantees to work.
The code is cleaner under the assumption of symmetric square matrices.
- Added more input checks to functions, informative error messages.
- Added functions:
2019-04-24 - popkin 220.127.116.1100
plot_popkin bug fixes and enhancements!
plot_popkin now resets graphical parameters when done and after every panel as needed.
- Fixed a bug where panel margins were not reset per panel.
In particular, after setting custom margins for one panel, but
NULL (default) for subsequent panels, the original margins were not reset (instead, the last values were incorrectly propagated).
- The entire layout (all original
par values) is now reset after plotting is complete.
- Updated documentation to reflect new behavior.
- Can now have letters on single-panel plots as long as a single letter is passed to
panel_letters (default is A-Z, so the default remains to not show letters for a single panel).
leg_cex option to
2019-05-13 - popkin 1.2.2
- Third CRAN submission.
- Added ORCIDs to authors.
- Added back to
popkin function the deprecated parameter names
memLim alongside the new names, to prevent breaking existing code (generate warnings).