我有几个样本(C2、C4、C5)并想检查它们是否处于某个阶段。我包括了一些由另一个实验室在不同阶段生成的已知样本(D0 - D77)。在 PCA 图中,我的样本在左侧聚集在一起,而已知样本分散在右侧。我认为所有样本之间的主要区别是不同的实验协议(PC1),第二个是不同的阶段(PC2)。所以我的样品处于同一阶段。是对的吗?我们可以说我的样本处于 D12 和 D19 之间的阶段(当投影到已知样本时,我的样本位于 D12 和 D19 之间)?我没有很强的数学背景。希望有数学背景的人能给出一些解释。谢谢!
[ UPDATE1 ] 我在 R 中使用prcomp进行了此分析。输入是一个 2D 数字矩阵,有 17436 行和 42 列。每行代表一个基因,每列代表一个样本。该数字是样本中基因的基因表达水平。基因表达水平使用 DESeq2 进行归一化,因此基因(行)和样本(列)之间的数字具有可比性。在 42 列中,18 列来自我的实验,其余来自已发布的数据集。除了不同的协议外,还可能存在其他差异。通常,该表是两个数据源的组合。在我的数据中,C2、C4 和 C5 是我们在实验中并行处理的三个细胞系。在已发布的数据集中,他们在不同时间点(第 0 天到第 77 天)对细胞进行了采样。
[ UPDATE2 ] PCA 和绘图的 R 代码
# normCounts: normalized count from DESeq2, with 17436 rows and 42 columns
normCounts0 <- normCounts[ rowSums(normCounts) > 0, ]
tab <- t(normCounts0)
pca <- prcomp(tab, scale = TRUE)
tmp.x <- as.data.frame(pca$x)
tmp.x$sample<-c(rep("C2_Con",3),rep("C2_KD",3),rep("C5_Con",3),rep("C5_KD",3),rep("C4_Con",3),rep("C4_KD",3), rep("D0",4),rep("D7",4),rep("D12",2),rep("D19",4),rep("D26",2),rep("D33",2),rep("D49",2),rep("D63",2),rep("D77",2))
require("ggplot2")
p <- ggplot(tmp.x, aes(x=PC1, y=PC2, color=sample))
p + geom_point() + scale_color_discrete(breaks=c("C2_Con","C2_KD","C5_Con","C5_KD","C4_Con","C4_KD", "D0","D7", "D12","D19","D26","D33","D49","D63","D77"))

