Mercurial > repos > iuc > scater_plot_tsne
annotate scater-plot-pca.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 | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 3 # Creates a PCA plot of a normalised SingleCellExperiment object. | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 4 | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 5 # Load optparse we need to check inputs | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 6 | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 7 library(optparse) | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 8 library(workflowscriptscommon) | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 9 library(LoomExperiment) | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 10 library(scater) | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 11 | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 12 # parse options | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 13 | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 14 option_list = list( | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 15 make_option( | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 16 c("-i", "--input-loom"), | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 17 action = "store", | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 18 default = NA, | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 19 type = 'character', | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 20 help = "A SingleCellExperiment object file in Loom format." | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 21 ), | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 22 make_option( | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 23 c("-c", "--colour-by"), | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 24 action = "store", | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 25 default = NULL, | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 26 type = 'character', | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 27 help = "Feature (from annotation file) to colour PCA plot points by. The values represented in this options should be categorical" | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 28 ), | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 29 make_option( | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 30 c("-s", "--size-by"), | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 31 action = "store", | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 32 default = NULL, | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 33 type = 'character', | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 34 help = "Feature (from annotation file) to size PCA plot points by. The values represented in this options should be numerical and not categorical" | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 35 ), | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 36 make_option( | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 37 c("-p", "--shape-by"), | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 38 action = "store", | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 39 default = NULL, | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 40 type = 'character', | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 41 help = "Feature (from annotation file) to shape PCA plot points by. The values represented in this options should be categorical" | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 42 ), | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 43 make_option( | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 44 c("-o", "--output-plot-file"), | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 45 action = "store", | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 46 default = NA, | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 47 type = 'character', | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 48 help = "Path of the PDF output file to save plot to." | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 49 ) | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 50 ) | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 51 | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 52 opt <- wsc_parse_args(option_list, mandatory = c('input_loom', 'output_plot_file')) | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 53 # Check parameter values | 
| 
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 if ( ! file.exists(opt$input_loom)){ | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 56 stop((paste('File', opt$input_loom, 'does not exist'))) | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 57 } | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 58 | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 59 | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 60 # Input from Loom format | 
| 
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 scle <- import(opt$input_loom, format='loom', type='SingleCellLoomExperiment') | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 63 scle <- normalize(scle, exprs_values = 1) | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 64 scle <- runPCA(scle) | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 65 plot <- plotReducedDim(scle, "PCA", colour_by = opt$colour_by, size_by = opt$size_by, shape_by = opt$shape_by) | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 66 #do the scatter plot of reads vs genes | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 67 | 
| 
a30f4bfe8f01
"planemo upload for repository https://github.com/galaxyproject/tools-iuc/tree/master/tools/scater commit 61f3899168453092fd25691cf31871a3a350fd3b"
 iuc parents: diff
changeset | 68 ggsave(opt$output_plot_file, plot, device="pdf") | 
