Vibe genes? Natural(ish) language comes to protein, genome design software
本文为原文前 6,000 字符的节选翻译,完整内容请查看原文。
Protein design tools may be getting increasingly sophisticated, but you still need a sophisticated understanding of protein structure for them to work. This can include knowing enzyme mechanisms down to the positions of specific amino acids, as well as the water molecules that also occupy the area where catalysis takes place. Once you specify these, the tools can build the rest of a protein around this target.
尽管蛋白质设计工具正变得日益复杂,但要使它们发挥作用,你仍然需要对蛋白质结构有深入的了解。这可能包括了解酶的机制,精确到特定氨基酸的位置,以及占据催化发生区域的水分子。一旦你指定了这些,工具就可以围绕这个目标构建蛋白质的其余部分。
A large collaboration of researchers based in China, however, decided to bring protein design to the masses, making a tool that can take natural language prompts and use them to produce proteins with the function you specify. If your measure for success is a working protein, then the success rate may not be great. But they still manage to get the job done. And, in a separate announcement, Hugging Face shared that it’s now hosting a tool that does similar things on the DNA level. The equivalent of vibe coding may have come to protein design—at least if you have access to a lab where you can sort the good designs from the dozens of failed ones.
然而,一个位于中国的庞大研究团队决定将蛋白质设计推向大众,他们开发了一种工具,可以接收自然语言提示,并利用这些提示生成具有你所指定功能的蛋白质。如果你以生成功能性蛋白质作为成功标准,那么成功率可能并不高。但他们确实完成了任务。此外,Hugging Face 在另一项公告中表示,它现在托管了一个在 DNA 层面执行类似操作的工具。蛋白质设计领域或许已经迎来了“感觉编程”(vibe coding)的等价物——前提是你能够进入一个实验室,从数十个失败的设计中筛选出成功的作品。
Focusing on function: Some of the best protein design tools we have available right now work through a two-step process. First, you specify a set of constraints, such as the need to bind another molecule or to have a specific arrangement of amino acids. One AI tool then generates a protein shape that meets those constraints. Once that’s done, a separate tool populates that shape with a specific sequence of amino acids that can ensure the protein folds into the appropriate configuration to match the shape.
专注于功能:我们目前所拥有的最优秀的蛋白质设计工具大多通过两步流程工作。首先,你指定一组约束条件,例如需要结合另一种分子或具有特定的氨基酸排列。随后,一个人工智能工具会生成符合这些约束的蛋白质形状。一旦完成,另一个工具会用特定的氨基酸序列填充该形状,以确保蛋白质折叠成与形状相匹配的适当构型。
Obviously, doing that often requires a fair bit of technical knowledge. If you’re designing a catalyst, for example, then you not only need to know what amino acids are critical to get a chemical reaction to happen, but you have to know where they should be located within a 3D space. That, not surprisingly, requires a fairly sophisticated understanding of protein chemistry and the ability to express that understanding in whatever form that the protein design tools require.
显然,这样做通常需要相当多的技术知识。例如,如果你正在设计一种催化剂,你不仅需要知道哪些氨基酸对于引发化学反应至关重要,还必须知道它们在三维空间中应该位于何处。不出所料,这需要对蛋白质化学有相当深入的理解,并能够以蛋白质设计工具所要求的任何形式表达这种理解。
The thing is, if two experts were talking to each other, they wouldn’t need to get that specific. If one said “serine protease,” for example, the other would know a lot of what was implied by that in terms of the specifics of the reaction mechanism. We need to get specific when communicating with an AI tool because, while our current generation of tools are great at working through the 3D arrangements of amino acids, they’re kind of stupid about the functions that those 3D arrangements enable.
问题在于,如果两位专家在交谈,他们不需要如此具体。例如,如果一个人说“丝氨酸蛋白酶”,另一个人就会明白其中隐含的关于反应机制细节的大量信息。我们需要在与人工智能工具交流时保持具体,因为虽然我们当前一代的工具在处理氨基酸的三维排列方面表现出色,但它们对于这些三维排列所实现的功能却显得有些“迟钝”。
In the work of the team behind the new tool, called Pinal, this doesn’t necessarily have to be the case. We have databases full of millions of protein sequences tagged with notes about the functions those proteins perform. With the proper training, the researchers reasoned, it should be possible to just use the same terminology in those tags to get a system that outputs a sequence that performs exactly like what you’re looking for.
在名为 Pinal 的新工具开发团队的工作中,情况未必如此。我们拥有充满数百万个蛋白质序列的数据库,并附有关于这些蛋白质所执行功能的注释。研究人员推断,通过适当的训练,完全可以使用这些标签中的相同术语,构建一个能够输出符合你预期功能的序列的系统。
Proteins plus language: Pinal, on some levels, works quite like the standard tools, following a two-step process of building a backbone for the protein and then filling in the details of the amino acids that populate that backbone through a separate process. But there are very significant differences—beginning with what you need to do to start the process. Rather than specifying some details of a few amino acids in the design product, you simply tell the system what you want.
蛋白质与语言:在某些层面上,Pinal 的工作方式与标准工具非常相似,遵循构建蛋白质骨架的两步流程,然后通过单独的过程填充构成该骨架的氨基酸细节。但两者存在非常显著的差异——首先是启动该过程所需的操作。你无需在设计产品中指定某些氨基酸的细节,只需告诉系统你想要什么即可。
“The first stage is handled by T2struct, a text-to-structure module that translates a natural language prompt into a structural blueprint,” as the system’s developers describe it. T2struct doesn’t output a 3D shape, either; it simply produces a linear array of tokens that correspond to the spatial relationship between each amino acid and its nearest neighbors and assign a probability to each. That gets handed off to a system called SAProt-T, which uses a combination of the original text and the output to T2struct to construct the sequence of amino acids in the final protein design.
正如系统开发者所描述的那样,“第一阶段由 T2struct 处理,这是一个将自然语言提示转换为结构蓝图的文本到结构模块。” T2struct 并不输出三维形状;它只是生成一个线性标记数组,对应于每个氨基酸与其最近邻居之间的空间关系,并为每个标记分配一个概率。这些数据随后被移交给一个名为 SAProt-T 的系统,该系统结合原始文本和 T2struct 的输出,构建最终蛋白质设计中的氨基酸序列。
Here, the probabilities generated earlier matter, since SAProt-T performs a global re-evaluation. According to the authors, this avoids the risk of “overlooking a slightly less probable structure that can accommodate a far superior functional sequence.” How do you develop a system that can do all of this? The researchers decided the best way was to use massive amounts of data. For each set of tags that describe a protein’s function, they fed the tags into an LLM and had it provide a plain-language description and used both the tags and the description as part of the training.
在这里,之前生成的概率至关重要,因为 SAProt-T 会进行全局重新评估。据作者称,这避免了“忽略可能容纳更优功能序列的、概率稍低的结构”的风险。你如何开发一个能做到这一切的系统?研究人员认为最好的方法是使用海量数据。对于描述蛋白质功能的每一组标签,他们将标签输入大语言模型(LLM),让其提供通俗易懂的描述,并将标签和描述都作为训练的一部分。
They used protein sequences from three different databases, paired with structural information predicted by AlphaFold; just one of these databases contained 800 million keyword–protein pairs. It’s noteworthy that AlphaFold is not 100 percent accurate in its predictions, so if you’re trying to generate something related to a relatively obscure protein, this could be a problem. But many common proteins have structural data available, which presumably would ensure AlphaFold made informed predictions. In any case, apparently enough of the structural data was right for the training to work.
他们使用了来自三个不同数据库的蛋白质序列,并配以 AlphaFold 预测的结构信息;仅其中一个数据库就包含了 8 亿个关键词与蛋白质的配对。值得注意的是,AlphaFold 的预测并非百分之百准确,因此如果你试图生成与相对冷门的蛋白质相关的内容,这可能会成为一个问题。但许多常见蛋白质都有现成的结构数据,这大概能确保 AlphaFold 做出有据可依的预测。无论如何,显然有足够多的正确结构数据来支持训练的有效性。
Functional proteins: To test Pinal, the researchers asked it to design four very different proteins: a fluorescent one, two enzymes, and one that takes part in a large multi-protein complex. While the details vary a bit from case to case, there was a similar process for each; we’ll use the fluorescent protein as an example. The classic example of a fluorescent protein, which won its discoverer a Nobel, is GFP, the green fluorescent protein. Pinal was asked to produce 50,000 proteins that could fluoresce like GFP. This massive list was then filtered down by a number of criteria. For starters, the researchers rejected any.
功能性蛋白质:为了测试 Pinal,研究人员要求它设计四种截然不同的蛋白质:一种荧光蛋白、两种酶,以及一种参与大型多蛋白复合物的蛋白质。虽然具体细节因情况而异,但每种情况的过程相似;我们以荧光蛋白为例。荧光蛋白的经典案例是 GFP(绿色荧光蛋白),其发现者曾获得诺贝尔奖。研究人员要求 Pinal 生成 5 万种能够像 GFP 一样发出荧光的蛋白质。随后,这份庞大的列表通过多项标准进行了筛选。首先,研究人员剔除了任何……