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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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 }