聚类分析是生信分析中常用的工具,在转录组分析中经常用到。聚类分析将表达模式相似的基因聚类在一起,以基因集的形式进行后续分析,今天我给大家介绍其相关原理。
聚类方法有很多,常用的有以下几个:
下图的例子展示的是,差异表达基因集的聚类热图。
多是基于R语言函数绘制(gplots程序包),该函数默认使用的聚类方法是计算欧式距离(Euclidean Distance)进行层次聚类(Hierarchical Cluster)。
这个图的是什么意思呢?我们来解释一下。
首先,我们先明确下什么是欧式距离(Euclidean Distance):
欧式距离,也称欧几里得距离,是衡量多维空间的两个点之间的绝对距离,
(1) 二维平面,两点a(x1,y1),b(x2,y2) 欧式距离的计算公式为:
(2) 三维空间,欧式距离的计算公式为:
(3) n维空间,欧式距离的计算公式为:
那么,体现在基因表达量的矩阵上,则如下:
(1) 首行为样本名; (2) 首列为基因名; (3) 数字则为基因在相应样本中的表达量(一般使用标准化后的表达量矩阵)
Gene1与Gene2的欧式距离为:
Gene1与Gene3的欧式距离为:
Gene1与Gene4的欧式距离为:
计算出所有基因两两之间的欧式距离之后,就可以进行聚类啦:
Cluster之间的聚类,则有3种方法:
R语言中hclust函数的默认方法为最长距离法(complete-linkage)。
以上的聚类过程即称之为 层级聚类 。
层级聚类一般伴随着 系统聚类图 ,系统聚类图分支的长短也体现Cluster形成的早晚,分支越短,形成的越早,基因表达模式也越相近。
聚类分析将基因划分为不同的基因集合,用于反映不同实验条件下样品差异表达基因的变化模式。
功能相关的基因在相同条件下通常具有相似的表达模式,例如被共同的转录因子调控的基因,或其产物构成同一个蛋白复合体的基因,或参与相同生物学过程的基因。对这些基因集进行分析往往可以获得比单基因分析更为可靠的结果。