<img src='https://yellow-cdn.veclightyear.com/0a4dffa0/e1d08684-6ff5-487d-b9c9-dbe73f1c4135.gif?inline=true'> </img>
<p align="center"> <em>使用扩散概率模型对调控DNA序列进行生成建模。</em> </p> <!-- ALL-CONTRIBUTORS-BADGE:START - 请勿删除或修改此部分 --> <!-- ALL-CONTRIBUTORS-BADGE:END -->文档: <a href="https://pinellolab.github.io/DNA-Diffusion" target="_blank">https://pinellolab.github.io/DNA-Diffusion</a>
源代码: <a href="https://github.com/pinellolab/DNA-Diffusion" target="_blank">https://github.com/pinellolab/DNA-Diffusion</a>
人类基因组计划已经揭示了整个人类基因组的DNA序列,揭示了涉及众多生物过程和途径的数万个基因的蓝图。 除了人类基因组的这一(编码)部分外,DNA还包含数百万个参与上述基因调控 的非编码元件。
这些调控元件控制基因的表达水平,其方式至少部分编码在它们的初级基因组序列中。 许多人类疾病和障碍都是基因调控不当的结果。 因此,能够控制这些元件的行为及其对基因表达的影响,为纠正与疾病相关的错误调控提供了诱人的机会。
虽然通过改变调控元件的序列原则上应该可以进行这种细胞编程,但这样做的规则在很大程度上仍然未知。 一些实验努力受到了关于什么构成调控元件的先入为主的观念和假设的指导,本质上导致了一种"试错"方法。
在这里,我们建议使用大规模的数据驱动方法来学习和应用调控元件序列背后的规则,应用最新的生成建模技术。
本项目的目标是研究最新扩散模型在基因组学数据中的应用和改编(有关不错的介绍和参考文献,请参阅https://lilianweng.github.io/posts/2021-07-11-diffusion-models/)。扩散模型是强大的模型,已被用于图像生成(例如稳定扩散、DALL-E)、音乐生成(Magenta项目的最新版本),取得了出色的结果。 一种名为"引导"扩散的特殊模型公式允许在训练过程中提供文本或连续/离散标签的情况下,将生成过程偏向特定方向。这使得创建"AI艺术家"成为可能,它们可以根据文本 提示创建美丽而复杂的图像(这里有很多例子:https://www.reddit.com/r/StableDiffusion/)。
一些研究小组报告了在上下文依赖系统中生成合成DNA调控元件的可能性,例如,细胞特异性增强子。 (https://elifesciences.org/articles/41279, https://www.biorxiv.org/content/10.1101/2022.07.26.501466v1)
我们提议开发能够根据输入文本提示生成具有某些调控特性的细胞类型特异性或上下文特异性DNA序列的模型。 例如:
"在细胞类型X中对应于开放(或闭合)染色质的序列"
"在细胞类型X中将基因激活到其最大表达水平的序列"
"在细胞类型X中活跃并包含转录因子Y结合位点的序列"
"在肝脏和心脏中激活基因但在大脑中不激活的序列"
除了单个调控元件外,所谓的"位点控制区域"已知在特定配置中包含多个调控元件,协同工作以产生更复杂的调控规则集。与"拼贴"方法有相似之处,其中多个稳定扩散步骤被组合成一个最终(图形)输出,我们希望将这一概念应用于DNA序列,目标是设计更大的调控位点。这是一个特别令人兴奋的方向,据我们所知,迄今为止尚未被探索。
除了合成DNA创作外,扩散模型还可以帮助理解和解释调控序列元件组分,例如,成为研究单核苷酸变异的有价值工具(https://www.biorxiv.org/content/10.1101/2022.08.22.504706v1)和进化(https://genomebiology.biomedcentral.com/articles/10.1186/s13059-018-1502-5)。
总的来说,我们相信我们的工作可以加速我们对正常发育和不同疾病中DNA调控序列固有特性的理解。
对于这项工作,我们提议基于Chen、Zhang和Hinton提出的公式构建一个位扩散模型https://arxiv.org/abs/2208.04202。这个模型是一种使用连续扩散模型生成离散数据的通用方法。这种方法的实现已经存在,这是一个可以在其基础上构建的潜在代码库: https://github.com/lucidrains/bit-diffusion
数据集: 编译并提供一个完整的细胞特异性调控区域(DNase实验)数据库,使科学家能够基于调控序列训练和生成不同的扩散模型。
模型: 提供一个模型,可以根据特定的细胞类型和基因组背景生成调控序列。
API: 提供一个API,使操作DNA调控模型成为可能,并提供一个视觉化的playground来生成合成的上下文序列。
活跃参与基因调控的染色质(DNA及其相关蛋白质)通常对DNA结合蛋白(如转录因子)是可及的(综述,相关论文)。 通过使用DNase-seq技术,我们测量了733个人类生物样本中基因组的可及性部分,涵盖了438种细胞和组织类型及状态,识别出超过350万个DNase高敏感位点(DHSs)。 使用非负矩阵分解,我们将这些数据总结为16个组分,每个组分对应一个不同的细胞环境(如"心脏"、"神经"、"淋巴")。
作为本提案描述的工作的一部分,以及Wouter Meuleman研究小组早期正在进行的项目的一部分,我们整理了这些数据的较小子集,可用于训练模型为每个NMF组分生成合成序列。
这些数据及其数据字典可在此处找到。
对应于注释调控序列的DNA序列数据,如基因启动子或远端调控序列(如增强子),这些序列是由NHGRI资助的项目(如ENCODE或Roadmap Epigenomics)根据数百种细胞的染色质标记或可及性进行注释的。
来自MPRA实验的数据,这些实验可以并行测试数百个DNA序列的调控潜力(https://elifesciences.org/articles/69479.pdf,https://www.nature.com/articles/s41588-021-01009-4,...)
MIAA实验,测试给定细胞类型中开放染色质的能力。
A) 细胞类型 + 调控元件 例:脑肿瘤细胞弱增强子
B) 细胞类型 + 调控元件 + 转录因子组合(存在或缺失)例:前列腺细胞,增强子,AR(存在),TAFP2a(存在)和ER(缺失)
C) 细胞类型 + 转录因子组合 + 转录因子位置 例:血液干细胞 GATA2(存在)和ER(缺失)+ GATA1(100-108)
D) 具有遗传变异的测序 -> 低数量扩散步骤 = 核苷酸重要性预测
DNA序列
模型大小:
增强子和生物序列的数量不超过Lion数据集中可用的图像数量。我们生成的DNA输出的维度不应超过4个碱基[A,C,T,G] X 1kb。最终模型应大于2 GB。
模型: 可以根据总序列长度创建不同的模型。
根据兴趣待定
这个项目能否转化为论文?这样一篇论文的评估过程是怎样的?我们的目标会议是哪些?我们能否同时发布博客文章和论文?
是的,我们打算将体内生成和实验验证相结合,以研究我们的模型在经典调控系统(例如:镰状细胞和癌症)上的表现。 我们的团队和合作者在学术界有相当的声誉,并在高影响力期刊(如Nature和Cell)上发表过多篇文章。
完成这个项目需要哪些资源(例如GPU小时数、内存、存储)?
我们的初始模型可以在约3小时内(~500个epoch)使用小型数据集(~1k序列)在Colab PRO(24GB内存)单GPU Tesla K80上训练。基于此,我们预计要在上述大型数据集(~300万序列(4x200))上训练这个或类似的模型 ,我们需要几个高性能GPU,持续约3个月。(欢迎提供优化建议!)
这个项目的(大致)时间线是什么?
6个月到1年。
这个项目预计将如何积极影响整个生物学研究?
我们相信这个项目将有助于更好地理解基因组调控序列:它们的组成以及在不同生物背景下可能作用于它们的潜在调节因子,并有可能基于这些知识创造治疗方法。
我们将使用最佳实践来确保我们的代码是可重复的,并进行版本控制。我们将发布数据处理脚本和conda环境/docker,以确保其他研究人员可以轻松运行。
我们有几种测试方法和技术,可以基于CRISPR基因组编辑或大规模并行报告基因测定(MPRA)来大规模测试这些模型生成的合成序列。
无论最终模型的性能如何,我们认为在新领域测试扩散模型很重要,其他团队可以在我们的研究基础上进行深入探索。
使用Bit Diffusion模型,我们能够重构200 bp序列,这些序列呈现出与训练序列非常相似的基序组成。计划是在模型中添加细胞条件变量,以检查不同调控区域如何依赖于细胞特异性环境。
扩展模型长度以生成完整的调控区域(增强子 + 基因启动子对) 在体内模型上使用我们的合成增强子,并检查它们如何在生物情景中调节转录动态(除了MPRA阵列之外)。
如果这个项目让你感兴趣,请加入我们! 加入OpenBioML的Discord:https://discord.gg/Y9CN2dUzQJ,我们在**dna-diffusion**频道讨论这个项目,我们会提供如何参与的指导。
你可以在这里查看贡献者列表。
我们使用hatch来管理开发环境和生产构建。通常使用pipx安装hatch会比较方便。
你可以通过以下命令运行所有测试:
hatch run test
执行以下命令来应用代码lint和检查类型:
hatch run lint
你可以通过以下命令检查当前版本:
hatch version
你可以使用hatch version dev
或patch
、minor
、major
等命令来升级版本。或者编辑src/dnadiffusion/__about__.py
文件。更改版本后,当你推送到GitHub时,Test Release工作流会自动在Test-PyPI上发布,并创建一个GitHub发布草稿。
你可以通过以下命令提供mkdocs文档:
hatch run docs-serve
这将自动监视你代码的变化。
感谢这些优秀的人(表情符号键):
(贡献者列表和图片保持原样)
本项目遵循all-contributors规范。欢迎任何形式的贡献!
一键生成PPT和Word,让学习生活更轻松
讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。
深度推理能力全新升级,全面对标OpenAI o1
科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。
一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型
Spark-TTS 是一个基于 PyTorch 的开源文 本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。
字节跳动发布的AI编程神器IDE
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
AI助力,做PPT更简单!
咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文 档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。
选题、配图、成文,一站式创作,让内容运营更高效
讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。
专业的AI公文写作平台,公文写作神器
AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。
OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。
openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。
高分辨率纹理 3D 资产生成
Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。
一个具备存储、管理和客户端操作等多种功能的分布式文件系统相关项目。
3FS 是一个功能强大的分布式文件系统项目,涵盖了存储引擎、元数据管理、客户端工具等多个模块。它支持多种文件操作,如创建文件和目录、设置布局等,同时具备高效的事件循环、节点选择和协程池管理等特性。适用于需要大规模数据存储和管理的场景,能够提高系统的性能和可靠性,是分布式存储领域的优质解决方案。
最新AI工具、AI资讯
独家AI资源、AI项目落地
微信扫一扫关注公众号