## ----options, eval=TRUE, echo=FALSE-------------------------------------------
options(showHeadLines=3)
options(showTailLines=3)

## ----getPackage, eval=FALSE---------------------------------------------------
#  if (!requireNamespace("BiocManager", quietly = TRUE))
#      install.packages("BiocManager")
#  BiocManager::install("GDSArray")

## ----Load, message=FALSE------------------------------------------------------
library(GDSArray)

## ----GDSArray-----------------------------------------------------------------
file <- gdsExampleFileName("seqgds")
GDSArray(file, "genotype/data")

## ----GDSMatrix----------------------------------------------------------------
GDSArray(file, "annotation/format/DP/data")

## ----GDSFile------------------------------------------------------------------
gf <- GDSFile(file)
gf$annotation$info
gf$annotation$info$AC

## ----seedAccessor-------------------------------------------------------------
gt <- GDSArray(file, "genotype/data")
seed(gt)

## ----gdsfileAccessor----------------------------------------------------------
gdsfile(gt)

## ----gdsnodes-----------------------------------------------------------------
gdsnodes(file)
identical(gdsnodes(file), gdsnodes(gf))
varname <- gdsnodes(file)[2]
GDSArray(file, varname)

## ----dims---------------------------------------------------------------------
dp <- GDSArray(file, "annotation/format/DP/data")
dim(dp)
class(dimnames(dp))
lengths(dimnames(dp))

## ----methods------------------------------------------------------------------
dp[1:3, 10:15]
dp[c(TRUE, FALSE), ]

## ----numeric------------------------------------------------------------------
log(dp)
dp[rowMeans(dp) < 60, ]

## ----GDSArraySeed-------------------------------------------------------------
gds <- openfn.gds(file)
seed <- GDSArray:::GDSArraySeed(gds, "genotype/data")
seed
closefn.gds(gds)

## ----GDSArray-from-GDSArraySeed-----------------------------------------------
GDSArray(seed)

## ----da-----------------------------------------------------------------------
class(DelayedArray(seed))

## ----sessionInfo--------------------------------------------------------------
sessionInfo()