
现代生物学以前所未有的规模产生数据,尤其是在基因组学领域。在这一领域,像单细胞RNA测序这样的技术可以测量成千上万个单细胞中数千个基因的活性。这股信息的洪流带来了一个严峻的挑战:我们如何才能在这些庞大的数值矩阵中解读出隐藏的生物学结构和模式?基因表达聚类作为一种基础的计算方法应运而生,为整理数据以揭示有意义的生物学见解提供了一个强大的框架。本文将探索基因表达聚类的世界,从其核心机制到其变革性的应用。
首先,在 “原理与机制” 一章中,我们将探讨聚类的基本概念。我们将讨论如何利用聚类对细胞或基因进行分组,距离度量在定义相似性中的关键作用,以及在分析前清理数据所需的必要预处理步骤。随后, “应用与跨学科联系” 一章将展示这些原理如何应用于解决现实世界中的生物学问题。我们将看到聚类如何帮助识别新的疾病亚型、创建全面的细胞图谱、重建组织结构,甚至揭示深层的进化原理。读完本文,您将理解这种计算排序行为如何将原始数据转化为生物学知识。
想象一下,你走进一个图书馆,所有的书都被扔进一个巨大的书堆里。你的任务是理清头绪。你会如何开始呢?你不会从阅读每本书的每个字开始。相反,你可能会开始分类。也许你会按封面颜色、按大小,或者更有用地,按主题来分组。小说在这里,物理学在那边,历史在那个角落。这种分组——即聚类——是人类驯服复杂性的基本方法。你还不知道每本书的内容,但这些分组本身就在讲述一个故事。你发现了这个图书馆隐藏的结构。
在生物学中,我们常常面临类似的挑战。高通量实验,如单细胞RNA测序(scRNA-seq),为我们提供了一个巨大的数字矩阵——一个数字化的“书堆”。每一本“书”可以是一个单细胞,其“文本”是它的基因表达谱,一个包含数千个数字的列表,告诉我们每个基因的活跃程度。基因表达聚类的目标正是如此:整理这些书,并从中发现故事。
我们必须问的第一个问题是:我们在分类什么,以及为什么?聚类的美妙之处在于,我们可以用两种基本方式来应用它,就像从正面或背面观察一幅织锦。
首先,我们可以对细胞(或患者样本)进行聚类。想象一位科学家正在研究一个发育中的小鼠胚胎。在进行scRNA-seq之后,他们拥有了数千个单细胞的表达谱。通过应用聚类算法,他们实际上是在问数据:“和你的同类聚在一起。”具有相似基因表达谱的细胞将被分到同一组。这里的深层假设是,表达上的相似性反映了共同的身份或功能。以相同方式“交谈”的细胞很可能是同一类型的细胞。一个聚类可能被揭示为新生的心肌细胞,另一个则是未来的神经元,所有这些都通过它们集体的转录合唱被识别出来。这是在这种背景下聚类的主要目标:从数据本身发现和定义细胞类型和状态。同样的逻辑也适用于更大的尺度。通过根据数百名不同患者的整体基因活性对他们的肿瘤样本进行聚类,研究人员可以发现,原本被认为是一种疾病的,实际上是多个不同分子亚型的集合,每个亚型都有其自身的基因表达模式,可能预测患者的预后或对治疗的反应。
或者,我们可以将矩阵翻转过来,对基因进行聚类。现在,每个基因是一个对象,它的“特征”是它在许多不同条件或细胞中的表达水平。想象一个实验,细菌暴露于突然的冲击下,我们随时间测量基因的活性。如果我们发现两个基因 orpA 和 orpB 的表达水平完全同步地上升和下降,它们将被分在同一个聚类中。这意味着什么呢?这就像注意到两个学生在考试中总是给出相同的答案。这并不能证明他们坐在一起,或者一个抄了另一个。但这强烈暗示他们使用了同一本教科书学习。同样,共表达的基因被假设为共调控的;也就是说,它们很可能由共同的分子机制控制,例如被同一个主调控蛋白开启或关闭。这是一种强大的“关联推断”原则,帮助我们拼凑出细胞的调控回路。
无论我们是在聚类细胞还是基因,算法的核心任务都是测量任意两个项目之间的“相似性”或反之,“距离”。这并不像听起来那么简单。我们如何测量距离的选择,从根本上塑造了我们发现的模式。它是我们观察数据的镜头。
让我们考虑一个简单的假设案例,有三个基因,每个基因在三种条件下测量了表达量:
GENE1: (1000, 1200, 1100)GENE2: (10, 12, 11)GENE3: (1010, 1005, 1015)一种常见的距离测量方法是我们熟悉的欧几里得距离——两点之间的直线距离。如果你将每个基因的表达谱想象成多维空间中的一个点,这仅仅是连接它们的线段的长度。使用这个度量,GENE1 与 GENE2 的距离非常远,因为它们的绝对表达水平差异巨大(1000 vs. 10)。然而,GENE1 与 GENE3 相当接近,因为它们的数值相似。因此,使用欧几里得距离的聚类算法会将 GENE1 和 GENE3 分为一组。这个度量对量值敏感。它能找到在相似绝对水平上活跃的事物。
但如果我们关心的是调控的模式,而不是产物的绝对数量呢?请注意,GENE1 和 GENE2 有着完全相同的节奏:它们都在第一个到第二个条件下上升,然后在第三个条件下略有下降。它们的表达谱是完全成比例的。而 GENE3 则有完全不同的舞蹈——它先下降然后又上升。
为了捕捉这一点,我们可以使用基于相关的距离,通常定义为 ,其中 是皮尔逊相关系数。皮尔逊相关性测量两个向量之间的线性关系。它对均值的平移和尺度的缩放不敏感。对于 GENE1 和 GENE2,相关性是完美的+1,使得它们的距离为 。从模式的角度来看,它们是相同的。相比之下,GENE1 和 GENE3 之间的相关性是负的,产生了一个很大的距离。使用这个度量的算法会自信地将 GENE1 和 GENE2 分为一组,将它们识别为可能共调控的基因,尽管一个的转录是低语,而另一个是咆哮。
没有哪个度量是“错误”的。它们只是回答了不同的问题。你是想找到产生相似数量蛋白质的基因(欧几里得距离),还是想找到由同一个开关控制的基因(相关性)?工具的选择定义了发现。
一旦我们有了成对的距离,像层次聚类这样的算法就可以构建一个家族树,或称树状图。它从每个项目自成一簇开始,然后一步步地合并最接近的两个聚类。结果是一个美丽的树状图,其中每个分支点的高度直接代表了合并发生时的相异度。短的分支连接着非常相似的项目,而长的、高耸的分支连接着差异巨大的群体,为我们提供了一张数据的结构视觉图。
在任何分析中,一个危险的假设是数据是现实的完美体现。事实上,实验数据是混乱的。直接对原始数据应用聚类算法是灾难的根源,是“垃圾进,垃圾出”的典型案例。在我们找到生物学信号之前,我们必须首先面对技术噪声。
scRNA-seq中的一个主要噪声来源是测序深度,或称文库大小。从一个细胞捕获的总转录本数量可能比另一个细胞多五到十倍,这纯粹是由于捕获和扩增过程中的技术偶然性。如果我们不对此进行校正,聚类算法将完全被愚弄。想象一个细胞的文库大小是平均值的五倍。使用欧几里得距离处理原始计数的算法会看到这个细胞的表达向量具有巨大的数值,并得出结论说它与其他所有细胞都大相径庭。它将被隔离在自己的聚类中,不是因为其独特的生物学特性,而是因为一次技术上的“中大奖”。关键的第一步是归一化,这是一个调整每个细胞中的计数以使其具有可比性的过程,有效地排除了文库大小的差异。
另一个捣蛋鬼是批次效应。实验通常太大,无法一次性完成。假设我们在周一处理我们的健康对照样本,在周四处理我们的疾病样本。这两天之间会有微小但不可避免的差异——试剂批次、机器校准、环境温度。这些在数据中产生了系统的、非生物学的印记。如果我们天真地合并数据,细胞不会按“健康”与“患病”聚类,它们会按“周一”与“周四”聚类。这需要复杂的数据整合或批次校正算法来对齐数据集,保留生物学差异的同时去除技术差异。
最后,还有离散的错误。有时,用于分离细胞的微小液滴会意外地捕获两个细胞而不是一个。这种“双细胞”会产生一个令人困惑的混合信号。一个同时包含一个神经元和一个星形胶质细胞的液滴,在计算上会被解释为一个奇异的混合细胞,同时表达两种细胞类型的标记基因。在真正的绘画开始之前,识别和移除这些假象是清理画布的另一个关键部分。
在完成了所有这些工作——排序、测量和清理——之后,我们得到了一组漂亮的聚类。但这引出了最重要也是最困难的问题:它们是真实的吗?我们看到的是真正的生物学结构,还是仅仅是噪声中的模式,就像在云中看到人脸一样?这就是验证的问题。
我们不能仅仅相信算法。正如我们所见,改变距离度量可以产生一组完全不同的聚类。这是否意味着该方法不可信?完全不是。这意味着每个结果都是一个必须被检验的假设。
验证有两种类型。内部验证是问聚类算法在数学上做得有多好。例如,轮廓系数为每个数据点测量它与其自身聚类的相似度与跟其他聚类的相似度之比。高分表明聚类是紧密且分隔良好的。
但最终的检验是外部验证:我们的聚类是否与已知的生物学现实相符?如果我们对基因进行了聚类,我们可以问,一个给定聚类中的基因是否共享一个已知的生物学功能。我们可以使用像基因本体论(GO)这样的数据库来系统地检验这一点,该数据库对基因的功能进行了分类。对于每个聚类,我们可以进行统计检验(如超几何检验),看它是否在某个特定通路的基因上显著“富集”,例如“核糖体构建”或“葡萄糖代谢”。
一个用于比较两种不同聚类结果的统计鲁棒程序将包括执行这些富集测试,仔细校正我们同时进行了数千次测试这一事实,然后设计一个评分标准。一个公平的评分系统可能会对每种聚类方法计算其每个聚类中最显著功能富集的强度,然后计算这些分数的加权平均值,给予更大、更内聚的聚类更高的权重。总分较高的聚类可被判断为在生物学上更有意义。
最终,基因表达聚类不是一个能输出真理的神奇黑箱。它是一个强大的探索工具,一个计算显微镜,帮助我们导航细胞浩瀚的高维世界。它让我们能够形成有根据的假设——这些细胞构成了一个新的亚型,或者这些基因协同工作。这些诞生于数据模式中的假设,是新实验和新生物学认识生长的种子。
在我们上次的讨论中,我们深入探讨了聚类的机制,即在数据海洋中寻找亲缘关系的数学艺术。我们看到算法如何能将一张令人眼花缭乱的数字表格——一个细胞或一个生物体的基因表达谱——划分成合理的组。但这只是我们故事的开始。一张地图在你不知道不同区域代表什么之前是无用的。现在,我们踏上旅程,去看看这些聚类意味着什么。我们将看到,这个看似简单的分组行为,是一把钥匙,解锁了从医学到进化等广阔生物学领域的深刻见解。
想象一下你有一个巨大的基因表达数据表。列可能是不同的患者,行是成千上万种不同的基因。聚类的美妙之处在于,你可以从两个基本方面来看待这个表。
首先,你可以对列进行聚类。假设我们从数百名都被诊断为同一复杂综合征的患者那里收集了组织样本。从表面上看,他们患有相同的疾病。但是,当我们测量他们细胞中数千个基因的活性,并让我们的聚类算法对患者进行分组时,我们常常会发现一些了不起的事情。患者可能会分成,比如说,三个不同的聚类。这并不意味着该疾病是由三个基因引起的,也不直接对应于症状的严重程度。它所暗示的要微妙和强大得多:该综合征可能存在三种不同的分子亚型。一个聚类内的患者共享一种共同的基因活性模式,这种模式不同于其他聚类中的模式。这是个性化医疗的曙光;通过了解患者患有哪种分子“风味”的疾病,我们可以开始预测他们的预后或选择最有效的治疗方法。这个聚类是一种新的诊断,不是用症状书写,而是用基因的语言书写。
现在,让我们把表格翻转过来,对行进行聚类。我们不再对患者进行分组,而是对基因进行分组。我们为什么要这样做呢?想象一组基因像一个建筑队建造房子一样协同工作。它们需要在同一时间活跃。制造墙体框架的基因会与供应钉子和锤子的基因一起活跃。通过随时间追踪基因表达——例如,在昼夜循环中——我们可以寻找那些活性水平优美地同步起伏的基因。对这些时间序列谱进行聚类,可以揭示共调控基因群。这是“关联推断”的生物学原则:聚在一起的基因很可能在功能上相关,也许由同一个主开关控制,或参与同一个代谢通路。通过识别这些基因团队,我们可以开始拼凑出细胞错综复杂的回路。
很长一段时间里,当生物学家研究像大脑或肝脏这样的组织时,他们看到的是一个平均值。将一块组织磨碎并测量其基因表达,就像同时聆听整个城市的声音;你听到的是一片轰鸣,但无法分辨出任何个别的对话。单细胞RNA测序改变了一切。我们现在可以同时窃听成千上万个单细胞。结果是一个庞大的数据集,但它是一团乱麻——混合了构成组织的所有不同细胞类型。
我们如何将它们分门别类?聚类是不可或缺的第一步。我们让算法根据单个细胞的表达谱将它们分组。突然间,秩序从混乱中浮现。细胞分成不同的聚类,每个聚类代表一种不同的细胞类型。但我们如何知道哪个是哪个呢?一个聚类只是一个数字。下一步是给它一个名字。我们通过在聚类之间进行统计比较来找到“标记基因”——即在一个聚类中相对于所有其他聚类独特活跃的基因。如果一个聚类显示出已知对T细胞特异的基因高表达,我们就可以自信地将该聚类标记为“T细胞”。这种先聚类后进行差异表达分析的过程,是识别在单细胞实验中发现的细胞群体的生物学身份和功能的标准方法。
这种方法使我们能够为无数组织创建全面的“细胞图谱”。但一个更令人兴奋的前沿最近已经开启:如果我们能在不拆解组织的情况下创建这些地图呢?这就是空间转录组学的魔力。想象一下,将一个组织切片放置在一个特殊的载玻片上,上面点缀着数千个独特的分子条形码。载玻片上的每个点都捕获其正上方细胞的RNA,其条形码告诉我们其精确的 坐标。
测序后,我们不仅有了一个细胞列表,而且有了一个带地址的细胞列表。当我们将无监督聚类应用于这些空间数据时,奇妙的事情发生了。我们找到的聚类不仅按类型对细胞进行分组;它们还按位置分组,揭示了组织的解剖结构。在对发育中的果蝇翅膀的研究中,聚类可以完美地重新发现将成为翅膀叶片的中心部分与形成胸部的外部部分之间的边界,仅仅通过找到一组高表达vestigial基因(一种已知的翅膀发育主调控因子)的点。这就像通过分析地方方言来绘制一个国家的地图,而从未看过地球仪。同样的原理使我们能够重建哺乳动物新皮层的著名分层结构,通过识别其表达谱中已知标记基因的特征,将每个空间点分配到其正确的层次——第二/三层、第四层、第五层。我们正在名副其实地绘制生命的分子蓝图。
生命不是静止的;它是一个过程。细胞出生、分化,并对环境做出反应。聚类为我们提供了快照,但它能帮助我们看到电影吗?答案是肯定的。在一种称为轨迹推断的技术中,算法试图将细胞沿着一个生物学过程的连续体进行排序,比如一个干细胞发育成一个成熟的血细胞。这就创建了一个代表细胞进程的“伪时间”轴。对于像造血这样复杂的过程,干细胞可以分化成许多不同的谱系(红细胞、淋巴细胞等),简单地试图在所有细胞中画一条线会产生一条无意义的路径。在这里,聚类起着关键的初步作用。通过首先将细胞分组为离散的状态(干细胞、早期祖细胞、分支祖细胞、成熟细胞),我们为轨迹算法提供了一个简化的“枢纽”和“终点”地图。然后,算法可以专注于寻找这些聚类之间的路径,正确识别过程的开始和细胞做出命运决定的关键分支点。
定义这些细胞状态和组织的基因表达程序不是任意创造的。它们是经过数百万年进化提炼出来的古老、保守的脚本。比较转录组学提供了一个惊人的证明。如果你从胡萝卜的光合作用活跃的叶子和储存根中取样,并对马铃薯(使用其块茎,一种变态茎,作为储存器官)做同样的事情,然后对所有四个样本进行聚类,你会期望得到什么?它们会按物种分组(胡萝卜与胡萝卜,马铃薯与马铃薯)还是按组织类型分组(叶子与叶子,根与块茎)?令人震惊的结果是,样本绝大多数按组织类型聚类。胡萝卜叶的基因表达谱比胡萝卜根的表达谱更像马铃薯叶的谱。这告诉我们一些深刻的事情:作为“叶子”或“储存器官”的功能需求施加了一种如此强大和保守的转录印记,以至于它超越了巨大的进化距离。
随着我们变得更加成熟,我们意识到即使是我们基本的聚类模型也可能过于简单。一个基因可能不总是属于同一个团队。一组基因可能只在一部分癌细胞中共同调控,或者只在施用药物后的几个小时内。为了捕捉这种复杂性,我们需要更先进的工具。其中一个工具是双向聚类。双向聚类算法不是对所有基因或所有样本进行划分,而是在数据矩阵中寻找“岛屿”——即只在一部分样本中共同调控的基因子集。这是一个远比传统聚类更灵活的模型,它允许基因和样本属于多个“俱乐部”或一个都不属于,反映了生物调控的上下文依赖性。此外,通过在扰动(如药物治疗)前后应用聚类,我们可以追踪网络如何“重新布线”。我们可以看到哪些基因改变了它们的阵营,离开一个功能模块加入另一个,为我们提供了细胞反应的动态图。
我们正站在一个令人振奋的悬崖边。今天,研究人员正在将这些观察技术与基因工程的力量融合在一起。利用CRISPR等技术,我们可以系统地扰动细胞内的基因。通过将其与谱系追踪——每个细胞及其所有后代都带有一个独特的条形码——和单细胞测序相结合,我们可以开始提出因果问题。我们可以使用聚类来定义细胞命运,然后检验诸如“如果我们敲除基因 ,干细胞选择成为神经元的概率会改变吗?”这样的假设。这需要复杂的统计模型来考虑克隆关系,但它使我们超越了单纯的描述。我们不再仅仅是观察生命的模式;我们正在学习预测和工程它们。
最终,基因表达聚类远不止是一种用于整理数据的计算工具。它是一个使无形变得可见的镜头。它将基因组压倒性的复杂性转化为可理解的模式,揭示了疾病隐藏的亚型、细胞内的功能团队、组织的建筑蓝图以及进化的保守逻辑。它是我们将现代生物学数据的洪流转化为真实、优美且有用的理解的最强大方法之一。