Mercurial > repos > goeckslab > celesta
comparison celesta_plot_cells.R @ 3:283636dbfba5 draft default tip
planemo upload for repository https://github.com/goeckslab/tools-mti/tree/main/tools/celesta commit 36453551b1045adf20925d4eb6b5816c64475728
author | goeckslab |
---|---|
date | Thu, 19 Sep 2024 17:17:51 +0000 |
parents | 8001319743c0 |
children |
comparison
equal
deleted
inserted
replaced
2:41aaffbb9473 | 3:283636dbfba5 |
---|---|
15 | 15 |
16 # define command line args | 16 # define command line args |
17 option_list <- list( | 17 option_list <- list( |
18 make_option(c("-r", "--rds"), action = "store", default = "celestaobj.rds", type = "character", | 18 make_option(c("-r", "--rds"), action = "store", default = "celestaobj.rds", type = "character", |
19 help = "Path to CelestaObj RDS"), | 19 help = "Path to CelestaObj RDS"), |
20 make_option(c("-p", "--prior"), action = "store", default = NA, type = "character", | |
21 help = "Path to prior marker info file"), | |
22 make_option(c("-c", "--celltypes"), action = "store", default = NA, type = "character", | 20 make_option(c("-c", "--celltypes"), action = "store", default = NA, type = "character", |
23 help = "Comma-separated list of cell types to plot"), | 21 help = "Comma-separated list of cell types to plot"), |
24 make_option(c("-s", "--size"), action = "store", default = 1, type = "double", | 22 make_option(c("-s", "--size"), action = "store", default = 1, type = "double", |
25 help = "Point size for plotting"), | 23 help = "Point size for plotting"), |
26 make_option(c("--width"), action = "store", default = 12, type = "integer", | 24 make_option(c("--width"), action = "store", default = 12, type = "integer", |
35 opt <- parse_args(OptionParser(option_list = option_list)) | 33 opt <- parse_args(OptionParser(option_list = option_list)) |
36 | 34 |
37 CelestaObj <- readRDS(opt$rds) | 35 CelestaObj <- readRDS(opt$rds) |
38 cell_types_to_plot <- strsplit(opt$celltypes, ",")[[1]] | 36 cell_types_to_plot <- strsplit(opt$celltypes, ",")[[1]] |
39 | 37 |
40 # read prior marker info | 38 # get indices of cell types to plot from the prior marker table |
41 prior <- read.csv(opt$prior, row.names = 1) | 39 cell_type_indices <- which(CelestaObj@prior_info[, 1] %in% cell_types_to_plot) |
42 | 40 |
43 # get indices of cell types to plot from the prior marker table | 41 print("Cell types selected for plotting:") |
44 cell_type_indices <- which(row.names(prior) %in% cell_types_to_plot) | |
45 | |
46 print(cell_types_to_plot) | 42 print(cell_types_to_plot) |
43 print("Indices of cell types selected for plotting:") | |
47 print(cell_type_indices) | 44 print(cell_type_indices) |
48 | |
49 print(row.names(prior)) | |
50 | 45 |
51 # create output directory if it doesn"t already exist | 46 # create output directory if it doesn"t already exist |
52 dir.create("cell_assign_plots") | 47 dir.create("cell_assign_plots") |
53 | 48 |
54 # create the cell type plot | 49 # create the cell type plot |
55 g <- PlotCellsAnyCombination(cell_type_assignment_to_plot = CelestaObj@final_cell_type_assignment[, (CelestaObj@total_rounds + 1)], | 50 g <- PlotCellsAnyCombination(cell_type_assignment_to_plot = CelestaObj@final_cell_type_assignment[, (CelestaObj@total_rounds + 1)], |
56 coords = CelestaObj@coords, | 51 coords = CelestaObj@coords, |
57 prior_info = prior_marker_info, | 52 prior_info = CelestaObj@prior_info, |
58 cell_number_to_use = cell_type_indices, | 53 cell_number_to_use = cell_type_indices, |
59 test_size = 1, | 54 test_size = opt$size, |
60 save_plot = FALSE) | 55 save_plot = FALSE) |
61 | 56 |
62 # create a unique output name for the plot based on the input cell types | 57 # create a unique output name for the plot based on the input cell types |
63 cell_types_cleaned <- paste(make_clean_names(cell_types_to_plot), collapse = "") | 58 cell_types_cleaned <- paste(make_clean_names(cell_types_to_plot), collapse = "") |
64 output_name <- paste(c("plot_cells_", cell_types_cleaned, ".png"), collapse = "") | 59 output_name <- paste(c("plot_cells_", cell_types_cleaned, ".png"), collapse = "") |
65 | 60 |
66 # save to subdir | 61 # save to subdir |
67 # FIXME: may want to expose plotting params to galaxy | |
68 ggsave( | 62 ggsave( |
69 path = "cell_assign_plots", | 63 path = "cell_assign_plots", |
70 filename = output_name, | 64 filename = output_name, |
71 plot = g, | 65 plot = g, |
72 width = opt$width, | 66 width = opt$width, |