ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

AI驱动的生物发现:Anthropic实验室如何挖出类CRISPR新系统

AI驱动的生物发现:Anthropic实验室如何挖出类CRISPR新系统

“Anthropic自己的实验室挖出类CRISPR新系统”这个消息,初看有点绕,但把它翻译成行业语言其实很直接:一家以AI大模型闻名的公司,内部养了一支做生物计算的团队,他们用AI方法从海量基因组数据里筛出了一个全新的、功能上类似CRISPR但序列上明显不同的基因编辑系统。这件事的核心价值不在“Anthropic”这个牌子,而在“AI能不能真的帮我们发现全新的生物工具”——答案是能,而且这次可能是第一个由AI主导走完全流程的案例。如果你关注基因编辑、AI for Science,或者纯粹好奇“大模型公司到底在搞什么”,这篇文章就是给你写的。

1. 这次发现的真实分量:类CRISPR系统为什么值得关注

1.1 从“AI公司”到“生物学发现”,这个实验室在做什么

很多人对Anthropic的印象停留在Claude聊天机器人,但它的内部组织其实分成好几块,其中有一支偏向生物安全与生物工具研究的团队。这支团队做的事情不是给医生做报告,也不是单纯做伦理审查,而是尝试用AI模型去处理海量生物序列——从宏基因组、细菌基因组、噬菌体数据库里找出有功能的蛋白质编码基因。

这次“挖出类CRISPR新系统”的工作,逻辑上就属于这条线。传统发现新基因编辑系统的方式,基本靠生物信息学里的同源搜索:拿已知的Cas蛋白序列当“探针”,去数据库里找长得像的。但这个思路有一个天花板——如果这个系统在进化上与已知CRISPR分叉太远,序列相似度不够,同源搜索会直接漏掉。AI方法解决的是另一类问题:不是“找相似的”,而是“找有类似功能的”。AI模型可以综合序列特征、结构特征、蛋白结构域组成,甚至预测这个蛋白大概率结合核酸,然后从几亿条序列里把候选者捞出来。

数据上也能看出这个方向的合理性。公开数据库里的宏基因组序列已经在PB级别,单靠人工或者传统BLAST去筛,几乎是大海捞针。而AI模型在“从海量数据里找弱信号”这件事上,恰恰是强项。所以你会看到,AI公司做生物发现并不是“噱头”,它是在用自己最擅长的计算能力去解决生物学里一个真实存在、而且越来越紧迫的筛选效率问题。

1.2 类CRISPR系统是什么,和CRISPR有什么区隔

CRISPR这条技术路线,大家相对熟悉:一个Cas蛋白在RNA引导下,找到基因组上特定的靶点,然后切断DNA。这是一套“可编程”的基因编辑工具。类CRISPR系统是指那些在功能上同样能做到“可编程地靶向核酸”,但在蛋白质结构、作用机制、甚至引导方式上与经典CRISPR不一样的系统。比如前几年发现的OMEGA系统,它的蛋白核心尺寸更小,引导RNA更简单;还有IscB、TnpB这类被认为可能是Cas9祖先的系统,都是典型的“类CRISPR”。

这次报道里说“类CRISPR新系统”,我理解它的意义可以拆成三层:

第一层,是“新”在序列层面。如果它只是已知Cas蛋白的旁系同源物,那顶多叫“新亚型”,不会引起这么大关注。既然是“新系统”,大概率意味着它和已知Cas蛋白的序列相似度非常低,低到常规同源比对根本发现不了。

第二层,是“类”在功能层面。要撑起这个归类,得证明它确实能在RNA或者蛋白质因子的引导下,结合DNA或者RNA并完成切割。这不是纯计算能拍板的,需要湿实验验证。所以这类新闻背后,通常已经做了一轮过表达、体外切割或者细菌体内的功能验证。

第三层,是“系统”在工程层面。一个基因编辑系统要被认真对待,至少要包含:一个效应蛋白、一个引导元件、一个可识别的靶向规则(也就是PAM或者等效序列)。这三个要素齐了,才谈得上后续优化和落地。从“发现序列”到“确认系统”,隔着相当远的距离,这也是为什么AI预测只是第一步,后面的实验工程验证周期往往以年来计算。

1.3 AI用在哪一步,为什么这步是关键

我可以把AI在“挖新系统”里的作用说得更具体一点。整个流程大致分四步:

第一步,用无监督或者自监督模型学习海量蛋白质序列的“语法”。这一步不针对具体任务,目标是让模型理解什么样的氨基酸排列是自然的、什么样的结构域组合更可能形成稳定蛋白。类似大模型的预训练阶段。

第二步,用少量已知的CRISPR相关蛋白做“锚点”,让模型去关注那些功能上可能与核酸结合、但与已知蛋白序列差异大的序列。这一步通常做法是把已知蛋白序列投影到模型构建的高维表征空间里,再去找相近表征空间附近的未知序列。

第三步,对候选序列做结构预测。像AlphaFold这样的结构预测工具,可以预测出候选蛋白的三维构象。如果预测出来是一个核酸结合结构域,比如类RuBisCO或者类McrB结构域,那它的可信度就上一层。

第四步,用序列模体分析、保守位点分析做二次筛选。候选蛋白周围有没有Cas相关的调控基因?有没有CRISPR阵列?基因组上下文本身就是一个很强的证据,因为真正起作用的系统,旁边基本能找到配套的元件。

这里面的关键就是第二步和第三步的组合拳。传统方法在第二步就卡住了——因为找不到足够相似的“锚点”,甚至不知道要找什么。AI方法等于先把整个蛋白空间重新“排列”了一遍,让结构相似但序列差异很大的蛋白也能在表征空间里靠在一起,这是传统序列比对完全做不到的。

2. 核心原理拆解:一个类CRISPR系统是如何被“挖”出来的

2.1 数据库选型:不是所有数据都适合挖新系统

要挖类CRISPR系统,数据源的选择直接决定结果下限。这个步骤听起来朴素,但实操里问题最多。

主流公共数据库大概分三类。一类是参考基因组数据库,比如NCBI RefSeq,里面序列质量高、注释全,但多样性和新颖性有限,因为大部分是模式菌株和临床菌株。另一类是宏基因组数据库,比如NCBI SRA、MGnify、JGI IMG/M,里面是环境样本直接测序出来的拼接序列,多样性极高,但序列碎片化严重,注释也少。还有一类是专门为发掘新型编辑系统整理的数据库,比如有些团队从土壤、海洋、人体肠道宏基因组里构建的专门数据集。

我个人的建议是:不要只用一个库。参考基因组用来建立“已知系统的正样本集合”,宏基因组用来扩充候选空间,两者缺一不可。官方一些的流程会这样做——先拿RefSeq里的完整CRISPR系统作为正样本,把对应的Cas蛋白序列作为“锚点”;再用MGnify或SRA里的大规模宏基因组数据作为搜索空间;最后用序列聚类工具比如MMseqs2把冗余序列去掉,把计算量压下来。

这么做的原因是,类CRISPR系统的序列新颖性很高,如果直接在所有数据库里全量跑,会消耗大量算力,而且信噪比很差。先把正样本和锚点定义好,再让AI在合理范围内搜索,既省算力,也更容易从上游控制假阳性。

2.2 预测模型选型:自监督模型 + 结构预测的复合管线

现在做这类工作,主流的模型组合大概是这样:一个蛋白语言模型负责生成序列表征,一个结构预测模型负责给候选蛋白打分,再用一个简单的分类器或者规则模块做最后筛选。不是所有环节都要上大模型,反而容易过拟合。

蛋白语言模型我看到的方案一般是两种。一种是直接用ESM-2或者ProtTrans这类公开的预训练模型,拿已知Cas蛋白序列去抽取embedding,再计算未知序列与已知序列在表征空间的距离;另一种是用更大的定制模型,比如在宏基因组蛋白上专门预训练的模型,这样模型能捕捉到更多非模式生物的特征。区别在于,前者上手快,后者精度高,但对于单个实验室来说,前者的性价比更高。

结构预测这一步,基本上绕不开AlphaFold系。这里有个细节:不是对每条候选序列都跑完整的AlphaFold,那样计算量太可怕。通常的做法是先用一个轻量级的结构预测工具做粗筛,比如用ESMFold或者ColabFold,批量跑个几万条序列,拿到初步的pLDDT分数和预测结构。然后只对其中置信度高的前几百条跑AlphaFold2/3的精修。这样算力开销能降低两个数量级,同时又不影响最终精度。

然后是最后的功能位点判断。拿到预测结构后,要看它有没有核酸结合域,特别是催化位点附近是否保守。这里可以用保守序列分析工具比如HMMER去比对已知的核酸酶家族。如果预测结构和某个已知核酸酶的结构在拓扑上高度相似,即使序列相似度不到20%,也可以列入“值得湿实验验证”的名单。

2.3 从序列到“系统”的验证:基因组上下文是关键证据

预测模型给出“这个蛋白可能是核酸酶”只是第一步。要确认它是一个“系统”,必须看基因组上下文。

逻辑是这样的:一个真正起作用的基因编辑系统,不太可能孤零零地只有一个蛋白编码基因。它通常周围会有配套的基因,比如调控蛋白、辅助亚基、引导RNA的转录位点,或者CRISPR阵列(如果是类CRISPR,可能是某种非典型重复序列)。这意味着,候选蛋白所在的基因组区间内,如果能看到成簇的、之前没有注释过的基因,而且包含一些非编码RNA的痕迹,那这组基因就越有可能是“一套系统”。

实操上,可以从候选蛋白的上下游各取5到10个开放阅读框(ORF),然后向两边延伸分析基因排列方向。典型的新系统周围,你会发现小的转座子相关蛋白、解旋酶、ATP酶这类与核酸结合或者移动相关的基因。这就像看到一个引擎,周围还连着变速箱、传动轴,你就能判断这不是一个单独的零件,而是一整套动力总成。

还有一个小技巧:关注候选蛋白旁边的非编码区。CRISPR系统平时依赖重复序列和间隔序列来识别靶标,如果类CRISPR系统也有类似的RNA引导机制,附近的基因组里通常会留下一些重复序列的“化石”。虽然这些重复序列可能很短,用常规注释工具识别不到,但用从头预测重复序列的小工具比如RepeatModeler,或者直接看序列比对中出现的特定“热点”,还是能发现规律。

2.4 湿实验闭环:AI预测之后至少要过三关

很多人会误以为AI发现一个新系统就已经大功告成,但真实行业里,AI只是把候选名单送到了湿实验门口。我见过不少AI预测很漂亮、湿实验一测完全没活性的案例。所以真正职业化的流程,在计算筛选后还会跟着一轮递进的湿实验验证,至少要过三关。

第一关是体外切割实验。把候选蛋白克隆出来,纯化蛋白,和一段DNA或RNA混合,看它能不能切。这关只能告诉你“有没有核酸酶活性”,不能告诉你“有没有可编程性”。

第二关是引导活性验证。如果体外切割有活性,就要研究它是不是“被引导”的。常见做法是设计一个引导RNA或者验证它是否依赖一种顺式作用元件。这里很容易踩的坑是:很多核酸酶本身不需要引导就能切核酸,比如一些非特异性的核酸酶,它们即使和CRISPR基因共存,也不一定构成“系统”。所以必须要有阴性对照,也就是不加引导元件、靶点错配的情况下,确认切割活性显著下降。

第三关是细胞内验证,也就是细菌或真核细胞里的初步编辑实验。这关会暴露很多体外实验看不出来的问题,比如蛋白在细胞内不稳定、引导RNA被核酸酶降解、目标位点周围染色质状态不合适等。一个新系统从被发现到能在细胞里用,通常还要经历若干轮蛋白工程优化。

3. 实操参考:复现一条AI挖掘类CRISPR系统的流程

3.1 环境准备与工具选型清单

我按自己的经验整理了一套基础工具清单,你可以把它当成一个初始模板。这套工具体系不是唯一的,但对于中小型计算团队来说,好上手、社区资源多、坑也都有现成答案。

表格整理一下:

环节推荐工具用途备注
数据库获取NCBI Datasets / SRA Toolkit下载参考基因组、宏基因组原始数据注意SRA数据量大,按需下载
序列聚类去冗余MMseqs2去冗余、快速搜索比BLAST快两个数量级
基因预测Prodigal从宏基因组拼接结果里预测ORF宏基因组场景推荐
蛋白语言模型ESM-2(或ESM-C)提取蛋白表征,做相似性搜索权重可从HuggingFace获取
结构预测ESMFold + ColabFold粗筛和精修结构AlphaFold2用于精修
保守性分析HMMER / hhsearch识别保守结构域辅助判断功能类别
基因组上下文分析Pyrodigal + 自写脚本查看候选基因上下游ORF往往会发现辅助蛋白
可视化IGV / Geneious / PyMOL查看基因排列、结构比对选自己顺手的

这套工具链的核心思路是:便宜、批量、可控。没有任何一步需要特别昂贵的商业软件,完全可以通过开源方案搭起来。如果你们实验室有SLURM集群,那更好,但即使只有一台带GPU的工作站,也能跑通,无非是数据量控制在几十万条级别。

3.2 数据准备和清洗:防止“垃圾进垃圾出”

做过生物信息的人都知道,数据清洗的时间往往比正式分析还长。我在这类流程里的建议是,把所有可能引入噪声的环节都在数据处理阶段处理掉。

第一步,对宏基因组数据做质量控制。用fastp或者Trimmomatic去掉低质量碱基和接头序列,再用Kraken2或者CAT/BAT做一次物种分类,把人类宿主序列、污染序列过滤掉。很多人会忽略这一步,结果在细菌数据里混入人类基因组片段,最后筛出“人源类CRISPR蛋白”,那就完全没法讲了。

第二步,对组装结果做基因预测。宏基因组组装出来可能是几百万条contig,用Prodigal跑完以后会得到一堆蛋白序列。这里有个关键设置:要开meta模式,也就是prodigal -p meta,因为不同菌种的密码子使用偏好不同,meta模式能更好地适应混合样本。

第三步,去冗余。宏基因组里同一个物种可能有非常近缘的多条序列,如果不做聚类,后面所有候选都会偏向丰度高的物种,多样性就丢了。用MMseqs2做一次90%相似度聚类,代表序列保留最长的或者注释质量最好的那条,既减小计算量,又保证候选空间里物种多样性是足够的。

第四步,建立正负样本。正样本用已知Cas蛋白序列,比如UniProt里注释为CRISPR相关核酸酶的集合;负样本用一些和核酸结合无关的蛋白,比如各种代谢酶。这一步看着简单,实际很关键。负样本选不好,分类器会学出“蛋白质组学里常见的氨基酸组成”这种无意义特征,而不是“核酸酶”特征。

3.3 核心挖掘流程:从表征搜索到结构筛选的完整命令示例

下面是我实际用过的计算流程浓缩版,不算精细,但能跑通。在执行之前,先把需要的环境装好:pytorch、transformers、esm、biopython、pandas。

先用ESM-2提取已知Cas蛋白的特征:

import torch from transformers import AutoTokenizer, AutoModel tokenizer = AutoTokenizer.from_pretrained("facebook/esm2_t33_650M_UR50D") model = AutoModel.from_pretrained("facebook/esm2_t33_650M_UR50D") model.eval() def get_embedding(sequence): inputs = tokenizer(sequence, return_tensors="pt", truncation=True, max_length=1024) with torch.no_grad(): outputs = model(**inputs) # 使用mean pooling,或者只取[CLS]位置对应蛋白表征向量 emb = outputs.last_hidden_state.mean(dim=1).squeeze() return emb

把已知Cas蛋白和所有候选宏基因组蛋白都embedding化以后,下一步是找“在表征空间里与Cas蛋白近,但序列上不近”的候选。这里可以简单用余弦相似度,也可以用FAISS做加速:

import faiss import numpy as np # cas_embs: 已知Cas蛋白的表征矩阵 (n, d) # cand_embs: 宏基因组候选蛋白的表征矩阵 (m, d) index = faiss.IndexFlatIP(cas_embs.shape[1]) index.add(cas_embs.astype('float32')) D, I = index.search(cand_embs.astype('float32'), k=1) # 取出前5%高相似度、但序列相似度<30%的候选 candidate_flags = (D[:, 0] > np.percentile(D[:, 0], 95))

拿到初筛候选序列后,用ESMFold批量跑结构粗筛:

esmfold --outdir ./structures --max-tokens-per-batch 2000 candidate_sequences.fasta

对结构预测中置信度比较高的序列,再用ColabFold或者AlphaFold2做一次精修,同时用DALI或者TM-align做结构比对,看它们和已知Cas蛋白的结构相似度。

整个流程跑完后,你会得到一份按“表征相似度+结构置信度+结构比对分数”排序的候选表。这时候建议不要只看总排名,而是把排名前20的候选手动看一遍结构,特别关注那些TM-score不到0.7但总体折叠和核酸酶有相似性的候选——因为库里真正的高价值新系统,往往不是结构上高度相似的类物,而是“拓扑相近但很多关键loop完全不同”的变异体。

3.4 湿实验验证的快速通道:哪些实验必须优先做

计算筛选筛选出的候选,真正能推进到湿实验的,一个项目通常不超过5到10个。在预算有限的情况下,我建议按这个优先级排队:

第一优先:做体外核酸酶活性实验。这是门槛最低、信息量最大的实验。只要把蛋白纯化出来,用一份随机核酸底物做切割,就能判断是不是核酸酶。一个突变体如果能切开核酸,但序列特异性和预期不一致,后续还有优化空间。如果这个实验直接阴性,那基本可以止损。

第二优先:做引导活性实验。假如蛋白有核酸酶活性,立刻测试它的切割活性是否依赖某段非编码RNA或者蛋白辅因子。这一步可以把“无差别切割的毒蛋白”和“真正的可编程系统”区分开。做法是设置三组:只加蛋白、蛋白加候选引导RNA、蛋白加随机RNA。只有在加入特定引导RNA时切割增强,才说明有引导活性。

第三优先:做体内编辑实验。最常见的是在大肠杆菌里做筛选实验,把“靶位点”和“引导元件”放在质粒上,如果系统能切割,会诱导DNA损伤反应,细菌长不好。通过这种负筛选,可以把“有体外活性”和“在细胞内有功能”区分开来。

很多团队会在这时候先做一个简单的小规模NGS验证:让候选系统切割一个已知位点,然后测序看有没有形成插入缺失(indel)。如果indel明显富集在靶点附近,恭喜,这个新系统已经站稳了“第三代候选”的位置,后面才是真正漫长的工程化优化。

4. 常见陷阱与实务经验

4.1 高表征相似度不代表高功能相似度

我在这个领域踩过的最大一个坑,是把“表征空间里的相似”过度解释为“功能上的相似”。蛋白语言模型的表征空间学到的是一种“进化相关性的复杂压缩”,不是简单的功能标签。两个蛋白可能在表征空间靠得很近,但一个是核酸酶,另一个只是核酸结合蛋白,根本没有切割活性。

所以,纯计算阶段的每一步都只能叫“漏斗”,不能叫“验证”。正确的心态是:计算预测提高了候选密度,但最终还是要湿实验说话。如果你们的实验室没有湿实验能力,建议尽早找合作方,不要自己硬把计算结果包装成“发现”。

4.2 AlphaFold预测的“高置信度”也可能骗人

AlphaFold的pLDDT分数高,说明模型对这个结构预测有信心,但不代表这个结构就是有功能的构象。特别是对宏基因组来源的蛋白,很多序列在训练集里没出现过,模型输出的置信度可能有系统性偏高。我见过一些预测结构非常漂亮、但纯化出来是包涵体或者完全没折叠的候选。

一个实用经验:结构预测之外,一定要做一下序列的理化性质分析。比如分子量、等电点、疏水性分布,如果蛋白表面有一条特别长的疏水区域,大概率跨膜或者容易聚集,这种蛋白在体外纯化时会非常痛苦,即使功能正确,也很难被工程化。

另一个更隐蔽的坑是,AlphaFold预测的结构可能会漏掉 intrinsically disordered regions(内在无序区)。这些无序区在CRISPR相关蛋白里其实很常见,比如linker区域或者调节结构域。如果在筛选时只盯着有序结构域,可能会错过一些真正有功能但“长得丑”的蛋白。

4.3 数据库污染问题:你筛到的可能是已知系统拼出来的嵌合体

这个坑在宏基因组数据挖掘里特别常见。宏基因组拼接出来的contig,有时会把来自不同物种的序列拼在一起,特别是重复序列区域。结果就是,一个候选蛋白的前半段来自某个已知Cas蛋白,后半段来自另一个无关基因,拼出来一个“全新系统”的假象。

遇到这种情况,最直接的排查手段是把候选蛋白拆成几个结构域片段,分别做数据库搜索。如果N端比对到A物种的Cas9,C端比对到B物种的ATP酶,那这个候选大概率是拼接伪影。另外,看基因组上下文时,如果上下游基因来自完全不同的分类学来源,也要打一个问号。

我习惯在最终报告里为每个候选都附上“CCprofile”这种污染检查指标,否则一个嵌合体可能浪费实验室三个月的湿实验时间。数据的干净程度,决定了整个项目的下限。

4.4 给正在准备入局的人一些务实建议

做AI挖掘新基因编辑系统这件事,现在确实是窗口期,但窗口期不等于随便就能出成绩。以下几个建议,是我自己觉得最该被记住的:

一是不要只看“新序列”,要优先看“新机制”。市场上已知的Cas9、Cas12、Cas13变体已经太多,单纯多一个序列亚型没有太大意义。真正稀缺的是新的引导机制或者新的PAM识别模式,这才能给基因编辑工具箱带来增量。

二是计算团队一定要配一个懂湿实验的搭档。我见过不少纯计算团队做出了非常漂亮的候选列表,但连“该选哪个表达载体来克隆基因”这种基础问题都要卡一个月。从项目第一天开始,就让湿实验伙伴参与候选筛选的标准制定,比后期补救高效得多。

三是把这个发现放在一个更长的时间轴里看待。类CRISPR系统的发现,当前更可能的价值不在“马上变成治疗工具”,而在于帮助科研界理解基因编辑的进化谱系,以及提供更多可工程化的核酸结合骨架。做这项工作时,如果只盯着商业转化,很容易失望;抱着“扩展工具箱”的心态,反而能坚持到真正有价值的候选出现。

我个人在这类项目里最深的体会就是:AI挖掘新系统真正的分水岭,不在于模型有多先进,而在于计算团队能不能把候选名单控制在湿实验可以接受的规模内,同时还能保证里面确实有金子。Anthropic这次的消息如果最终能经受住后续复现,那它给行业带来的不仅是另一个Cas蛋白,而是一个可以反复使用的工作范式:用语言模型给蛋白质宇宙做“语义搜索”,再从最陌生的角落里找到被忽略的工具。这个范式,会在未来几年被更多团队复制到酶工程、药物靶点发现等更多领域,我觉得那才是这条消息最值得期待的地方。

返回列表