test_asSnpMatrix <- function() {
ncfile <- tempfile()
simulateGenotypeMatrix(n.snps=10, n.chromosomes=2,
n.samples=5, filename=ncfile)
nc <- GdsGenotypeReader(ncfile)
scanID <- getScanID(nc)
subjID <- paste("A", scanID, sep="")
scandf <- data.frame(scanID=scanID, subjID=subjID,
stringsAsFactors=FALSE)
scanAnnot <- ScanAnnotationDataFrame(scandf)
snpID <- getSnpID(nc)
chrom <- getChromosome(nc)
pos <- getPosition(nc)
rsID <- paste("rs", snpID, sep="")
snpdf <- data.frame(snpID=snpID, chromosome=chrom, position=pos,
rsID=rsID, stringsAsFactors=FALSE)
snpAnnot <- SnpAnnotationDataFrame(snpdf)
genoData <- GenotypeData(nc, scanAnnot=scanAnnot, snpAnnot=snpAnnot)
geno <- getGenotype(genoData)
gc <- matrix("NA", nrow=nsnp(genoData), ncol=nscan(genoData))
gc[geno %in% 0] <- "B/B"
gc[geno %in% 1] <- "A/B"
gc[geno %in% 2] <- "A/A"
snpmat <- asSnpMatrix(genoData)
gcn <- t(gc)
dimnames(gcn) <- list(scanID, snpID)
checkIdentical(gcn, as(snpmat, "character"))
# use different names for scan and snp
snpmat <- asSnpMatrix(genoData, snpNames="rsID", scanNames="subjID")
gcn <- t(gc)
dimnames(gcn) <- list(subjID, rsID)
checkIdentical(gcn, as(snpmat, "character"))
# use a subset of data
snpmat <- asSnpMatrix(genoData, snp=c(2,10), scan=c(3,-1))
gcn <- t(gc[2:11, 3:5])
dimnames(gcn) <- list(scanID[3:5], snpID[2:11])
checkIdentical(gcn, as(snpmat, "character"))
close(genoData)
unlink(ncfile)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.