NcdfGenotypeReader | R Documentation |
The NcdfGenotypeReader class is an extension of the NcdfReader class specific to reading genotype data stored in NetCDF files.
NcdfReader
NcdfGenotypeReader(filename)
:
filename
must be the path to a NetCDF file. The NetCDF
file must contain the following variables:
'snp': a coordinate variable with a unique integer vector of snp ids
'chromosome': integer chromosome codes of dimension 'snp'
'position': integer position values of dimension 'snp'
'sampleID': a unique integer vector of scan ids with dimension 'sample'
'genotype': a matrix of bytes with dimensions ('snp','sample'). The byte values must be the number of A alleles : 2=AA, 1=AB, 0=BB.
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
.
The NcdfGenotypeReader
constructor creates and returns a
NcdfGenotypeReader instance pointing to this file.
In the code snippets below, object
is a NcdfGenotypeReader object.
See NcdfReader
for additional methods.
nsnp(object)
: The number of SNPs in the NetCDF file.
nscan(object)
: The number of scans in the NetCDF file.
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.
getScanID(object, index)
: A unique integer vector of scan
IDs. The optional index
is a logical or
integer vector specifying elements to extract.
getGenotype(object, snp=c(1,-1), scan=c(1,-1), drop=TRUE, use.names=FALSE, ...)
:
Extracts genotype values (number of A alleles).
snp
and scan
indicate which elements to return along the snp and
scan dimensions. They must be integer vectors of the form (start,
count), where start is the index of the first data element to read
and count is the number of elements to read. A value of '-1' for
count indicates that the entire dimension should be read.
If drop=TRUE
, the result is coerced to the lowest possible dimension.
If use.names=TRUE
and the result is a matrix, dimnames are set to the SNP and scan IDs.
Missing values are represented as NA
.
getVariable(object, varname, ...)
: Extracts the
contents of the variable varname
. If the variable is not found in the NetCDF
file, returns NULL
.
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
NcdfReader
,
NcdfIntensityReader
,
GenotypeData
, IntensityData
file <- system.file("extdata", "illumina_geno.nc", package="GWASdata")
nc <- NcdfGenotypeReader(file)
# dimensions
nsnp(nc)
nscan(nc)
# get snpID and chromosome
snpID <- getSnpID(nc)
chrom <- getChromosome(nc)
# get positions only for chromosome 22
pos22 <- getPosition(nc, index=(chrom == 22))
# get all snps for first scan
geno <- getGenotype(nc, snp=c(1,-1), scan=c(1,1))
# starting at snp 100, get 10 snps for the first 5 scans
geno <- getGenotype(nc, snp=c(100,10), scan=c(1,5))
close(nc)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.