1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
|
#!/usr/bin/env Rscript
suppressPackageStartupMessages(library("argparse"))
parser = ArgumentParser(description="See GOplot documentation: https://wencke.github.io/")
parser$add_argument("--EC_david", help="EC.david input file", required=TRUE)
parser$add_argument("--EC_genelist", help="EC.genelist input file", required=TRUE)
parser$add_argument("--pdf_outfile", help="pdf output filename", required=TRUE)
args = parser$parse_args()
library(GOplot)
EC.david = read.table(args$EC_david, sep='\t', header=T, quote="")
EC.genelist = read.table(args$EC_genelist, sep='\t', header=T)
# plotting commands from: https://wencke.github.io/
circ <- circle_dat(EC.david, EC.genelist)
message("Generating plot pdf file: ", args$pdf_outfile)
pdf(file=args$pdf_outfile)
###############################
## The modified barplot (GOBar)
###############################
## Generate a simple barplot
message("GOBar, circ, BP")
GOBar(subset(circ, category == 'BP'))
## Facet the barplot according to the categories of the terms
message("GOBar, circ, multiple")
GOBar(circ, display = 'multiple')
# Facet the barplot, add a title and change the colour scale for the z-score
message("GOBar, multiple, Z-scores")
GOBar(circ, display = 'multiple', title = 'Z-score coloured barplot', zsc.col = c('yellow', 'black', 'cyan'))
#############################
## The bubble plot (GOBubble)
#############################
# Generate the bubble plot with a label threshold of 3
#message("GOBubble, circ")
#GOBubble(circ, labels = 3)
# Add a title, change the colour of the circles, facet the plot according to the categories and change the label threshold
message("GOBubble, multiple")
GOBubble(circ, title = 'Bubble plot', col = c('orange', 'darkred', 'gold'), display = 'multiple', labels = 3)
## Colour the background according to the category
message("GOBubble, bckgrd color")
GOBubble(circ, title = 'Bubble plot with background colour', display = 'multiple', labels = 3)
# Reduce redundant terms with a gene overlap >= 0.75...
#reduced_circ <- reduce_overlap(circ, overlap = 0.75)
## ...and plot it
#message("GOBubble, reduced")
#GOBubble(reduced_circ, labels = 2.8)
###########################################################################################
## Circular visualization of the results of gene- annotation enrichment analysis (GOCircle)
###########################################################################################
#Generate a circular visualization of the results of gene- annotation enrichment analysis
message("GOCircle")
GOCircle(circ)
# Generate a circular visualization of selected terms
# (set the ids to your liking)
#IDs <- c('GO:0007507', 'GO:0001568', 'GO:0001944', 'GO:0048729', 'GO:0048514', 'GO:0005886', 'GO:0008092', 'GO:0008047')
#GOCircle(circ, nsub = IDs)
# Generate a circular visualization for 10 terms
message("GOcircule, nsub=10")
GOCircle(circ, nsub = 10)
##### Now, the rest is up to you. ;-)
quit(save = "yes", status = 0, runLast = FALSE)
|