《BMC Bioinformatics》:PoolParty: streamlined design of DNA sequence libraries in Python
编辑推荐:
**背景** 计算设计的DNA序列文库是大规模并行报告基因检测(MPRA)、深度突变扫描(DMS)实验及其他变异效应多重检测(MAVE)的重要组成部分。这些文库也越来越多地被用于计算机模拟(in silico)分析基因组人工智能(AI)模型。然而,由于缺乏专门
**背景** 计算设计的DNA序列文库是大规模并行报告基因检测(MPRA)、深度突变扫描(DMS)实验及其他变异效应多重检测(MAVE)的重要组成部分。这些文库也越来越多地被用于计算机模拟(in silico)分析基因组人工智能(AI)模型。然而,由于缺乏专门构建的软件,设计这些文库仍然繁琐且易出错。**结果** 本文介绍PoolParty,一个Python包,它利用简单而灵活的应用程序编程接口(API)简化复杂寡核苷酸池(oligo pool)的设计。在PoolParty中,每个文库由计算图(computational graph)表示,仅需几行代码即可指定。超过50种内置操作(Operation)涵盖核苷酸和密码子水平的诱变、基序(motif)插入、条形码(barcode)生成等。PoolParty自动为每条序列生成信息丰富的名称,并提供详述每条序列如何生成的“设计卡”(design card)。可视化方法使用户能够快速审核文库内容并检查底层图。因此,PoolParty将寡核苷酸池设计从需要自定义函数和脚本的繁琐任务转变为结构化、透明且可重复的流程。**结论** PoolParty简化了DMS、MPRA及其他多重检测文库的设计,其提供的设计卡可帮助研究人员系统地探测和解读基因组AI模型。PoolParty还可扩展以支持新出现的检测方法和分析策略。
**研究背景** 计算设计的DNA序列文库已成为功能基因组学的重要工具。在大规模并行报告基因检测(MPRA)中,复杂DNA序列文库常用于单次实验测量数万个候选调控元件或其变异的调控活性;在深度突变扫描(DMS)中,系统或随机诱变的编码序列常用于绘制蛋白质适应度景观(fitness landscape);寡核苷酸池还可用于高通量生化检测,如转录因子特异性测量。这些实验均属变异效应多重检测(MAVE)家族。除此以外,设计序列文库还越来越多地用于计算机模拟(in silico)探测基因组AI模型的行为并扩充其训练数据。原则上计算设计文库很简单,但实践中繁琐且易出错:典型应用需组合多种变异类型,如DMS文库可能同时包含穷举单氨基酸替换、采样的高阶突变体、多份野生型与对照序列及条形码,各由不同流程生成并有不同覆盖度要求;MPRA文库可能需将多个转录因子结合位点以所有可能排列和方向平铺于调控元件并分配多个条形码。在一次性的脚本中协调此类组合逻辑很快变得难以处理,且常产生难以发现的错误。现有工具只能覆盖部分流程:通用序列工具包可操作序列但无文库结构化对象概念;VaLiAnT可生成编码与非编码区的突变扫描文库(支持单核苷酸替换、氨基酸替换和框内缺失);MPRAnator为MPRA提供基序放置、SNP设计和阴性对照生成模块;tangermeme支持序列扰动与基因组深度学习模型分析。但这些工具均针对特定应用,无一能生成常用文库设计的全部范围:如VaLiAnT不支持含随机转录因子结合位点组合的调控序列文库,MPRAnator与tangermeme不支持编码序列的密码子感知诱变。因此开展本研究以开发通用、结构化且可重复的文库设计框架。
**研究内容与结论** 研究人员提出PoolParty,一个用于高效设计复杂DNA序列文库的Python包。在PoolParty中,文库由称为Pool的对象表示,序列生成过程的各个步骤称为Operation。用户以简洁透明的语法将Operation链接为有向无环图(DAG,借鉴深度学习框架思路)以产生目标Pool。DAG描述生成序列的高层逻辑,过程细节与簿记由内部处理。重要的是,在用户请求之前不生成任何序列,并可简便生成小型测试序列集,从而在无需每轮迭代都生成完整文库的情况下探索多种设计选项。生成序列时,每条序列自动获得信息丰富的名称,并配有记录其具体构建流程的设计卡。研究通过三个示例展示PoolParty:蛋白GB1的DMS文库、探测转录调控语法的MPRA文库、以及表征基因组深度学习模型SpliceAI的计算机模拟实验(其中设计卡为代理建模提供协变量)。结论表明,PoolParty将寡核苷酸池设计从需要自定义函数和脚本的繁琐任务转变为结构化、透明且可重复的流程。
**主要关键技术方法** 研究采用Python 3.10及以上版本开发,依赖极少,经PyPI分发;核心抽象为Pool与Operation,通过链接Operation构建DAG;开发后端包StateTracker自动完成DAG正向与反向传递中的状态合成与分解;提供超过50种内置Operation,分为源(source)、变换(transformation)、组合(composition)与状态(state)四类。序列生成分状态分配与序列构建两步,各Operation以顺序(sequential)、随机(random)、固定(fixed)三种模式解释内部状态;支持XML风格标签标记序列区域,提供设计卡、序列命名与序列样式三种元数据记录方式。技术细节示例中,使用人类5′剪接位点(5′ss)位置权重矩阵(PWM)采样代表隐秘5′ss的9-mer,以MaxEntScan评分并按100个分位数分箱、每箱抽取20条(共2,000条),插入SMN2外显子7经典5′ss两侧100个位置,并与GT二核苷酸被破坏(+2位T>A)的匹配对照配对;采用已发表的五模型集成以±5 kb基因组背景预测经典5′ss概率(GRCh38);使用pyGAM拟合广义相加模型(GAM),以位置、强度及其交互为平滑项、按单元格均值逆方差加权,外显子与内含子区域分别建模,并用棋盘交叉验证评估。作者亦声明使用大型语言模型辅助代码开发、调试与文档撰写。
**研究结果**
示例1:蛋白GB1的DMS文库。研究人员用PoolParty重建并扩展Olson等(Olson et al.)的GB1深度突变扫描文库(含野生型编码序列、除起始密码子外的全部单氨基酸替换及全部氨基酸替换对,超过50万变异),并添加随机高阶氨基酸替换和100份野生型重复。通过from_seq定义orf_pool,经repeat产生100份野生型拷贝,两个顺序模式mutagenize_orf分别生成1,045个单氨基酸替换和536,085个双氨基酸替换,随机模式mutagenize_orf以每个位点10%概率突变生成10,000个高阶变异体(采用missense_only_first密码子类型),四个Pool经stack合并为根Pool,共547,230条序列;由此得出设计卡可报告所属组分、具体突变及重复索引,print_dag可检查DAG结构。
示例2:调控语法的MPRA文库。针对研究调控语法的MPRA文库常改变转录因子结合位点(TFBS)的位置与方向,研究人员参照Melnikov等的寡核苷酸布局,构建含假定惰性100 bp顺式调控元件(CRE)区域(
)与条形码区域()的模板Pool,分别为三种肝脏富集转录因子HNF4A、PPARA和XBP1创建结合位点Pool并经flip操作得到正反两个方向;模板与三个TFBS Pool经insertion_multiscan在内无重叠地采样1,000种随机放置,因flip为顺序模式,每种放置生成23=8种方向组合,共8,000个CRE变异体,经repeat各复制三次,最后以get_barcodes生成唯一条形码插入,共24,000条序列;由此得出PoolParty可无需额外用户负担处理比标准DMS更复杂的组合逻辑,且样式(HNF4A蓝色、PPARA紫色、XBP1橙色,条形码加粗)使print_library输出中各位点位置、顺序与方向一目了然。
示例3:SpliceAI预测的代理建模。研究人员以SMN2外显子7的5′ss为经典位点,用PoolParty构建不同强度(即MaxEntScan评分)的隐秘5′ss 9-mer插入经典5′ss两侧不同位置的文库,具体强度与位置值记录于设计卡,并将每条变异序列与隐秘位点被破坏的匹配对照配对,以经典位点SpliceAI预测概率的logit差值(Δlogit)量化效应;以GAM分别建模外显子与内含子位置插入效应,每个模型含位置单独效应、强度单独效应及二者交互三项。结果显示GAM紧密重现观测数据(图4B、C);外显子侧隐秘位点对经典位点使用的抑制强于内含子侧(图4D),效应峰值约在经典5′ss上游20 bp,与隐秘5′ss在外显子侧注释位点附近优先耗竭的观察一致;更强隐秘位点在两个模型中均引起更强抑制(图4E);位置与强度效应存在显著交互(图4F);与类似线性模型比较,GAM的非线性项与交互项显著提升预测性能,外显子与内含子插入的留出R2分别为0.82和0.71(图4G)。
**讨论与结论** 讨论部分总结:PoolParty以DAG表示文库并提供简单API,三个用例(GB1的DMS文库、调控语法MPRA文库、隐秘5′ss对SpliceAI预测影响的代理建模分析)展示其灵活性及对实验与计算研究的适用性;运行时间与峰值内存基准见补充信息(图S2、表S1)。PoolParty受PyTorch、TensorFlow等深度学习框架启发,其状态分解机制是核心创新,使序列生成可随机访问,允许用户在不生成完整文库的情况下测试复杂寡核苷酸池设计。设计卡作为簿记工具,使研究人员避免从原始序列反推序列架构,并便于将构建参数用作下游分析协变量,随着基因组AI模型的计算机模拟实验日益普遍,其用途预计将增加。PoolParty通过提供统一框架补充VaLiAnT、MPRAnator和tangermeme等现有工具,DAG自动产生结构化设计卡元数据;与现有工具的更多比较见补充信息(图S3、S4,表S2、S3)。其局限包括:PoolParty操作对象为序列而非基因组位点或转录本模型,可接受基因组坐标从FASTA提取序列,但不解释转录本注释(如GFF/GTF文件)或在后续设计步骤中追踪基因组坐标,这可能使其对某些基因组编辑应用帮助较小(如相较VaLiAnT);它也不是序列优化工具,不设计具有优化密码子用法、受复杂合成约束或经机器学习模型评估具最佳活性的序列,亦不解决物理构建DNA序列文库(如设计诱变引物)的问题,但可与应对这些挑战的互补工具结合使用。研究结论翻译:PoolParty简化了深度突变扫描实验、大规模并行报告基因检测及其他变异效应多重检测的设计;随着基因组AI模型不断发展,预计PoolParty将帮助研究人员系统地探测和解读这些模型的行为;此外,由于PoolParty的可组合设计使定义新Operation变得简单,该框架可随时扩展以支持新出现的检测类型和分析策略。