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