Mercurial > repos > labis-app > galaxy_proteomics
diff read_util.R @ 0:ba070efb6f78 draft
planemo upload commit 13e72e84c523bda22bda792bbebf4720d28542d5-dirty
author | labis-app |
---|---|
date | Tue, 03 Jul 2018 17:34:13 -0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/read_util.R Tue Jul 03 17:34:13 2018 -0400 @@ -0,0 +1,38 @@ +# auxiliar script to help with the read of all R scripts +read_function <- function(options) { + + # reads the table from input + table <- read.delim(options$inputfile_name, header=TRUE, fill=TRUE); + + # get the defined regex from the requested type + if (options$type == "lfqlog2") { + regexpr <- "LFQ[.]intensity[.]([^[:digit:]]+)[[:digit:]]+"; + code <- "LFQ"; + } else if (options$type == "intensity") { + regexpr <- "Intensity[.]([^[:digit:]]+)[[:digit:]]+"; + code <- "INT"; + } else { + regexpr <- "MS[.]MS[.]Count[.]([^[:digit:]]+)[[:digit:]]+"; + code <- "MS"; + } + if (!(TRUE %in% grepl(regexpr, colnames(table)))) { + print (sprintf("Error: No columns of type %s in input table", code)); + q(1,save="no"); + } + + # define the columns that will be taken in account for the t-test + columns_names <- grep(regexpr, colnames(table), value=TRUE); + + # here I extract the different experiment names in an array for easier + # manipulation, ordering them + experiment_names <- mixedsort(gsub(".*[.]([^[:digit:]]+[[:digit:]]+).*", "\\1", + columns_names)); + + # extract from the experiment names all the different categories in the table + different_categories <- unique(gsub("([^[:digit:]]+).*", "\\1", + experiment_names)); + + read_list <- list(table=table, regex=regexpr, code=code, col_names=columns_names, ex_names=experiment_names, diff_cat=different_categories); + + return(read_list); +}