ContactSeek:用AF3接触概率提升基因编辑特异性的新思路

📅 发布时间:2026/8/31 18:03:24
ContactSeek:用AF3接触概率提升基因编辑特异性的新思路
基因编辑器的特异性筛选过去大多依赖序列比对和一轮又一轮实验验证。最近看到北大、华东师大等团队提出的ContactSeek用AF3接触概率来增强基因编辑器特异性第一反应是这个思路把问题换了一个维度。你不是在序列相似性上继续打补丁而是把“特异性”变成一个可以在三维结构上比较的指标。这听起来像是一个计算方法的升级但背后真正改变的是我们在实验前如何筛选候选位点、如何判断一个脱靶风险高低以及如何把结构预测放进基因编辑器开发的工作流里。先还原一个真实场景。你在设计一个引导编辑器目标位点效率不错但在脱靶检测实验里发现两个“计划外”的位点有明显编辑痕迹。按老办法你回去看gRNA和这两个位点的序列错配发现其中一个错配数很多按序列相似度根本不应该排进高风险列表。这时你就知道序列层面的特征不够用了。你真正想知道的是编辑器蛋白、gRNA和这段DNA在三维空间里是不是真的能形成类似目标位点的稳定接触。这个判断传统计算工具给不了但结构预测工具可能给一个近似答案。ContactSeek想做的事情就是把这个近似答案变成可排序的分数。这篇文章我会从三个方面展开先说为什么基因编辑器特异性本质上是一个结构问题再拆一下ContactSeek这类方法到底在计算什么最后落回实际使用聊聊怎么跑通、怎么避坑、怎么判断它适合不适合你。1. 为什么基因编辑器特异性会是一个“结构问题”1.1 序列层面的匹配分数为什么不够早期做gRNA特异性筛选最常用的是序列比对。把gRNA和基因组做一次错配容忍搜索统计候选位点的错配数量再把错配位置按权重处理。比如种子区错配权重更高、PAM远端错配权重更低最后给每个位点一个分数。这套流程在常规CRISPR实验中确实有用但它有个天花板它只能描述“序列像不像”不能描述“结构能不能配合”。一个典型的反直觉现象是有些位点序列匹配度很高但体内根本不编辑有些位点错配数量不少却会出现脱靶。原因是编辑过程不是一次简单的核酸杂交而是一连串的事件。Cas9要先识别PAM然后gRNA的种子区和DNA配对DNA双链被打开形成R-loop最后HNH和RuvC结构域切割。每一步都涉及蛋白-DNA接触、核酸构象变化和空间位阻。序列相似不代表这个复合物能稳定形成序列有错配也不代表一定不能形成。序列打分模型可以把位置权重做得越来越细甚至引入机器学习但它缺少一个信息维度三维空间里蛋白和核酸到底接触了哪些位置、接触强度如何。这个信息只有结构预测或者实验结构能提供。1.2 从AF3接触概率切入逻辑是什么AF3是AlphaFold3这一类结构预测模型它和上一代最大的不同是能预测蛋白-DNA-RNA三元复合物而不是只能预测蛋白单体。对基因编辑器来说这是个关键突破。因为编辑器的功能高度依赖蛋白、gRNA和DNA三者的协同相互作用。传统结构生物学要研究这种复合物通常需要冷冻电镜、X射线晶体学或者分子动力学模拟周期长、成本高。AF3类模型让普通计算课题组也能在几小时到几天内生成一个可能的三维构象。光有结构还不行你还需要一个量化的信号。AF3输出里除了原子坐标还有一系列置信度指标。ContactSeek强调的“接触概率”在实际使用中通常可以理解成模型预测某个残基与某个碱基之间形成空间接触的倾向性。它有点像给每个接触对打了一个分分数高表示模型认为这两个位置更可能在空间上靠近并发生相互作用。把这种接触概率用在特异性上思路就顺了你不再只问“这段候选DNA和gRNA是不是互补”而是问“如果把编辑器和gRNA放到这段DNA上形成接触的位置和强度和目标位点像不像”。如果接触模式差异明显说明即使序列上勉强能配对三维结构层面也可能不稳定。ContactSeek大概率的做法就是把这个“像不像”变成分数再拿来做候选位点排序。这个过程本质上是把特异性问题转化成了结构特征比较问题。这是一个非常值得注意的转向。序列问题有无数噪声结构接触问题至少给你一个更接近生物物理本质的视角。1.3 我的判断为什么这件事值得关注我最欣赏ContactSeek这类工作的点不是“又加了一个AI模型”而是它给基因编辑器开发提供了一个可计算的中间指标。过去特异性是一个功能结果。你只能在实验做完之后通过测序数据来判断某个位点脱靶多不多。现在有了结构接触概率你可以把“特异性”提前到实验之前变成一个可以排序、可以优化、可以设置阈值的特征。这个变化听起来温和实际会改变整个开发节奏。当然结构预测不是实验测量接触概率也不等于体内脱靶概率。但如果把它放在初筛阶段它是有效的减负工具。它不能替你回答“这个位点在实际细胞里会不会被编辑”但它可以帮你把“值得做实验验证”的候选名单缩得更小。对真实项目来说这已经是很大的收益。2. ContactSeek到底在计算什么2.1 AF3接触概率从“结构有没有”到“接触有多强”要用好这类方法先得理解AF3接触概率是什么。AlphaFold3的输入可以包含蛋白序列、DNA序列、RNA序列甚至一些离子和化学修饰。输出是预测的三维坐标以及一系列置信度指标。这里面的contact一般指两个空间上靠得很近的原子或残基-碱基对。接触概率不是一个统一的标准字段不同类型的模型和不同版本可能对它有不同定义。但在通常理解下你可以把它看成模型在预测结构时对某个接触对是否成立给出的概率化判断。打个比方。判断两个人适不适合一起工作简历是一个维度但你更想观察他们开会时的距离、眼神交流、话语重叠情况。这些“接触特征”比简历更能反映实际的协作能否发生。基因编辑器、gRNA和DNA之间的关系也是这样。序列说明书写得再像也不如看一下三维空间中它们到底靠近了哪些位置。不过这个类比有个边界。AF3接触概率不是真实的物理距离观测也不是结合亲和力更不是分子动力学模拟的自由能。它只是结构预测模型给出的内部判断。所以它适合做排序不适合做绝对结论。2.2 ContactSeek的核心思路构造差异得分虽然项目公开信息没有给出完整实现细节但从方法命名和常见流程看这类结构辅助筛选的方案通常包含下面几步。第一步对目标位点构建编辑器蛋白、gRNA和DNA的复合物输入。第二步运行AF3预测获得目标位点的接触概率矩阵。第三步对每一个候选脱靶位点重复同样的操作。第四步比较候选位点接触图和目标位点接触图的差异构造一个特异性得分。第五步对所有候选位点按得分排序。这里面最关键的不是“跑AF3”这一步而是“如何比较接触图”。如果只是比较两张图是否一模一样会有很多技术坑。比如候选位点的DNA序列不同接触图天然有差异比如不同位点长度不同直接比会产生长度偏差比如AF3对低置信度区域的预测波动很大。ContactSeek这类方法的价值很大程度上在于它怎么处理这些比较问题。一个合理的设计思路是重点关注编辑器蛋白与DNA关键区域的接触模式而不是全图所有接触。比如PAM识别区、gRNA种子区对应的DNA链位置、切割位点周围的接触。这些区域的接触模式越接近目标位点脱靶风险越高。反过来如果关键区域的接触概率明显下降说明这个候选位点很难像目标位点那样被稳定加工。2.3 一个可参考的最小流程示例下面这个伪代码不是ContactSeek的源码只是为了帮你理解这类方法的一般结构。# 简化伪代码理解ContactSeek思路用 def contact_seek_score(editor_seq, grna_seq, target_dna, candidate_dna): # 1. 预测目标位点复合物 target_model run_af3(editor_seq, grna_seq, target_dna) # 2. 预测候选位点复合物 candidate_model run_af3(editor_seq, grna_seq, candidate_dna) # 3. 提取接触概率矩阵 target_contact extract_contact_probability(target_model) candidate_contact extract_contact_probability(candidate_model) # 4. 比较差异 score contact_difference_score(target_contact, candidate_contact) return score实际项目中run_af3需要你准备复合物输入extract_contact_probability需要从AF3输出文件里解析出接触信息contact_difference_score则需要做位置对齐和归一化。这几个环节都会影响最终排序。注意AF3是结构预测模型不是实验检测工具。跑出来的结构只是“模型认为最可能的构象”不是细胞里真实存在的状态。所以这个分数只能用来做初筛不能直接当脱靶证据。3. 在实际项目中怎么用ContactSeek这类方法3.1 先跑通一个最小用例而不是直接批量如果你是第一次接触这类流程我最不建议的事情就是一上来拿几百个候选位点跑批量预测。我给你一个更稳的路径。先找一条你已经验证过的gRNA一个目标位点再找两个实验确认过的脱靶位点。这个最小集合不需要大但必须有已知答案。接下来把三个位点分别跑一遍完整流程从构建输入到提取接触概率再到算差异得分。跑通之后先看三件事。第一AF3是不是生成了完整的蛋白-DNA-RNA复合物结构有没有因为输入格式或者序列方向问题直接失败。第二接触概率矩阵里目标位点的关键接触区域是不是明显高于其他区域如果连目标位点都看不出信号那整个流程需要重新检查输入。第三排序结果是不是把两个已知脱靶位点排到了比无关位点更高的风险档位。如果这三个检查都通过再扩大到更大的候选集合。最小用例的目的不是证明流程没有问题而是确认你对输入的理解是对的。很多时候问题出在DNA链方向、PAM位置、gRNA是否选择正确而不是算法本身。3.2 输入准备和参数边界结构辅助筛选和传统序列筛选有一个非常大的差异输入格式更严格。序列工具通常会容忍各种奇怪输入少一个碱基、缺一个PAM结果可能仍能跑出来。但AF3这类结构预测工具对输入非常敏感。蛋白序列要用编辑器全长DNA序列要明确是正链还是反链PAM位置不能放错gRNA骨架也不能截断。候选位点最好取相同长度的上下文窗口比如PAM两侧各取30个核苷酸。不一致的窗口长度会直接污染接触图比较。关于参数你需要关注这几个点AF3版本不同版本对核酸复合物预测能力有差异接触概率分布也会漂移。定下一个版本后不要频繁切换。随机种子如果AF3支持采样固定种子能提高可复现性。接触概率阈值太低的接触概率很可能只是噪声不需要纳入差异分数。计算资源每个复合物预测都可能消耗较多显存和时间。先估计单个位点的成本再决定批量大小。如果你只是做学习或小规模验证这些参数只要保守设置就行。如果要长期使用最好把所有输入模板、版本号、种子、阈值都记录在项目配置文件里否则三个月后你根本没法复现自己当时的结果。3.3 一个落地流程从脱靶检测数据到实验验证在实际项目中我不会把ContactSeek当成一个独立工具而是把它放进一条更长的筛选流水线。第一步用常规序列工具生成候选脱靶位点列表。比如针对你的编辑器类型搜索带PAM的错配容忍位点。这一步不需要用结构预测因为整个基因组范围太大了先用序列方法快速过滤一轮是合理的。第二步从候选列表里抽样形成的子集。不要在一开始就对全部候选位点跑结构预测。先抽几十个位点尽量覆盖不同错配类型和不同序列相似度。第三步用ContactSeek风格流程对这几十个位点做排序。第四步选择排序前几十位和后几十位作为高风险和低风险两组然后做细胞实验或体外切割实验验证排序和真实脱靶之间的相关性。第五步如果相关性符合预期再把整个流程推广到全部候选位点。如果相关性不好不要急着加更多位点先回去检查输入和特征定义。这个流程的核心原则是用小样本校准大样本再执行。它既控制了计算成本也给了你一个判断工具是否有效的窗口。注意别把计算排序当成直接证据。就算ContactSeek把一个位点排到最高风险也不能直接写进论文或者产品结论必须用独立实验验证。计算的价值是缩小实验范围不是替代实验责任。3.4 结果异常时的排查链路如果排序结果和实验常识明显冲突或者目标位点的接触概率反而低得离谱不要急着调参。先按下面这个顺序排查。第一看输入序列。候选DNA链方向是否正确gRNA序列是否和目标链匹配PAM是不是被不小心删了很多结构预测失败都来自这类低级错误。第二看接触概率提取位置。你提取的是蛋白-DNA接触还是gRNA-DNA接触编辑器特异性可能更依赖gRNA-DNA接触和PAM识别区接触。如果你选错了接触类型排序自然乱。第三看长度标准化。候选位点的上下文窗口是否一致如果有的位点取了20个碱基有的取了80个碱基接触图比较会失真。第四看AF3输出置信度。低置信度区域比较多的时候接触概率可靠性会下降。你需要关注模型有没有给出异常结构比如DNA链完全错位。第五看版本和随机种子。换过AF3版本或者没有固定随机种子前后结果可能根本不可比。第六最后才回头调整分数定义。如果前五步都正常但排序仍然不对那就需要考虑是不是差异得分的权重设置不合适或者需要引入更多特征。很多项目其实不是败在预测模型而是败在输入和特征提取。4. 它的局限和更远的工程意义4.1 结构预测不是实验测量这是使用ContactSeek这类方法时最需要记住的一句话。AF3预测结构本质是统计学习的结果。它擅长从大量已知结构中学到规律但遇到特殊的编辑器突变、特殊的核酸修饰或者非典型构象时预测结果可能偏离真实情况。更关键的是细胞内的DNA不是裸露的线性双链。染色质包装、核小体占据、其他蛋白竞争、DNA甲基化这些因素都会影响编辑效率但AF3通常看不见。所以ContactSeek给出的接触概率可以说是一条“假设蛋白和DNA裸接触”的线索。它能帮你判断分子层面能不能形成稳定接触但判断不了这个位点在基因组环境中是否真正可及。这也是为什么你仍然需要实验需要GUIDE-seq这类的脱靶检测需要体外切割实验来做交叉确认。结构筛选是减少实验轮次不是取消实验轮次。4.2 适合谁不适合谁如果你正在做基因编辑器研发、gRNA设计平台、脱靶筛选流程优化ContactSeek这类思路值得认真测试。它尤其适合那些需要批量评估大量候选位点的团队。因为你已经有计算资源也已经有较系统的工程流程多跑一个AF3只是时间和成本问题。如果你所在团队没有GPU资源也没有人愿意维护结构预测环境只偶尔做一两个常规CRISPR位点那么我不建议你强行引入这套流程。常规的序列特异性工具已经够用。结构预测增加的不是一点成本而是批次管理和结果解析的复杂度。它适合解决问题不适合制造新问题。如果你正在做临床相关评估那更要谨慎。结构预测分数只能作为研究阶段的前置参考任何安全相关结论都需要严格实验和监管评估。4.3 长期影响把筛选从实验驱动变成计算辅助驱动ContactSeek这类工作真正的长期意义是让基因编辑器开发从“实验试错”逐渐变成“计算排序优先实验验证兜底”。在传统流程里你想提高编辑器特异性就要设计几十个突变体然后一个一个做实验筛选。这个过程慢而且结果很难直观解释。如果接触概率能够反映蛋白突变对靶位点和脱靶位点接触影响的差异那它就可以被当作一个优化目标。你可以在计算机里先筛选一轮蛋白突变选出那些保持靶位点接触、同时显著降低已知脱靶接触的候选突变再进实验验证。这个逻辑一旦建立就不仅是gRNA筛选而是蛋白工程和gRNA设计都能获得结构层面的指导。这会改变工作流的顺序。以前你可能是“先实验再解释”以后可能是“先计算再验证”。后者不一定更准确但一定更高效。4.4 一个可复用的框架三阶段结构辅助筛选最后把这次讨论沉淀成一个可以复用的框架我叫它“三阶段结构辅助筛选法”适合所有类似ContactSeek思路的工具。阶段目的典型输入关键检查预处理生成和规范候选位点编辑器序列、靶位点、候选DNA列表PAM位置、链方向、窗口长度一致结构预测得到接触概率特征AF3复合物预测输出完整、置信度可接受、种子固定排序与验证把分数变成可执行名单差异得分、已知脱靶位点用已知答案校准再做实验验证这个框架不绑定具体工具。今天你用的是ContactSeek明天可能换成其他结构辅助筛选方法框架仍然是成立的。核心动作就三件事把候选位点变规范用结构模型提取接触概率再拿已知数据校准排序。注意如果你换了一个编辑器类型比如从Cas9换成碱基编辑器或引导编辑器接触概率的分布可能会完全不同。之前标定的阈值和权重不能直接迁移需要重新用已知位点做一遍校准。回到最开始的问题。基因编辑器的脱靶风险过去只能靠实验来回答。ContactSeek这类用AF3接触概率来增强特异性的方法试图在实验之前先用结构信息给候选位点排一个序。它不是万能的也不会让实验变得可有可无但它很可能让实验变得更值钱因为你把研究资源集中在了计算筛选出来的高价值位点上。下一步最该做的不是急着跑几千个候选位点而是找一条已知gRNA、一个目标位点、两个验证过的脱靶位点把从AF3接触到排序的完整流程跑通。跑通一次之后你才能真正判断对你手里的数据来说接触概率到底有没有信息量。