Set different color palettes to be used for different assays in FeaturePlot_DualAssay
raunakkar opened this issue · 3 comments
Hi,
Thank you os much for this amazing package. It has made life easier by a lot.
I would like to request for an enhancement to an already avaliable function, FeaturePlot_DualAssay.
For now, both assays use same color palette provided by colors_use
. I would like to visualize this using 2 independent color palettes.
I modified the original function and manually provided the colors and it is working as long as I am not splitting the Seurat object.
DefaultAssay(object = seurat_object) <- assay1
plot_raw <- FeaturePlot_scCustom(seurat_object = seurat_object, features = features, layer = layer, colors_use = viridis_plasma_dark_high, na_color = na_color, na_cutoff = na_cutoff, order = order, pt.size = pt.size, reduction = reduction, raster = raster, alpha_exp = alpha_exp, alpha_na_exp = alpha_na_exp, raster.dpi = raster.dpi, ...) & labs(color = assay1)
Change to cell bender and plot
DefaultAssay(object = seurat_object) <- assay2
plot_cell_bender <- FeaturePlot_scCustom(seurat_object = seurat_object, features = features, layer = layer, colors_use = viridis_dark_high, na_color = na_color, na_cutoff = na_cutoff, order = order, pt.size = pt.size, reduction = reduction, raster = raster, alpha_exp = alpha_exp, alpha_na_exp = alpha_na_exp, raster.dpi = raster.dpi, ...) & labs(color = assay2)
The moment I try to split, like this, FeaturePlot_DualAssay_col(combined, features = kp, assay1 = "SCT", assay2 = "gene.activity", split.by = "Origin", pt.size = 0.5, reduction = "wnn.umap", na_color = "lightgray", num_columns = 1)
it gives me the following error:
Error in match.arg(arg = layer, choices = c("counts", "data", "scale.data")): 'arg' must be NULL or a character vector
Traceback:
- FeaturePlot_DualAssay_col(combined, features = kp, assay1 = "SCT",
. assay2 = "gene.activity", split.by = "Origin", pt.size = 0.5,
. reduction = "wnn.umap", na_color = "lightgray", num_columns = 1,
. split_seurat = T)
FeaturePlot_scCustom(seurat_object = seurat_object, features = features,
. layer = layer, colors_use = viridis_plasma_dark_high, na_color = na_color,
. na_cutoff = na_cutoff, order = order, pt.size = pt.size,
. reduction = reduction, raster = raster, alpha_exp = alpha_exp,
. alpha_na_exp = alpha_na_exp, raster.dpi = raster.dpi, ...) # at line 76 of fileFetchData(object = seurat_object, vars = all_found_features,
. layer = layer)FetchData.Seurat(object = seurat_object, vars = all_found_features,
. layer = layer)FetchData(object = object[[DefaultAssay(object = object)]], vars = default.vars,
. cells = cells, layer = layer, ...)
- FetchData.Assay(object = object[[DefaultAssay(object = object)]],
. vars = default.vars, cells = cells, layer = layer, ...)
match.arg(arg = layer, choices = c("counts", "data", "scale.data"))
stop("'arg' must be NULL or a character vector")
Hi @raunakkar,
I think this is good idea to have as optional parameter. I will work on it and update here when live.
Best,
Sam
@samuel-marsh thank you for this. Also, much thanks for this amazing package once more!
Regards,
Raunak
Hi Raunak,
Thank you so much for kind words! The update is now live in the release prep branch "release/2.2.0" (v2.1.2.9062 or greater). If your issue persists after updating to the in dev branch please let me know here and I'll reopen the issue.
Best,
Sam