annotate h-concatenate.R @ 0:aa55ff1d76d4 draft

planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
author tomnl
date Thu, 10 May 2018 07:20:04 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
1 library(optparse)
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
2
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
3 option_list <- list(
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
4 make_option(c("-f", "--files"), type="character"),
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
5 make_option(c("-c", "--columns"), type="character"),
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
6 make_option(c("-o", "--out_dir"), type="character"),
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
7 make_option(c("-u", "--uc"), type="character")
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
8 )
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
9
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
10 # store options
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
11 opt<- parse_args(OptionParser(option_list=option_list), args = commandArgs(trailingOnly = TRUE))
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
12
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
13 print(sessionInfo())
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
14 print(opt)
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
15
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
16 file_paths <- trimws(strsplit(opt$files, ';')[[1]])
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
17 file_paths <- file_paths[file_paths != ""]
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
18
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
19 columns <- trimws(strsplit(opt$columns, ';')[[1]])
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
20 columns <- columns[columns != ""]
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
21
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
22 columns <- lapply(columns, function(x){trimws(strsplit(x, ',')[[1]])})
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
23
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
24
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
25 readIn <- function(f, c){
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
26 print('#### reading in file with columns ####')
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
27 print(f)
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
28 print(c)
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
29 df <- read.table(f, header = TRUE, sep='\t', stringsAsFactors=FALSE)
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
30 if (sum(colnames(df) %in% c)==0){
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
31 print('PLEASE CHECK: Selected columns not in file!!')
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
32 print(colnames(df))
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
33 print(c)
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
34 q()
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
35 }
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
36
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
37 df <- df[ , (colnames(df) %in% c)]
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
38 if (length(c)==1){
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
39 df <- data.frame(df)
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
40 colnames(df) <- c
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
41 }
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
42
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
43 return(df)
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
44 }
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
45
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
46 m <- mapply(readIn, file_paths, columns, SIMPLIFY = FALSE)
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
47
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
48 m <- unname(m)
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
49 merged <- do.call(cbind, m)
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
50
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
51 if(!is.null(opt$uc)){
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
52 uc <- trimws(strsplit(opt$uc, ',')[[1]])
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
53 uc <- uc[uc != ""]
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
54 print(colnames(merged))
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
55 print(uc)
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
56 merged <- merged[uc]
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
57 }
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
58
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
59 print(head(merged))
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
60
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
61 write.table(merged, file.path(opt$out_dir, 'combined_table.tsv'), row.names=FALSE, sep='\t')
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
62
aa55ff1d76d4 planemo upload for repository https://github.com/computational-metabolomics/dma-tools-galaxy commit dcfc95273101a7ef0405c2efb8d83f5d456ccd15
tomnl
parents:
diff changeset
63