如何更改Seurat Dimplot的默认配色方案?

时间:2020-09-13 05:52:49

标签: r seurat

尊敬的全球专家

你好, 我正在使用Seurat分析整合的单细胞RNA序列数据。 我确认了Dimplot的默认配色方案,如下所述。

$ ./bin/iss
enter s: my dog has fleas
iss has: my dog has fleas
my
dog
has
fleas

enter image description here

但是我想更改Dimplot的当前默认颜色。 因此,我通过以下评论对其进行了尝试。它成功地在Dimplot中更改了颜色,但是此更改后的调色板未应用于下游分析(例如DoHeatmap中的群集标签栏。)。

show_col(hue_pal()(16))

是否可以更改Dimplot的默认配色方案并将其应用于所有下游分析?

谢谢!

1 个答案:

答案 0 :(得分:1)

问题似乎是DimPlot(cols=)依赖于颜色的命名字符向量中的名称,而DoHeatmap(group.colors=)依赖于它们的顺序。因此,您只需要按名称订购它们,并且配色方案应一致:


my_seurat <- subset(initial_object, idents = 1:16)

levels(Idents(my_seurat))

my_cols <- c('3'='#F68282','15'='#31C53F','5'='#1FA195','1'='#B95FBB','13'='#D4D915',
  '14'='#28CECA','9'='#ff9a36','8'='#2FF18B','11'='#aeadb3','6'='#faf4cf',
  '2'='#CCB1F1','12'='#25aff5','7'='#A4DFF2','4'='#4B4BF7','16'='#AC8F14',
  '10'='#E6C122')

my_cols2 <- my_cols[order(as.integer(names(my_cols)))]
scales::show_col(my_cols2)


DimPlot(my_seurat,
        cols = my_cols2, label=TRUE , repel=TRUE)
DoHeatmap(my_seurat,
          features = c("gene1", "gene2"),
          group.colors = my_cols2)