Mercurial > repos > ebi-gxa > seurat_plot
annotate scripts/seurat-scale-data.R @ 0:95d79f1134f0 draft default tip
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
| author | ebi-gxa | 
|---|---|
| date | Sat, 02 Mar 2024 10:40:08 +0000 | 
| parents | |
| children | 
| rev | line source | 
|---|---|
| 
0
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
1 #!/usr/bin/env Rscript | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
2 | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
3 # Load optparse we need to check inputs | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
4 | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
5 suppressPackageStartupMessages(require(optparse)) | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
6 | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
7 # Load common functions | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
8 | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
9 suppressPackageStartupMessages(require(workflowscriptscommon)) | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
10 | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
11 # parse options | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
12 | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
13 option_list = list( | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
14 make_option( | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
15 c("-i", "--input-object-file"), | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
16 action = "store", | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
17 default = NA, | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
18 type = 'character', | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
19 help = "File name in which a serialized R matrix object may be found." | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
20 ), | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
21 make_option( | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
22 c("--input-format"), | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
23 action = "store", | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
24 default = "seurat", | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
25 type = 'character', | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
26 help = "Either loom, seurat, anndata or singlecellexperiment for the input format to read." | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
27 ), | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
28 make_option( | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
29 c("--output-format"), | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
30 action = "store", | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
31 default = "seurat", | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
32 type = 'character', | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
33 help = "Either loom, seurat, anndata or singlecellexperiment for the output format." | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
34 ), | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
35 make_option( | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
36 c("-e", "--genes-use"), | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
37 action = "store", | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
38 default = NULL, | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
39 type = 'character', | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
40 help = "File with gene names to scale/center (one gene per line). Default is all genes in object@data." | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
41 ), | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
42 make_option( | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
43 c("-v", "--vars-to-regress"), | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
44 action = "store", | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
45 default = NULL, | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
46 type = 'character', | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
47 help = "Comma-separated list of variables to regress out (previously latent.vars in RegressOut). For example, nUMI, or percent.mito." | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
48 ), | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
49 make_option( | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
50 c("-m", "--model-use"), | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
51 action = "store", | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
52 default = 'linear', | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
53 type = 'character', | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
54 help = "Use a linear model or generalized linear model (poisson, negative binomial) for the regression. Options are 'linear' (default), 'poisson', and 'negbinom'." | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
55 ), | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
56 make_option( | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
57 c("-u", "--use-umi"), | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
58 action = "store", | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
59 default = FALSE, | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
60 type = 'logical', | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
61 help = "Regress on UMI count data. Default is FALSE for linear modeling, but automatically set to TRUE if model.use is 'negbinom' or 'poisson'." | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
62 ), | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
63 make_option( | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
64 c("-s", "--do-not-scale"), | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
65 action = "store_true", | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
66 default = FALSE, | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
67 type = 'logical', | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
68 help = "Skip the data scale." | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
69 ), | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
70 make_option( | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
71 c("-c", "--do-not-center"), | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
72 action = "store_true", | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
73 default = FALSE, | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
74 type = 'logical', | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
75 help = "Skip data centering." | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
76 ), | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
77 make_option( | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
78 c("-x", "--scale-max"), | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
79 action = "store", | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
80 default = 10, | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
81 type = 'double', | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
82 help = "Max value to return for scaled data. The default is 10. Setting this can help reduce the effects of genes that are only expressed in a very small number of cells. If regressing out latent variables and using a non-linear model, the default is 50." | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
83 ), | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
84 make_option( | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
85 c("-b", "--block-size"), | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
86 action = "store", | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
87 default = 1000, | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
88 type = 'integer', | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
89 help = "Default size for number of genes to scale at in a single computation. Increasing block.size may speed up calculations but at an additional memory cost." | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
90 ), | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
91 make_option( | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
92 c("-d", "--min-cells-to-block"), | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
93 action = "store", | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
94 default = 1000, | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
95 type = 'integer', | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
96 help = "If object contains fewer than this number of cells, don't block for scaling calculations." | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
97 ), | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
98 make_option( | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
99 c("-n", "--check-for-norm"), | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
100 action = "store", | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
101 default = TRUE, | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
102 type = 'logical', | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
103 help = "Check to see if data has been normalized, if not, output a warning (TRUE by default)." | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
104 ), | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
105 make_option( | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
106 c("-o", "--output-object-file"), | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
107 action = "store", | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
108 default = NA, | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
109 type = 'character', | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
110 help = "File name in which to store serialized R object of type 'Seurat'.'" | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
111 ) | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
112 ) | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
113 | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
114 opt <- wsc_parse_args(option_list, mandatory = c('input_object_file', 'output_object_file')) | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
115 | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
116 # Check parameter values | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
117 | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
118 if ( ! file.exists(opt$input_object_file)){ | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
119 stop((paste('File', opt$input_object_file, 'does not exist'))) | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
120 } | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
121 | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
122 if (! is.null(opt$genes_use)){ | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
123 if (! file.exists(opt$genes_use)){ | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
124 stop((paste('Supplied genes file', opt$genes_use, 'does not exist'))) | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
125 }else{ | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
126 genes_use <- readLines(opt$genes_use) | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
127 } | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
128 }else{ | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
129 genes_use <- NULL | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
130 } | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
131 | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
132 # break up opt$vars_to_regress into a list if it has commas | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
133 opt$vars_to_regress <- unlist(strsplit(opt$vars_to_regress, ",")) | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
134 | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
135 # Now we're hapy with the arguments, load Seurat and do the work | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
136 | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
137 suppressPackageStartupMessages(require(Seurat)) | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
138 if(opt$input_format == "loom" | opt$output_format == "loom") { | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
139 suppressPackageStartupMessages(require(SeuratDisk)) | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
140 } else if(opt$input_format == "singlecellexperiment" | opt$output_format == "singlecellexperiment") { | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
141 suppressPackageStartupMessages(require(scater)) | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
142 } | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
143 | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
144 # Input from serialized R object | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
145 | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
146 seurat_object <- read_seurat4_object(input_path = opt$input_object_file, format = opt$input_format) | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
147 # https://stackoverflow.com/questions/9129673/passing-list-of-named-parameters-to-function | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
148 # might be useful | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
149 scaled_seurat_object <- ScaleData(seurat_object, | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
150 features = genes_use, | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
151 vars.to.regress = opt$vars_to_regress, | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
152 model.use = opt$model_use, | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
153 use.umi = opt$use_umi, | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
154 do.scale = !opt$do_not_scale, | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
155 do.center = !opt$do_not_center, | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
156 scale.max = opt$scale_max, | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
157 block.size = opt$block_size, | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
158 min.cells.to.block = opt$min_cells_to_block, | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
159 verbose = FALSE) | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
160 | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
161 | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
162 # Output to a serialized R object | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
163 write_seurat4_object(seurat_object = scaled_seurat_object, | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
164 output_path = opt$output_object_file, | 
| 
 
95d79f1134f0
planemo upload commit 0264c359f1d638bbbbab515a3502231f679cdcf6
 
ebi-gxa 
parents:  
diff
changeset
 | 
165 format = opt$output_format) | 
