关于肿瘤异质性和PCA图的关系的理解,来自一篇网页上的推文,老大让我理解一下,网页是http://www.nxn.se/valent/2017/6/12/how-to-read-pca-plots。下面是理解过程如下。
(一)搜索过程
1.Characterizing transcriptional heterogeneity through pathway and gene set overdispersion analysis
A large proportion of the observed cell-to-cell variation can be attributed to technical noise stemming from processing of low amounts of starting RNA in each cell15. Similarly, some of the variation reflects low-level stochastic processes such as transcriptional bursting16. These effects pose difficulties for principal component analysis (PCA) and other dimensionality reduction approaches. In particular,non-Gaussian noise and the presence of outliers decrease the sensitivity of PCA, and increase the difficulty ofassessingthe statistical significance of the detected features. Even when cell-to-cell variation reflect prominent biological processes taking place within the measured population, these processesmay not be of primary interest. For example, differences in the metabolic state or cell cycle stage may be common to multiple cell types, and can mask more subtle cell-to-cell variability associated with cell differentiation or other processes being studied12. Such cross-cutting transcriptional features represent alternative ways to partition the cell population, and pose a challenge for the commonly-used clustering approaches that aim to reconstruct a single subpopulation structure.
cross-cutting 整合的
underpinnings 支柱
To account for the expectedtechnical noise within the data, we used a weighted PCA approach, weighting the individual observations based on the probability of failing to detecta transcript in a given cell due to drop-out or negative binomial dispersion.
We find that this weighted PCA methodexhibitssignificantly better performance in recovering the underlying population structure and separating individual cell subpopulations compared to the standard PCA and ICA approaches
2.Sparse PCA
image-20191111190807057(二)原文理解
WHAT DO YOU MEAN "HETEROGENEITY"?
1.首先,我们假设所有基因的表达都是随机产生的(通常情况下),但细胞类型A和B的平均表达量不同。表达式矩阵如下所示。
library(dplyr)
library(tidyr)
library(ggplot2)
library(ggfortify)
library(viridis)
library(mvtnorm)
G <- 100
S <- diag(G)
mu1 <- rep(0.5, G)
mu2 <- rep(-0.5, G)
image(S)
data1 <- rmvnorm(300, mu1, S)
data2 <- rmvnorm(300, mu2, S)
data <- rbind(data1, data2)
image(data)
df <- gather(as.data.frame(data))
ggplot(df, aes(x='V1', y='V2')) + geom_point()
as.data.frame(data)
df <- as.data.frame(data)
df <- mutate(df, cell = row_number())
df <- gather(df, 'gene', 'expression', -cell)
ggplot(df, aes(x=cell, y=gene)) + geom_tile(aes(fill=expression)) + theme_minimal() + scale_fill_viridis()
<img src="https://tva1.sinaimg.cn/large/006y8mN6gy1g9607o6tpkj30ng0i21b0.jpg" alt="image-20191121215621162" style="zoom: 67%;" />
画出的PCA图如下,前300个细胞来自A型细胞,最后300个细胞来自b型细胞。通过主成分PC1和PC2可以将两组细胞区分开。然而,现实情况中的细胞类型却并非如此。==我的理解==是,作者模拟异质性的数据类型,就是——所有基因的表达都是随机产生的(通常情况下),但细胞类型A和B的平均表达量不同。==我的理解==是异质性的数据就是这样吧,然后可以看到细胞分的挺开的。接下来呢,==我的理解==是作者就开始说其实实际情况中,并不是这么好弄的!然后开始列举情况了
<img src="https://tva1.sinaimg.cn/large/006y8mN6gy1g9607yd306j30me0hwgoh.jpg" alt="image-20191121215637480" style="zoom:50%;" />
2.将一组有限的基因来定义细胞类型。我们将20个基因分配给A型细胞,另外20个分配给B型细胞。
F_G <- 20
A11 <- matrix(0.9, F_G, F_G)
O12 <- matrix(0, F_G, G - F_G)
O22 <- matrix(0, G - F_G, G - F_G)
S1 <- rbind(cbind(A11, O12),
cbind(t(O12), O22))
diag(S1) <- 1.
S2 <- rbind(cbind(O22, t(O12)),
cbind(O12, A11))
diag(S2) <- 1.
image-20191121215648802
image-20191121215655494
image-20191121215703683
上面通过代码可以看的作者是通过表达量来定义的数据类型,做主成分分析后,发现同样能得到相同的分组情况,如下图
image-20191111204520986image-20191111210400897上面的图说明,假设所有的标记基因都独立地增加了各自细胞类型的表达水平。每个基因的变异是独立的。假设有一个潜在的决定细胞类型的基因模块。该基因模块由一组共同增加或减少表达的基因组成。这些基因的表达相关。==我的理解==是如果是真实存在的异质性数据,那么只要是有一些不同的基因(比如A组有20个,B组有20个)在表达量上有差异,那么其他基因即使没有区别,那么也会将两组异质性区分开。然后区分开的图性就是大概长成👆这张图的样子!
假设这20个标记基因只在它们各自的细胞类型中相关,而在另一种细胞类型中它们只对应随机噪声。对两种基因模块分别用两种不同的协方差矩阵来模拟具有多元正态分布的数据。在这种类型的数据中,PCA找到两个独立的“模块”,一个是PC1,另一个是PC2。
==其实不太懂,两种并没有分开,那么就是说明用这个协方差模拟的数据,其实不是现实中的可以用来区分异质性的数据类型==
3.我们添加了增加相应细胞类型的细胞类型模块的平均表达量的附加因素。
image-20191111210553251现在我们得到了V形,这在实际数据中很常见。当两个模块的平均表达量都很低时,这两个细胞类型集群就会相遇。这个地方==我的理解==,其实本来==协方差矩阵和多元正态分布==不足够模拟异质性的数据,然后偏偏又引入了==平均表达量==的数据,我把它理解成==robust依然低(文中没说,我自己理解的这是)==的指标,下图中显示的就是依然是分不开的,但好像比上面的“+”型好了一点。
在某种程度上这可以被解释为一个轨迹.此时只是在模拟数据时考虑了两种不同的细胞类型。==我的理解==就是在说这两种表达量上的差异(协方差、平均值)只能说明是两种细胞类型,而不是一种组织或细胞的两种异质性类型!
4.现在,让我们为其中一种细胞类型添加一个全局平均值移位
image-20191111210749891在这种类型的数据中,我们得到了T形,这在实际数据中也很常见。可以理解为可能是一种细胞的RNA含量较少,导致系统计数较低。或者是由于一种技术效应,导致细胞类型之间的系统差异。结果是得到了我们看到的这种T形的PCA图。这里容易出错的是,人们很容易将其解释一个异质性的分组。==我的理解==是作者在说这种出图结果也会勿让人以为是异质性,但是其实不是,只是表达量上的移位改变,在提醒我们这种T型的出图结果很有可能就不是真实存在的异质性结果!
5.最好假设一种情况,假设在两种细胞类型中有一些基因是相关的,但在一种细胞类型中,一些标记基因发生了改变。
image-20191111211531858这些倾斜的集群在实际数据中也很常见。最有可能的原因是,标记基因的变化是一种真实的影响,也就是发生了异质性了!但是一些常见的技术因素导致表达基因的表达值具有全局相关性。==我的理解==是告诉我们这种出图结果才是真正的异质性!不过还提到了技术上的偏差问题。
dmvnorm函数
> dmvnorm(x=c(0,0))
[1] 0.1591549
> dmvnorm(x=c(0,0), mean=c(1,1))
[1] 0.05854983
> sigma <- matrix(c(4,2,2,3), ncol=2)
> x <- rmvnorm(n=500, mean=c(1,2), sigma=sigma)
> colMeans(x)
[1] 0.994488 2.039551
> var(x)
[,1] [,2]
[1,] 4.428168 2.454781
[2,] 2.454781 3.514907
> x <- rmvnorm(n=500, mean=c(1,2), sigma=sigma, method="chol")
> colMeans(x)
[1] 0.9755568 2.0031458
> var(x)
[,1] [,2]
[1,] 4.035371 1.974784
[2,] 1.974784 3.152447
plot(x)
image-20191121215721297
思考:由于我不知道正常情况下,异质性两组PCA图上应该表达什么样子,所有全篇不知道这篇文章说明的目的是什么。是为了说明,两组组织可能在PCA图上分开了,会让人误以为这两组是异质性的两组而被认为有意义!但是作者介绍了几种情况:
第一种比如由于两组异质性的type在一些相同基因表达量上存在着差异,但是呢,这些基因并不是决定异质性的基因,同时这种差异又是不可避免的,这时表现在PCA图上显示是分开的,就让人误以为是由于异质性而分开的!就好比产生了假阳性!
第二种或者是技术上的差异,就会导致没有异质性的两组而表现地像是有异质性而分开的样子,其实就是技术上的差异。但是作者又说了句globally correlated,全句是 Most likely, these happen because the shift in marker genes is a real effect, but some common technical factor is causing expression values of expressed genes to be globally correlated.让==我认为==是作者又折中了一下,好像在说就算是有技术上的差异,那么也是全局的,就是都会对两组产生差异,就是会对两组产生同等的影响,那么你是应该可以区分出来的,就是告诉我们这种技术上的差异你应该能分辨出来!我是这么理解的,老大
思考:里面有关于We simulate the data with multivariate normal distributions, with two different block structured covariance matrices, which only have covariance for the marker genes in the corresponding cell type.==我理解==这种multivariate normal distributions(多元正态分布)和covariance matrices(协方差矩阵)这种改变,应该就是在模拟两种细胞类型的数据,为什么说是两种细胞类型的数据而不是一种细胞类型的两种异质性数据呢?==我的理解==是:从上面可以看到作者是分别从两种细胞类型A和B中挑出的20个基因,是只在各自的细胞类型相关,在对方的细胞类型中是噪声,噪声就是不相关!而这种情况下呢,细胞虽然呈“+”字型,就是还是有“+”字型中心以外的细胞是被分开了的,也就是说,在这种情况下,细胞还是被部分分开的!但是,却完全不是因为异质性!异质性应该是==相同的基因在异质型组织中呈现出了不同的表达,本来都是肿瘤组织,但是同样的一组基因,在A病人就高表达,在B病人就不高表达了,就相当于A类型和B类型吧==(我是这么理解的),而我们这里是模拟的是在数据不同的表达矩阵中,各自在各自的细胞类型中根据协方差挑选基因,那么挑选出的基因就是应该是不同的基因,但是却依然出现了部分分开的情况,虽然’‘+’‘中心有重叠。作者是在提醒我们,不要误把不同细胞类型的分开误认为是异质性的分组。
-
全国巡讲:R基础,Linux基础和RNA-seq实战演练 : 预告:12月28-30长沙站
网友评论