"get.go.ontos" <- function(ont="BP",organism="yeast") { if(!(ont %in% c("BP","MF","CC"))) stop("Invalid ontology (must be one of 'BP','MF', or 'CC')") if(!(organism %in% c("yeast","human","mouse","rat"))) stop("Invalid organism (must be one of 'yeast','human','mouse', or 'rat')") cat("Building GO graph...") expr <- paste("buildGOgraph(useenv=GO",ont,"PARENTS)",sep="") goGraph <- eval(parse(text=expr)) cat("\n") goRDAG <- new("rootedDAG",root=get.go.root(ont),DAG=goGraph) goOnto <- new("ontology",name=ont,version="1.0",rDAG=goRDAG) cat("Computing accessibility matrix...") goAmat <- accessMat(goOnto) MAT.label <- paste("go",ont,"aMAT",sep="") expr <- paste(MAT.label," <- goAmat",sep="") eval(parse(text=expr)) MAT.name <- paste("go",ont,"aMAT.RData",sep="") expr <- paste("save(",MAT.label,",file=\"",MAT.name,"\")",sep="") eval(parse(text=expr)) cat("\nCreating probe-term map...") goMAP <- get.go.map(nodes(goGraph),organism) cat("\nMaking OOC...") goOOC <- makeOOC(goOnto,goMAP) ooc.label <- paste("go",ont,"ooc.",organism,sep="") expr <- paste(ooc.label," <- goOOC",sep="") eval(parse(text=expr)) ooc.name <- paste("go",ont,"ooc.",organism,".RData",sep="") expr <- paste("save(",ooc.label,",file=\"",ooc.name,"\")",sep="") eval(parse(text=expr)) cat("\nComputing concept probabilities...") goPC <- conceptProbs(goOOC,acc=goAmat) pc.label <- paste("go",ont,"pc.",organism,sep="") expr <- paste(pc.label," <- goPC",sep="") eval(parse(text=expr)) pc.name <- paste("go",ont,"pc.",organism,".RData",sep="") expr <- paste("save(",pc.label,",file=\"",pc.name,"\")",sep="") eval(parse(text=expr)) }