Mercurial > repos > iuc > scater_plot_tsne
annotate scater-create-qcmetric-ready-sce.R @ 0:a30f4bfe8f01 draft
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
| author | iuc | 
|---|---|
| date | Tue, 03 Sep 2019 14:30:21 -0400 | 
| parents | |
| children | 2b09ca1c5e41 | 
| rev | line source | 
|---|---|
| 0 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 1 #!/usr/bin/env Rscript | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 2 #Creates a SingleCellExperiment object, which scater's calculateQCMetrics already applied | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 3 | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 4 library(optparse) | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 5 library(workflowscriptscommon) | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 6 library(scater) | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 7 library(LoomExperiment) | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 8 | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 9 # parse options | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 10 #SCE-specific options | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 11 option_list = list( | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 12 make_option( | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 13 c("-a", "--counts"), | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 14 action = "store", | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 15 default = NA, | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 16 type = 'character', | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 17 help = "A tab-delimited expression matrix. The first column of all files is assumed to be feature names and the first row is assumed to be sample names." | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 18 ), | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 19 make_option( | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 20 c("-r", "--row-data"), | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 21 action = "store", | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 22 default = NULL, | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 23 type = 'character', | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 24 help = "Path to TSV (tab-delimited) format file describing the features. Row names from the expression matrix (-a), if present, become the row names of the SingleCellExperiment." | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 25 ), | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 26 make_option( | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 27 c("-c", "--col-data"), | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 28 action = "store", | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 29 default = NULL, | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 30 type = 'character', | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 31 help = "Path to TSV format file describing the samples (annotation). The number of rows (samples) must equal the number of columns in the expression matrix." | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 32 ), | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 33 #The scater-specific options | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 34 make_option( | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 35 c("--assay-name"), | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 36 action = "store", | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 37 default = 'counts', | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 38 type = 'character', | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 39 help= "String specifying the name of the 'assay' of the 'object' that should be used to define expression." | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 40 ), | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 41 make_option( | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 42 c("-f", "--mt-controls"), | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 43 action = "store", | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 44 default = NULL, | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 45 type = 'character', | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 46 help = "Path to file containing a list of the mitochondrial control genes" | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 47 ), | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 48 make_option( | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 49 c("-p", "--ercc-controls"), | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 50 action = "store", | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 51 default = NULL, | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 52 type = 'character', | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 53 help = "Path to file containing a list of the ERCC controls" | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 54 ), | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 55 make_option( | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 56 c("-l", "--cell-controls"), | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 57 action = "store", | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 58 default = NULL, | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 59 type = 'character', | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 60 help = "Path to file (one cell per line) to be used to derive a vector of cell (sample) names used to identify cell controls (for example, blank wells or bulk controls)." | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 61 ), | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 62 make_option( | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 63 c("-o", "--output-loom"), | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 64 action = "store", | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 65 default = NA, | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 66 type = 'character', | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 67 help = "File name in which to store the SingleCellExperiment object in Loom format." | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 68 ) | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 69 ) | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 70 | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 71 opt <- wsc_parse_args(option_list, mandatory = c('counts', 'output_loom')) | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 72 | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 73 # Read the expression matrix | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 74 | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 75 counts <- wsc_split_string(opt$counts) | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 76 reads <- read.table(counts) | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 77 | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 78 # Read row and column annotations | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 79 | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 80 rowdata <- opt$row_data | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 81 | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 82 if ( ! is.null(opt$row_data) ){ | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 83 rowdata <- read.delim(opt$row_data) | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 84 } | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 85 | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 86 coldata <- opt$col_data | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 87 | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 88 if ( ! is.null(opt$col_data) ){ | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 89 coldata <- read.delim(opt$col_data) | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 90 } | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 91 | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 92 # Now build the object | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 93 assays <- list(as.matrix(reads)) | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 94 names(assays) <- c(opt$assay_name) | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 95 scle <- SingleCellLoomExperiment(assays = assays, colData = coldata, rowData = rowdata) | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 96 # Define spikes (if supplied) | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 97 | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 98 | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 99 #Scater options | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 100 | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 101 # Check feature_controls (only mitochondrial and ERCC used for now) | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 102 feature_controls_list = list() | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 103 if (! is.null(opt$mt_controls) && opt$mt_controls != 'NULL'){ | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 104 if (! file.exists(opt$mt_controls)){ | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 105 stop((paste('Supplied feature_controls file', opt$mt_controls, 'does not exist'))) | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 106 } else { | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 107 mt_controls <- readLines(opt$mt_controls) | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 108 feature_controls_list[["MT"]] <- mt_controls | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 109 } | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 110 } | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 111 | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 112 if (! is.null(opt$ercc_controls) && opt$ercc_controls != 'NULL'){ | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 113 if (! file.exists(opt$ercc_controls)){ | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 114 stop((paste('Supplied feature_controls file', opt$ercc_controls, 'does not exist'))) | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 115 } else { | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 116 ercc_controls <- readLines(opt$ercc_controls) | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 117 feature_controls_list[["ERCC"]] <- ercc_controls | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 118 } | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 119 } else { | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 120 ercc_controls <- character() | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 121 } | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 122 | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 123 # Check cell_controls | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 124 cell_controls_list <- list() | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 125 if (! is.null(opt$cell_controls) && opt$cell_controls != 'NULL'){ | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 126 if (! file.exists(opt$cell_controls)){ | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 127 stop((paste('Supplied feature_controls file', opt$cell_controls, 'does not exist'))) | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 128 } else { | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 129 cell_controls <- readLines(opt$cell_controls) | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 130 cell_controls_list[["empty"]] <- cell_controls | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 131 } | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 132 } | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 133 | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 134 | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 135 # calculate QCMs | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 136 scle <- calculateQCMetrics(scle, exprs_values = opt$assay_name, feature_controls = feature_controls_list, cell_controls = cell_controls_list) | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 137 | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 138 # Output to a Loom file | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 139 if (file.exists(opt$output_loom)) { | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 140 file.remove(opt$output_loom) | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 141 } | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 142 export(scle, opt$output_loom, format='loom') | 
