| SeqVarData {SeqVarTools} | R Documentation |
Extends SeqVarGDSClass to include annotation for samples and variants.
A SeqVarData object adds an AnnotatedDataFrame for both samples and variants to a SeqVarGDSClass object.
SeqVarData(gds, sampleData, variantData): Returns a SeqVarData object.
gds can be either the filename of a sequencing GDS file or an existing SeqVarGDSClass object.
sampleData must be an AnnotatedDataFrame with a column sample.id matching sample.id in the GDS file. If this argument is missing, a data frame with 0 columns will be created.
variantData must be an AnnotatedDataFrame with a column variant.id matching variant.id in the GDS file. If this argument is missing, a data frame with 0 columns will be created.
sampleData(x), sampleData(x)<- value:
Get or set the AnnotatedDataFrame with sample data. If a sample filter has been applied with seqSetFilter, only selected samples will be returned. value must include all samples.
variantData(x), variantData(x)<- value:
Get or set the AnnotatedDataFrame with variant data. If a variant filter has been applied with seqSetFilter, only selected variants will be returned. value must include all variants.
granges(x):
Return a GRanges object with the columns of variantData as metadata columns.
validateSex(x):
Return the contents of a column named "sex" in sampleData(x), provided the contents are valid (values either "M"/"F" or 1/2, or NA). If the column is missing or invalid, return NULL.
See SeqVarGDSClass for additional methods.
Stephanie Gogarten
SeqVarGDSClass,
seqVCF2GDS,
seqOpen,
seqGetData,
seqSetFilter,
seqApply,
seqClose
gds <- seqOpen(seqExampleFileName("gds"))
## create sample annotation
library(Biobase)
sample.id <- seqGetData(gds, "sample.id")
sex <- sample(c("M","F"), length(sample.id), replace=TRUE)
phenotype <- rnorm(length(sample.id), mean=10)
samp <- data.frame(sample.id, sex, phenotype, stringsAsFactors=FALSE)
meta <- data.frame(labelDescription=c("unique sample identifier",
"sex (M=male, f=female)", "example phenotype"),
row.names=names(samp), stringsAsFactors=FALSE)
sample.data <- AnnotatedDataFrame(samp, meta)
seqData <- SeqVarData(gds, sample.data)
head(validateSex(seqData))
## add another annotation column
sample.data$site <- sample(letters, length(sample.id), replace=TRUE)
varMetadata(sample.data)["site", "labelDescription"] <- "study site"
sampleData(seqData) <- sample.data
## set a filter
seqSetFilter(seqData, sample.id=sample.id[1:10])
nrow(sampleData(seqData))
seqClose(seqData)