The goal of tidypopgen
is to provide a tidy grammar of population genetics, facilitating
the manipulation and analysis of genetic data. Currently, it is focussed on biallelic single nucleotide
polymorphisms (SNPs).
We are making available a preview version of the package. Everything should work, but be vigilant as not all functions have been tested extensively. Also, the syntax of functions is still slightly in flux, so the names and order of some parameters might change. Make sure you don't rely on position when giving multiple parameters to a function, so that any change will trigger an informative error in the code that will allow you to update.
You need devtools
to install tidypopgen
. If you haven't done so already, install it with:
install.packages("devtools")
You are then ready to install the development version of tidypopgen
from GitHub with:
devtools::install_github("EvolEcolGroup/tidypopgen")
There are a several vignettes designed to teach you how to use tidypopgen
.
The
'overview' vignette explains how the data structures are designed, and provides a illustration
of the grammar used to manipulate individuals and loci.
The 'example workflow' vignette provides a fully annotated example of how to
run population genetics analysis with tidypopgen
.
The 'quality control' vignette illustrates the tidypopgen
functions that help
running a fully QC of a dataset before analysis.
Finally, we provide a 'PLINK cheatsheet' aimed at translating common tasks
performed in PLINK into tidypopgen
commands.
This is a preview version of tidypopgen
. Everything should work, but not all
elements have been extensively tested. If something does not work, check the issues on
GitHub to see whether
the problem has already been reported. If not, feel free to create an
new issue. Please make sure you have updated to the latest version of
tidypopgen
on Github, as well as updating all other packages on your
system, and provide a reproducible
example
for the developers to investigate the problem. Ideally, try to create a minimalistic
dataset that reproduces the error, as it will be much easier (and thus faster!)
for the developers to track down the problem.