在两个不同条件下在同一图表中显示两个基因计数。使用绘图计数函数从Deseq2获得这些基因的标准化计数。在具有相同x轴的相同图中绘制这两个基因,其具有三个条件Ctrl,T1,T2和不同的y轴(基于计数)。另外一个变量是重复的PAT1,2,3,4,5,我希望通过不同的形状和基因来区分它们#34; x"和" y"有两种不同的颜色。我从提到的链接尝试了类似的东西,到目前为止没有真正起作用 GENEX
genecounts <- plotCounts(dds, gene = paste(geneX),
intgroup = c("timepoint","patient"),returnData = TRUE)
# count timepoint patient
# PAT1.ctrl 19.975535 ctrl PAT1
# PAT2.ctrl 15.095701 ctrl PAT2
# PAT3.ctrl 31.067328 ctrl PAT3
# PAT4.ctrl 23.507453 ctrl PAT4
# PAT5.ctrl 64.955803 ctrl PAT5
# PAT1.T1 25.087863 T1 PAT1
# PAT2.T1 12.265661 T1 PAT2
# PAT3.T1 21.514517 T1 PAT3
# PAT4.T1 12.853989 T1 PAT4
# PAT5.T1 29.887820 T1 PAT5
# PAT1.T2 16.234911 T2 PAT1
# PAT2.T2 7.620990 T2 PAT2
# PAT3.T2 36.834481 T2 PAT3
# PAT4.T2 7.085464 T2 PAT4
# PAT5.T2 13.330165 T2 PAT5
第二个基因Y计划
# count timepoint patient
PAT1.ctrl 156949.94 ctrl PAT1
PAT2.ctrl 164856.70 ctrl PAT2
PAT3.ctrl 258139.79 ctrl PAT3
PAT4.ctrl 103669.21 ctrl PAT4
PAT5.ctrl 434170.02 ctrl PAT5
PAT1.T1 128839.83 T1 PAT1
PAT2.T1 98877.64 T1 PAT2
PAT3.T1 198419.57 T1 PAT3
PAT4.T1 97918.21 T1 PAT4
PAT5.T1 306861.69 T1 PAT5
PAT1.T2 124161.91 T2 PAT1
PAT2.T2 92150.86 T2 PAT2
PAT3.T2 265243.35 T2 PAT3
PAT4.T2 90364.91 T2 PAT4
PAT5.T2 399177.04 T2 PAT5
到目前为止,我使用此代码生成单独的ggplots
#ggplot(genecounts, aes(x = timepoint, y = count, color = patient)) + geom_beeswarm(cex =3)
任何帮助/建议都将受到高度赞赏
答案 0 :(得分:2)
第一步是为每个数据框添加一个基因名称列,然后将它们组合起来。
你可以从geom_point
开始:我会为患者使用颜色并为基因塑造形状。您将需要使用对数刻度,因为计数相差数量级。假设您的数据框名为geneX
和geneY
:
library(dplyr)
library(ggplot2)
geneX %>%
mutate(gene = "X") %>%
bind_rows(mutate(geneY, gene = "Y")) %>%
ggplot(aes(timepoint, count)) +
geom_point(aes(color = patient, shape = gene)) +
scale_y_log10()
您可以尝试使用geom-jitter
来避免点重叠。
如果你想连接点,你需要按基因和患者分组,这是一个更多的工作:
geneX %>%
mutate(gene = "X") %>%
bind_rows(mutate(geneY, gene = "Y")) %>%
ggplot(aes(timepoint, count)) +
geom_line(aes(color = patient, group = interaction(patient, gene))) +
geom_point(aes(color = patient, shape = gene)) +
scale_y_log10()