Mercurial > repos > proteore > proteore_maps_visualization
annotate kegg_maps_visualization.R @ 12:10c572ad2b9e draft default tip
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
| author | proteore |
|---|---|
| date | Mon, 10 May 2021 12:45:44 +0000 |
| parents | 7d04efde2526 |
| children |
| rev | line source |
|---|---|
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
1 #!/usr/bin/Rscript |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
2 #Rscript made for mapping genesID on KEGG pathway with Pathview package |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
3 #input : csv file containing ids (uniprot or geneid) to map, plus parameters |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
4 #output : KEGG pathway : jpeg or pdf file. |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
5 |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
6 options(warn = -1) #TURN OFF WARNINGS !!!!!! |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
7 suppressMessages(library("pathview")) |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
8 suppressMessages(library(KEGGREST)) |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
9 |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
10 read_file <- function(path, header) { |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
11 file <- try(read.csv(path, header = header, sep = "\t", |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
12 stringsAsFactors = FALSE, quote = "\"", check.names = F, |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
13 comment.char = ""), silent = TRUE) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
14 if (inherits(file, "try-error")) { |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
15 stop("Read file error! Please check your file (header, # character, etc)") |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
16 }else { |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
17 return(file) |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
18 } |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
19 } |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
20 |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
21 ##### fuction to clean and concatenate pathway name |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
22 ##### (allow more flexibility for user input) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
23 concat_string <- function(x) { |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
24 x <- gsub(" - .*", "", x) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
25 x <- gsub(" ", "", x) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
26 x <- gsub("-", "", x) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
27 x <- gsub("_", "", x) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
28 x <- gsub(",", "", x) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
29 x <- gsub("\\'", "", x) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
30 x <- gsub("\\(.*)", "", x) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
31 x <- gsub("\\/", "", x) |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
32 x <- tolower(x) |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
33 return(x) |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
34 } |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
35 |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
36 #return output suffix (pathway name) from id kegg (ex : hsa:00010) |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
37 get_suffix <- function(pathways_list, species, id) { |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
38 suffix <- gsub("/", "or", pathways_list[pathways_list[, 1] == paste( |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
39 species, id, sep = ""), 2]) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
40 suffix <- gsub(" ", "_", suffix) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
41 if (nchar(suffix) > 50) { |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
42 suffix <- substr(suffix, 1, 50) |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
43 } |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
44 return(suffix) |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
45 } |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
46 |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
47 str2bool <- function(x) { |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
48 if (any(is.element(c("t", "true"), tolower(x)))) { |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
49 return(TRUE) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
50 }else if (any(is.element(c("f", "false"), tolower(x)))) { |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
51 return(FALSE) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
52 }else { |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
53 return(NULL) |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
54 } |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
55 } |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
56 |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
57 is_letter <- function(x) grepl("[[:alpha:]]", x) |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
58 |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
59 remove_kegg_prefix <- function(x) { |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
60 x <- gsub(":", "", x) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
61 if (substr(x, 1, 4) == "path") { |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
62 x <- substr(x, 5, nchar(x)) |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
63 } |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
64 if (is_letter(substr(x, 1, 3))) { |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
65 x <- substr(x, 4, nchar(x)) |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
66 } |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
67 return(x) |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
68 } |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
69 |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
70 kegg_to_geneid <- function(vector) { |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
71 #nolint start |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
72 vector <- sapply(vector, function(x) unlist( |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
73 strsplit(x, ":"))[2], USE.NAMES = F) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
74 #nolint end |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
75 return(vector) |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
76 } |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
77 |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
78 clean_bad_character <- function(string) { |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
79 string <- gsub("X", "", string) |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
80 return(string) |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
81 } |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
82 |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
83 get_list_from_cp <- function(list) { |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
84 list <- gsub(";", "\t", list) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
85 list <- gsub(",", "\t", list) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
86 list <- strsplit(list, "[ \t\n]+")[[1]] |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
87 list <- list[list != ""] #remove empty entry |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
88 list <- gsub("-.+", "", list) #Remove isoform accession number (e.g. "-2") |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
89 return(list) |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
90 } |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
91 |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
92 get_ref_pathways <- function(species) { |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
93 ##all available pathways for the species |
|
8
ab697ebe0f41
"planemo upload commit 7e03a2492a127f75ab5d896a8a9dd21d64f7890e-dirty"
proteore
parents:
5
diff
changeset
|
94 pathways <- keggLink("pathway", species) |
|
ab697ebe0f41
"planemo upload commit 7e03a2492a127f75ab5d896a8a9dd21d64f7890e-dirty"
proteore
parents:
5
diff
changeset
|
95 tot_path <- unique(pathways) |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
96 |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
97 ##formating the dat into a list object |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
98 ##key= pathway ID, value = genes of the pathway in the kegg format |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
99 pathways_list <- sapply(tot_path, function(pathway) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
100 names(which(pathways == pathway))) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
101 return(pathways_list) |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
102 } |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
103 |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
104 #nolint start |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
105 mapping_summary <- function(pv_out, species, id, id_type, pathways_list, |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
106 geneid, uniprotid, mapped2geneid) { |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
107 ref_pathways <- get_ref_pathways(species) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
108 names(ref_pathways) <- sapply(names(ref_pathways), function(x) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
109 gsub("path:[a-z]{3}", "", x), USE.NAMES = F) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
110 #nolint end |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
111 #genes present in pathway |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
112 genes <- ref_pathways[id][[1]] |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
113 nb_genes <- length(genes) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
114 |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
115 #genes mapped on pathway genes |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
116 mapped <- unlist(sapply(pv_out$plot.data.gene$all.mapped, |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
117 function(x) strsplit(x, ",")), use.names = F) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
118 mapped <- unique(mapped[mapped != ""]) |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
119 nb_mapped <- length(mapped) |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
120 |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
121 #compute ratio of mapping |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
122 ratio <- round((nb_mapped / nb_genes) * 100, 2) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
123 if (is.nan(ratio)) { |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
124 ratio <- "" |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
125 } |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
126 pathway_id <- paste(species, id, sep = "") |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
127 pathway_name <- as.character( |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
128 pathways_list[pathways_list[, 1] == pathway_id, ][2]) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
129 |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
130 if (id_type == "geneid" || id_type == "keggid") { |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
131 row <- c(pathway_id, pathway_name, length(unique(geneid)), |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
132 nb_mapped, nb_genes, ratio, paste(mapped, collapse = ";")) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
133 names(row) <- c("KEGG pathway ID", "pathway name", |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
134 "nb of Entrez gene ID used", "nb of Entrez gene ID mapped", |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
135 "nb of Entrez gene ID in the pathway", |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
136 "ratio of Entrez gene ID mapped (%)", |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
137 "Entrez gene ID mapped") |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
138 } else if (id_type == "uniprotid") { |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
139 row <- c(pathway_id, pathway_name, length(unique(uniprotid)), |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
140 length(unique(geneid)), nb_mapped, nb_genes, ratio, |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
141 paste(mapped, collapse = ";"), |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
142 paste(mapped2geneid[which(mapped2geneid[, 2] %in% mapped)], |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
143 collapse = ";")) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
144 names(row) <- c("KEGG pathway ID", "pathway name", "nb of Uniprot_AC used", |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
145 "nb of Entrez gene ID used", "nb of Entrez gene ID mapped", |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
146 "nb of Entrez gene ID in the pathway", |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
147 "ratio of Entrez gene ID mapped (%)", |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
148 "Entrez gene ID mapped", "uniprot_AC mapped") |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
149 } |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
150 return(row) |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
151 } |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
152 |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
153 #take data frame, return data frame |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
154 split_ids_per_line <- function(line, ncol) { |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
155 |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
156 #print (line) |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
157 header <- colnames(line) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
158 line[ncol] <- gsub("[[:blank:]]|\u00A0", "", line[ncol]) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
159 |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
160 if (length(unlist(strsplit(as.character(line[ncol]), ";"))) > 1) { |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
161 if (length(line) == 1) { |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
162 lines <- as.data.frame(unlist(strsplit(as.character(line[ncol]), ";")), |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
163 stringsAsFactors = F) |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
164 } else { |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
165 if (ncol == 1) { #first column |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
166 lines <- suppressWarnings(cbind(unlist(strsplit( |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
167 as.character(line[ncol]), ";")), line[2:length(line)])) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
168 } else if (ncol == length(line)) { #last column |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
169 lines <- suppressWarnings(cbind(line[1:ncol - 1], |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
170 unlist(strsplit(as.character(line[ncol]), ";")))) |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
171 } else { |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
172 lines <- suppressWarnings(cbind(line[1:ncol - 1], |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
173 unlist(strsplit(as.character(line[ncol]), ";"), use.names = F), |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
174 line[(ncol + 1):length(line)])) |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
175 } |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
176 } |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
177 colnames(lines) <- header |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
178 return(lines) |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
179 } else { |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
180 return(line) |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
181 } |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
182 } |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
183 |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
184 #create new lines if there's more than one id per cell in the columns in order |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
185 # to have only one id per line |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
186 one_id_one_line <- function(tab, ncol) { |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
187 |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
188 if (ncol(tab) > 1) { |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
189 |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
190 tab[, ncol] <- sapply(tab[, ncol], function(x) gsub("[[:blank:]]", "", x)) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
191 header <- colnames(tab) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
192 res <- as.data.frame(matrix(ncol = ncol(tab), nrow = 0)) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
193 for (i in seq_len(nrow(tab))) { |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
194 lines <- split_ids_per_line(tab[i, ], ncol) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
195 res <- rbind(res, lines) |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
196 } |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
197 } else { |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
198 res <- unlist(sapply(tab[, 1], function(x) strsplit(x, ";")), use.names = F) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
199 res <- data.frame(res[which(!is.na(res[res != ""]))], stringsAsFactors = F) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
200 colnames(res) <- colnames(tab) |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
201 } |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
202 return(res) |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
203 } |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
204 |
|
2
8a6863adcd09
planemo upload commit 9af2cf12c26c94e7206751ccf101a3368f92d0ba
proteore
parents:
0
diff
changeset
|
205 get_limit <- function(mat) { |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
206 min <- min(apply(mat, 2, min, na.rm = TRUE)) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
207 max <- max(apply(mat, 2, max, na.rm = TRUE)) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
208 return(c(min, max)) |
|
2
8a6863adcd09
planemo upload commit 9af2cf12c26c94e7206751ccf101a3368f92d0ba
proteore
parents:
0
diff
changeset
|
209 } |
|
8a6863adcd09
planemo upload commit 9af2cf12c26c94e7206751ccf101a3368f92d0ba
proteore
parents:
0
diff
changeset
|
210 |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
211 check_pathway_ids <- function(pathways_ids) { |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
212 problematic_pathways <- c("04215", "04723") |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
213 to_remove <- intersect(pathways_ids, problematic_pathways) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
214 if (length(to_remove) > 0) { |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
215 print(paste("Pathway(s)", to_remove, "have been remove from input")) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
216 } |
|
10
a4db9efe1e43
"planemo upload commit 78a50fa16dcea6afd93a2f4de17ed193a2aa7dd3-dirty"
proteore
parents:
9
diff
changeset
|
217 pathways_ids <- pathways_ids[which(!pathways_ids %in% problematic_pathways)] |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
218 if (length(pathways_ids) == 0) { |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
219 stop("No pathways ids to process") |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
220 } |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
221 return(pathways_ids) |
|
10
a4db9efe1e43
"planemo upload commit 78a50fa16dcea6afd93a2f4de17ed193a2aa7dd3-dirty"
proteore
parents:
9
diff
changeset
|
222 } |
|
a4db9efe1e43
"planemo upload commit 78a50fa16dcea6afd93a2f4de17ed193a2aa7dd3-dirty"
proteore
parents:
9
diff
changeset
|
223 |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
224 get_args <- function() { |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
225 |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
226 ## Collect arguments |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
227 args <- commandArgs(TRUE) |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
228 |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
229 ## Default setting when no arguments passed |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
230 if (length(args) < 1) { |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
231 args <- c("--help") |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
232 } |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
233 |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
234 ## Help section |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
235 if ("--help" %in% args) { |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
236 cat("Pathview R script |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
237 Arguments: |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
238 --help Print this test |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
239 --input path of the input file (must contains a colum of |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
240 uniprot and/or geneid accession number) |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
241 --id_list list of ids to use, ',' separated |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
242 --pathways_id Id(s) of pathway(s) to use, if several, semicolon |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
243 separated list : hsa00010;hsa05412 |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
244 --id_type Type of accession number ('uniprotid' or 'geneid') |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
245 --id_column Column containing accesion number of interest |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
246 (ex : 'c1') |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
247 --header Boolean, TRUE if header FALSE if not |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
248 --output Output filename |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
249 --fold_change_col Column(s) containing fold change values |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
250 (comma separated) |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
251 --native_kegg TRUE : native KEGG graph, FALSE : Graphviz graph |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
252 --species KEGG species (hsa, mmu, ...) |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
253 --pathways_input Tab with pathways in a column, output format of |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
254 find_pathways |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
255 --pathway_col Column of pathways to use |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
256 --header2 Boolean, TRUE if header FALSE if not |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
257 --pathways_list path of file containg the species pathways list |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
258 (hsa_pathways.loc, mmu_pathways.loc, ...) |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
259 |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
260 Example: |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
261 ./PathView.R --input 'input.csv' --pathway_id '05412' |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
262 --id_type 'uniprotid' --id_column 'c1' --header TRUE \n\n") |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
263 |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
264 q(save = "no") |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
265 } |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
266 |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
267 parseargs <- function(x) strsplit(sub("^--", "", x), "=") |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
268 argsdf <- as.data.frame(do.call("rbind", parseargs(args))) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
269 args <- as.list(as.character(argsdf$V2)) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
270 names(args) <- argsdf$V1 |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
271 |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
272 return(args) |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
273 } |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
274 |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
275 main <- function() { |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
276 |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
277 args <- get_args() |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
278 |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
279 #save(args,file="/home/dchristiany/proteore_project/ProteoRE/tools/ |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
280 #kegg_maps_visualization/args.Rda") |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
281 #load("/home/dchristiany/proteore_project/ProteoRE/tools/ |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
282 #kegg_maps_visualization/args.Rda") |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
283 |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
284 ###setting variables |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
285 if (!is.null(args$pathways_id)) { |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
286 ids <- get_list_from_cp(clean_bad_character(args$pathways_id)) |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
287 ids <- sapply(ids, function(x) remove_kegg_prefix(x), USE.NAMES = FALSE) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
288 }else if (!is.null(args$pathways_input)) { |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
289 header2 <- str2bool(args$header2) |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
290 pathway_col <- as.numeric(gsub("c", "", args$pathway_col)) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
291 pathways_file <- read_file(args$pathways_input, header2) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
292 ids <- sapply(rapply(strsplit(clean_bad_character( |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
293 pathways_file[, pathway_col]), ","), c), |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
294 function(x) remove_kegg_prefix(x), USE.NAMES = FALSE) |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
295 } |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
296 if (args$native_kegg) { |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
297 ids <- check_pathway_ids(ids) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
298 } #remove problematic pathways |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
299 pathways_list <- read_file(args$pathways_list, F) |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
300 if (!is.null(args$id_list)) { |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
301 id_list <- get_list_from_cp(args$id_list) |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
302 } |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
303 id_type <- tolower(args$id_type) |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
304 ncol <- as.numeric(gsub("c", "", args$id_column)) |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
305 header <- str2bool(args$header) |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
306 native_kegg <- str2bool(args$native_kegg) |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
307 species <- args$species |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
308 fold_change_data <- str2bool(args$fold_change_data) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
309 |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
310 #org list used in mapped2geneid |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
311 org <- c("Hs", "Mm", "Rn") |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
312 names(org) <- c("hsa", "mmu", "rno") |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
313 |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
314 #read input file or list |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
315 if (!is.null(args$input)) { |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
316 tab <- read_file(args$input, header) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
317 tab <- data.frame(tab[which(tab[ncol] != ""), ], stringsAsFactors = F) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
318 tab <- one_id_one_line(tab, ncol) |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
319 } else { |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
320 id_list <- gsub("[[:blank:]]|\u00A0|NA", "", id_list) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
321 id_list <- unique(id_list[id_list != ""]) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
322 tab <- data.frame(id_list, stringsAsFactors = F) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
323 ncol <- 1 |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
324 } |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
325 |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
326 |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
327 ##### map uniprotid to entrez geneid and kegg to geneid |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
328 uniprotid <- "" |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
329 mapped2geneid <- "" |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
330 if (id_type == "uniprotid") { |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
331 uniprotid <- tab[, ncol] |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
332 mapped2geneid <- id2eg(ids = uniprotid, category = "uniprot", |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
333 org = org[[species]], pkg.name = NULL) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
334 geneid <- mapped2geneid[, 2] |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
335 tab <- cbind(tab, geneid) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
336 ncol <- ncol(tab) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
337 }else if (id_type == "keggid") { |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
338 keggid <- tab[, ncol] |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
339 geneid <- kegg_to_geneid(keggid) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
340 tab <- cbind(tab, geneid) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
341 ncol <- ncol(tab) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
342 }else if (id_type == "geneid") { |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
343 colnames(tab)[ncol] <- "geneid" |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
344 } |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
345 |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
346 ##### build matrix to map on KEGG pathway (kgml : KEGG xml) |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
347 geneid_indices <- which(!is.na(tab$geneid)) |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
348 if (fold_change_data) { |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
349 fold_change <- as.integer(unlist(strsplit(gsub("c", "", |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
350 args$fold_change_col), ","))) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
351 if (length(fold_change) > 3) { |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
352 fold_change <- fold_change[1:3] |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
353 } |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
354 if (length(fold_change) == 1) { |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
355 tab[, fold_change] <- as.double(gsub( |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
356 ",", ".", as.character(tab[, fold_change]))) |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
357 } else { |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
358 tab[, fold_change] <- apply(tab[, fold_change], 2, |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
359 function(x) as.double(gsub(",", ".", as.character(x)))) |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
360 } |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
361 mat <- tab[geneid_indices, c(ncol, fold_change)] |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
362 mat <- mat[(!duplicated(mat$geneid)), ] |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
363 geneid <- mat$geneid |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
364 mat <- as.data.frame(mat[, -1]) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
365 row.names(mat) <- geneid |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
366 limit <- get_limit(mat) |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
367 } else { |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
368 mat <- unique(as.character( |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
369 tab$geneid[!is.na(tab$geneid[tab$geneid != ""])])) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
370 geneid <- mat |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
371 limit <- 1 |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
372 } |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
373 |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
374 #####mapping geneid (with or without expression values) on KEGG pathway |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
375 plot_col_key <- TRUE |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
376 low_color <- "green" |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
377 mid_color <- "#F3F781" #yellow |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
378 high_color <- "red" |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
379 if (!fold_change_data) { |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
380 plot_col_key <- FALSE |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
381 #if there's no exrepession data, we don't show the color key |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
382 high_color <- "#81BEF7" #blue |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
383 } |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
384 |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
385 #create graph(s) and text output |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
386 for (id in ids) { |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
387 suffix <- get_suffix(pathways_list, species, id) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
388 pv_out <- suppressMessages(pathview(gene.data = mat, |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
389 gene.idtype = "entrez", |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
390 pathway.id = id, |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
391 species = species, |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
392 kegg.dir = ".", |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
393 out.suffix = suffix, |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
394 kegg.native = native_kegg, |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
395 low = list(gene = low_color, cpd = "blue"), |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
396 mid = list(gene = mid_color, cpd = "transparent"), |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
397 high = list(gene = high_color, cpd = "yellow"), |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
398 na.col = "#D8D8D8", #gray |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
399 cpd.data = NULL, |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
400 plot_col_key = plot_col_key, |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
401 pdf.size = c(9, 9), |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
402 limit = list(gene = limit, cpd = limit))) |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
403 |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
404 if (is.list(pv_out)) { |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
405 |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
406 #creating text file |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
407 if (!exists("df")) { |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
408 df <- data.frame(t(mapping_summary(pv_out, species, id, id_type, |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
409 pathways_list, geneid, uniprotid, mapped2geneid)), |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
410 stringsAsFactors = F, check.names = F) |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
411 } else { |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
412 df <- rbind(df, data.frame(t(mapping_summary(pv_out, species, id, |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
413 id_type, pathways_list, geneid, uniprotid, mapped2geneid)), |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
414 stringsAsFactors = F, check.names = F)) |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
415 } |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
416 } |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
417 } |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
418 |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
419 df <- as.data.frame(apply(df, c(1, 2), |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
420 function(x) gsub("^$|^ $", NA, x))) #convert "" et " " to NA |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
421 |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
422 #text file output |
|
12
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
423 write.table(df, file = args$output, quote = FALSE, sep = "\t", |
|
10c572ad2b9e
"planemo upload commit 209e9e48505e55a2a2b4b1d7b053f557344bc2e8-dirty"
proteore
parents:
11
diff
changeset
|
424 row.names = FALSE, col.names = TRUE) |
|
0
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
425 } |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
426 |
|
789acaab8255
planemo upload commit 78ad61e52c2bf8c5ffada89a8eed429a332eb40b-dirty
proteore
parents:
diff
changeset
|
427 main() |
