Mercurial > repos > proteore > proteore_clusterprofiler
annotate GO-enrich.R @ 41:3fd1ccc57a6a draft
planemo upload commit c9d70181a2b587e53dcc4b5885b74b625def6b8c-dirty
| author | proteore |
|---|---|
| date | Fri, 06 Dec 2019 08:27:03 +0000 |
| parents | 25222be4a88b |
| children | 3a990910e7f4 |
| rev | line source |
|---|---|
|
23
879367568ea6
planemo upload commit 4dbf0d227157012f8017e0e5f44e2821b0136a4c-dirty
proteore
parents:
22
diff
changeset
|
1 options(warn=-1) #TURN OFF WARNINGS !!!!!! |
|
35
6a0d0b5b91f2
planemo upload commit a172073d58a2fc713af8656d3bcfa28592dcc242-dirty
proteore
parents:
34
diff
changeset
|
2 suppressMessages(library(clusterProfiler,quietly = TRUE)) |
|
0
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
3 |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
4 # Read file and return file content as data.frame |
|
23
879367568ea6
planemo upload commit 4dbf0d227157012f8017e0e5f44e2821b0136a4c-dirty
proteore
parents:
22
diff
changeset
|
5 read_file <- function(path,header){ |
|
25
3a66e1e65c02
planemo upload commit 2fae8e3b0ec5edeecfcc7efd78e7710b36798d44
proteore
parents:
24
diff
changeset
|
6 file <- try(read.csv(path,header=header, sep="\t",stringsAsFactors = FALSE, quote="",check.names = F),silent=TRUE) |
|
23
879367568ea6
planemo upload commit 4dbf0d227157012f8017e0e5f44e2821b0136a4c-dirty
proteore
parents:
22
diff
changeset
|
7 if (inherits(file,"try-error")){ |
|
879367568ea6
planemo upload commit 4dbf0d227157012f8017e0e5f44e2821b0136a4c-dirty
proteore
parents:
22
diff
changeset
|
8 stop("File not found !") |
|
879367568ea6
planemo upload commit 4dbf0d227157012f8017e0e5f44e2821b0136a4c-dirty
proteore
parents:
22
diff
changeset
|
9 }else{ |
|
0
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
10 file <- file[!apply(is.na(file) | file == "", 1, all), , drop=FALSE] |
|
23
879367568ea6
planemo upload commit 4dbf0d227157012f8017e0e5f44e2821b0136a4c-dirty
proteore
parents:
22
diff
changeset
|
11 return(file) |
|
0
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
12 } |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
13 } |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
14 |
|
5
36c586c918eb
planemo upload commit 654ba92763264fb669b084d7939700f8f1180217-dirty
proteore
parents:
4
diff
changeset
|
15 #return the number of character from the longest description found (from the 10 first) |
|
4
18275725e7cf
planemo upload commit 9bdfcce89bdea8a0a85bfbf8f0fa9b943b17bea1-dirty
proteore
parents:
3
diff
changeset
|
16 max_str_length_10_first <- function(vector){ |
|
18275725e7cf
planemo upload commit 9bdfcce89bdea8a0a85bfbf8f0fa9b943b17bea1-dirty
proteore
parents:
3
diff
changeset
|
17 vector <- as.vector(vector) |
|
18275725e7cf
planemo upload commit 9bdfcce89bdea8a0a85bfbf8f0fa9b943b17bea1-dirty
proteore
parents:
3
diff
changeset
|
18 nb_description = length(vector) |
|
18275725e7cf
planemo upload commit 9bdfcce89bdea8a0a85bfbf8f0fa9b943b17bea1-dirty
proteore
parents:
3
diff
changeset
|
19 if (nb_description >= 10){nb_description=10} |
|
18275725e7cf
planemo upload commit 9bdfcce89bdea8a0a85bfbf8f0fa9b943b17bea1-dirty
proteore
parents:
3
diff
changeset
|
20 return(max(nchar(vector[1:nb_description]))) |
|
18275725e7cf
planemo upload commit 9bdfcce89bdea8a0a85bfbf8f0fa9b943b17bea1-dirty
proteore
parents:
3
diff
changeset
|
21 } |
|
18275725e7cf
planemo upload commit 9bdfcce89bdea8a0a85bfbf8f0fa9b943b17bea1-dirty
proteore
parents:
3
diff
changeset
|
22 |
|
23
879367568ea6
planemo upload commit 4dbf0d227157012f8017e0e5f44e2821b0136a4c-dirty
proteore
parents:
22
diff
changeset
|
23 str2bool <- function(x){ |
|
879367568ea6
planemo upload commit 4dbf0d227157012f8017e0e5f44e2821b0136a4c-dirty
proteore
parents:
22
diff
changeset
|
24 if (any(is.element(c("t","true"),tolower(x)))){ |
|
879367568ea6
planemo upload commit 4dbf0d227157012f8017e0e5f44e2821b0136a4c-dirty
proteore
parents:
22
diff
changeset
|
25 return (TRUE) |
|
879367568ea6
planemo upload commit 4dbf0d227157012f8017e0e5f44e2821b0136a4c-dirty
proteore
parents:
22
diff
changeset
|
26 }else if (any(is.element(c("f","false"),tolower(x)))){ |
|
879367568ea6
planemo upload commit 4dbf0d227157012f8017e0e5f44e2821b0136a4c-dirty
proteore
parents:
22
diff
changeset
|
27 return (FALSE) |
|
879367568ea6
planemo upload commit 4dbf0d227157012f8017e0e5f44e2821b0136a4c-dirty
proteore
parents:
22
diff
changeset
|
28 }else{ |
|
879367568ea6
planemo upload commit 4dbf0d227157012f8017e0e5f44e2821b0136a4c-dirty
proteore
parents:
22
diff
changeset
|
29 return(NULL) |
|
879367568ea6
planemo upload commit 4dbf0d227157012f8017e0e5f44e2821b0136a4c-dirty
proteore
parents:
22
diff
changeset
|
30 } |
|
879367568ea6
planemo upload commit 4dbf0d227157012f8017e0e5f44e2821b0136a4c-dirty
proteore
parents:
22
diff
changeset
|
31 } |
|
879367568ea6
planemo upload commit 4dbf0d227157012f8017e0e5f44e2821b0136a4c-dirty
proteore
parents:
22
diff
changeset
|
32 |
|
9
60a3897346e0
planemo upload commit eb8dd48804bfbeb0f0c8076458de65d66d7f075b-dirty
proteore
parents:
8
diff
changeset
|
33 #used before the limit was set to 50 characters |
|
5
36c586c918eb
planemo upload commit 654ba92763264fb669b084d7939700f8f1180217-dirty
proteore
parents:
4
diff
changeset
|
34 width_by_max_char <- function (nb_max_char) { |
|
36c586c918eb
planemo upload commit 654ba92763264fb669b084d7939700f8f1180217-dirty
proteore
parents:
4
diff
changeset
|
35 if (nb_max_char < 50 ){ |
|
36c586c918eb
planemo upload commit 654ba92763264fb669b084d7939700f8f1180217-dirty
proteore
parents:
4
diff
changeset
|
36 width=600 |
|
36c586c918eb
planemo upload commit 654ba92763264fb669b084d7939700f8f1180217-dirty
proteore
parents:
4
diff
changeset
|
37 } else if (nb_max_char < 75) { |
|
36c586c918eb
planemo upload commit 654ba92763264fb669b084d7939700f8f1180217-dirty
proteore
parents:
4
diff
changeset
|
38 width=800 |
|
36c586c918eb
planemo upload commit 654ba92763264fb669b084d7939700f8f1180217-dirty
proteore
parents:
4
diff
changeset
|
39 } else if (nb_max_char < 100) { |
|
36c586c918eb
planemo upload commit 654ba92763264fb669b084d7939700f8f1180217-dirty
proteore
parents:
4
diff
changeset
|
40 width=900 |
|
36c586c918eb
planemo upload commit 654ba92763264fb669b084d7939700f8f1180217-dirty
proteore
parents:
4
diff
changeset
|
41 } else { |
|
36c586c918eb
planemo upload commit 654ba92763264fb669b084d7939700f8f1180217-dirty
proteore
parents:
4
diff
changeset
|
42 width=1000 |
|
36c586c918eb
planemo upload commit 654ba92763264fb669b084d7939700f8f1180217-dirty
proteore
parents:
4
diff
changeset
|
43 } |
|
36c586c918eb
planemo upload commit 654ba92763264fb669b084d7939700f8f1180217-dirty
proteore
parents:
4
diff
changeset
|
44 return (width) |
|
36c586c918eb
planemo upload commit 654ba92763264fb669b084d7939700f8f1180217-dirty
proteore
parents:
4
diff
changeset
|
45 } |
|
4
18275725e7cf
planemo upload commit 9bdfcce89bdea8a0a85bfbf8f0fa9b943b17bea1-dirty
proteore
parents:
3
diff
changeset
|
46 |
|
38
0d954174e0e9
planemo upload commit 3ff0fa577362e757a1e7692a0a397bdda3d4dfc8-dirty
proteore
parents:
37
diff
changeset
|
47 repartition_GO <- function(geneid, orgdb, ontology, level=3, readable=TRUE) { |
|
0
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
48 ggo<-groupGO(gene=geneid, |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
49 OrgDb = orgdb, |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
50 ont=ontology, |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
51 level=level, |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
52 readable=TRUE) |
|
40
25222be4a88b
planemo upload commit c9d70181a2b587e53dcc4b5885b74b625def6b8c-dirty
proteore
parents:
38
diff
changeset
|
53 |
|
25222be4a88b
planemo upload commit c9d70181a2b587e53dcc4b5885b74b625def6b8c-dirty
proteore
parents:
38
diff
changeset
|
54 ggo@result<-ggo@result[order(-ggo@result$Count),] |
|
25222be4a88b
planemo upload commit c9d70181a2b587e53dcc4b5885b74b625def6b8c-dirty
proteore
parents:
38
diff
changeset
|
55 |
|
7
b25f272d3505
planemo upload commit 46cd1d44f3be3058caa036851d95194ebff3caaf-dirty
proteore
parents:
6
diff
changeset
|
56 |
|
b25f272d3505
planemo upload commit 46cd1d44f3be3058caa036851d95194ebff3caaf-dirty
proteore
parents:
6
diff
changeset
|
57 if (length(ggo@result$ID) > 0 ) { |
|
9
60a3897346e0
planemo upload commit eb8dd48804bfbeb0f0c8076458de65d66d7f075b-dirty
proteore
parents:
8
diff
changeset
|
58 ggo@result$Description <- sapply(as.vector(ggo@result$Description), function(x) {ifelse(nchar(x)>50, substr(x,1,50),x)},USE.NAMES = FALSE) |
|
60a3897346e0
planemo upload commit eb8dd48804bfbeb0f0c8076458de65d66d7f075b-dirty
proteore
parents:
8
diff
changeset
|
59 #nb_max_char = max_str_length_10_first(ggo$Description) |
|
60a3897346e0
planemo upload commit eb8dd48804bfbeb0f0c8076458de65d66d7f075b-dirty
proteore
parents:
8
diff
changeset
|
60 #width = width_by_max_char(nb_max_char) |
|
38
0d954174e0e9
planemo upload commit 3ff0fa577362e757a1e7692a0a397bdda3d4dfc8-dirty
proteore
parents:
37
diff
changeset
|
61 name <- paste("GGO_", ontology, "_bar-plot", sep = "") |
|
0d954174e0e9
planemo upload commit 3ff0fa577362e757a1e7692a0a397bdda3d4dfc8-dirty
proteore
parents:
37
diff
changeset
|
62 png(name,height = 720, width = 600) |
|
41
3fd1ccc57a6a
planemo upload commit c9d70181a2b587e53dcc4b5885b74b625def6b8c-dirty
proteore
parents:
40
diff
changeset
|
63 p <- barplot(ggo, showCategory=20) |
|
38
0d954174e0e9
planemo upload commit 3ff0fa577362e757a1e7692a0a397bdda3d4dfc8-dirty
proteore
parents:
37
diff
changeset
|
64 print(p) |
|
0d954174e0e9
planemo upload commit 3ff0fa577362e757a1e7692a0a397bdda3d4dfc8-dirty
proteore
parents:
37
diff
changeset
|
65 dev.off() |
|
27
54f8e6f5c59d
planemo upload commit d884b75cfc292105807c42c58f864d536dc9e431-dirty
proteore
parents:
26
diff
changeset
|
66 ggo <- as.data.frame(ggo) |
|
7
b25f272d3505
planemo upload commit 46cd1d44f3be3058caa036851d95194ebff3caaf-dirty
proteore
parents:
6
diff
changeset
|
67 return(ggo) |
|
b25f272d3505
planemo upload commit 46cd1d44f3be3058caa036851d95194ebff3caaf-dirty
proteore
parents:
6
diff
changeset
|
68 } |
|
0
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
69 } |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
70 |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
71 # GO over-representation test |
|
37
7269aea2cb95
planemo upload commit 3ff0fa577362e757a1e7692a0a397bdda3d4dfc8-dirty
proteore
parents:
35
diff
changeset
|
72 enrich_GO <- function(geneid, universe, orgdb, ontology, pval_cutoff, qval_cutoff,plot) { |
|
0
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
73 ego<-enrichGO(gene=geneid, |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
74 universe=universe, |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
75 OrgDb=orgdb, |
|
4
18275725e7cf
planemo upload commit 9bdfcce89bdea8a0a85bfbf8f0fa9b943b17bea1-dirty
proteore
parents:
3
diff
changeset
|
76 ont=ontology, |
|
0
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
77 pAdjustMethod="BH", |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
78 pvalueCutoff=pval_cutoff, |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
79 qvalueCutoff=qval_cutoff, |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
80 readable=TRUE) |
|
2
1c98865a8508
planemo upload commit 01102a33a5c3fc56de61cd12784691b49334054b-dirty
proteore
parents:
1
diff
changeset
|
81 |
|
0
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
82 # Plot bar & dot plots |
|
2
1c98865a8508
planemo upload commit 01102a33a5c3fc56de61cd12784691b49334054b-dirty
proteore
parents:
1
diff
changeset
|
83 #if there are enriched GopTerms |
|
1c98865a8508
planemo upload commit 01102a33a5c3fc56de61cd12784691b49334054b-dirty
proteore
parents:
1
diff
changeset
|
84 if (length(ego$ID)>0){ |
|
5
36c586c918eb
planemo upload commit 654ba92763264fb669b084d7939700f8f1180217-dirty
proteore
parents:
4
diff
changeset
|
85 |
|
9
60a3897346e0
planemo upload commit eb8dd48804bfbeb0f0c8076458de65d66d7f075b-dirty
proteore
parents:
8
diff
changeset
|
86 ego@result$Description <- sapply(ego@result$Description, function(x) {ifelse(nchar(x)>50, substr(x,1,50),x)},USE.NAMES = FALSE) |
|
60a3897346e0
planemo upload commit eb8dd48804bfbeb0f0c8076458de65d66d7f075b-dirty
proteore
parents:
8
diff
changeset
|
87 #nb_max_char = max_str_length_10_first(ego$Description) |
|
60a3897346e0
planemo upload commit eb8dd48804bfbeb0f0c8076458de65d66d7f075b-dirty
proteore
parents:
8
diff
changeset
|
88 #width = width_by_max_char(nb_max_char) |
|
5
36c586c918eb
planemo upload commit 654ba92763264fb669b084d7939700f8f1180217-dirty
proteore
parents:
4
diff
changeset
|
89 |
|
4
18275725e7cf
planemo upload commit 9bdfcce89bdea8a0a85bfbf8f0fa9b943b17bea1-dirty
proteore
parents:
3
diff
changeset
|
90 if ("dotplot" %in% plot ){ |
|
18275725e7cf
planemo upload commit 9bdfcce89bdea8a0a85bfbf8f0fa9b943b17bea1-dirty
proteore
parents:
3
diff
changeset
|
91 dot_name <- paste("EGO_", ontology, "_dot-plot", sep = "") |
|
9
60a3897346e0
planemo upload commit eb8dd48804bfbeb0f0c8076458de65d66d7f075b-dirty
proteore
parents:
8
diff
changeset
|
92 png(dot_name,height = 720, width = 600) |
|
41
3fd1ccc57a6a
planemo upload commit c9d70181a2b587e53dcc4b5885b74b625def6b8c-dirty
proteore
parents:
40
diff
changeset
|
93 p <- dotplot(ego, showCategory=20) |
|
4
18275725e7cf
planemo upload commit 9bdfcce89bdea8a0a85bfbf8f0fa9b943b17bea1-dirty
proteore
parents:
3
diff
changeset
|
94 print(p) |
|
18275725e7cf
planemo upload commit 9bdfcce89bdea8a0a85bfbf8f0fa9b943b17bea1-dirty
proteore
parents:
3
diff
changeset
|
95 dev.off() |
|
18275725e7cf
planemo upload commit 9bdfcce89bdea8a0a85bfbf8f0fa9b943b17bea1-dirty
proteore
parents:
3
diff
changeset
|
96 } |
|
18275725e7cf
planemo upload commit 9bdfcce89bdea8a0a85bfbf8f0fa9b943b17bea1-dirty
proteore
parents:
3
diff
changeset
|
97 |
|
18275725e7cf
planemo upload commit 9bdfcce89bdea8a0a85bfbf8f0fa9b943b17bea1-dirty
proteore
parents:
3
diff
changeset
|
98 if ("barplot" %in% plot ){ |
|
18275725e7cf
planemo upload commit 9bdfcce89bdea8a0a85bfbf8f0fa9b943b17bea1-dirty
proteore
parents:
3
diff
changeset
|
99 bar_name <- paste("EGO_", ontology, "_bar-plot", sep = "") |
|
9
60a3897346e0
planemo upload commit eb8dd48804bfbeb0f0c8076458de65d66d7f075b-dirty
proteore
parents:
8
diff
changeset
|
100 png(bar_name,height = 720, width = 600) |
|
41
3fd1ccc57a6a
planemo upload commit c9d70181a2b587e53dcc4b5885b74b625def6b8c-dirty
proteore
parents:
40
diff
changeset
|
101 p <- barplot(ego, showCategory=20) |
|
2
1c98865a8508
planemo upload commit 01102a33a5c3fc56de61cd12784691b49334054b-dirty
proteore
parents:
1
diff
changeset
|
102 print(p) |
|
1c98865a8508
planemo upload commit 01102a33a5c3fc56de61cd12784691b49334054b-dirty
proteore
parents:
1
diff
changeset
|
103 dev.off() |
|
8
ea5fecd4aa69
planemo upload commit 229c140e131039467e2797f656d9acf916907dd7-dirty
proteore
parents:
7
diff
changeset
|
104 |
|
ea5fecd4aa69
planemo upload commit 229c140e131039467e2797f656d9acf916907dd7-dirty
proteore
parents:
7
diff
changeset
|
105 } |
|
27
54f8e6f5c59d
planemo upload commit d884b75cfc292105807c42c58f864d536dc9e431-dirty
proteore
parents:
26
diff
changeset
|
106 ego <- as.data.frame(ego) |
|
2
1c98865a8508
planemo upload commit 01102a33a5c3fc56de61cd12784691b49334054b-dirty
proteore
parents:
1
diff
changeset
|
107 return(ego) |
|
1c98865a8508
planemo upload commit 01102a33a5c3fc56de61cd12784691b49334054b-dirty
proteore
parents:
1
diff
changeset
|
108 } else { |
|
1c98865a8508
planemo upload commit 01102a33a5c3fc56de61cd12784691b49334054b-dirty
proteore
parents:
1
diff
changeset
|
109 warning(paste("No Go terms enriched (EGO) found for ",ontology,"ontology"),immediate. = TRUE,noBreaks. = TRUE,call. = FALSE) |
|
1c98865a8508
planemo upload commit 01102a33a5c3fc56de61cd12784691b49334054b-dirty
proteore
parents:
1
diff
changeset
|
110 } |
|
0
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
111 } |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
112 |
|
33
4b29214f2d4c
planemo upload commit c6b2e31fccac66c2caa687b375cbf9947f7ba88e-dirty
proteore
parents:
32
diff
changeset
|
113 clean_ids <- function(ids){ |
|
4b29214f2d4c
planemo upload commit c6b2e31fccac66c2caa687b375cbf9947f7ba88e-dirty
proteore
parents:
32
diff
changeset
|
114 ids = gsub(" ","",ids) |
|
4b29214f2d4c
planemo upload commit c6b2e31fccac66c2caa687b375cbf9947f7ba88e-dirty
proteore
parents:
32
diff
changeset
|
115 ids = ids[which(ids!="")] |
|
4b29214f2d4c
planemo upload commit c6b2e31fccac66c2caa687b375cbf9947f7ba88e-dirty
proteore
parents:
32
diff
changeset
|
116 ids = ids[which(ids!="NA")] |
|
4b29214f2d4c
planemo upload commit c6b2e31fccac66c2caa687b375cbf9947f7ba88e-dirty
proteore
parents:
32
diff
changeset
|
117 ids = ids[!is.na(ids)] |
|
4b29214f2d4c
planemo upload commit c6b2e31fccac66c2caa687b375cbf9947f7ba88e-dirty
proteore
parents:
32
diff
changeset
|
118 |
|
4b29214f2d4c
planemo upload commit c6b2e31fccac66c2caa687b375cbf9947f7ba88e-dirty
proteore
parents:
32
diff
changeset
|
119 return(ids) |
|
4b29214f2d4c
planemo upload commit c6b2e31fccac66c2caa687b375cbf9947f7ba88e-dirty
proteore
parents:
32
diff
changeset
|
120 } |
|
4b29214f2d4c
planemo upload commit c6b2e31fccac66c2caa687b375cbf9947f7ba88e-dirty
proteore
parents:
32
diff
changeset
|
121 |
|
0
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
122 check_ids <- function(vector,type) { |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
123 uniprot_pattern = "^([OPQ][0-9][A-Z0-9]{3}[0-9]|[A-NR-Z][0-9]([A-Z][A-Z0-9]{2}[0-9]){1,2})$" |
|
4
18275725e7cf
planemo upload commit 9bdfcce89bdea8a0a85bfbf8f0fa9b943b17bea1-dirty
proteore
parents:
3
diff
changeset
|
124 entrez_id = "^([0-9]+|[A-Z]{1,2}_[0-9]+|[A-Z]{1,2}_[A-Z]{1,4}[0-9]+)$" |
|
0
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
125 if (type == "entrez") |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
126 return(grepl(entrez_id,vector)) |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
127 else if (type == "uniprot") { |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
128 return(grepl(uniprot_pattern,vector)) |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
129 } |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
130 } |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
131 |
|
37
7269aea2cb95
planemo upload commit 3ff0fa577362e757a1e7692a0a397bdda3d4dfc8-dirty
proteore
parents:
35
diff
changeset
|
132 get_args <- function(){ |
|
0
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
133 args <- commandArgs(TRUE) |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
134 if(length(args)<1) { |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
135 args <- c("--help") |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
136 } |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
137 |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
138 # Help section |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
139 if("--help" %in% args) { |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
140 cat("clusterProfiler Enrichment Analysis |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
141 Arguments: |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
142 --input_type: type of input (list of id or filename) |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
143 --input: input |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
144 --ncol: the column number which contains list of input IDs |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
145 --header: true/false if your file contains a header |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
146 --id_type: the type of input IDs (UniProt/EntrezID) |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
147 --universe_type: list or filename |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
148 --universe: background IDs list |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
149 --uncol: the column number which contains background IDs list |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
150 --uheader: true/false if the background IDs file contains header |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
151 --universe_id_type: the type of universe IDs (UniProt/EntrezID) |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
152 --species |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
153 --onto_opt: ontology options |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
154 --go_function: groupGO/enrichGO |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
155 --level: 1-3 |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
156 --pval_cutoff |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
157 --qval_cutoff |
|
4
18275725e7cf
planemo upload commit 9bdfcce89bdea8a0a85bfbf8f0fa9b943b17bea1-dirty
proteore
parents:
3
diff
changeset
|
158 --text_output: text output filename |
|
18275725e7cf
planemo upload commit 9bdfcce89bdea8a0a85bfbf8f0fa9b943b17bea1-dirty
proteore
parents:
3
diff
changeset
|
159 --plot : type of visualization, dotplot or/and barplot \n") |
|
0
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
160 q(save="no") |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
161 } |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
162 # Parse arguments |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
163 parseArgs <- function(x) strsplit(sub("^--", "", x), "=") |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
164 argsDF <- as.data.frame(do.call("rbind", parseArgs(args))) |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
165 args <- as.list(as.character(argsDF$V2)) |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
166 names(args) <- argsDF$V1 |
|
31
b62fd03a3822
planemo upload commit b636a89be85c5695c234abcf4960a731549ddd57-dirty
proteore
parents:
28
diff
changeset
|
167 |
|
37
7269aea2cb95
planemo upload commit 3ff0fa577362e757a1e7692a0a397bdda3d4dfc8-dirty
proteore
parents:
35
diff
changeset
|
168 return(args) |
|
7269aea2cb95
planemo upload commit 3ff0fa577362e757a1e7692a0a397bdda3d4dfc8-dirty
proteore
parents:
35
diff
changeset
|
169 } |
|
7269aea2cb95
planemo upload commit 3ff0fa577362e757a1e7692a0a397bdda3d4dfc8-dirty
proteore
parents:
35
diff
changeset
|
170 |
|
7269aea2cb95
planemo upload commit 3ff0fa577362e757a1e7692a0a397bdda3d4dfc8-dirty
proteore
parents:
35
diff
changeset
|
171 |
|
7269aea2cb95
planemo upload commit 3ff0fa577362e757a1e7692a0a397bdda3d4dfc8-dirty
proteore
parents:
35
diff
changeset
|
172 main <- function() { |
|
7269aea2cb95
planemo upload commit 3ff0fa577362e757a1e7692a0a397bdda3d4dfc8-dirty
proteore
parents:
35
diff
changeset
|
173 |
|
7269aea2cb95
planemo upload commit 3ff0fa577362e757a1e7692a0a397bdda3d4dfc8-dirty
proteore
parents:
35
diff
changeset
|
174 #get args from command |
|
7269aea2cb95
planemo upload commit 3ff0fa577362e757a1e7692a0a397bdda3d4dfc8-dirty
proteore
parents:
35
diff
changeset
|
175 args <- get_args() |
|
7269aea2cb95
planemo upload commit 3ff0fa577362e757a1e7692a0a397bdda3d4dfc8-dirty
proteore
parents:
35
diff
changeset
|
176 |
|
31
b62fd03a3822
planemo upload commit b636a89be85c5695c234abcf4960a731549ddd57-dirty
proteore
parents:
28
diff
changeset
|
177 #save(args,file="/home/dchristiany/proteore_project/ProteoRE/tools/cluster_profiler/args.Rda") |
|
b62fd03a3822
planemo upload commit b636a89be85c5695c234abcf4960a731549ddd57-dirty
proteore
parents:
28
diff
changeset
|
178 #load("/home/dchristiany/proteore_project/ProteoRE/tools/cluster_profiler/args.Rda") |
|
b62fd03a3822
planemo upload commit b636a89be85c5695c234abcf4960a731549ddd57-dirty
proteore
parents:
28
diff
changeset
|
179 |
|
28
eafb37258a6f
planemo upload commit 62db30a8a6c62c0106fda053ca75eb48e90ea705-dirty
proteore
parents:
27
diff
changeset
|
180 go_represent=str2bool(args$go_represent) |
|
eafb37258a6f
planemo upload commit 62db30a8a6c62c0106fda053ca75eb48e90ea705-dirty
proteore
parents:
27
diff
changeset
|
181 go_enrich=str2bool(args$go_enrich) |
|
32
f2c0a2b44841
planemo upload commit bfee528de437dc698b227a274983af3f3106cbb3-dirty
proteore
parents:
31
diff
changeset
|
182 if (go_enrich){ |
|
f2c0a2b44841
planemo upload commit bfee528de437dc698b227a274983af3f3106cbb3-dirty
proteore
parents:
31
diff
changeset
|
183 plot = unlist(strsplit(args$plot,",")) |
|
f2c0a2b44841
planemo upload commit bfee528de437dc698b227a274983af3f3106cbb3-dirty
proteore
parents:
31
diff
changeset
|
184 } |
|
0
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
185 |
|
2
1c98865a8508
planemo upload commit 01102a33a5c3fc56de61cd12784691b49334054b-dirty
proteore
parents:
1
diff
changeset
|
186 suppressMessages(library(args$species, character.only = TRUE, quietly = TRUE)) |
|
1c98865a8508
planemo upload commit 01102a33a5c3fc56de61cd12784691b49334054b-dirty
proteore
parents:
1
diff
changeset
|
187 |
|
0
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
188 # Extract OrgDb |
|
2
1c98865a8508
planemo upload commit 01102a33a5c3fc56de61cd12784691b49334054b-dirty
proteore
parents:
1
diff
changeset
|
189 if (args$species=="org.Hs.eg.db") { |
|
0
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
190 orgdb<-org.Hs.eg.db |
|
2
1c98865a8508
planemo upload commit 01102a33a5c3fc56de61cd12784691b49334054b-dirty
proteore
parents:
1
diff
changeset
|
191 } else if (args$species=="org.Mm.eg.db") { |
|
0
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
192 orgdb<-org.Mm.eg.db |
|
4
18275725e7cf
planemo upload commit 9bdfcce89bdea8a0a85bfbf8f0fa9b943b17bea1-dirty
proteore
parents:
3
diff
changeset
|
193 } else if (args$species=="org.Rn.eg.db") { |
|
0
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
194 orgdb<-org.Rn.eg.db |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
195 } |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
196 |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
197 # Extract input IDs |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
198 input_type = args$input_type |
|
23
879367568ea6
planemo upload commit 4dbf0d227157012f8017e0e5f44e2821b0136a4c-dirty
proteore
parents:
22
diff
changeset
|
199 id_type = args$id_type |
|
879367568ea6
planemo upload commit 4dbf0d227157012f8017e0e5f44e2821b0136a4c-dirty
proteore
parents:
22
diff
changeset
|
200 |
|
0
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
201 if (input_type == "text") { |
|
33
4b29214f2d4c
planemo upload commit c6b2e31fccac66c2caa687b375cbf9947f7ba88e-dirty
proteore
parents:
32
diff
changeset
|
202 input = unlist(strsplit(strsplit(args$input, "[ \t\n]+")[[1]],";")) |
|
0
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
203 } else if (input_type == "file") { |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
204 filename = args$input |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
205 ncol = args$ncol |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
206 # Check ncol |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
207 if (! as.numeric(gsub("c", "", ncol)) %% 1 == 0) { |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
208 stop("Please enter the right format for column number: c[number]") |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
209 } else { |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
210 ncol = as.numeric(gsub("c", "", ncol)) |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
211 } |
|
23
879367568ea6
planemo upload commit 4dbf0d227157012f8017e0e5f44e2821b0136a4c-dirty
proteore
parents:
22
diff
changeset
|
212 header = str2bool(args$header) # Get file content |
|
879367568ea6
planemo upload commit 4dbf0d227157012f8017e0e5f44e2821b0136a4c-dirty
proteore
parents:
22
diff
changeset
|
213 file = read_file(filename, header) # Extract Protein IDs list |
|
22
6dafa28110f5
planemo upload commit f9fa23f3f9cefa5c4a3dc06686add83a23c17ad0-dirty
proteore
parents:
20
diff
changeset
|
214 input = unlist(sapply(as.character(file[,ncol]),function(x) rapply(strsplit(x,";"),c),USE.NAMES = FALSE)) |
|
0
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
215 } |
|
33
4b29214f2d4c
planemo upload commit c6b2e31fccac66c2caa687b375cbf9947f7ba88e-dirty
proteore
parents:
32
diff
changeset
|
216 input = clean_ids(input) |
|
23
879367568ea6
planemo upload commit 4dbf0d227157012f8017e0e5f44e2821b0136a4c-dirty
proteore
parents:
22
diff
changeset
|
217 |
|
0
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
218 ## Get input gene list from input IDs |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
219 #ID format Conversion |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
220 #This case : from UNIPROT (protein id) to ENTREZ (gene id) |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
221 #bitr = conversion function from clusterProfiler |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
222 if (id_type=="Uniprot" & any(check_ids(input,"uniprot"))) { |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
223 any(check_ids(input,"uniprot")) |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
224 idFrom<-"UNIPROT" |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
225 idTo<-"ENTREZID" |
|
2
1c98865a8508
planemo upload commit 01102a33a5c3fc56de61cd12784691b49334054b-dirty
proteore
parents:
1
diff
changeset
|
226 suppressMessages(gene<-bitr(input, fromType=idFrom, toType=idTo, OrgDb=orgdb)) |
|
0
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
227 gene<-unique(gene$ENTREZID) |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
228 } else if (id_type=="Entrez" & any(check_ids(input,"entrez"))) { |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
229 gene<-unique(input) |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
230 } else { |
|
24
267ee3760721
planemo upload commit a1f29af18fb9b5164846c59c9e0462227a0dd5d9-dirty
proteore
parents:
23
diff
changeset
|
231 stop(paste(id_type,"not found in your ids list, please check your IDs in input or the selected column of your input file")) |
|
0
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
232 } |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
233 |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
234 ontology <- strsplit(args$onto_opt, ",")[[1]] |
|
23
879367568ea6
planemo upload commit 4dbf0d227157012f8017e0e5f44e2821b0136a4c-dirty
proteore
parents:
22
diff
changeset
|
235 |
|
0
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
236 ## Extract GGO/EGO arguments |
|
28
eafb37258a6f
planemo upload commit 62db30a8a6c62c0106fda053ca75eb48e90ea705-dirty
proteore
parents:
27
diff
changeset
|
237 if (go_represent) {level <- as.numeric(args$level)} |
|
eafb37258a6f
planemo upload commit 62db30a8a6c62c0106fda053ca75eb48e90ea705-dirty
proteore
parents:
27
diff
changeset
|
238 if (go_enrich) { |
|
0
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
239 pval_cutoff <- as.numeric(args$pval_cutoff) |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
240 qval_cutoff <- as.numeric(args$qval_cutoff) |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
241 # Extract universe background genes (same as input file) |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
242 if (!is.null(args$universe_type)) { |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
243 universe_type = args$universe_type |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
244 if (universe_type == "text") { |
|
33
4b29214f2d4c
planemo upload commit c6b2e31fccac66c2caa687b375cbf9947f7ba88e-dirty
proteore
parents:
32
diff
changeset
|
245 universe = unlist(strsplit(strsplit(args$input, "[ \t\n]+")[[1]],";")) |
|
0
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
246 } else if (universe_type == "file") { |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
247 universe_filename = args$universe |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
248 universe_ncol = args$uncol |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
249 # Check ncol |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
250 if (! as.numeric(gsub("c", "", universe_ncol)) %% 1 == 0) { |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
251 stop("Please enter the right format for column number: c[number]") |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
252 } else { |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
253 universe_ncol = as.numeric(gsub("c", "", universe_ncol)) |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
254 } |
|
23
879367568ea6
planemo upload commit 4dbf0d227157012f8017e0e5f44e2821b0136a4c-dirty
proteore
parents:
22
diff
changeset
|
255 universe_header = str2bool(args$uheader) |
|
0
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
256 # Get file content |
|
23
879367568ea6
planemo upload commit 4dbf0d227157012f8017e0e5f44e2821b0136a4c-dirty
proteore
parents:
22
diff
changeset
|
257 universe_file = read_file(universe_filename, universe_header) |
|
0
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
258 # Extract Protein IDs list |
|
31
b62fd03a3822
planemo upload commit b636a89be85c5695c234abcf4960a731549ddd57-dirty
proteore
parents:
28
diff
changeset
|
259 universe <- unlist(sapply(universe_file[,universe_ncol], function(x) rapply(strsplit(x,";"),c),USE.NAMES = FALSE)) |
|
0
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
260 } |
|
33
4b29214f2d4c
planemo upload commit c6b2e31fccac66c2caa687b375cbf9947f7ba88e-dirty
proteore
parents:
32
diff
changeset
|
261 universe = clean_ids(input) |
|
0
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
262 universe_id_type = args$universe_id_type |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
263 ##to initialize |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
264 if (universe_id_type=="Uniprot" & any(check_ids(universe,"uniprot"))) { |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
265 idFrom<-"UNIPROT" |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
266 idTo<-"ENTREZID" |
|
2
1c98865a8508
planemo upload commit 01102a33a5c3fc56de61cd12784691b49334054b-dirty
proteore
parents:
1
diff
changeset
|
267 suppressMessages(universe_gene<-bitr(universe, fromType=idFrom, toType=idTo, OrgDb=orgdb)) |
|
0
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
268 universe_gene<-unique(universe_gene$ENTREZID) |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
269 } else if (universe_id_type=="Entrez" & any(check_ids(universe,"entrez"))) { |
|
23
879367568ea6
planemo upload commit 4dbf0d227157012f8017e0e5f44e2821b0136a4c-dirty
proteore
parents:
22
diff
changeset
|
270 universe_gene<-unique(unlist(universe)) |
|
0
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
271 } else { |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
272 if (universe_type=="text"){ |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
273 print(paste(universe_id_type,"not found in your background IDs list",sep=" ")) |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
274 } else { |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
275 print(paste(universe_id_type,"not found in the column",universe_ncol,"of your background IDs file",sep=" ")) |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
276 } |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
277 universe_gene = NULL |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
278 } |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
279 } else { |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
280 universe_gene = NULL |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
281 } |
|
4
18275725e7cf
planemo upload commit 9bdfcce89bdea8a0a85bfbf8f0fa9b943b17bea1-dirty
proteore
parents:
3
diff
changeset
|
282 } else { |
|
18275725e7cf
planemo upload commit 9bdfcce89bdea8a0a85bfbf8f0fa9b943b17bea1-dirty
proteore
parents:
3
diff
changeset
|
283 universe_gene = NULL |
|
0
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
284 } |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
285 |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
286 ##enrichGO : GO over-representation test |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
287 for (onto in ontology) { |
|
28
eafb37258a6f
planemo upload commit 62db30a8a6c62c0106fda053ca75eb48e90ea705-dirty
proteore
parents:
27
diff
changeset
|
288 if (go_represent) { |
|
38
0d954174e0e9
planemo upload commit 3ff0fa577362e757a1e7692a0a397bdda3d4dfc8-dirty
proteore
parents:
37
diff
changeset
|
289 ggo<-repartition_GO(gene, orgdb, onto, level, readable=TRUE) |
|
28
eafb37258a6f
planemo upload commit 62db30a8a6c62c0106fda053ca75eb48e90ea705-dirty
proteore
parents:
27
diff
changeset
|
290 if (is.list(ggo)){ggo <- as.data.frame(apply(ggo, c(1,2), function(x) gsub("^$|^ $", NA, x)))} #convert "" and " " to NA |
|
20
a91d407e1938
planemo upload commit d636fd65b39353cbb29228d309235f3a6db37568-dirty
proteore
parents:
13
diff
changeset
|
291 output_path = paste("cluster_profiler_GGO_",onto,".tsv",sep="") |
|
23
879367568ea6
planemo upload commit 4dbf0d227157012f8017e0e5f44e2821b0136a4c-dirty
proteore
parents:
22
diff
changeset
|
292 write.table(ggo, output_path, sep="\t", row.names = FALSE, quote = FALSE ) |
|
0
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
293 } |
|
4
18275725e7cf
planemo upload commit 9bdfcce89bdea8a0a85bfbf8f0fa9b943b17bea1-dirty
proteore
parents:
3
diff
changeset
|
294 |
|
28
eafb37258a6f
planemo upload commit 62db30a8a6c62c0106fda053ca75eb48e90ea705-dirty
proteore
parents:
27
diff
changeset
|
295 if (go_enrich) { |
|
37
7269aea2cb95
planemo upload commit 3ff0fa577362e757a1e7692a0a397bdda3d4dfc8-dirty
proteore
parents:
35
diff
changeset
|
296 ego<-enrich_GO(gene, universe_gene, orgdb, onto, pval_cutoff, qval_cutoff,plot) |
|
28
eafb37258a6f
planemo upload commit 62db30a8a6c62c0106fda053ca75eb48e90ea705-dirty
proteore
parents:
27
diff
changeset
|
297 if (is.list(ego)){ego <- as.data.frame(apply(ego, c(1,2), function(x) gsub("^$|^ $", NA, x)))} #convert "" and " " to NA |
|
20
a91d407e1938
planemo upload commit d636fd65b39353cbb29228d309235f3a6db37568-dirty
proteore
parents:
13
diff
changeset
|
298 output_path = paste("cluster_profiler_EGO_",onto,".tsv",sep="") |
|
23
879367568ea6
planemo upload commit 4dbf0d227157012f8017e0e5f44e2821b0136a4c-dirty
proteore
parents:
22
diff
changeset
|
299 write.table(ego, output_path, sep="\t", row.names = FALSE, quote = FALSE ) |
|
0
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
300 } |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
301 } |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
302 } |
|
076349b72690
planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff
changeset
|
303 |
|
37
7269aea2cb95
planemo upload commit 3ff0fa577362e757a1e7692a0a397bdda3d4dfc8-dirty
proteore
parents:
35
diff
changeset
|
304 if(!interactive()) { |
|
7269aea2cb95
planemo upload commit 3ff0fa577362e757a1e7692a0a397bdda3d4dfc8-dirty
proteore
parents:
35
diff
changeset
|
305 main() |
|
7269aea2cb95
planemo upload commit 3ff0fa577362e757a1e7692a0a397bdda3d4dfc8-dirty
proteore
parents:
35
diff
changeset
|
306 } |
