Learn R Programming

adegenet (version 2.1.10)

seploc: Separate data per locus

Description

The function seploc splits an object (genind, genpop or genlight) by marker. For genind and genpop objects, the method returns a list of objects whose components each correspond to a marker. For genlight objects, the methods returns blocks of SNPs.

Usage

# S4 method for genind
seploc(x,truenames=TRUE,res.type=c("genind","matrix"))
# S4 method for genpop
seploc(x,truenames=TRUE,res.type=c("genpop","matrix"))
# S4 method for genlight
seploc(x, n.block=NULL, block.size=NULL, random=FALSE,
       parallel=FALSE, n.cores=NULL)

Value

The function seploc returns an list of objects of the same class as the initial object, or a list of matrices similar to x$tab.

Arguments

x

a genind or a genpop object.

truenames

a logical indicating whether true names should be used (TRUE, default) instead of generic labels (FALSE).

res.type

a character indicating the type of returned results, a genind or genpop object (default) or a matrix of data corresponding to the 'tab' slot.

n.block

an integer indicating the number of blocks of SNPs to be returned.

block.size

an integer indicating the size (in number of SNPs) of the blocks to be returned.

random

should blocks be formed of contiguous SNPs, or should they be made or randomly chosen SNPs.

parallel

a logical indicating whether multiple cores -if available- should be used for the computations (TRUE, default), or not (FALSE); requires the package parallel to be installed.

n.cores

if parallel is TRUE, the number of cores to be used in the computations; if NULL, then the maximum number of cores available on the computer is used.

Author

Thibaut Jombart t.jombart@imperial.ac.uk

See Also

seppop, repool

Examples

Run this code
if (FALSE) {
## example on genind objects
data(microbov)

# separate all markers
obj <- seploc(microbov)
names(obj)

obj$INRA5


## example on genlight objects
x <- glSim(100, 1000, 0, ploidy=2) # simulate data
x <- x[,order(glSum(x))] # reorder loci by frequency of 2nd allele
glPlot(x, main="All data") # plot data
foo <- seploc(x, n.block=3) # form 3 blocks
foo
glPlot(foo[[1]], main="1st block") # plot 1st block
glPlot(foo[[2]], main="2nd block") # plot 2nd block
glPlot(foo[[3]], main="3rd block") # plot 3rd block

foo <- seploc(x, block.size=600, random=TRUE) # split data, randomize loci
foo # note the different block sizes
glPlot(foo[[1]])
}

Run the code above in your browser using DataLab