Description Extends Constructor Accessors Author(s) See Also Examples
The SnpAnnotationDataFrame class stores annotation data associated with
SNPs, as well as metadata describing each column. It extends the
AnnotatedDataFrame
class.
AnnotatedDataFrame
SnpAnnotationDataFrame(data, metadata)
:
data
must be a data.frame containing the SNP annotation.
It must contain at least the following columns:
"snpID": integer vector containing unique SNP ids.
"chromosome": integer vector containing chromosome codes.
"position": integer vector containing position (in base pairs) on the chromosome.
Default values for chromosome codes are 1-22=autosome, 23=X, 24=XY, 25=Y,
26=M. The defaults may be changed with the arguments autosomeCode
,
XchromCode
, XYchromCode
, YchromCode
, and
MchromCode
.
metadata
is an optional data.frame containing a description
for each column in data
. It should contain a column
"labelDescription", with row.names(metadata) == names(data)
.
The SnpAnnotationDataFrame
constructor creates and returns
a SnpAnnotationDataFrame instance.
In the code snippets below, object
is a SnpAnnotationDataFrame
object.
getSnpID(object, index)
: A unique integer vector of snp
IDs. The optional index
is a logical or
integer vector specifying elements to extract.
getChromosome(object, index, char=FALSE)
: A vector of
chromosomes. The optional index
is a logical or
integer vector specifying elements to extract.
If char=FALSE
(default), returns an integer vector.
If char=TRUE
, returns a character vector with elements in
(1:22,X,XY,Y,M,U). "U" stands for "Unknown" and is the value
given to any chromosome code not falling in the other categories.
getPosition(object, index)
: An integer vector of base pair
positions. The optional index
is a logical or
integer vector specifying elements to extract.
getAlleleA(object, index)
: A character vector of A alleles.
The optional index
is a logical or
integer vector specifying elements to extract.
getAlleleB(object, index)
: A character vector of B alleles.
The optional index
is a logical or
integer vector specifying elements to extract.
getVariable(object, varname, index)
: A vector of the
column varname
. The optional index
is a logical or
integer vector specifying elements to extract.
If varname
is itself a vector, returns a data.frame.
Returns NULL
if
varname
is not found in object
.
hasVariable(object, varname)
: Returns TRUE
if
varname
is a column in object
, FALSE
if not.
getVariableNames(object)
: Returns a character vector with
the names of all columns in object
.
getAnnotation(object)
: Returns all annotation variables
as a data frame.
getMetadata(object)
: Returns metadata describing the
annotation variables as a data frame.
Inherited methods from
AnnotatedDataFrame
:
varLabels(object)
: Returns a character vector with
the names of all columns in object
.
pData(object)
: Returns all annotation variables
as a data frame, or sets the annotation variables with
pData(object) <- df
.
varMetadata(object)
: Returns metadata describing the
annotation variables as a data frame, or sets the metadata with
varMetadata(object) <- df
.
The operators [
, $
, and [[
work just as they do in
standard data frames, for both retrieval and assignment.
autosomeCode(object)
: Returns the integer codes for the
autosomes.
XchromCode(object)
: Returns the integer code for the X
chromosome.
XYchromCode(object)
: Returns the integer code for the
pseudoautosomal region.
YchromCode(object)
: Returns the integer code for the Y
chromosome.
MchromCode(object)
: Returns the integer code for
mitochondrial SNPs.
Stephanie Gogarten
AnnotatedDataFrame
, ScanAnnotationDataFrame
,
GenotypeData
, IntensityData
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | library(GWASdata)
data(illumina_snp_annot)
snpAnnot <- SnpAnnotationDataFrame(illumina_snp_annot)
# list columns
varLabels(snpAnnot)
# add metadata
meta <- varMetadata(snpAnnot)
meta["snpID", "labelDescription"] <- "unique integer ID"
varMetadata(snpAnnot) <- meta
# get snpID and chromosome
snpID <- getSnpID(snpAnnot)
chrom <- getChromosome(snpAnnot)
# get positions only for chromosome 22
pos22 <- getPosition(snpAnnot, index=(chrom == 22))
# get rsID
if (hasVariable(snpAnnot, "rsID")) rsID <- getVariable(snpAnnot, "rsID")
# display data
head(pData(snpAnnot))
# standard operators
snpID <- snpAnnot$snpID
chrom <- snpAnnot[["chromosome"]]
subset <- snpAnnot[1:10, 1:5]
snpAnnot$newVar <- rep(1, nrow(snpAnnot))
# replace data
df <- pData(snpAnnot)
pData(snpAnnot) <- df
# PLINK chromosome coding
snpID <- 1:10
chrom <- c(rep(1L,5), 23:27)
pos <- 101:110
df <- data.frame(snpID=snpID, chromosome=chrom, position=pos)
snpAnnot <- SnpAnnotationDataFrame(df, YchromCode=24L, XYchromCode=25L)
getChromosome(snpAnnot, char=TRUE)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.