optimized for speed at the cost of usabilitiy
adegenet and gstudio: much more sophisticated representation of genetic data (we only use 3d arrays)
Make sure to get the newest version of the package:
devtools::install_github("jmsigner/fpga")
It is relatively straight forward to create suitable datat structures from a data.frame
using the fpga::df2fpga
function.
# fpga::df2fpga # does not exist yet
Currently there only fstat
is support:
dat1 <- fpga::read_fstat(system.file('sample-data/simulation_s1e2.dat', package='fpga'))
genind
objects from adegenet can be converted using:
dat <- adegenet::read.fstat(system.file('sample-data/simulation_s1e2.dat', package='fpga')) dat2 <- fpga::genind2fpga(dat) # some more checks needed (some alleles are are switched)
similarely from gstudio
fpga::gstudio2fpga
We use a simulated data set:
library(fpga) dat0 <- fpga::read_fstat(system.file('sample-data/simulation_s1e2.dat', package='fpga')) dat1 <- adegenet::read.fstat(system.file('sample-data/simulation_s1e2.dat', package='fpga'))
n_alls(dat0, rownames(dat0)) n_eff_alls(dat0, rownames(dat0))
fpga::nprivate_alleles(dat0, rownames(dat0))
fpga::het_exp(dat0) fpga::het_obs(dat0)
In adegenet
summary(dat1)
By population
fpga::het_exp(dat0, rownames(dat0)) fpga::het_obs(dat0, rownames(dat0))
fpga::gst(dat0, rownames(dat0)) mmod::Gst_Nei(dat1)
fpga::gst_p(dat0, rownames(dat0)) mmod::Gst_Hedrick(dat1)
fpga::dest(dat0, rownames(dat0)) mmod::D_Jost(dat1)
We use the nancycat
data set from the adegenet package for illustration.
library(fpga) data("nancycats", package = "adegenet") dat <- genind2fpga(nancycats) str(dat)
We use the nancycat
data set from the adegenet package for illustration.
library(fpga) data("nancycats", package = "adegenet") dat <- genind2fpga(nancycats) str(dat)
n_alls(dat, rownames(dat)) n_eff_alls(dat, rownames(dat))
fpga::nprivate_alleles(dat, rownames(dat))
fpga::het_exp(dat) fpga::het_obs(dat)
In adegenet
adesum <- summary(nancycats) ## results differ at time, most likely due to missing values summary(nancycats) ## results differ at time, most likely due to missing values
By population
fpga::het_exp(dat, rownames(dat)) fpga::het_obs(dat, rownames(dat))
fpga::gst(dat, rownames(dat)) mmod::Gst_Nei(nancycats)
fpga::gst_p(dat, rownames(dat)) mmod::Gst_Hedrick(nancycats)
fpga::dest(dat, rownames(dat)) mmod::D_Jost(nancycats)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.