| Title: | Two Dimensional High Throughput 'GoMiner' |
|---|---|
| Description: | The Gene Ontology (GO) Consortium <https://geneontology.org/> organizes genes into hierarchical categories based on biological process (BP), molecular function (MF) and cellular component (CC, i.e., subcellular localization). Tools such as 'GoMiner' (see Zeeberg, B.R., Feng, W., Wang, G. et al. (2003) <doi:10.1186/gb-2003-4-4-r28>) can leverage GO to perform ontological analysis of microarray and proteomics studies, typically generating a list of significant functional categories. Microarray studies are usually analyzed with BP, whereas proteomics researchers often prefer CC. To capture the benefit of both of those ontologies, I developed a two-dimensional version of 'High-Throughput GoMiner' ('HTGM2D'). I generate a 2D heat map whose axes are any two of BP, MF, or CC, and the value within a picture element of the heat map reflects the Jaccard metric p-value for the number of genes in common for the corresponding pair. |
| Authors: | Barry Zeeberg [aut, cre] |
| Maintainer: | Barry Zeeberg <[email protected]> |
| License: | GPL (>= 2) |
| Version: | 1.1.1 |
| Built: | 2026-05-21 06:54:36 UTC |
| Source: | https://github.com/cran/HTGM2D |
match up genes in gene list with categories in GOGOA3 database
catGenes(geneList, GOGOA3, ontology)catGenes(geneList, GOGOA3, ontology)
geneList |
character vector of user-supplied genes of interest |
GOGOA3 |
return value of subsetGOGOA() |
ontology |
c("molecular_function","cellular_component","biological_process") |
returns a matrix of 1's and 0's indicating the presence or absence of gene-category pairs
#load("data/GOGOA3small.RData") geneList<-cluster52 m1<-catGenes(geneList,GOGOA3small,"biological_process")#load("data/GOGOA3small.RData") geneList<-cluster52 m1<-catGenes(geneList,GOGOA3small,"biological_process")
compare the results of GoMiner and HTGM2D
compareGoMinerHTGM2D(subd, mat, l, ontologies)compareGoMinerHTGM2D(subd, mat, l, ontologies)
subd |
character string full path name to the output subdirectory |
mat |
return value of Jaccard() |
l |
of return values of GoMiner() |
ontologies |
character vector of 2 ontologies e.g. c("biological_process","cellular_component") |
returns no value, but saves files that list category difference between GoMiner and HTG2D
ontologies<-c("biological_process","cellular_component") #load("data/x_l.Rdata") #load("data/x_mat.Rdata") subd<-tempdir() compareGoMinerHTGM2D(subd,x_mat,x_l,ontologies)ontologies<-c("biological_process","cellular_component") #load("data/x_l.Rdata") #load("data/x_mat.Rdata") subd<-tempdir() compareGoMinerHTGM2D(subd,x_mat,x_l,ontologies)
run 2D version of GoMiner
HTGM2D(dir, geneList, ontologies, GOGOA3)HTGM2D(dir, geneList, ontologies, GOGOA3)
dir |
character string full path name to the directory acting as result repository |
geneList |
character vector of user-supplied genes of interest |
ontologies |
character vector of 2 ontologies e.g. c("biological_process","cellular_component") |
GOGOA3 |
return value of subsetGOGOA() |
returns the return value of Jaccard()
## Not run: # GOGOA3.RData is too large to include in the R package # so I need to load it from a file that is not in the package. # Since this is in a file in my own file system, I could not # include this as a regular example in the package. # you can generate it using the package 'minimalistGODB' # or you can retrieve it from https://github.com/barryzee/GO/tree/main/databases load("/Users/barryzeeberg/personal/GODB_RDATA/goa_human/GOGOA3_goa_human.RData") subd<-tempdir() geneList<-cluster52 ontologies<-c("biological_process","cellular_component") mat<-HTGM2D(subd,geneList,ontologies,GOGOA3) ## End(Not run)## Not run: # GOGOA3.RData is too large to include in the R package # so I need to load it from a file that is not in the package. # Since this is in a file in my own file system, I could not # include this as a regular example in the package. # you can generate it using the package 'minimalistGODB' # or you can retrieve it from https://github.com/barryzee/GO/tree/main/databases load("/Users/barryzeeberg/personal/GODB_RDATA/goa_human/GOGOA3_goa_human.RData") subd<-tempdir() geneList<-cluster52 ontologies<-c("biological_process","cellular_component") mat<-HTGM2D(subd,geneList,ontologies,GOGOA3) ## End(Not run)
driver to invoke GoMiner and HTGM2D, and compare the results
HTGM2Ddriver( dir, geneList, ontologies, GOGOA3, enrichThresh = 2, countThresh = 5, pvalThresh = 0.1, fdrThresh = 0.1, nrand = 100, mn, mx, opt = 0, verbose = 1 )HTGM2Ddriver( dir, geneList, ontologies, GOGOA3, enrichThresh = 2, countThresh = 5, pvalThresh = 0.1, fdrThresh = 0.1, nrand = 100, mn, mx, opt = 0, verbose = 1 )
dir |
character string full path name to the directory acting as result repository |
geneList |
character vector of user-supplied genes of interest |
ontologies |
character vector of 2 ontologies e.g. c("biological_process","cellular_component") |
GOGOA3 |
return value of subsetGOGOA() |
enrichThresh |
numerical acceptance threshold for enrichment passed to GoMiner |
countThresh |
numerical acceptance threshold for gene count passed to GoMiner |
pvalThresh |
numerical acceptance threshold for pval |
fdrThresh |
numerical acceptance threshold for fdr |
nrand |
numeric number of randomizations to compute FDR |
mn |
integer param passed to trimGOGOA3, min size threshold for a category |
mx |
integer param passed to trimGOGOA3, max size threshold for a category |
opt |
integer 0:1 parameter used to select randomization method |
verbose |
integer vector representing classes |
returns no value, but saves hyperlinked SVG heatmap files to a results directory
## Not run: # GOGOA3.RData is too large to include in the R package # so I need to load it from a file that is not in the package. # Since this is in a file in my own file system, I could not # include this as a regular example in the package. # you can generate it using the package 'minimalistGODB' # or you can retrieve it from https://github.com/barryzee/GO/tree/main/databases load("/Users/barryzeeberg/personal/GODB_RDATA/goa_human/GOGOA3_goa_human.RData") geneList<-cluster52 ontologies<-c("biological_process","cellular_component") dir<-tempdir() HTGM2Ddriver(dir,geneList,ontologies,GOGOA3,enrichThresh=2, countThresh=5,pvalThresh=0.10,fdrThresh=0.10,nrand=100,mn=2,mx=2000) ## End(Not run)## Not run: # GOGOA3.RData is too large to include in the R package # so I need to load it from a file that is not in the package. # Since this is in a file in my own file system, I could not # include this as a regular example in the package. # you can generate it using the package 'minimalistGODB' # or you can retrieve it from https://github.com/barryzee/GO/tree/main/databases load("/Users/barryzeeberg/personal/GODB_RDATA/goa_human/GOGOA3_goa_human.RData") geneList<-cluster52 ontologies<-c("biological_process","cellular_component") dir<-tempdir() HTGM2Ddriver(dir,geneList,ontologies,GOGOA3,enrichThresh=2, countThresh=5,pvalThresh=0.10,fdrThresh=0.10,nrand=100,mn=2,mx=2000) ## End(Not run)
create the heat map data that is needed as input to JaccardHeatMap()
Jaccard(dir, m1, m2, thresh1 = 2, thresh2 = 3, B = 100)Jaccard(dir, m1, m2, thresh1 = 2, thresh2 = 3, B = 100)
dir |
character string full pathname to the directory acting as result repository |
m1 |
return value of catGenes |
m2 |
return value of catGenes |
thresh1 |
integer acceptance threshold for the number of genes in a cat |
thresh2 |
integer acceptance threshold for the number of common genes in 2 cats |
B |
integer a total bootstrap iteration |
returns a numerical matrix containing number of genes and associated p value in the intersection of 2 categories
#load("data/x_m1.RData") #load("data/x_m2.RData") mat<-Jaccard(dir=tempdir(),x_m1,x_m2)#load("data/x_m1.RData") #load("data/x_m2.RData") mat<-Jaccard(dir=tempdir(),x_m1,x_m2)
use the Jaccard metric to construct 2D heat map
JaccardHeatMap(dir, mat)JaccardHeatMap(dir, mat)
dir |
character string containing path name of output directory |
mat |
return value of Jaccard() |
returns a Jaccard matrix of cat1 vs cat2 FDR, and also saves hyperlinked SVG heatmap files to a results directory
#load("data/x_jmat.RData") dir<-tempdir() jHeatMap<-JaccardHeatMap(dir,x_jmat)#load("data/x_jmat.RData") dir<-tempdir() jHeatMap<-JaccardHeatMap(dir,x_jmat)