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