Mercurial > repos > iuc > sleuth
diff sleuth.R @ 1:d3e447dd52c8 draft
planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/sleuth commit 6fbf73689708cfbdf3d9d783af4988bad7137f93
author | iuc |
---|---|
date | Wed, 07 Jun 2023 11:47:30 +0000 |
parents | 5f1cb4c28d73 |
children | d6b5fc94062c |
line wrap: on
line diff
--- a/sleuth.R Thu Jun 01 07:56:00 2023 +0000 +++ b/sleuth.R Wed Jun 07 11:47:30 2023 +0000 @@ -26,39 +26,67 @@ # Collect arguments from command line parser <- ArgumentParser(description = "Sleuth R script") -parser$add_argument("--factorLevel", action = "append", required = TRUE) +parser$add_argument("--factorLevel", action = "append", required = FALSE) parser$add_argument("--factorLevel_counts", action = "append", - required = TRUE) -parser$add_argument("--factorLevel_n", action = "append", required = TRUE) -parser$add_argument("--cores", type = "integer", required = TRUE) + required = FALSE) +parser$add_argument("--factorLevel_n", action = "append", required = FALSE) +parser$add_argument("--cores", type = "integer", required = FALSE) parser$add_argument("--normalize", action = "store_true", required = FALSE) -parser$add_argument("--nbins", type = "integer", required = TRUE) -parser$add_argument("--lwr", type = "numeric", required = TRUE) -parser$add_argument("--upr", type = "numeric", required = TRUE) +parser$add_argument("--nbins", type = "integer", required = FALSE) +parser$add_argument("--lwr", type = "numeric", required = FALSE) +parser$add_argument("--upr", type = "numeric", required = FALSE) +parser$add_argument("--metadata_file", + action = "append", + required = FALSE) +parser$add_argument("--experiment_design", required = FALSE) args <- parser$parse_args() -all_files <- args$factorLevel_counts +if (args$experiment_design == "complex") { + ## Complex experiment design + ############################ -conditions <- c() -for (x in seq_along(args$factorLevel)) { - temp <- append(conditions, rep(args$factorLevel[[x]])) - conditions <- temp -} + s2c <- + read.table(file = args$metadata_file, + header = TRUE, + sep = "\t") + paths <- c() + for (x in s2c$data_filename) { + paths <- c(paths, paste("./kallisto_outputs/", x, sep = "")) + } + for (f in paths) { + file.rename(f, gsub(".fastq.*", "", f)) + file.rename(f, paste(gsub(".fastq.*", "", f), ".h5", sep = "")) + } + s2c$path <- paste(gsub(".fastq.*", ".h5", paths), ".h5", sep = "") + + so <- sleuth_prep(s2c, full_model = ~ condition, num_cores = 1) + so <- sleuth_fit(so) -sample_names <- all_files %>% - str_replace(pattern = "\\.tab", "") +} else { + ## Simple experiment design + ########################### + + conditions <- c() + for (x in seq_along(args$factorLevel)) { + temp <- append(conditions, rep(args$factorLevel[[x]])) + conditions <- temp + } -design <- - data.frame(list( - sample = sample_names, - condition = conditions, - path = all_files - )) -so <- sleuth_prep(design, - cores = args$cores, - normalize = args$normalize) + sample_names <- + gsub(".fastq.+", "", basename(args$factorLevel_counts)) + + design <- + data.frame(list( + sample = sample_names, + condition = conditions, + path = args$factorLevel_counts + )) + so <- sleuth_prep(design, + cores = args$cores, + normalize = args$normalize) +} so <- sleuth_fit( so,