A lightweight parser for various file formats produced by software used for population genetic analyses, plus a handufl of plotting utilities. The package makes use of tools from the tidyverse and generally tries to respect their idioms and vernacular.
Documentation is a work in progress.
Includes parsers for these formats, among others:
PLINK*.fam (sample/family metadata): read_fam()*.map/*.bim (marker map): read_map()ADMIXTURE*.Q + *.Q_se (estimated admixture proportions and standard errors): read_Q_matrix()TreeMixread_treemix() for loading the population tree and log-liklihoodread_f3stats() for reading $f_3$ statistics estimated by threepopread_f4stats() for reading $f_4$ statistics estimated by fourpopThis package borrows internal functions from at least the following packages:
TreeMix (https://bitbucket.org/nygcresearch/treemix/)admixturegraph (https://github.com/mailund/admixture_graph/)pophelper (https://github.com/royfrancis/pophelper/)Suppose we ran ADIXTURE with $K = 3$ and bootstrap standard errors turned on like so:
$> admixture -B test.bed 3
We obtain these output files:
$> ls test*
test.3.Q test.3.Q_bias test.3.Q_se test.3.P
The code below reads the result and makes the typical barplot of individual admixture proportions.
library(popcorn)
library(ggplot2)
pops <- read_fam("test.fam")
Q <- read_Q_matrix("test.3.Q")
so <- sort_by_cluster(Q)
QQ <- tidy(Q, pops)
plot_admixture(QQ, label = TRUE, sort.order = so)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.