我想创建一个冲积图,显示两个条件之间的细胞通量。我使用的是来自元数据seurat对象的数据。
我的数据:
meta= data.frame(cell= rownames(seurat@meta.data), geno= seurat$genotype, cluster= seurat$seurat_cluster, num= 1:length(rownames(seurat@meta.data)))
head(meta)
cell geno cluster num
KO_d8_r1_AAACAGCCAACCCTAA-1 KO_d8_r1_AAACAGCCAACCCTAA-1 KO_d8 6 1
KO_d8_r1_AAACAGCCAGGAACAT-1 KO_d8_r1_AAACAGCCAGGAACAT-1 KO_d8 1 2
KO_d8_r1_AAACAGCCATGTTGCA-1 KO_d8_r1_AAACAGCCATGTTGCA-1 KO_d8 1 3
KO_d8_r1_AAACATGCATAGCGGA-1 KO_d8_r1_AAACATGCATAGCGGA-1 KO_d8 1 4
KO_d8_r1_AAACCAACATGGCCTG-1 KO_d8_r1_AAACCAACATGGCCTG-1 KO_d8 3 5
KO_d8_r1_AAACCGAAGGGCTTAT-1 KO_d8_r1_AAACCGAAGGGCTTAT-1 KO_d8 5 6
tail(meta)
cell geno cluster num
WT_d8_r2_TTTGTCCCAATCCCTT-1 WT_d8_r2_TTTGTCCCAATCCCTT-1 WT_d8 4 6598
WT_d8_r2_TTTGTCTAGGATCACT-1 WT_d8_r2_TTTGTCTAGGATCACT-1 WT_d8 5 6599
WT_d8_r2_TTTGTGAAGTTAGAGG-1 WT_d8_r2_TTTGTGAAGTTAGAGG-1 WT_d8 1 6600
WT_d8_r2_TTTGTGGCACAACCTA-1 WT_d8_r2_TTTGTGGCACAACCTA-1 WT_d8 6 6601
WT_d8_r2_TTTGTGTTCCTTGAGG-1 WT_d8_r2_TTTGTGTTCCTTGAGG-1 WT_d8 0 6602
WT_d8_r2_TTTGTTGGTAGCCTAA-1 WT_d8_r2_TTTGTTGGTAGCCTAA-1 WT_d8 4 6603
我的代码:
ggplot(meta,
aes(x = geno, stratum = cluster, alluvium = num, y = cluster,
fill = num, label = cluster)) +
scale_x_discrete(expand = c(.1, 0)) +
geom_flow(width = 1/4) +
geom_stratum(alpha = .5, width = 1/4) +
geom_text(stat = "stratum", size = 4) +
theme(legend.position = "none") +
ggtitle("flux of cells")
我的输出:
但是冲积层,如你所见,没有显示细胞的流动,有什么建议吗?
1条答案
按热度按时间kxkpmulp1#
简介
我认为您所面临的问题更多的是如何定义
alluvium
参数。该参数应该与右地层和左地层之间的信息流有关。因此,它应该为您的数据的每一行定义冲积层类别。例如,一类是冲积层(流)在“KO_d8”中的群集0和“WT_d8”中的群集1之间。此处num
列似乎(用于定义冲积层)不代表冲积层。在所表示的数据中,我看不出两个地层之间的联系是什么,也就是说,是什么将线条(或细胞;)属于“KO_d8”基因型,其余为“WT_d8”基因型。
知道了这一点,只能有两种情况:
1.“KO_d8”中的单元格与“WT_d8”中的单元格之间确实存在链接
1.“KO_d8”中的单元格与“WT_d8”中的单元格之间没有链接
案例编号1:
在这种情况下,你必须找到定义两个类别中单元格之间链接的列,然后,你可以按照ggalluvial小插图(链接)中的描述复制长形冲积层。
案例编号2:
在这种情况下,我想您只需要可视化聚类的内部比例在两种分层条件下如何变化。
在这里,冲积层仅将地层“KO_d8”中的第
x
个聚类与地层“WT_d8”中的第x
个聚类连接起来,而x
的取值范围为0
~13
。为此,您需要以正确的格式处理数据。
因此,您可以将冲积层绘制为: