Mercurial > repos > proteore > proteore_clusterprofiler
annotate GO-enrich.R @ 6:5e16cec55146 draft
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
author | proteore |
---|---|
date | Thu, 29 Mar 2018 11:43:28 -0400 |
parents | 8a91f58782df |
children | 4609346d8108 |
rev | line source |
---|---|
0
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
1 library(clusterProfiler) |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
2 |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
3 #library(org.Sc.sgd.db) |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
4 library(org.Hs.eg.db) |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
5 library(org.Mm.eg.db) |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
6 |
4
710414ebb6db
planemo upload commit 0a42c3d46be24406936ca0036bb436e6e2524fd2-dirty
proteore
parents:
0
diff
changeset
|
7 # Read file and return file content as data.frame |
0
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
8 readfile = function(filename, header) { |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
9 if (header == "true") { |
4
710414ebb6db
planemo upload commit 0a42c3d46be24406936ca0036bb436e6e2524fd2-dirty
proteore
parents:
0
diff
changeset
|
10 # Read only first line of the file as header: |
710414ebb6db
planemo upload commit 0a42c3d46be24406936ca0036bb436e6e2524fd2-dirty
proteore
parents:
0
diff
changeset
|
11 headers <- read.table(filename, nrows = 1, header = FALSE, sep = "\t", stringsAsFactors = FALSE, fill = TRUE, na.strings=c("", "NA"), blank.lines.skip = TRUE, quote = "") |
710414ebb6db
planemo upload commit 0a42c3d46be24406936ca0036bb436e6e2524fd2-dirty
proteore
parents:
0
diff
changeset
|
12 #Read the data of the files (skipping the first row) |
710414ebb6db
planemo upload commit 0a42c3d46be24406936ca0036bb436e6e2524fd2-dirty
proteore
parents:
0
diff
changeset
|
13 file <- read.table(filename, skip = 1, header = FALSE, sep = "\t", stringsAsFactors = FALSE, fill = TRUE, na.strings=c("", "NA"), blank.lines.skip = TRUE, quote = "") |
0
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
14 # Remove empty rows |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
15 file <- file[!apply(is.na(file) | file == "", 1, all), , drop=FALSE] |
4
710414ebb6db
planemo upload commit 0a42c3d46be24406936ca0036bb436e6e2524fd2-dirty
proteore
parents:
0
diff
changeset
|
16 #And assign the header to the data |
0
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
17 names(file) <- headers |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
18 } |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
19 else { |
4
710414ebb6db
planemo upload commit 0a42c3d46be24406936ca0036bb436e6e2524fd2-dirty
proteore
parents:
0
diff
changeset
|
20 file <- read.table(filename, header = FALSE, sep = "\t", stringsAsFactors = FALSE, fill = TRUE, na.strings=c("", "NA"), blank.lines.skip = TRUE, quote = "") |
710414ebb6db
planemo upload commit 0a42c3d46be24406936ca0036bb436e6e2524fd2-dirty
proteore
parents:
0
diff
changeset
|
21 # Remove empty rows |
0
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
22 file <- file[!apply(is.na(file) | file == "", 1, all), , drop=FALSE] |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
23 } |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
24 return(file) |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
25 } |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
26 |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
27 repartition.GO <- function(geneid, orgdb, ontology, level=3, readable=TRUE) { |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
28 ggo<-groupGO(gene=geneid, |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
29 OrgDb = orgdb, |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
30 ont=ontology, |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
31 level=level, |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
32 readable=TRUE) |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
33 name <- paste("GGO.", ontology, ".png", sep = "") |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
34 png(name) |
5
8a91f58782df
planemo upload commit c5f2b4b085a9911d1e4cc8d11367dd0363e626ab-dirty
proteore
parents:
4
diff
changeset
|
35 p <- barplot(ggo, showCategory=10) |
0
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
36 print(p) |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
37 dev.off() |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
38 return(ggo) |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
39 } |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
40 |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
41 # GO over-representation test |
6
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
42 enrich.GO <- function(geneid, universe, orgdb, ontology, pval_cutoff, qval_cutoff) { |
0
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
43 ego<-enrichGO(gene=geneid, |
6
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
44 universe=universe, |
0
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
45 OrgDb=orgdb, |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
46 keytype="ENTREZID", |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
47 ont=ontology, |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
48 pAdjustMethod="BH", |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
49 pvalueCutoff=pval_cutoff, |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
50 qvalueCutoff=qval_cutoff, |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
51 readable=TRUE) |
6
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
52 # Plot bar & dot plots |
0
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
53 bar_name <- paste("EGO.", ontology, ".bar.png", sep = "") |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
54 png(bar_name) |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
55 p <- barplot(ego) |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
56 print(p) |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
57 dev.off() |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
58 dot_name <- paste("EGO.", ontology, ".dot.png", sep = "") |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
59 png(dot_name) |
5
8a91f58782df
planemo upload commit c5f2b4b085a9911d1e4cc8d11367dd0363e626ab-dirty
proteore
parents:
4
diff
changeset
|
60 p <- dotplot(ego, showCategory=10) |
0
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
61 print(p) |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
62 dev.off() |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
63 return(ego) |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
64 } |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
65 |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
66 clusterProfiler = function() { |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
67 args <- commandArgs(TRUE) |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
68 if(length(args)<1) { |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
69 args <- c("--help") |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
70 } |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
71 |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
72 # Help section |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
73 if("--help" %in% args) { |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
74 cat("clusterProfiler Enrichment Analysis |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
75 Arguments: |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
76 --input_type: type of input (list of id or filename) |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
77 --input: input |
6
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
78 --ncol: the column number which contains list of input IDs |
0
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
79 --header: true/false if your file contains a header |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
80 --id_type: the type of input IDs (UniProt/EntrezID) |
6
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
81 --universe_type: list or filename |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
82 --universe: background IDs list |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
83 --uncol: the column number which contains background IDs list |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
84 --uheader: true/false if the background IDs file contains header |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
85 --universe_id_type: the type of universe IDs (UniProt/EntrezID) |
0
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
86 --species |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
87 --onto_opt: ontology options |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
88 --go_function: groupGO/enrichGO |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
89 --level: 1-3 |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
90 --pval_cutoff |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
91 --qval_cutoff |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
92 --text_output: text output filename \n") |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
93 q(save="no") |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
94 } |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
95 # Parse arguments |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
96 parseArgs <- function(x) strsplit(sub("^--", "", x), "=") |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
97 argsDF <- as.data.frame(do.call("rbind", parseArgs(args))) |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
98 args <- as.list(as.character(argsDF$V2)) |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
99 names(args) <- argsDF$V1 |
6
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
100 #print(args) |
0
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
101 |
6
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
102 # Extract OrgDb |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
103 if (args$species=="human") { |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
104 orgdb<-org.Hs.eg.db |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
105 } |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
106 else if (args$species=="mouse") { |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
107 orgdb<-org.Mm.eg.db |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
108 } |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
109 else if (args$species=="rat") { |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
110 orgdb<-org.Rn.eg.db |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
111 } |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
112 |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
113 # Extract input IDs |
0
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
114 input_type = args$input_type |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
115 if (input_type == "text") { |
4
710414ebb6db
planemo upload commit 0a42c3d46be24406936ca0036bb436e6e2524fd2-dirty
proteore
parents:
0
diff
changeset
|
116 input = strsplit(args$input, "[ \t\n]+")[[1]] |
0
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
117 } |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
118 else if (input_type == "file") { |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
119 filename = args$input |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
120 ncol = args$ncol |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
121 # Check ncol |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
122 if (! as.numeric(gsub("c", "", ncol)) %% 1 == 0) { |
6
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
123 stop("Please enter the right format for column number: c[number]") |
0
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
124 } |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
125 else { |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
126 ncol = as.numeric(gsub("c", "", ncol)) |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
127 } |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
128 header = args$header |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
129 # Get file content |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
130 file = readfile(filename, header) |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
131 # Extract Protein IDs list |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
132 input = c() |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
133 for (row in as.character(file[,ncol])) { |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
134 input = c(input, strsplit(row, ";")[[1]][1]) |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
135 } |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
136 } |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
137 id_type = args$id_type |
6
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
138 ## Get input gene list from input IDs |
0
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
139 #ID format Conversion |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
140 #This case : from UNIPROT (protein id) to ENTREZ (gene id) |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
141 #bitr = conversion function from clusterProfiler |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
142 if (id_type=="Uniprot") { |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
143 idFrom<-"UNIPROT" |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
144 idTo<-"ENTREZID" |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
145 gene<-bitr(input, fromType=idFrom, toType=idTo, OrgDb=orgdb) |
6
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
146 gene<-unique(gene$ENTREZID) |
0
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
147 } |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
148 else if (id_type=="Entrez") { |
6
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
149 gene<-unique(input) |
0
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
150 } |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
151 |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
152 ontology <- strsplit(args$onto_opt, ",")[[1]] |
6
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
153 ## Extract GGO/EGO arguments |
0
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
154 if (args$go_represent == "true") { |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
155 go_represent <- args$go_represent |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
156 level <- as.numeric(args$level) |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
157 } |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
158 if (args$go_enrich == "true") { |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
159 go_enrich <- args$go_enrich |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
160 pval_cutoff <- as.numeric(args$pval_cutoff) |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
161 qval_cutoff <- as.numeric(args$qval_cutoff) |
6
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
162 # Extract universe background genes (same as input file) |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
163 if (!is.null(args$universe_type)) { |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
164 universe_type = args$universe_type |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
165 if (universe_type == "text") { |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
166 universe = strsplit(args$universe, "[ \t\n]+")[[1]] |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
167 } |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
168 else if (universe_type == "file") { |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
169 universe_filename = args$universe |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
170 universe_ncol = args$uncol |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
171 # Check ncol |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
172 if (! as.numeric(gsub("c", "", universe_ncol)) %% 1 == 0) { |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
173 stop("Please enter the right format for column number: c[number]") |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
174 } |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
175 else { |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
176 universe_ncol = as.numeric(gsub("c", "", universe_ncol)) |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
177 } |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
178 universe_header = args$uheader |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
179 # Get file content |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
180 universe_file = readfile(universe_filename, universe_header) |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
181 # Extract Protein IDs list |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
182 universe = c() |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
183 for (row in as.character(universe_file[,universe_ncol])) { |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
184 universe = c(universe, strsplit(row, ";")[[1]][1]) |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
185 } |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
186 } |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
187 universe_id_type = args$universe_id_type |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
188 ##to initialize |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
189 if (universe_id_type=="Uniprot") { |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
190 idFrom<-"UNIPROT" |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
191 idTo<-"ENTREZID" |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
192 universe_gene<-bitr(universe, fromType=idFrom, toType=idTo, OrgDb=orgdb) |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
193 universe_gene<-unique(universe_gene$ENTREZID) |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
194 } |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
195 else if (universe_id_type=="Entrez") { |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
196 universe_gene<-unique(universe) |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
197 } |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
198 } |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
199 else { |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
200 universe_gene = NULL |
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
201 } |
0
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
202 } |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
203 |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
204 ##enrichGO : GO over-representation test |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
205 for (onto in ontology) { |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
206 if (args$go_represent == "true") { |
6
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
207 ggo<-repartition.GO(gene, orgdb, onto, level, readable=TRUE) |
0
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
208 write.table(ggo, args$text_output, append = TRUE, sep="\t", row.names = FALSE, quote=FALSE) |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
209 } |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
210 if (args$go_enrich == "true") { |
6
5e16cec55146
planemo upload commit 2da0aec067fd35a8ec102ce27ec4bac8f54b1c30-dirty
proteore
parents:
5
diff
changeset
|
211 ego<-enrich.GO(gene, universe_gene, orgdb, onto, pval_cutoff, qval_cutoff) |
0
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
212 write.table(ego, args$text_output, append = TRUE, sep="\t", row.names = FALSE, quote=FALSE) |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
213 } |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
214 } |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
215 } |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
216 |
bd052861852b
planemo upload commit ffa3be72b850aecbfbd636de815967c06a8f643f-dirty
proteore
parents:
diff
changeset
|
217 clusterProfiler() |