Project Icon

DNA-Diffusion

扩散模型生成调控DNA序列的新方法

DNA-Diffusion项目利用扩散概率模型生成调控DNA序列。该项目开发基于文本提示的模型,生成特定细胞类型或上下文相关的DNA序列。这些序列具有特定调控特性,如细胞特异性染色质状态、基因表达水平调控或转录因子结合位点。该研究旨在深化对正常发育和疾病中DNA调控序列特性的理解。

DNA扩散

使用扩散概率模型对调控DNA序列进行生成建模。

构建 代码覆盖率 PyPI版本

所有贡献者


文档: https://pinellolab.github.io/DNA-Diffusion

源代码: https://github.com/pinellolab/DNA-Diffusion


摘要

人类基因组计划已经揭示了整个人类基因组的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)

第1步:生成模型

我们提议开发能够根据输入文本提示生成具有某些调控特性的细胞类型特异性或上下文特异性DNA序列的模型。 例如:

  • "在细胞类型X中对应于开放(或闭合)染色质的序列"

  • "在细胞类型X中将基因激活到其最大表达水平的序列"

  • "在细胞类型X中活跃并包含转录因子Y结合位点的序列"

  • "在肝脏和心脏中激活基因但在大脑中不激活的序列"

第2步:扩展和改进

除了单个调控元件外,所谓的"位点控制区域"已知在特定配置中包含多个调控元件,协同工作以产生更复杂的调控规则集。与"拼贴"方法有相似之处,其中多个稳定扩散步骤被组合成一个最终(图形)输出,我们希望将这一概念应用于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

任务和潜在路线图:

  • 收集基因组数据集
  • 基于代码库实现引导扩散
  • 思考生物信息在引导扩散中的最佳编码方式(例如细胞类型:K562,染色质强激活序列,或细胞类型:GM12878,非常开放的染色质)
  • 基于现有数据集制定验证计划,或考虑如何进行新的生物学实验(我们需要考虑潜在的主动学习策略)

交付成果

  • 数据集: 编译并提供一个完整的细胞特异性调控区域(DNase实验)数据库,使科学家能够基于调控序列训练和生成不同的扩散模型。

  • 模型: 提供一个模型,可以根据特定的细胞类型和基因组背景生成调控序列。

  • API: 提供一个API,使操作DNA调控模型成为可能,并提供一个视觉化的playground来生成合成的上下文序列。

数据集

DHS索引:

活跃参与基因调控的染色质(DNA及其相关蛋白质)通常对DNA结合蛋白(如转录因子)是可及的(综述相关论文)。 通过使用DNase-seq技术,我们测量了733个人类生物样本中基因组的可及性部分,涵盖了438种细胞和组织类型及状态,识别出超过350万个DNase高敏感位点(DHSs)。 使用非负矩阵分解,我们将这些数据总结为16个组分,每个组分对应一个不同的细胞环境(如"心脏"、"神经"、"淋巴")。

作为本提案描述的工作的一部分,以及Wouter Meuleman研究小组早期正在进行的项目的一部分,我们整理了这些数据的较小子集,可用于训练模型为每个NMF组分生成合成序列。

这些数据及其数据字典可在此处找到。

其他潜在数据集:

模型

输入模式:

A) 细胞类型 + 调控元件 例:脑肿瘤细胞弱增强子
B) 细胞类型 + 调控元件 + 转录因子组合(存在或缺失)例:前列腺细胞,增强子,AR(存在),TAFP2a(存在)和ER(缺失)
C) 细胞类型 + 转录因子组合 + 转录因子位置 例:血液干细胞 GATA2(存在)和ER(缺失)+ GATA1(100-108)
D) 具有遗传变异的测序 -> 低数量扩散步骤 = 核苷酸重要性预测

输出:

	DNA序列

模型大小: 增强子和生物序列的数量不超过Lion数据集中可用的图像数量。我们生成的DNA输出的维度不应超过4个碱基[A,C,T,G] X 1kb。最终模型应大于2 GB。

模型: 可以根据总序列长度创建不同的模型。

API

根据兴趣待定

论文

这个项目能否转化为论文?这样一篇论文的评估过程是怎样的?我们的目标会议是哪些?我们能否同时发布博客文章和论文?

是的,我们打算将体内生成和实验验证相结合,以研究我们的模型在经典调控系统(例如:镰状细胞和癌症)上的表现。 我们的团队和合作者在学术界有相当的声誉,并在高影响力期刊(如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 devpatchminormajor等命令来升级版本。或者编辑src/dnadiffusion/__about__.py文件。更改版本后,当你推送到GitHub时,Test Release工作流会自动在Test-PyPI上发布,并创建一个GitHub发布草稿。

提供文档

你可以通过以下命令提供mkdocs文档:

hatch run docs-serve

这将自动监视你代码的变化。

贡献者 ✨

感谢这些优秀的人(表情符号键):

(贡献者列表和图片保持原样)

本项目遵循all-contributors规范。欢迎任何形式的贡献!

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号