Learn R Programming

SNPRelate (version 1.6.4)

snpgdsSlidingWindow: Sliding window

Description

Apply a user-defined function with a sliding window.

Usage

snpgdsSlidingWindow(gdsobj, sample.id=NULL, snp.id=NULL, FUN=NULL, winsize=100000L, shift=10000L, unit=c("basepair", "locus"), winstart=NULL, autosome.only=FALSE, remove.monosnp=TRUE, maf=NaN, missing.rate=NaN, as.is=c("list", "numeric", "array"), with.id=c("snp.id", "snp.id.in.window", "none"), num.thread=1, verbose=TRUE, ...)

Arguments

gdsobj
an object of class SNPGDSFileClass, a SNP GDS file
sample.id
a vector of sample id specifying selected samples; if NULL, all samples are used
snp.id
a vector of snp id specifying selected SNPs; if NULL, all SNPs are used
FUN
the user-defined function, see details
winsize
the size of sliding window
shift
the amount of shifting the sliding window
unit
"basepair" -- winsize and shift are applied with SNP coordinate of basepair; "locus" -- winsize and shift are applied according to the SNP order in the GDS file
winstart
NULL -- no specific starting position; an integer -- a starting position for all chromosomes; or a vector of integer -- the starting positions for each chromosome
autosome.only
if TRUE, use autosomal SNPs only; if it is a numeric or character value, keep SNPs according to the specified chromosome
remove.monosnp
if TRUE, remove monomorphic SNPs
maf
to use the SNPs with ">= maf" only; if NaN, no MAF threshold
missing.rate
to use the SNPs with "
as.is
save the value returned from FUN as "list" or "numeric"; "array" is equivalent to "numeric" except some cases, see details
with.id
"snp.id", "snp.id.in.window" or "none"
num.thread
the number of (CPU) cores used; if NA, detect the number of cores automatically
verbose
if TRUE, show information
...
optional arguments to FUN

Value

Return a list

Details

If FUN="snpgdsFst", two additional arguments "population" and "method" should be specified. "population" and "method" are defined in snpgdsFst. "as.is" could be "list" (returns a list of the values from snpgdsFst), "numeric" ( population-average Fst, returns a vector) or "array" (population-average and -specific Fst, returns a `# of pop + 1'-by-`# of windows' matrix, and the first row is population-average Fst).

If FUN="snpgdsSNPRateFreq", .

Examples

Run this code
# open an example dataset (HapMap)
genofile <- snpgdsOpen(snpgdsExampleFileName())

# sliding windows
rv <- snpgdsSlidingWindow(genofile, winsize=500000, shift=100000,
    FUN=function(...) NULL)

# plot
plot(rv$chr1.num, ylab="# of SNPs in the sliding window")

# close the genotype file
snpgdsClose(genofile)

Run the code above in your browser using DataLab