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