asSnpMatrix {GWASTools} | R Documentation

## Utilities for snpStats

### Description

`asSnpMatrix` converts a `GenotypeData` object to a `SnpMatrix-class` object.

### Usage

    asSnpMatrix(genoData, snpNames="snpID", scanNames="scanID",
                snp=c(1,-1), scan=c(1,-1))

### Arguments

`genoData` | A `GenotypeData` object.
`snpNames` | The name of the SNP variable in `genoData` to use as the column (SNP) names in the `SnpMatrix-class` object.
`scanNames` | The name of the scan variable in `genoData` to use as the row (scan) names in the `SnpMatrix-class` object.
`snp` | An integer vector 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 all SNPs should be read.
`scan` | An integer vector 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 all scans should be read.

### Details

The default is to extract all SNPs and scans from `genoData`, but for a large dataset this may exceed R's memory limit. Alternatively, `snp` and `scan` may be used to specify `(start, count)` of SNPs and scans to extract from `genoData`.

In the `SnpMatrix` object, genotypes are stored as 0 = missing, 1 = "A/A", 2= "A/B" or "B/A", and 3 = "B/B". (In a `GenotypeData` object, 0 = "B/B", 1 = "A/B" or "B/A", and 2 = "A/A".) Columns are SNPs with names `snpNames` and rows are scans with names `scanNames` (the transpose of the `GenotypeData` object).

### Value

A `SnpMatrix-class` object.

### Author(s)

Stephanie Gogarten

### See Also

`SnpMatrix-class`, `GenotypeData`

### Examples

    library(snpStats)
    library(GWASdata)
    file <- system.file("extdata", "illumina_geno.gds", package="GWASdata")
    gds <- GdsGenotypeReader(file)
    data(illuminaSnpADF, illuminaScanADF)
    genoData <-  GenotypeData(gds, snpAnnot=illuminaSnpADF, scanAnnot=illuminaScanADF)
    snpmat <- asSnpMatrix(genoData, snpNames="rsID", scanNames="scanID")
    snpmat
    as(snpmat[1:5, 1:5], "character")
    summary(snpmat)

    # only chromosome 21
    chr <- getChromosome(genoData)
    c21 <- which(chr == 21)
    snpmat <- asSnpMatrix(genoData, snpNames="rsID", scanNames="scanID",
                          snp=c(c21[1], length(c21)))
    snpmat
    close(genoData)

[Package GWASTools version 1.28.0 Index]