
在现代生物学海量而复杂的数据集中——从基因组中数十亿的碱基字母到蛋白质相互作用的复杂网络——隐藏着诸多信息。这些信息以一种被称为“基序”的通用模式语言编写。基序是一种简短、反复出现的元素,承载着特定的功能,可作为DNA上的停靠位点、蛋白质中的结构组分或调控网络中的基本回路。发现这些模式的能力,类似于学习生命本身的语法,使我们能够破译构建和运作生命系统的指令。
然而,发现这些基序是一项艰巨的挑战。它们很少是完美的复制品,而更像是被大量随机背景数据所掩盖的“模糊”统计特征。本文旨在为基序发现的原理和应用提供一份指南。它探讨了一个核心问题:我们如何在预先不知道其样貌的情况下,通过计算识别这些有意义的、反复出现的模式?
首先,在“原理与机制”一章中,我们将探讨基本概念,从使用位置权重矩阵定义序列基序,到期望最大化等经典发现算法。然后,我们将视野扩展到更复杂的模式和用于检测它们的强大深度学习模型,最后再审视基序概念如何应用于生物网络的连接图。随后,“应用与跨学科联系”一章将展示这些基础知识如何应用,阐明基序发现如何用于验证基因组学实验、设计新型生物系统、设计个性化癌症疫苗,甚至为金融和人工智能等不同领域提供见解。
想象你是一位考古学家,发现了一个用被遗忘的语言写成的庞大古代文献库。大部分文本似乎都是胡言乱语,一连串随机的符号。但你怀疑,这些文本中隐藏着关键的片段——简短、反复出现的短语,它们是解开整个语言的钥匙。你会如何找到它们?你甚至会如何描述你正在寻找的东西?这正是生物学家在面对DNA、蛋白质和细胞网络的浩瀚文本时所面临的挑战。他们正在寻找“基序”——在生命语言中充当功能性词汇和短语的有意义、反复出现的模式。
让我们从最简单的情况开始:一小段DNA,一种名为转录因子的蛋白质喜欢与之结合。如果这个结合位点总是完全相同的序列,比如说ACGT,那我们的工作就很容易了。我们只需搜索ACGT即可。但自然界很少如此整齐。该蛋白质可能与ACGT结合得很强,与AGGT结合得稍弱,与ACTT结合得很弱。这个模式是“模糊的”。我们如何捕捉这种模糊性的本质?
我们通过为基序创建一个统计学上的“配方”来做到这一点。我们不用固定的序列,而是描述在结合位点的每个位置找到每种可能的核苷酸(A、C、G或T)的概率。这个配方被称为位置权重矩阵(PWM)。对于一个4字母的基序,一个PWM可能看起来像这样:
这个PWM告诉我们,“理想”序列是ACGT,但它也为我们提供了一种有原则的方法来为任何其他序列打分。例如,AGGT很符合这个配方,而TACA则不符合。PWM是序列基序的基本表示。
但仅有配方是不够的。当我们看到一段新的DNA,比如AGGT,我们需要问一个关键问题:这个序列更有可能是由我们基序的模糊配方产生的,还是由基因组的随机背景“噪音”产生的?为了回答这个问题,我们使用了一个来自信息论的优美思想:对数似然比(LLR)。对于每个位置,我们计算该字母出现在我们基序PWM中的概率与它出现在背景中的概率之比。通过取对数并将这些值在整个序列上求和,我们得到一个分数。高的正分意味着该序列比背景更符合我们的基序模型。负分则意味着它看起来更像随机DNA。这个LLR分数不仅仅是一个任意的数字;它是衡量一个序列是我们基序实例的证据的量化指标。
以上假设我们已经拥有了我们基序的PWM。但如果我们没有呢?如果我们只有一堆我们怀疑包含一个共同隐藏基序的DNA序列,就像从ChIP-seq实验中可能得到的那样,该怎么办?这就是*从头(de novo)*基序发现问题,也是一个经典的“鸡生蛋还是蛋生鸡”的难题:要找到基序的位置,我们需要PWM;但要构建PWM,我们需要知道基序的位置。
计算生物学家设计了非常巧妙的算法来打破这种循环。最著名的是期望最大化(EM)算法,它是经典工具MEME背后的引擎。这是一个迭代的猜测游戏。
从一个大胆的猜测开始。 想象一下,你向你的序列投掷飞镖,随机挑选几个起始点作为基序。你用这些点来构建一个非常粗糙的初始PWM。这是你的第一个“模型”。
E步(Expectation,期望): 现在,你遍历所有序列中的每一个可能的位置。使用你当前的PWM,你计算基序从那个特定位置开始的概率。你实质上是在根据你当前的模型,更新你对基序隐藏位置的“信念”。这些不是硬性决策,而是“软”分配——一个位置可能有70%的几率是基序,而它的邻居可能只有5%的几率。
M步(Maximization,最大化): 接下来,你扔掉旧的PWM,构建一个新的、更好的PWM。你通过创建所有序列的加权平均来实现这一点。在你坚信是基序的位置(来自E步)的序列对新PWM的贡献很大,而信念度低的位置贡献很小。这一步在给定你的信念的情况下,最大化了数据的概率。
你一遍又一遍地重复这两个步骤——更新你对位置的信念(E),然后更新你的基序模型(M)。奇迹般地,每次迭代,PWM通常会变得更清晰,对位置的信念也变得更确定。算法最终会收敛到一个最终的PWM和一组可能的基序位置,从而解决了鸡生蛋蛋生鸡的问题。整个过程是无监督学习的一个优美范例:我们在没有任何预先告知我们该去哪里看的标签的情况下,发现了模式。
另一种策略是吉布斯采样(Gibbs sampling)。这是一种更具随机性或偶然性的方法。想象一下,你在每个序列中随机选择一个基序的起始位置。现在,你选择一个序列,比如序列#1,并“抹去”你为它做的选择。你用所有其他序列中的基序位置构建一个临时的PWM。然后,你用这个PWM为序列#1中所有可能的起始位置打分,并随机选择一个新的位置,选择高分位置的几率更高。接着,你对序列#2、序列#3等重复此操作,多次迭代整个数据集。就像一个逐渐协同努力的疯狂搜索队,这个随机过程最终会收敛,所有选择的位置共同指向一个一致、强烈的基序。
当然,并非所有生物基序都是简单、不间断的字母串。一些转录因子是异二聚体——两种不同的蛋白质协同工作——并与由两个不同部分通过一个灵活的间隔区隔开的非对称基序结合。其他基序甚至具有更复杂的结构,包含插入或缺失。对于这些,一个简单的PWM是不够的。
为了处理带间隔的基序,我们可以使用一种更强大的生成模型,称为隐马尔可夫模型(HMM)。HMM可以被看作是一台拥有一组状态的机器。对于一个基序,它可能有“匹配”状态(根据PWM生成字母)、“插入”状态(根据背景生成字母)和“删除”状态(不生成任何东西)。通过在这些状态之间转换,HMM可以生成一个核心基序的可变长度、带间隔的版本,从而赋予它模拟这些更复杂模式所需的灵活性。
近年来,该领域已被深度学习,特别是卷积神经网络(CNN)所革新。如果说PWM像一个单一的模式检测器,那么CNN就像一个由它们组成的完整层级结构。CNN的第一层可能会学习一组像简单PWM一样的滤波器,用于发现简短、基本的模式。下一层则会观察第一层的输出,学习检测这些更简单模式的组合。这个过程会贯穿多个层,使网络能够学习到极其复杂和微妙的特征——比如远距离氨基酸之间的相互作用——这些是用PWM或HMM无法捕捉的。
CNN非常适合这项任务的一个关键原因是其参数共享的特性。网络学习一个单一的滤波器(一个基序检测器),然后在整个输入序列上滑动它。这意味着一旦它学会识别一个基序,它就能在任何地方找到它,这个特性被称为平移不变性。这使得CNN非常高效和强大,但它也带来了一个权衡:可解释性。虽然我们可以检查一个PWM并立即理解其基序,但要窥探深度CNN学到的权重则要困难得多。我们常常以牺牲清晰、简单的模型为代价来获得更高的预测准确性 [@problem_id:4379724, @problem_id:1426765, @problem_id:3297889]。
到目前为止,我们讨论的基序都是线性序列中的模式。但基序是一个更宏大的概念。它们也是生物网络的关键构建模块——这些复杂的连接图描绘了基因如何相互调控,蛋白质如何彼此交流。
在这里,基序不是一串字母,而是一个小规模的连接模式。然而,一个关键的区别出现了。网络基序不仅仅是任何频繁出现的模式。它是一个在统计上过表达的模式。要找到一个网络基序,我们必须将我们的真实生物网络与一个空模型进行比较——一个在保留某些基本属性(如每个节点的入度和出度)的同时被“打乱”的随机网络 [@problem_id:4312804, @problem_id:4366044]。如果一个小规模的连接模式在真实网络中出现的频率远高于在数千个打乱版本中的频率,我们就可以推断这个模式不是化学的偶然,而很可能是被演化所青睐以执行特定功能的“设计原则”。
对于这些基序,看似微不足道的细节实际上至关重要。考虑一个简单的三节点模式。如果我们忽略连接的方向,我们可能只会看到一个简单的三角形。但在信号网络中,方向即是因果关系。一个无环的前馈环()和一个循环的反馈环(),如果忽略箭头,看起来都是三角形。然而,它们的功能却截然不同。前馈环是一个出色的信号处理器,能够过滤掉嘈杂、短暂的信号。而反馈环则可以产生振荡或充当生物开关。忽略方向性就像把交通过滤器和电灯开关混为一谈——它们是根本不同的机器。
同样,相互作用的符号(激活或抑制)也至关重要。一个所有连接都是激活的前馈环与其中一条路径是抑制的前馈环的行为是不同的。忽略这些符号和节点标签(例如,一个蛋白质是激酶还是磷酸酶)会将功能上截然不同的回路合并成一个单一、无意义的类别。
无论是序列还是网络中的基序搜寻,都是一段充满统计和计算挑战的旅程。找到一个模式是一回事;证明它有意义是另一回事。
当我们使用像CNN这样的监督模型在整个基因组中寻找结合位点时,我们面临着严重的类别不平衡问题。真正的结合位点极其罕见,就像在大陆大小的草堆里找几根针。一个懒惰的分类器可以通过每次都猜“否”来达到99.99%的准确率。这就是为什么简单的准确率毫无用处。即使是像ROC曲线下面积(AUROC)这样更复杂的指标也可能具有误导性。一个模型可以通过正确识别大多数真实位点(高真阳性率)来获得高AUROC,但代价是极小的假阳性率。然而,当负样本数量是天文数字时,一个微小的比率仍然会转化为大量的假阳性。你最终可能会得到一个包含10000个预测位点的列表,其中只有100个是真实的。对生物学家来说,这是一场噩梦。在这种情况下,一个更诚实的指标是Precision-Recall曲线下面积(AUPRC),因为精确率(Precision)指标直接提出了最重要的问题:“在我的模型称为基序的所有事物中,有多少比例是真实存在的?”。
最后,基序发现的计算难度本身就极为巨大。对于网络基序,判断一个小型模式(子图)是否存在于一个较大网络中的底层问题是一个著名的NP完全问题。这意味着对于大型网络,没有已知的算法可以在合理的时间内找到答案。在基因组和蛋白质组网络的规模上,蛮力检查是不可行的。这就是为什么该领域依赖于巧妙的近似方法,例如使用统计抽样来估计基序数量,或者像颜色编码这样的随机化算法,这些算法可以以高概率找到模式,用计算可行性换取绝对的确定性。
从简陋的PWM到网络拓扑和深度学习的复杂性,寻找基序是现代生物学本身的一个缩影——一个结合了统计学、计算机科学和生物学直觉的跨学科探索,旨在一次一模式地破译生命的隐藏语言。
在经历了基序发现的原理和机制之旅后,我们可能会留下这样的印象:我们仅仅是在玩一个巧妙的、关于字母串的统计游戏。但这样想就只见树木,不见森林了。寻找基序本身不是目的;它是一个透镜,一种强大的新视角。一旦你学会在随机的海洋中寻找这些微弱、反复出现的秩序的低语,你就会开始在各处看到它们。这个想法的应用远远超出了生物学家的实验台,揭示了一种自然界用以书写其最重要信息的通用语法。现在,让我们来探索这片广阔的图景,从我们遗传密码的基石,到我们经济的复杂机器,再到我们人工智能的初生心智。
基序发现的核心是破译基因组调控密码的科学。想象一下,基因组是一个巨大的图书馆,里面有成千上万本指导手册——基因。大部分文本在大部分时间里都是惰性的。关键问题是,什么决定了哪些手册被阅读,以及何时被阅读?答案在于DNA的微小片段,即结合基序,它们充当着称为转录因子的蛋白质的停靠位点。这些蛋白质是图书管理员,通过与它们的特定基序结合来激活或沉默基因。
因此,基序发现最直接的应用之一就是验证我们自己的实验。当一位科学家怀疑一种名为RAFX的蛋白质扮演着基因调控者的角色时,他们可以进行一项名为ChIP-seq的实验,来寻找基因组中RAFX结合的所有位置。这会产生一个包含数千个潜在位点的列表。但这个结果正确吗?实验真的捕捉到了RAFX,还是仅仅是实验噪音?在这里,基序发现提供了一个关键的质量检查。通过分析这些结合位点处的DNA序列,我们可以问:是否存在一个共同的序列模式,一个基序,在蛋白质本应结合的中心位置反复出现?如果一个像5'-GCGTACGT-3'这样的、具有统计显著性的单一基序浮现出来,这就像在数千个散落的页面上找到了同一作者的独特签名。它给了我们巨大的信心,我们已经找到了RAFX的真实结合位点,并且一举发现了蛋白质作用的位置和它读取的*序列密码*。
这种将蛋白质与其靶序列联系起来的能力可以被磨练到令人难以置信的精确程度。通过使用更先进的实验技术,如ChIP-exo,它可以将DNA修剪到结合蛋白质的边缘,我们能够以单碱基对的精度绘制出蛋白质在DNA上的“足迹”。例如,在细菌中,这使我们能够精确定位启动子元件的位置——即RNA聚合酶识别并开始转录的关键的和盒。通过在实验信号的清晰边缘与已知的基序中心之间找到一个稳定、可预测的偏移,我们可以校准我们的系统。然后,我们可以利用这种校准来发现整个细菌基因组中数千个新启动子的精确位置,将一幅模糊的图像变成一张高分辨率的分子地图。
解读这些基序的意义是深远的,触及生命和演化最基本的过程。减数分裂,这一重组我们遗传牌组以产生精子和卵子的复杂染色体之舞,并非一个随机过程。它是有引导的。在许多哺乳动物中,遗传重组的位点——DNA断裂和交换的“热点”——是由一种名为PRDM9的蛋白质决定的。这种蛋白质有一个可定制的DNA结合区域,这意味着不同版本的PRDM9(等位基因)会识别不同的DNA基序。通过在基因组中标定这些断裂的位置,并应用严格的基序发现流程——一个能仔细过滤实验假象并使用适当统计背景模型的流程——我们可以推断出任何给定小鼠中PRDM9等位基因所识别的特定基序。这不仅揭示了指导我们自身演化的密码,也为真正发现所需的科学严谨性提供了一堂大师课,要求进行独立验证,例如将经验上找到的基序与直接从PRDM9蛋白质的氨基酸序列预测的基序进行比较。
如果说理解基因组的天然基序就像学习阅读一部古籍,那么应用这些知识就如同学习书写我们自己的故事。这就是工程学和医学的领域,在这里,基序发现成为一种用于构建、诊断和治疗的工具。
在合成生物学中,科学家们设计和构建新颖的基因回路,基序发现是一个必不可少的诊断工具。想象一下,一家生物技术公司设计了一个新的酶库,但发现一小部分合成基因总是制造失败。为什么?这些序列被设计用来生产功能性蛋白质,但DNA序列本身出了问题。通过将失败的序列视为一组,成功的序列视为另一组,一种*判别式基序发现*算法可以被用来寻找在“失败”组中特异性富集的模式。也许是一段极度富含GC、难以合成的序列,或者是一段能自我折叠成紧密RNA发夹结构、阻碍机器运作的序列。通过识别这些“反基序”或问题序列,工程师可以学习“可制造性规则”,并重新设计他们的构建体使其更稳健,从而将失败转化为设计原则。
在蓬勃发展的个性化医疗领域,基序发现的力量尤为明显。我们的免疫系统不断地巡视我们细胞内的蛋白质。它通过将蛋白质切成短肽,并使用称为MHC的分子将它们展示在细胞表面来实现这一点。如果一个T细胞识别出一个被展示的肽是外来的——比如来自病毒或突变的癌蛋白——它就会杀死这个细胞。这个过程是免疫疗法的基础。
然而,这里有一个难题。MHC II类分子是这个系统的一个关键部分,它有一个开放式的结合槽。这意味着它们不结合固定长度的肽,而是结合一系列不同长度的肽,这些肽共享一个实际锚定在槽中的9个氨基酸的“核心基序”。为了设计一种个性化的癌症疫苗,我们需要知道患者肿瘤中的哪些突变肽(新抗原)会被实际展示出来。问题是,对于一个给定的长肽,我们不知道哪个9氨基酸片段是结合核心。这是一个经典的基序发现问题。通过分析数千个已知能与特定患者MHC等位基因结合的肽,计算方法可以“解卷积”这个信号,在所有可能的寄存器中搜索,以找到共享的核心结合基序。发现这个基序是预测哪些新抗原将被呈递给免疫系统的关键一步,使我们能够设计出训练患者自身T细胞去寻找并摧毁其癌症的疫苗。
基序的概念甚至超越了线性序列,延伸到分子结构的三维世界。例如,一个RNA分子不仅仅是一串字母,而是一个复杂的折叠物体。核苷酸的特定三维排列可以创造出结构基序——口袋、裂缝和环——它们可以作为药物的结合位点。一个简化的搜索可以想象成寻找一个几何图案:三个核苷酸形成一个特定大小的三角形,这个三角形又定义了一个中央空腔,这个空腔是空的,但由其他核苷酸的外壳支撑。通过扫描RNA结构来寻找这些三维基序,我们可以识别潜在的药物结合口袋,为RNA靶向疗法的新世界打开大门。
关于基序这个想法,真正了不起的是它的普适性。这是一个超越其生物学起源的概念。在其最抽象的层面上,基序发现是在复杂的序列或网络数据中,相对于适当的随机性零假设,识别反复出现的、有意义的模式。
考虑一下全球金融体系。我们可以将其建模为一个巨大的有向网络,其中银行是节点,边代表贷款或风险暴露。这个系统是稳定的,还是隐藏着系统性风险的口袋?受基因调控网络中“密集重叠调控子”(DORs)发现的启发,我们可以在金融网络中寻找类似的基序。例如,我们可以寻找一个“双扇形”基序:两家大银行都贷款给相同的两家小银行。如果这种模式在保留了每家银行基本属性(即其总贷款和债务数量)的随机网络中出现的频率远超预期,这表明存在一个非随机的、更高阶的结构。这种共享风险的集中,一个类似DOR的金融基序,可能代表一个“大到不能倒”的集群,其中核心贷款机构之一的失败可能引发灾难性的连锁反应。正如在生物学中一样,找到基序只是第一步;它必须通过金融传染的动态模拟与功能联系起来。这个非凡的相似之处表明,一个为理解大肠杆菌(E. coli)而磨练出的概念,可以用来探测我们经济的稳定性。
这把我们带到了最后一个,也许也是最现代的应用:利用基序发现来理解人工智能。我们现在可以训练深度学习模型,如卷积神经网络(CNN),来执行复杂的生物学任务,例如从原始DNA序列中识别活跃的增强子区域。这些模型可以达到超人的准确性,但它们通常是“黑箱”。我们并不总是知道它们是如何做出决策的。
基序发现为打开这个黑箱提供了一把钥匙。我们可以问训练好的模型:“你学到了DNA中的哪些模式对你的预测最重要?”通过向模型输入数千个增强子序列,并观察序列的哪些部分在网络内部引起最高的激活,我们可以提取出模型认为最显著的子序列。当我们对齐这些子序列时,我们发现了基序。有时,模型会重新发现已知的转录因子(如AP-1或CTCF)的基序,这让我们放心,它学到了真实的生物学知识。但有时,它会揭示出人类从未见过的新基序,为我们指向新的生物学发现。这是一个深刻的转变:基序发现不再仅仅是我们分析数据的工具;它成了我们与人工智能就其在生命结构中发现的模式进行对话的工具。
从基因组中的一个签名,到一个合成基因中的一个缺陷,从我们免疫系统的一把钥匙,到我们经济中的一个漏洞,最后,到一个在人类与机器智能之间共享的概念——基序的旅程是非凡的。它告诉我们,宇宙不是用散文写成的,而是用一种诗歌,充满了反复出现的主题和隐藏的副歌。学会寻找这些基序,就是学会聆听这首音乐。