Dear all,
I am new to the use of microarray analysis; I have been looking at the use of lumi for the analysis of Illumina BeadArray chips. I have used the tutorial by Du, Feng, Kibbe and Lin (2010) (http://www.bioconductor.org/packages//2.7/bioc/vignettes/lumi/inst/doc/lumi.pdf) to learn the process. In that vignette, the authors use the packages lumi and limma to normalize the data and then fit the linear method (creating an object 'fit') that can identify the most expressed genes. The data come from the example.lumi dataset contained in the package lumiBarnes.
At the end of the analysis, the over-expressed genes have been identified with the hypergeometric test and the Illumina codes have been associated with the EntrezID and the Molecular Function; the latter is done with the function getGOTerm and only the term BP are used. The final object is a dataframe with the GO IDs and the molecular group of the genes.
Is it possible to add a column with the gene's names? Does getGOTerm give also other useful information, for instance, gene's location?
Thank you
### library(lumi) library(lumiBarnes) library(limma) library(GOstats) library(lumiHumanAll.db) library(annotate) pval <- 0.01 data("example.lumi") lumi_t <-lumiT(example.lumi) lumi_n <- lumiN(lumi_t, method='rsn') dataMatrix <- exprs(lumi_n) probeList <- rownames(dataMatrix) sampleType <- c('100:0', '95:5', '100:0', '95:5') design <- model.matrix(~ factor(sampleType)) colnames(design) <- c('100:0', '95:5-100:0') fit <- lmFit(dataMatrix, design) fit <- eBayes(fit) sigGene <- probeList[fit$p.value[,2] < pval] ## Convert the probe Ids as Entrez Ids and make them unique sigLL <- unique(unlist(lookUp(sigGene,'lumiHumanAll.db','ENTREZID'))) sigLL <- as.character(sigLL[!is.na(sigLL)]) params <- new("GOHyperGParams", geneIds= sigLL, annotation="lumiHumanAll.db", ontology="BP", pvalueCutoff= pval, conditional=FALSE, testDirection="over") # calculate expressed genes by hypergeometric test hgOver <- hyperGTest(params) gGhyp.pv <- pvalues(hgOver) gGhyp.fdr <- p.adjust(gGhyp.pv, 'fdr') sigGO.ID <- names(gGhyp.fdr[gGhyp.fdr < pval]) sigGO.Term <- getGOTerm(sigGO.ID)[["BP"]] exp.list <- data.frame(sigGO.ID, sigGO.Term, stringsAsFactors = FALSE) rownames(exp.list) <- NULL