hello, I am working on non model organism (aspergillus fungi) and I would like to perform the gene ontology analysis as well as KEGG pathway analysis. For gene ontology ,I used the TopGO and I made a gene ontology file and the gene list of my interest. the code works fine, just I would like to extract the gene list of a specific GO. Also the visualization of TopGO isn't good, is it possible to suggest another visualization package who can use the output from the TopGO and make a better graphs? For the KEGG pathway analysis, which tool will be suitable for doing it for a non model organism? thank you for your help.
Code should be placed in three backticks as shown below
#Note before analysis
#make sure that sequence names in the gene of interest list is similar to that of the annotation file
library(topGO)
library(Rgraphviz)
#mapping of GO annotation file
geneID2GO <- readMappings(file = "N402_goannotate.txt")
#Defining your list of genes of interest in te annotation file
geneUniverse <- names(geneID2GO)
genesOfInterest <- read.table("N402-DE-Down.txt",header=FALSE)
genesOfInterest <- as.character(genesOfInterest$V1)
#Then we need to tell TopGO where these interesting genes appear in the 'geneUniverse' vector
geneList <- factor(as.integer(geneUniverse %in% genesOfInterest))
names(geneList) <- geneUniverse
#Putting the data together into an R object
#We need to put our data in an object of type 'topGOdata'. This will contain the list of genes of interest, the GO annotations, and the GO hierarchy itself.
myGOdataBP <- new("topGOdata", description="My project", ontology="BP", allGenes=geneList, annot = annFUN.gene2GO, gene2GO = geneID2GO) #for Biological process
myGOdataCC <- new("topGOdata", description="My project", ontology="CC", allGenes=geneList, annot = annFUN.gene2GO, gene2GO = geneID2GO) #for cellular component
myGOdataMF <- new("topGOdata", description="My project", ontology="MF", allGenes=geneList, annot = annFUN.gene2GO, gene2GO = geneID2GO) #for molecular function
#The list of genes of interest can be accessed using the method sigGenes():
sgBP <- sigGenes(myGOdataBP)
str(sgBP)
sgCC <- sigGenes(myGOdataCC)
str(sgCC)
sgMF <- sigGenes(myGOdataMF)
str(sgMF)
#Performing enrichment tests
resultBPClassic <- runTest(myGOdataBP, algorithm="classic", statistic="fisher")
resultBPElim <- runTest(myGOdataBP, algorithm="elim", statistic="fisher")
resultBPTopgo <- runTest(myGOdataBP, algorithm="weight01", statistic="fisher")
resultFisherCC <- runTest(myGOdataCC, algorithm="classic", statistic="fisher")
resultFisherCC
resultFisherMF <- runTest(myGOdataMF, algorithm="classic", statistic="fisher")
resultFisherMF
#We can list the top ten significant results found
allResBP <- GenTable(myGOdataBP, classicFisher = resultBPClassic, elimFisher = resultBPElim, topgoFisher = resultBPTopgo, orderBy = "topgoFisher", ranksOf = "classicFisher", topNodes = 10)
allResCC <- GenTable(myGOdataCC, classicFisher = resultFisherCC, orderBy = "resultFisherCC", ranksOf = "classicFisher", topNodes = 10)
allResMF <- GenTable(myGOdataMF, classicFisher = resultFisherMF, orderBy = "resultFisherMF", ranksOf = "classicFisher", topNodes = 10)
#to save the tables
write.table(allResBP,"N402-DE-Down-GO-BP.txt",sep="\t")
write.table(allResCC,"N402-DE-Down-GO-CC.txt",sep="\t")
write.table(allResMF,"N402-DE-Down-GO-MF.txt",sep="\t")
#Making graphes
showSigOfNodes(myGOdataBP, score(resultBPTopgo), firstSigNodes = 5, useInfo ='all')
showSigOfNodes(myGOdataCC, score(resultFisherCC), firstSigNodes = 5, useInfo ='all')
showSigOfNodes(myGOdataMF, score(resultFisherMF), firstSigNodes = 5, useInfo ='all')
printGraph(myGOdataBP, resultBPTopgo, firstSigNodes = 5, fn.prefix = "tGO", useInfo = "all", pdfSW = TRUE)
printGraph(myGOdataCC, resultFisherCC, firstSigNodes = 5, fn.prefix = "tGO", useInfo = "all", pdfSW = TRUE)
printGraph(myGOdataMF, resultFisherMF, firstSigNodes = 5, fn.prefix = "tGO", useInfo = "all", pdfSW = TRUE)
# include your problematic code here with any corresponding output
# please also include the results of running the following in an R session
sessionInfo( )
