annotate kegg_pathways_visualization.R @ 15:da82872f5c80 draft

planemo upload commit 63302cb49d4f0f4dbc9ae141d20704822588f54e-dirty
author proteore
date Mon, 12 Nov 2018 10:54:25 -0500
parents 9fe4a861601b
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
12
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
1 #!/usr/bin/Rscript
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
2 #Rscript made for mapping genesID on KEGG pathway with Pathview package
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
3 #input : csv file containing ids (uniprot or geneID) to map, plus parameters
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
4 #output : KEGG pathway : jpeg or pdf file.
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
5
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
6 options(warn=-1) #TURN OFF WARNINGS !!!!!!
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
7
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
8 suppressMessages(library("pathview"))
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
9
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
10 read_file <- function(path,header){
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
11 file <- try(read.csv(path,header=header, sep="\t",stringsAsFactors = FALSE, quote="\"", check.names = F),silent=TRUE)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
12 if (inherits(file,"try-error")){
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
13 stop("File not found !")
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
14 }else{
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
15 return(file)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
16 }
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
17 }
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
18
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
19 ##### fuction to clean and concatenate pathway name (allow more flexibility for user input)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
20 concat_string <- function(x){
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
21 x <- gsub(" - .*","",x)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
22 x <- gsub(" ","",x)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
23 x <- gsub("-","",x)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
24 x <- gsub("_","",x)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
25 x <- gsub(",","",x)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
26 x <- gsub("\\'","",x)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
27 x <- gsub("\\(.*)","",x)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
28 x <- gsub("\\/","",x)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
29 x <- tolower(x)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
30 return(x)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
31 }
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
32
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
33 #return output suffix (pathway name) from id kegg (ex : hsa:00010)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
34 get_suffix <- function(pathways_list,species,id){
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
35 suffix = gsub("/","or",pathways_list[pathways_list[,1]==paste(species,id,sep=""),2])
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
36 suffix = gsub(" ","_",suffix)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
37 if (nchar(suffix) > 50){
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
38 suffix = substr(suffix,1,50)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
39 }
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
40 return(suffix)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
41 }
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
42
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
43 str2bool <- function(x){
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
44 if (any(is.element(c("t","true"),tolower(x)))){
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
45 return (TRUE)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
46 }else if (any(is.element(c("f","false"),tolower(x)))){
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
47 return (FALSE)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
48 }else{
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
49 return(NULL)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
50 }
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
51 }
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
52
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
53 is.letter <- function(x) grepl("[[:alpha:]]", x)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
54
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
55 #### hsa00010 -> 00010
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
56 remove_kegg_prefix <- function(x){
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
57 x = gsub(":","",x)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
58 if (substr(x,1,4) == 'path'){
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
59 x=substr(x,5,nchar(x))
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
60 }
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
61 if (is.letter(substr(x,1,3))){
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
62 x <- substr(x,4,nchar(x))
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
63 }
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
64 return(x)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
65 }
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
66
15
da82872f5c80 planemo upload commit 63302cb49d4f0f4dbc9ae141d20704822588f54e-dirty
proteore
parents: 12
diff changeset
67 kegg_to_geneID <- function(vector){
da82872f5c80 planemo upload commit 63302cb49d4f0f4dbc9ae141d20704822588f54e-dirty
proteore
parents: 12
diff changeset
68 vector <- sapply(vector, function(x) unlist(strsplit(x,":"))[2],USE.NAMES = F)
da82872f5c80 planemo upload commit 63302cb49d4f0f4dbc9ae141d20704822588f54e-dirty
proteore
parents: 12
diff changeset
69 return (vector)
da82872f5c80 planemo upload commit 63302cb49d4f0f4dbc9ae141d20704822588f54e-dirty
proteore
parents: 12
diff changeset
70 }
da82872f5c80 planemo upload commit 63302cb49d4f0f4dbc9ae141d20704822588f54e-dirty
proteore
parents: 12
diff changeset
71
12
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
72 clean_bad_character <- function(string) {
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
73 string <- gsub("X","",string)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
74 return(string)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
75 }
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
76
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
77 get_list_from_cp <-function(list){
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
78 list = strsplit(list, "[ \t\n]+")[[1]]
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
79 list = list[list != ""] #remove empty entry
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
80 list = gsub("-.+", "", list) #Remove isoform accession number (e.g. "-2")
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
81 return(list)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
82 }
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
83
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
84 #return a summary from the mapping with pathview in a vector
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
85 mapping_summary <- function(pv.out,species,id,id_type){
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
86
15
da82872f5c80 planemo upload commit 63302cb49d4f0f4dbc9ae141d20704822588f54e-dirty
proteore
parents: 12
diff changeset
87 mapped <- unique(pv.out$plot.data.gene$kegg.names[which(pv.out$plot.data.gene$all.mapped!='')])
12
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
88 nb_mapped <- length(mapped)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
89 nb_kegg_id <- length(unique(pv.out$plot.data.gene$kegg.names))
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
90 ratio = round((nb_mapped/nb_kegg_id)*100, 2)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
91 if (is.nan(ratio)) { ratio = ""}
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
92 pathway_id = paste(species,id,sep="")
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
93 pathway_name = as.character(pathways_list[pathways_list[,1]==pathway_id,][2])
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
94
15
da82872f5c80 planemo upload commit 63302cb49d4f0f4dbc9ae141d20704822588f54e-dirty
proteore
parents: 12
diff changeset
95 if (id_type=="geneid" || id_type=="keggid") {
12
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
96 row <- c(pathway_id,pathway_name,length(unique(geneID)),nb_kegg_id,nb_mapped,ratio,paste(mapped,collapse=";"))
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
97 names(row) <- c("KEGG pathway ID","pathway name","nb of Entrez gene ID used","nb of Entrez gene ID mapped",
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
98 "nb of Entrez gene ID in the pathway", "ratio of Entrez gene ID mapped (%)","Entrez gene ID mapped")
15
da82872f5c80 planemo upload commit 63302cb49d4f0f4dbc9ae141d20704822588f54e-dirty
proteore
parents: 12
diff changeset
99 } else if (id_type=="uniprotid") {
12
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
100 row <- c(pathway_id,pathway_name,length(unique(uniprotID)),length(unique(geneID)),nb_mapped,nb_kegg_id,ratio,paste(mapped,collapse=";"),paste(mapped2geneID[which(mapped2geneID[,2] %in% mapped)],collapse=";"))
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
101 names(row) <- c("KEGG pathway ID","pathway name","nb of Uniprot_AC used","nb of Entrez gene ID used","nb of Entrez gene ID mapped",
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
102 "nb of Entrez gene ID in the pathway", "ratio of Entrez gene ID mapped (%)","Entrez gene ID mapped","uniprot_AC mapped")
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
103 }
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
104 return(row)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
105 }
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
106
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
107 get_args <- function(){
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
108
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
109 ## Collect arguments
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
110 args <- commandArgs(TRUE)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
111
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
112 ## Default setting when no arguments passed
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
113 if(length(args) < 1) {
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
114 args <- c("--help")
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
115 }
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
116
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
117 ## Help section
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
118 if("--help" %in% args) {
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
119 cat("Pathview R script
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
120 Arguments:
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
121 --help Print this test
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
122 --input path of the input file (must contains a colum of uniprot and/or geneID accession number)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
123 --id_list list of ids to use, ',' separated
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
124 --pathways_id Id(s) of pathway(s) to use, if several, semicolon separated list : hsa00010;hsa05412
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
125 --id_type Type of accession number ('uniprotID' or 'geneID')
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
126 --id_column Column containing accesion number of interest (ex : 'c1')
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
127 --header Boolean, TRUE if header FALSE if not
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
128 --output Output filename
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
129 --fold_change_col Column(s) containing fold change values (comma separated)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
130 --native_kegg TRUE : native KEGG graph, FALSE : Graphviz graph
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
131 --species KEGG species (hsa, mmu, ...)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
132 --pathways_input Tab with pathways in a column, output format of find_pathways
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
133 --pathway_col Column of pathways to use
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
134 --header2 Boolean, TRUE if header FALSE if not
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
135 --pathways_list path of file containg the species pathways list (hsa_pathways.loc, mmu_pathways.loc, ...)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
136
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
137 Example:
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
138 ./PathView.R --input 'input.csv' --pathway_id '05412' --id_type 'uniprotID' --id_column 'c1' --header TRUE \n\n")
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
139
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
140 q(save="no")
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
141 }
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
142
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
143 parseArgs <- function(x) strsplit(sub("^--", "", x), "=")
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
144 argsDF <- as.data.frame(do.call("rbind", parseArgs(args)))
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
145 args <- as.list(as.character(argsDF$V2))
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
146 names(args) <- argsDF$V1
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
147
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
148 return(args)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
149 }
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
150
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
151 args <- get_args()
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
152
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
153 #save(args,file="/home/dchristiany/proteore_project/ProteoRE/tools/kegg_pathways_visualization/args.Rda")
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
154 #load("/home/dchristiany/proteore_project/ProteoRE/tools/kegg_pathways_visualization/args.Rda")
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
155
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
156 ###setting variables
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
157 if (!is.null(args$pathways_id)) {
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
158 ids <- get_list_from_cp(clean_bad_character(args$pathways_id))
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
159 ids <- sapply(ids, function(x) remove_kegg_prefix(x),USE.NAMES = FALSE)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
160 }else if (!is.null(args$pathways_input)){
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
161 header2 <- str2bool(args$header2)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
162 pathway_col <- as.numeric(gsub("c", "" ,args$pathway_col))
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
163 pathways_file = read_file(args$pathways_input,header2)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
164 ids <- sapply(rapply(strsplit(clean_bad_character(pathways_file[,pathway_col]),","),c), function(x) remove_kegg_prefix(x),USE.NAMES = FALSE)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
165 }
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
166 pathways_list <- read_file(args$pathways_list,F)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
167 if (!is.null(args$id_list)) {
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
168 id_list <- get_list_from_cp(args$id_list)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
169 }
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
170 id_type <- tolower(args$id_type)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
171 ncol <- as.numeric(gsub("c", "" ,args$id_column))
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
172 header <- str2bool(args$header)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
173 native_kegg <- str2bool(args$native_kegg)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
174 species=args$species
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
175 fold_change_data = str2bool(args$fold_change_data)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
176
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
177 #org list used in mapped2geneID
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
178 org <- c('Hs','Mm','Rn')
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
179 names(org) <- c('hsa','mmu','rno')
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
180
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
181 #read input file or list
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
182 if (!is.null(args$input)){
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
183 tab <- read_file(args$input,header)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
184 tab <- data.frame(tab[which(tab[ncol]!=""),])
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
185 } else {
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
186 tab <- data.frame(id_list,stringsAsFactors = F)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
187 ncol=1
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
188 }
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
189
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
190 #fold change columns
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
191 #make sure its double and name expression value columns
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
192 if (fold_change_data){
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
193 fold_change <- as.integer(unlist(strsplit(gsub("c","",args$fold_change_col),",")))
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
194 if (length(fold_change) > 3) { fold_change= fold_change[1:3] }
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
195 for (i in 1:length(fold_change)) {
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
196 fc_col = fold_change[i]
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
197 colnames(tab)[fc_col] <- paste("e",i,sep='')
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
198 tab[,fc_col] <- as.double(gsub(",",".",as.character(tab[,fc_col]) ))
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
199 }
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
200 }
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
201
15
da82872f5c80 planemo upload commit 63302cb49d4f0f4dbc9ae141d20704822588f54e-dirty
proteore
parents: 12
diff changeset
202 ##### map uniprotID to entrez geneID and kegg to geneID
12
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
203 if (id_type == "uniprotid") {
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
204 uniprotID = tab[,ncol]
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
205 mapped2geneID = id2eg(ids = uniprotID, category = "uniprot", org = org[[species]], pkg.name = NULL)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
206 geneID = mapped2geneID[,2]
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
207 tab = cbind(tab,geneID)
15
da82872f5c80 planemo upload commit 63302cb49d4f0f4dbc9ae141d20704822588f54e-dirty
proteore
parents: 12
diff changeset
208 }else if (id_type == "keggid"){
da82872f5c80 planemo upload commit 63302cb49d4f0f4dbc9ae141d20704822588f54e-dirty
proteore
parents: 12
diff changeset
209 keggID = tab[,ncol]
da82872f5c80 planemo upload commit 63302cb49d4f0f4dbc9ae141d20704822588f54e-dirty
proteore
parents: 12
diff changeset
210 geneID = kegg_to_geneID(keggID)
da82872f5c80 planemo upload commit 63302cb49d4f0f4dbc9ae141d20704822588f54e-dirty
proteore
parents: 12
diff changeset
211 tab = cbind(tab,geneID)
12
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
212 }else if (id_type == "geneid"){
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
213 colnames(tab)[ncol] <- "geneID"
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
214 }
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
215
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
216 geneID = as.character(tab$geneID[which(!is.na(tab$geneID))])
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
217 geneID = gsub(" ","",geneID)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
218 geneID = unlist(strsplit(geneID,"[;]"))
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
219
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
220 ##### build matrix to map on KEGG pathway (kgml : KEGG xml)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
221 if (fold_change_data) {
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
222 geneID_indices = which(!duplicated(geneID))
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
223 if (length(fold_change) == 3){
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
224 mat <- as.data.frame(cbind(tab$e1,tab$e2,tab$e3)[which(!is.na(tab$geneID)),])
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
225 mat = mat[geneID_indices,]
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
226 row.names(mat) <- geneID[geneID_indices]
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
227 } else if (length(fold_change) == 2){
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
228 mat <- as.data.frame(cbind(tab$e1,tab$e2)[which(!is.na(tab$geneID)),])
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
229 mat = mat[geneID_indices,]
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
230 row.names(mat) <- geneID[geneID_indices]
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
231 } else {
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
232 mat <- as.data.frame(cbind(tab$e1)[which(!is.na(tab$geneID)),])
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
233 mat = mat[geneID_indices,]
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
234 names(mat) <- geneID[geneID_indices]
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
235 }
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
236 } else {
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
237 mat <- geneID
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
238 }
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
239
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
240 #####mapping geneID (with or without expression values) on KEGG pathway
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
241 plot.col.key= TRUE
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
242 low_color = "green"
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
243 mid_color = "#F3F781" #yellow
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
244 high_color = "red"
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
245 if (is.null(tab$e1)) {
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
246 plot.col.key= FALSE #if there's no exrepession data, we don't show the color key
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
247 high_color = "#81BEF7" #blue
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
248 }
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
249
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
250 #create graph(s) and text output
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
251 for (id in ids) {
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
252 suffix= get_suffix(pathways_list,species,id)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
253 pv.out <- suppressMessages(pathview(gene.data = mat,
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
254 gene.idtype = "entrez",
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
255 pathway.id = id,
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
256 species = species,
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
257 kegg.dir = ".",
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
258 out.suffix=suffix,
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
259 kegg.native = native_kegg,
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
260 low = list(gene = low_color, cpd = "blue"),
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
261 mid = list(gene = mid_color, cpd = "transparent"),
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
262 high = list(gene = high_color, cpd = "yellow"),
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
263 na.col="#D8D8D8", #gray
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
264 cpd.data=NULL,
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
265 plot.col.key = plot.col.key,
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
266 pdf.size=c(9,9)))
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
267
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
268 if (is.list(pv.out)){
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
269
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
270 #creating text file
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
271 if (!exists("DF")) {
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
272 DF <- data.frame(t(mapping_summary(pv.out,species,id,id_type)),stringsAsFactors = F,check.names = F)
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
273 } else {
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
274 #print (mapping_summary(pv.out,species,id))
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
275 DF <- rbind(DF,data.frame(t(mapping_summary(pv.out,species,id,id_type)),stringsAsFactors = F,check.names = F))
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
276 }
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
277 }
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
278
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
279 }
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
280
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
281 DF <- as.data.frame(apply(DF, c(1,2), function(x) gsub("^$|^ $", NA, x))) #convert "" et " " to NA
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
282
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
283 #text file output
9fe4a861601b planemo upload commit 7e2bd28d27e13c402acd46500f64d5c117797aa7-dirty
proteore
parents:
diff changeset
284 write.table(DF,file=args$output,quote=FALSE, sep='\t',row.names = FALSE, col.names = TRUE)