Mercurial > repos > proteore > proteore_go_terms_profiles_comparison
annotate GO_prof_comp.R @ 4:687569840ee9 draft default tip
planemo upload commit c9d70181a2b587e53dcc4b5885b74b625def6b8c
| author | proteore |
|---|---|
| date | Tue, 01 Oct 2019 11:09:43 -0400 |
| parents | e337dcfb84e4 |
| children |
| rev | line source |
|---|---|
|
0
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
1 options(warn=-1) #TURN OFF WARNINGS !!!!!! |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
2 suppressMessages(library(clusterProfiler,quietly = TRUE)) |
|
3
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
3 suppressMessages(library(plyr, quietly = TRUE)) |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
4 suppressMessages(library(ggplot2, quietly = TRUE)) |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
5 suppressMessages(library(DOSE, quietly = TRUE)) |
|
0
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
6 |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
7 #return the number of character from the longest description found (from the 10 first) |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
8 max_str_length_10_first <- function(vector){ |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
9 vector <- as.vector(vector) |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
10 nb_description = length(vector) |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
11 if (nb_description >= 10){nb_description=10} |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
12 return(max(nchar(vector[1:nb_description]))) |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
13 } |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
14 |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
15 str2bool <- function(x){ |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
16 if (any(is.element(c("t","true"),tolower(x)))){ |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
17 return (TRUE) |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
18 }else if (any(is.element(c("f","false"),tolower(x)))){ |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
19 return (FALSE) |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
20 }else{ |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
21 return(NULL) |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
22 } |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
23 } |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
24 |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
25 get_args <- function(){ |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
26 |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
27 ## Collect arguments |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
28 args <- commandArgs(TRUE) |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
29 |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
30 ## Default setting when no arguments passed |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
31 if(length(args) < 1) { |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
32 args <- c("--help") |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
33 } |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
34 |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
35 ## Help section |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
36 if("--help" %in% args) { |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
37 cat("Selection and Annotation HPA |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
38 Arguments: |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
39 --inputtype1: type of input (list of id or filename) |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
40 --inputtype2: type of input (list of id or filename) |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
41 --input1: input1 |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
42 --input2: input2 |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
43 --column1: the column number which you would like to apply... |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
44 --column2: the column number which you would like to apply... |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
45 --header1: true/false if your file contains a header |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
46 --header2: true/false if your file contains a header |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
47 --ont: ontology to use |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
48 --lev: ontology level |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
49 --org: organism db package |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
50 --list_name1: name of the first list |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
51 --list_name2: name of the second list \n") |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
52 |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
53 q(save="no") |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
54 } |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
55 |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
56 parseArgs <- function(x) strsplit(sub("^--", "", x), "=") |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
57 argsDF <- as.data.frame(do.call("rbind", parseArgs(args))) |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
58 args <- as.list(as.character(argsDF$V2)) |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
59 names(args) <- argsDF$V1 |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
60 |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
61 return(args) |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
62 } |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
63 |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
64 get_ids=function(inputtype, input, ncol, header) { |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
65 |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
66 if (inputtype == "text") { |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
67 ids = strsplit(input, "[ \t\n]+")[[1]] |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
68 } else if (inputtype == "file") { |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
69 header=str2bool(header) |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
70 ncol=get_cols(ncol) |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
71 csv = read.csv(input,header=header, sep="\t", as.is=T) |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
72 ids=csv[,ncol] |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
73 } |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
74 |
|
2
67a4f68f1c1c
planemo upload commit 12b0b3e18cd7af9a8588906fa2ec199b9d2a770f-dirty
proteore
parents:
0
diff
changeset
|
75 ids = unlist(strsplit(as.character(ids),";")) |
|
0
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
76 ids = ids[which(!is.na(ids))] |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
77 |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
78 return(ids) |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
79 } |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
80 |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
81 str2bool <- function(x){ |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
82 if (any(is.element(c("t","true"),tolower(x)))){ |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
83 return (TRUE) |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
84 }else if (any(is.element(c("f","false"),tolower(x)))){ |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
85 return (FALSE) |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
86 }else{ |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
87 return(NULL) |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
88 } |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
89 } |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
90 |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
91 check_ids <- function(vector,type) { |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
92 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})$" |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
93 entrez_id = "^([0-9]+|[A-Z]{1,2}_[0-9]+|[A-Z]{1,2}_[A-Z]{1,4}[0-9]+)$" |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
94 if (type == "entrez") |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
95 return(grepl(entrez_id,vector)) |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
96 else if (type == "uniprot") { |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
97 return(grepl(uniprot_pattern,vector)) |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
98 } |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
99 } |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
100 |
|
3
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
101 #res.cmp@compareClusterResult$Description <- sapply(as.vector(res.cmp@compareClusterResult$Description), function(x) {ifelse(nchar(x)>50, substr(x,1,50),x)},USE.NAMES = FALSE) |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
102 fortify.compareClusterResult <- function(res.cmp, showCategory=30, by="geneRatio", split=NULL, includeAll=TRUE) { |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
103 clProf.df <- as.data.frame(res.cmp) |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
104 .split <- split |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
105 ## get top 5 (default) categories of each gene cluster. |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
106 if (is.null(showCategory)) { |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
107 result <- clProf.df |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
108 } else { |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
109 Cluster <- NULL # to satisfy codetools |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
110 topN <- function(res, showCategory) { |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
111 ddply(.data = res, .variables = .(Cluster), .fun = function(df, N) { |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
112 if (length(df$Count) > N) { |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
113 if (any(colnames(df) == "pvalue")) { |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
114 idx <- order(df$pvalue, decreasing=FALSE)[1:N] |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
115 } else { |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
116 ## for groupGO |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
117 idx <- order(df$Count, decreasing=T)[1:N] |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
118 } |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
119 return(df[idx,]) |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
120 } else { |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
121 return(df) |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
122 } |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
123 }, |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
124 N=showCategory |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
125 ) |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
126 } |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
127 if (!is.null(.split) && .split %in% colnames(clProf.df)) { |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
128 lres <- split(clProf.df, as.character(clProf.df[, .split])) |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
129 lres <- lapply(lres, topN, showCategory = showCategory) |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
130 result <- do.call('rbind', lres) |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
131 } else { |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
132 result <- topN(clProf.df, showCategory) |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
133 } |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
134 } |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
135 ID <- NULL |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
136 if (includeAll == TRUE) { |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
137 result = subset(clProf.df, ID %in% result$ID) |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
138 } |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
139 ## remove zero count |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
140 result$Description <- as.character(result$Description) ## un-factor |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
141 GOlevel <- result[,c("ID", "Description")] ## GO ID and Term |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
142 GOlevel <- unique(GOlevel) |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
143 result <- result[result$Count != 0, ] |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
144 result$Description <- factor(result$Description,levels=rev(GOlevel[,2])) |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
145 if (by=="rowPercentage") { |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
146 Description <- Count <- NULL # to satisfy codetools |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
147 result <- ddply(result,.(Description),transform,Percentage = Count/sum(Count),Total = sum(Count)) |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
148 ## label GO Description with gene counts. |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
149 x <- mdply(result[, c("Description", "Total")], paste, sep=" (") |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
150 y <- sapply(x[,3], paste, ")", sep="") |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
151 result$Description <- y |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
152 |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
153 ## restore the original order of GO Description |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
154 xx <- result[,c(2,3)] |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
155 xx <- unique(xx) |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
156 rownames(xx) <- xx[,1] |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
157 Termlevel <- xx[as.character(GOlevel[,1]),2] |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
158 |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
159 ##drop the *Total* column |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
160 result <- result[, colnames(result) != "Total"] |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
161 result$Description <- factor(result$Description, levels=rev(Termlevel)) |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
162 |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
163 } else if (by == "count") { |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
164 ## nothing |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
165 } else if (by == "geneRatio") { ##default |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
166 gsize <- as.numeric(sub("/\\d+$", "", as.character(result$GeneRatio))) |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
167 gcsize <- as.numeric(sub("^\\d+/", "", as.character(result$GeneRatio))) |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
168 result$GeneRatio = gsize/gcsize |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
169 cluster <- paste(as.character(result$Cluster),"\n", "(", gcsize, ")", sep="") |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
170 lv <- unique(cluster)[order(as.numeric(unique(result$Cluster)))] |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
171 result$Cluster <- factor(cluster, levels = lv) |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
172 } else { |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
173 ## nothing |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
174 } |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
175 return(result) |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
176 } |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
177 |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
178 ##function plotting.clusteProfile from clusterProfiler pkg |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
179 plotting.clusterProfile <- function(clProf.reshape.df,x = ~Cluster,type = "dot", colorBy = "p.adjust",by = "geneRatio",title="",font.size=12) { |
|
0
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
180 |
|
3
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
181 Description <- Percentage <- Count <- Cluster <- GeneRatio <- p.adjust <- pvalue <- NULL # to |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
182 if (type == "dot") { |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
183 if (by == "rowPercentage") { |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
184 p <- ggplot(clProf.reshape.df, |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
185 aes_(x = x, y = ~Description, size = ~Percentage)) |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
186 } else if (by == "count") { |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
187 p <- ggplot(clProf.reshape.df, |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
188 aes_(x = x, y = ~Description, size = ~Count)) |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
189 } else if (by == "geneRatio") { ##DEFAULT |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
190 p <- ggplot(clProf.reshape.df, |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
191 aes_(x = x, y = ~Description, size = ~GeneRatio)) |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
192 } else { |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
193 ## nothing here |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
194 } |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
195 if (any(colnames(clProf.reshape.df) == colorBy)) { |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
196 p <- p + |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
197 geom_point() + |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
198 aes_string(color=colorBy) + |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
199 scale_color_continuous(low="red", high="blue", guide=guide_colorbar(reverse=TRUE)) |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
200 ## scale_color_gradientn(guide=guide_colorbar(reverse=TRUE), colors = enrichplot:::sig_palette) |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
201 } else { |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
202 p <- p + geom_point(colour="steelblue") |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
203 } |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
204 } |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
205 |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
206 p <- p + xlab("") + ylab("") + ggtitle(title) + |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
207 theme_dose(font.size) |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
208 |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
209 ## theme(axis.text.x = element_text(colour="black", size=font.size, vjust = 1)) + |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
210 ## theme(axis.text.y = element_text(colour="black", |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
211 ## size=font.size, hjust = 1)) + |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
212 ## ggtitle(title)+theme_bw() |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
213 ## p <- p + theme(axis.text.x = element_text(angle=angle.axis.x, |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
214 ## hjust=hjust.axis.x, |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
215 ## vjust=vjust.axis.x)) |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
216 |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
217 return(p) |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
218 } |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
219 |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
220 make_dotplot<-function(res.cmp,ontology) { |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
221 |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
222 dfok<-fortify.compareClusterResult(res.cmp) |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
223 dfok$Description <- sapply(as.vector(dfok$Description), function(x) {ifelse(nchar(x)>50, substr(x,1,50),x)},USE.NAMES = FALSE) |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
224 p<-plotting.clusterProfile(dfok, title="") |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
225 |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
226 #plot(p, type="dot") # |
|
0
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
227 output_path= paste("GO_profiles_comp_",ontology,".png",sep="") |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
228 png(output_path,height = 720, width = 600) |
|
3
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
229 pl <- plot(p, type="dot") |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
230 print(pl) |
|
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
231 dev.off() |
|
0
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
232 } |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
233 |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
234 get_cols <-function(input_cols) { |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
235 input_cols <- gsub("c","",gsub("C","",gsub(" ","",input_cols))) |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
236 if (grepl(":",input_cols)) { |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
237 first_col=unlist(strsplit(input_cols,":"))[1] |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
238 last_col=unlist(strsplit(input_cols,":"))[2] |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
239 cols=first_col:last_col |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
240 } else { |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
241 cols = as.integer(unlist(strsplit(input_cols,","))) |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
242 } |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
243 return(cols) |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
244 } |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
245 |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
246 #to check |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
247 cmp.GO <- function(l,fun="groupGO",orgdb, ontology, level=3, readable=TRUE) { |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
248 cmpGO<-compareCluster(geneClusters = l, |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
249 fun=fun, |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
250 OrgDb = orgdb, |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
251 ont=ontology, |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
252 level=level, |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
253 readable=TRUE) |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
254 |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
255 return(cmpGO) |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
256 } |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
257 |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
258 check_ids <- function(vector,type) { |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
259 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})$" |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
260 entrez_id = "^([0-9]+|[A-Z]{1,2}_[0-9]+|[A-Z]{1,2}_[A-Z]{1,4}[0-9]+)$" |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
261 if (type == "entrez") |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
262 return(grepl(entrez_id,vector)) |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
263 else if (type == "uniprot") { |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
264 return(grepl(uniprot_pattern,vector)) |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
265 } |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
266 } |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
267 |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
268 main = function() { |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
269 |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
270 #to get the args of the command line |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
271 args=get_args() |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
272 |
|
3
e337dcfb84e4
planemo upload commit 51fc514a85c1055cab5bb6e76c90f3da7e648101-dirty
proteore
parents:
2
diff
changeset
|
273 |
|
0
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
274 ids1<-get_ids(args$inputtype1, args$input1, args$column1, args$header1) |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
275 ids2<-get_ids(args$inputtype2, args$input2, args$column2, args$header2) |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
276 ont = strsplit(args$ont, ",")[[1]] |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
277 lev=as.integer(args$lev) |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
278 org=args$org |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
279 |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
280 #load annot package |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
281 suppressMessages(library(args$org, character.only = TRUE, quietly = TRUE)) |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
282 |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
283 # Extract OrgDb |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
284 if (args$org=="org.Hs.eg.db") { |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
285 orgdb<-org.Hs.eg.db |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
286 } else if (args$org=="org.Mm.eg.db") { |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
287 orgdb<-org.Mm.eg.db |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
288 } else if (args$org=="org.Rn.eg.db") { |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
289 orgdb<-org.Rn.eg.db |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
290 } |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
291 |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
292 for(ontology in ont) { |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
293 liste = list("l1"=ids1,"l2"=ids2) |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
294 names(liste) = c(args$list_name1,args$list_name2) |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
295 res.cmp<-cmp.GO(l=liste,fun="groupGO",orgdb, ontology, level=lev, readable=TRUE) |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
296 make_dotplot(res.cmp,ontology) |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
297 output_path = paste("GO_profiles_comp_",ontology,".tsv",sep="") |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
298 write.table(res.cmp@compareClusterResult, output_path, sep="\t", row.names=F, quote=F) |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
299 } |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
300 |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
301 } #end main |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
302 |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
303 main() |
|
a0ea9e00bd66
planemo upload commit e5e4a3efd1cb1498724c0e93f8ec9606d0ed3045-dirty
proteore
parents:
diff
changeset
|
304 |
