annotate PathView.R @ 7:b617d4bbebf8 draft

planemo upload commit 41ba6f74dfad14f894dbe396fc765893b971b5ae-dirty
author proteore
date Mon, 27 Aug 2018 11:21:34 -0400
parents 097bb3ed2b4d
children 33c9bd75882a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
1 #!/usr/bin/Rscript
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
2 #Rscript made for mapping genesID on KEGG pathway with Pathview package
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
3 #input : csv file containing ids (uniprot or geneID) to map, plus parameters
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
4 #output : KEGG pathway : jpeg or pdf file.
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
5
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
6 suppressMessages(library("pathview"))
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
7
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
8 read_file <- function(path,header){
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
9 file <- try(read.table(path,header=header, sep="\t",stringsAsFactors = FALSE, quote=""),silent=TRUE)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
10 if (inherits(file,"try-error")){
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
11 stop("File not found !")
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
12 }else{
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
13 return(file)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
14 }
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
15 }
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
16
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
17 ##### fuction to clean and concatenate pathway name (allow more flexibility for user input)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
18 concat_string <- function(x){
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
19 x <- gsub(" - .*","",x)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
20 x <- gsub(" ","",x)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
21 x <- gsub("-","",x)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
22 x <- gsub("_","",x)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
23 x <- gsub(",","",x)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
24 x <- gsub("\\'","",x)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
25 x <- gsub("\\(.*)","",x)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
26 x <- gsub("\\/","",x)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
27 x <- tolower(x)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
28 return(x)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
29 }
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
30
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
31
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
32 get_args <- function(){
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
33
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
34 ## Collect arguments
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
35 args <- commandArgs(TRUE)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
36
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
37 ## Default setting when no arguments passed
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
38 if(length(args) < 1) {
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
39 args <- c("--help")
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
40 }
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
41
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
42 ## Help section
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
43 if("--help" %in% args) {
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
44 cat("Pathview R script
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
45 Arguments:
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
46 --help Print this test
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
47 --input path of the input file (must contains a colum of uniprot and/or geneID accession number)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
48 --id_list list of ids to use, ',' separated
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
49 --pathways_id Id(s) of pathway(s) to use, if several, semicolon separated list : hsa00010;hsa05412
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
50 --id_type Type of accession number ('uniprotID' or 'geneID')
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
51 --id_column Column containing accesion number of interest (ex : 'c1')
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
52 --header Boolean, TRUE if header FALSE if not
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
53 --ouput Output filename
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
54 --expression_values1 Column containing expression values (first condition)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
55 --expression_values2 Column containing expression values (second condition)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
56 --expression_values3 Column containing expression values (third condition)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
57 --native_kegg TRUE : native KEGG graph, FALSE : Graphviz graph
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
58 --species KEGG species (hsa, mmu, ...)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
59
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
60 Example:
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
61 ./PathView.R --input 'input.csv' --pathway_id '05412' --id_type 'uniprotID' --id_column 'c1' --header TRUE \n\n")
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
62
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
63 q(save="no")
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
64 }
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
65
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
66 parseArgs <- function(x) strsplit(sub("^--", "", x), "=")
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
67 argsDF <- as.data.frame(do.call("rbind", parseArgs(args)))
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
68 args <- as.list(as.character(argsDF$V2))
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
69 names(args) <- argsDF$V1
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
70
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
71 return(args)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
72 }
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
73
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
74 str2bool <- function(x){
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
75 if (any(is.element(c("t","true"),tolower(x)))){
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
76 return (TRUE)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
77 }else if (any(is.element(c("f","false"),tolower(x)))){
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
78 return (FALSE)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
79 }else{
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
80 return(NULL)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
81 }
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
82 }
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
83
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
84 is.letter <- function(x) grepl("[[:alpha:]]", x)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
85
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
86 #### hsa00010 -> 00010
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
87 remove_kegg_prefix <- function(x){
7
b617d4bbebf8 planemo upload commit 41ba6f74dfad14f894dbe396fc765893b971b5ae-dirty
proteore
parents: 0
diff changeset
88 x = gsub(":","",x)
b617d4bbebf8 planemo upload commit 41ba6f74dfad14f894dbe396fc765893b971b5ae-dirty
proteore
parents: 0
diff changeset
89 if (substr(x,1,4) == 'path'){
b617d4bbebf8 planemo upload commit 41ba6f74dfad14f894dbe396fc765893b971b5ae-dirty
proteore
parents: 0
diff changeset
90 x=substr(x,5,nchar(x))
b617d4bbebf8 planemo upload commit 41ba6f74dfad14f894dbe396fc765893b971b5ae-dirty
proteore
parents: 0
diff changeset
91 }
0
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
92 if (is.letter(substr(x,1,3))){
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
93 x <- substr(x,4,nchar(x))
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
94 }
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
95 return(x)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
96 }
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
97
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
98 clean_bad_character <- function(string) {
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
99 string <- gsub("X","",string)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
100 string <- gsub(" ","",string)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
101 return(string)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
102 }
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
103
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
104 args <- get_args()
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
105
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
106 ###save and load args in rda file for testing
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
107 #save(args,file="/home/dchristiany/proteore_project/ProteoRE/tools/pathview/args.Rda")
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
108 #load("/home/dchristiany/proteore_project/ProteoRE/tools/pathview/args.Rda")
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
109
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
110 ###setting variables
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
111 if (!is.null(args$pathways_id)) { ids <- sapply(rapply(strsplit(clean_bad_character(args$pathways_id),","),c), function(x) remove_kegg_prefix(x),USE.NAMES = FALSE)}
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
112 #if (!is.null(args$pathways_name)) {names <- as.vector(sapply(strsplit(args$pathways_name,","), function(x) concat_string(x),USE.NAMES = FALSE))}
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
113 if (!is.null(args$id_list)) {id_list <- as.vector(strsplit(clean_bad_character(args$id_list),","))}
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
114 id_type <- tolower(args$id_type)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
115 ncol <- as.numeric(gsub("c", "" ,args$id_column))
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
116 header <- str2bool(args$header)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
117 #output <- args$output
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
118 native_kegg <- str2bool(args$native_kegg)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
119 species=args$species
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
120
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
121
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
122 #read input file or list
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
123 if (!is.null(args$input)){
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
124 tab <- read_file(args$input,header)
7
b617d4bbebf8 planemo upload commit 41ba6f74dfad14f894dbe396fc765893b971b5ae-dirty
proteore
parents: 0
diff changeset
125 tab <- data.frame(tab[which(tab[ncol]!=""),])
0
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
126 } else {
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
127 tab <- data.frame(id_list)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
128 ncol=1
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
129 }
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
130
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
131 e1 <- as.numeric(gsub("c", "" ,args$expression_values1))
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
132 if (!is.null(args$expression_values1)) { colnames(tab)[e1] <- "e1" }
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
133 e2 <- as.numeric(gsub("c", "" ,args$expression_values2))
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
134 if (!is.null(args$expression_values2)) { colnames(tab)[e2] <- "e2" }
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
135 e3 <- as.numeric(gsub("c", "" ,args$expression_values3))
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
136 if (!is.null(args$expression_values3)) { colnames(tab)[e3] <- "e3" }
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
137
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
138
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
139 ##### map uniprotID to entrez geneID
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
140 if (id_type == "uniprotid") {
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
141
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
142 uniprotID = tab[,ncol]
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
143 mapped2geneID = id2eg(ids = uniprotID, category = "uniprot", org = "Hs", pkg.name = NULL)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
144 geneID = mapped2geneID[,2]
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
145 tab = cbind(tab,geneID)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
146
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
147 }else if (id_type == "geneid"){
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
148
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
149 colnames(tab)[ncol] <- "geneID"
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
150
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
151 }
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
152
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
153 geneID = tab$geneID[which(tab$geneID !="NA")]
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
154 geneID = gsub(" ","",geneID)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
155 geneID = unlist(strsplit(geneID,"[;]"))
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
156
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
157
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
158 #### get hsa pathways list
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
159 #download.file(url = "http://rest.kegg.jp/link/pathway/hsa", destfile = "/home/dchristiany/proteore_project/ProteoRE/tools/pathview/geneID_to_hsa_pathways.csv")
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
160 #geneid_hsa_pathways <- read_file(path = "/home/dchristiany/proteore_project/ProteoRE/tools/pathview/geneID_to_hsa_pathways.csv",FALSE)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
161 #names(geneid_hsa_pathways) <- c("geneID","pathway")
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
162
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
163 ##### build matrix to map on KEGG pathway (kgml : KEGG xml)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
164 if (!is.null(args$expression_values1)&is.null(args$expression_values2)&is.null(args$expression_values3)){
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
165 mat <- as.data.frame(cbind(tab$e1)[which(!is.na(tab$geneID)),])
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
166 row.names(mat) <- tab$geneID[which(!is.na(tab$geneID))]
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
167 } else if (!is.null(args$expression_values1)&!is.null(args$expression_values2)&is.null(args$expression_values3)){
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
168 mat <- as.data.frame(cbind(tab$e1,tab$e2)[which(!is.na(tab$geneID)),])
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
169 row.names(mat) <- tab$geneID[which(!is.na(tab$geneID))]
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
170 }else if (!is.null(args$expression_values1)&!is.null(args$expression_values2)&!is.null(args$expression_values3)){
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
171 mat <- as.data.frame(cbind(tab$e1,tab$e2,tab$e3)[which(!is.na(tab$geneID)),])
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
172 row.names(mat) <- tab$geneID[which(!is.na(tab$geneID))]
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
173 } else {
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
174 mat <- geneID
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
175 }
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
176
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
177
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
178 #### simulation data test
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
179 #exp1 <- sim.mol.data(mol.type = c("gene", "gene.ko", "cpd")[1], id.type = NULL, species="hsa", discrete = FALSE, nmol = 161, nexp = 1, rand.seed=100)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
180 #exp2 <- sim.mol.data(mol.type = c("gene", "gene.ko", "cpd")[1], id.type = NULL, species="hsa", discrete = FALSE, nmol = 161, nexp = 1, rand.seed=50)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
181 #exp3 <- sim.mol.data(mol.type = c("gene", "gene.ko", "cpd")[1], id.type = NULL, species="hsa", discrete = FALSE, nmol = 161, nexp = 1, rand.seed=10)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
182 #tab <- cbind(tab,exp1,exp2,exp3)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
183
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
184 #write.table(tab, file='/home/dchristiany/proteore_project/ProteoRE/tools/pathview/Lacombe_sim_expression_data.tsv', quote=FALSE, sep='\t',row.names = FALSE)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
185
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
186 #mat <- exp1[1:nrow(tab)]
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
187 #names(mat) <- geneID
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
188
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
189
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
190 #####mapping geneID (with or without expression values) on KEGG pathway
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
191 for (id in ids) {
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
192 pathview(gene.data = mat,
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
193 #gene.idtype = "geneID",
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
194 #cpd.data = uniprotID,
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
195 #cpd.idtype = "uniprot",
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
196 pathway.id = id,
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
197 #pathway.name = "",
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
198 species = species,
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
199 kegg.dir = ".",
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
200 gene.idtype = "entrez",
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
201 #gene.annotpkg = NULL,
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
202 #min.nnodes = 3,
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
203 kegg.native = native_kegg,
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
204 #map.null = TRUE,
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
205 #expand.node = FALSE,
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
206 #split.group = FALSE,
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
207 #map.symbol = TRUE,
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
208 #map.cpdname = TRUE,
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
209 #node.sum = "sum",
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
210 #discrete=list(gene=FALSE,cpd=FALSE),
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
211 #limit = list(gene = 1, cpd = 1),
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
212 #bins = list(gene = 10, cpd = 10),
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
213 #both.dirs = list(gene = T, cpd = T),
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
214 #trans.fun = list(gene = NULL, cpd = NULL),
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
215 #low = list(gene = "green", cpd = "blue"),
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
216 #mid = list(gene = "gray", cpd = "gray"),
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
217 #high = list(gene = "red", cpd = "yellow"),
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
218 #na.col = "transparent",
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
219 #sign.pos="bottomleft",
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
220 #key.pos="topright",
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
221 #new.signature=TRUE,
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
222 #rankdir="LB",
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
223 #cex=0.3,
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
224 #text.width=15,
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
225 #res=300,
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
226 pdf.size=c(9,9))
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
227 #is.signal=TRUE)
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
228 }
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
229
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
230 ########using keggview.native
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
231
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
232 #xml.file=system.file("extdata", "hsa00010.xml", package = "pathview")
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
233 #node.data=node.info("/home/dchristiany/hsa00010.xml")
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
234 #plot.data.gene=node.map(mol.data=test, node.data, node.types="gene")
097bb3ed2b4d planemo upload commit 2e441b4969ae7cf9aeb227a1d47c43ef7268a5e6-dirty
proteore
parents:
diff changeset
235 #colors =node.color(plot.data = plot.data.gene[,1:9])