SC3 - consensus clustering of si
SC3本质上来说还是k-means聚类,但是在聚类前后进行了一些特殊的操作。首先对原始数据进行基因过滤以及PCA或者laplacian变换降维,减少数据噪声聚聚类结果的影响。最后计算多次的聚类结果的一致性,帮助我们得到最优的聚类结果。
一、方法步骤
输入:表达矩阵,行为基因,列为细胞,表达值可以是TPM、CPM、UMI count、FPKM、RPKM
(1)基因过滤:过滤掉表达细胞比例较少的稀有基因和表达比例特别高的ubiquitous genes
(2)计算距离矩阵:如图所示3种方法分别计算细胞的距离矩阵。(得到3个距离矩阵)
(3)降维:分别进行PCA和laplacian转化(此处的laplacian具体原理不了解),得到3*2个转化矩阵,然后分别选取特征值最高的前d个特征向量(比如PCA中分别选取PC1、PC1+PC2、PC1+…+PCd)。得到3*2*d个降维矩阵
(4)K-means聚类:对降维矩阵进行聚类。得到3*2*d个聚类结果
(5)计算一致性:对每一个聚类结果计算一个二值相似性矩阵,两个细胞在同一个cluster则为1,反之为0。将所有的二值相似性矩阵取均值得到最后的一致性矩阵。
(6)一致性矩阵聚类:用层次聚类对一致性矩阵聚类。
二、使用该方法的注意事项
(1)第4中的聚类的类别数目和最后一次的类别数目原则上是可以不一样的,但是为了降低算法的复杂度,该方法将两个参数K设为一致的。
(2)第二步降维处理的时候,有一个问题,到底降到多少维呢?作者经过大量的数据表明:原向量维数的4%-7%是一个比较合适的目标维数。
(3)由于算法的复杂度较高,因此在聚类之前不经要过滤低质量的基因,通常要对表达谱进行高变异基因的筛选。
(4)根据实际SC3 R包的操作发现,输入需要包括原始表达谱和标化后的表达谱(通常是log2转化后的表达谱,也可以是经过特殊标化的表达谱,比如标化了样本间的差异的表达谱)
(5)聚类完成后,我们可以根据一致性矩阵计算轮廓系数(0到1之间,越大越好),帮助我们得到最优的类别数目。
三、方法优缺点
(1)聚类效能好,但是算法复杂度高,所以比较耗时