Open-AF3

GitHub
802 103 中等 1 次阅读 2周前MIT开发框架Agent图像
AI 解读 由 AI 自动生成,仅供参考

Open-AF3 是一个基于 PyTorch 框架开源实现的 AlphaFold 3 项目,旨在复现论文中提出的生物分子相互作用结构预测能力。它主要解决了如何高精度预测蛋白质、核酸及配体等复杂生物分子三维结构的问题,为理解生命机制和药物研发提供关键的结构数据支持。

这款工具特别适合人工智能研究人员、生物信息学开发者以及计算生物学领域的学者使用。用户可以直接利用其代码进行模型训练、推理实验或二次开发,探索大分子结构预测的前沿技术。

在技术亮点上,Open-AF3 摒弃了传统复杂的 MSA(多序列比对)处理流程,转而采用简化的模块设计,并引入全新的"Pairformer"架构来协同处理成对与单体特征表示。其核心创新在于集成了“遗传扩散”(Genetic Diffusion)模块,该模块直接作用于原子坐标,通过去噪过程从随机噪声中逐步生成精确的三维结构。此外,项目还采用了独特的交叉蒸馏策略,利用 AlphaFold Multimer v2.3 的预测结果增强训练数据,有效抑制了扩散模型可能产生的“幻觉”现象,并配备了能够评估原子级误差的置信度预测头,显著提升了生成结构的可靠性与实用性。

使用场景

某生物制药公司的算法团队正在研发针对新型病毒蛋白与宿主受体结合机制的创新药物,急需高精度预测两者复合物的三维结构以指导分子设计。

没有 Open-AF3 时

  • 依赖封闭黑盒:团队只能等待 Google DeepMind 的 API 更新或受限于非开源版本,无法针对特定的病毒变异株进行模型微调或内部部署。
  • 复现门槛极高:试图从零复现论文中的扩散模块(Diffusion Module)和 Pairformer 架构时,因缺乏清晰的 PyTorch 实现参考,导致原子坐标去噪逻辑频繁出错。
  • 置信度评估缺失:难以获取原子级别的误差预测,无法有效区分模型生成的“合理幻觉”结构与真实生物构象,增加了湿实验验证的失败风险。
  • 数据增强困难:缺少内置的交叉蒸馏机制,无法利用 AlphaFold Multimer v2.3 的预测结果来丰富训练数据,导致对罕见蛋白互作模式的泛化能力不足。

使用 Open-AF3 后

  • 自主可控迭代:直接通过 pip install alphafold3 部署开源版本,团队可自由修改 GeneticDiffusion 模块代码,快速适配新发现的病毒蛋白序列。
  • 架构透明高效:基于清晰的 PyTorch 代码示例,迅速理解了从成对表示到显式原子位置的映射逻辑,将原本数周的复现周期缩短至几天。
  • 精准误差量化:利用内置的置信度头(Confidence Head)回归原子级误差,自动过滤掉扩散模型可能产生的幻觉结构,显著提升了候选结构的可靠性。
  • 训练策略优化:直接应用其新颖的交叉蒸馏方法和扩散展开程序(diffusion rollout),在有限算力下实现了更鲁棒的多尺度结构生成。

Open-AF3 通过提供透明、可定制的 PyTorch 实现,让研发团队打破了黑盒限制,将生物大分子结构预测从“被动等待”转变为“主动探索”。

运行环境要求

操作系统
  • 未说明
GPU

未说明 (基于 PyTorch 和扩散模型架构,推测需要支持 CUDA 的 NVIDIA GPU)

内存

未说明

依赖
notes这是一个 AlphaFold3 的开源 PyTorch 实现,并非 Google/DeepMind 官方版本。安装命令为 `pip install alphafold3`。代码示例显示模型涉及大量的张量运算(如 Pairformer 48 层块、扩散步骤),对显存要求可能较高。目前仍处于开发阶段(Todo 列表显示缺少部分模块如 MSA 嵌入、模板模块等),且明确提到该实现简化了 MSA 处理。训练数据包含来自 AlphaFold Multimer v2.3 的预测结构以进行蒸馏。
python未说明
torch
alphafold3
Open-AF3 hero image

快速开始

Open-AlphaFold

基于论文《使用 AlphaFold3 准确预测生物分子相互作用的结构》的 AlphaFold 开源实现,采用 PyTorch 框架。本人及本仓库的贡献者与 Google 或 DeepMind 均无任何关联。

安装

$ pip install alphafold3

输入张量尺寸示例

import torch

# 定义批次大小、节点数和特征数
batch_size = 1
num_nodes = 5
num_features = 64

# 使用 torch.randn 生成随机的成对表示
# 形状:(batch_size, num_nodes, num_nodes, num_features)
pair_representations = torch.randn(
    batch_size, num_nodes, num_nodes, num_features
)

# 使用 torch.randn 生成随机的单体表示
# 形状:(batch_size, num_nodes, num_features)
single_representations = torch.randn(
    batch_size, num_nodes, num_features
)

遗传扩散

尚需审核,但其核心操作是基于原子坐标进行的。

import torch
from alphafold3.diffusion import GeneticDiffusion

# 创建 GeneticDiffusionModuleBlock 实例
model = GeneticDiffusion(channels=3, training=True)

# 生成随机输入坐标
input_coords = torch.randn(10, 100, 100, 3)

# 生成随机真实坐标
ground_truth = torch.randn(10, 100, 100, 3)

# 将输入坐标和真实坐标输入模型
output_coords, loss = model(input_coords, ground_truth)

# 打印输出坐标
print(output_coords)

# 打印损失值
print(loss)

全模型示例前向传播

import torch 
from alphafold3 import AlphaFold3

# 创建随机张量
x = torch.randn(1, 5, 5, 64)  # 形状:(batch_size, seq_len, seq_len, dim)
y = torch.randn(1, 5, 64)  # 形状:(batch_size, seq_len, dim)

# 初始化 AlphaFold3 模型
model = AlphaFold3(
    dim=64,
    seq_len=5,
    heads=8,
    dim_head=64,
    attn_dropout=0.0,
    ff_dropout=0.0,
    global_column_attn=False,
    pair_former_depth=48,
    num_diffusion_steps=1000,
    diffusion_depth=30,
)

# 进行前向传播
output = model(x, y)

# 打印输出张量的形状
print(output.shape)

笔记

-> 成对表示 -> 显式原子位置

-> 在主干网络中,MSA 处理被弱化,仅使用一个更简单的 MSA 模块,共 4 层。

-> MSA 处理 -> 对成对表示进行加权平均。

-> Pairformer:取代了 Evoformer,直接作用于成对表示和单体表示。

-> Pairformer 共 48 层。

-> 成对表示、单体表示以及输入表示一同传递给扩散模块。

-> 扩散模块接收 3 个张量 [成对表示、单体表示,以及新的 Pairformer 表示]。

-> 扩散模块直接操作原始原子坐标。

-> 采用标准扩散方法,模型训练时接收带噪声的原子坐标,并预测真实的原子坐标。

-> 网络在不同长度尺度上学习蛋白质结构,其中小噪声下的去噪任务更强调系统的宏观结构。

-> 推理时,先采样随机噪声,然后逐步去噪以生成最终结构。

-> 扩散模块会生成一组可能的结构。

-> 对于每种可能的结构,局部细节都会非常清晰。

-> 扩散模型容易产生“幻觉”,即生成看似合理但实际上不准确的结构。

-> 为应对这一问题,他们采用了一种新颖的交叉蒸馏方法,在训练数据中加入了 AlphaFold Multimer v2.3 预测的结构。

-> 置信度评估可以预测最终结构中的原子级误差和成对误差,这是通过在训练过程中回归结构模块输出的误差来实现的。

-> 训练时采用扩散展开过程生成完整结构(步长比正常情况更大)。

-> 使用扩散生成的预测结构来排列真实结构和配体,从而计算指标以训练置信度头。

-> 置信度头利用成对表示预测 LDDT(pLDDT),并生成类似于 AlphaFold 2 中使用的对齐误差矩阵,以及预测结构与真实结构的距离误差矩阵。

-> 置信度评估还能预测原子级和成对误差。

-> 根据上述各项指标的加权平均进行早停。

-> AF3 可以根据输入的聚合物序列、修饰信息和配体 SMILES 预测结构。

-> 适用于少于 1000 个残基的结构。

-> AlphaFold3 还能预测包含数千个残基的蛋白质核结构。

-> 共价修饰(如结合配体、糖基化以及修饰后的蛋白质残基和 202 个核酸碱基)也能被 AF 准确预测。

-> 蒸馏了 AlphaFold2 的预测结果。

-> 蛋白质结构预测的一个关键问题是,目前的方法只能预测静态结构,而无法捕捉动态行为。

-> 即使使用多个随机种子运行扩散头或整个网络,也无法近似得到解的集合。

-> 未来计划:生成大量预测结果并对其进行排序。

-> 推理时:从 5 次种子运行和每个模型种子的 5 次扩散运行中,选择置信度最高的样本,总共得到 25 个样本。

-> 接口精度通过接口 LDDT 来衡量,该指标基于接口处不同链之间原子间的距离计算得出。

-> 使用一种针对聚合物的 LDDT 指标,该指标考虑实体中的每个原子与半径范围内的任意 C 或 C1 聚合物原子之间的差异。

待办事项

模型架构

  • 实现来自 AlphaFold2 openfold 的输入嵌入模块 链接
  • 实现来自 openfold 的模板模块 链接
  • 实现来自 openfold 的 MSA 嵌入 链接
  • 修复残差连接,并确保成对表示和生成的输出能够正确进入扩散模型。
  • 实现循环机制以修复残差连接。

训练流程

  • 将所有数据集上传至 Hugging Face。

资料

参考文献

@article{Abramson2024-fj,
  title    = {使用{AlphaFold} 3准确预测生物分子相互作用的结构},
  author   = {阿布拉姆森,乔什;阿德勒,乔纳斯;邓格,杰克;埃文斯,理查德;格林,蒂姆;普里茨尔,亚历山大;罗内贝格,奥拉夫;威尔莫尔,林赛;巴拉德,安德鲁·J;班布里克,乔舒亚;博登斯坦,塞巴斯蒂安·W;埃文斯,大卫·A;洪,贾春;奥尼尔,迈克尔;雷曼,大卫;图尼亚苏瓦纳库尔,凯瑟琳;吴,扎卡里;泽姆古利特,阿克维莱;阿尔瓦尼蒂,艾琳妮;比蒂,查尔斯;贝尔托利,奥塔维娅;布里奇兰德,亚历克斯;切列帕诺夫,阿列克谢;康格里夫,迈尔斯;科温-里弗斯,亚历山大·I;科伊,安德鲁;菲古尔诺夫,米哈伊尔;福克斯,法比安·B;格拉德曼,汉娜;贾因,里舒布;汗,优素福·A;洛,卡罗琳·M·R;佩尔林,库巴;波塔彭科,安娜;萨维,帕斯卡尔;辛格,苏赫迪普;斯泰库拉,阿德里安;蒂拉孙达拉姆,阿肖克;通,凯瑟琳;亚克宁,谢尔盖;钟,艾伦·D;齐耶林斯基,米哈尔;日代克,奥古斯丁;巴普斯特,维克托;科利,普什米特;雅德伯格,马克斯;哈萨比斯,德米斯;詹珀,约翰·M},
  journal  = {自然},
  month    =  "五月",
  year     =  2024
}
@inproceedings{Darcet2023VisionTN,
    title   = {视觉Transformer需要寄存器},
    author  = {蒂莫泰·达尔塞、马克西姆·欧卡布、朱利安·梅拉尔、皮奥特尔·博扬诺夫斯基},
    year    = {2023},
    url     = {https://api.semanticscholar.org/CorpusID:263134283}
}
@article{Arora2024SimpleLA,
    title   = {简单的线性注意力语言模型平衡召回率与吞吐量的权衡},
    author  = {西姆兰·阿罗拉、萨布里·埃尤博格鲁、迈克尔·张、阿曼·蒂马尔西纳、西拉斯·阿尔贝蒂、迪伦·津斯利、詹姆斯·邹、阿特里·鲁德拉、克里斯托弗·R'e},
    journal = {ArXiv},
    year    = {2024},
    volume  = {abs/2402.18668},
    url     = {https://api.semanticscholar.org/CorpusID:268063190}
}
@article{Puny2021FrameAF,
    title   = {用于不变性和等变网络设计的帧平均},
    author  = {奥姆里·普尼、马坦·阿茨蒙、赫利·本-哈穆、爱德华·詹姆斯·史密斯、伊桑·米斯拉、阿迪提亚·格罗弗、亚龙·利普曼},
    journal = {ArXiv},
    year    = {2021},
    volume  = {abs/2110.03336},
    url     = {https://api.semanticscholar.org/CorpusID:238419638}
}
@article{Duval2023FAENetFA,
    title   = {FAENet:用于材料建模的帧平均等变图神经网络},
    author  = {亚历山大·杜瓦尔、维克托·施密特、亚历克斯·埃尔南德斯·加西亚、圣地亚哥·米雷特、弗拉吉斯科斯·D·马利亚罗斯、约书亚·本吉奥、大卫·罗尔尼克},
    journal = {ArXiv},
    year    = {2023},
    volume  = {abs/2305.05577},
    url     = {https://api.semanticscholar.org/CorpusID:258564608}
}
@article{Wang2022DeepNetST,
    title   = {DeepNet:将Transformer扩展到1,000层},
    author  = {洪宇·王、舒明·马、李东、绍韩·黄、董东·张、富鲁·魏},
    journal = {ArXiv},
    year    = {2022},
    volume  = {abs/2203.00555},
    url     = {https://api.semanticscholar.org/CorpusID:247187905}
}
@inproceedings{Ainslie2023CoLT5FL,
    title   = {CoLT5:利用条件计算加速长距离Transformer},
    author  = {乔舒亚·艾恩斯利、陶雷、米希尔·德·容、圣地亚哥·昂塔翁、西达尔塔·布拉玛、尤里·泽姆良斯基、戴维·乌瑟斯、曼迪·郭、詹姆斯·李-索普、易泰、云轩·宋、苏米特·桑盖},
    year    = {2023}
}

引用

@article{Abramson2024-fj,
  title    = {使用{AlphaFold} 3准确预测生物分子相互作用的结构},
  author   = {阿布拉姆森,乔什;阿德勒,乔纳斯;邓格,杰克;埃文斯,理查德;格林,蒂姆;普里茨尔,亚历山大;罗内贝格,奥拉夫;威尔莫尔,林赛;巴拉德,安德鲁·J;班布里克,乔舒亚;博登斯坦,塞巴斯蒂安·W;埃文斯,大卫·A;洪,贾春;奥尼尔,迈克尔;雷曼,大卫;图尼亚苏瓦纳库尔,凯瑟琳;吴,扎卡里;泽姆古利特,阿克维莱;阿尔瓦尼蒂,艾琳妮;比蒂,查尔斯;贝尔托利,奥塔维娅;布里奇兰德,亚历克斯;切列帕诺夫,阿列克谢;康格里夫,迈尔斯;科温-里弗斯,亚历山大·I;科伊,安德鲁;菲古尔诺夫,米哈伊尔;福克斯,法比安·B;格拉德曼,汉娜;贾因,里舒布;汗,优素福·A;洛,卡罗琳·M·R;佩尔林,库巴;波塔彭科,安娜;萨维,帕斯卡尔;辛格,苏赫迪普;斯泰库拉,阿德里安;蒂拉孙达拉姆,阿肖克;通,凯瑟琳;亚克宁,谢尔盖;钟,艾伦·D;齐耶林斯基,米哈尔;日代克,奥古斯丁;巴普斯特,维克托;科利,普什米特;雅德伯格,马克斯;哈萨比斯,德米斯;詹珀,约翰·M},
  journal  = {自然},
  month    =  "五月",
  year     =  2024
}

常见问题

相似工具推荐

openclaw

OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你

349.3k|★★★☆☆|1周前
Agent开发框架图像

stable-diffusion-webui

stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。

162.1k|★★★☆☆|1周前
开发框架图像Agent

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

158.1k|★★☆☆☆|今天
开发框架Agent语言模型

opencode

OpenCode 是一款开源的 AI 编程助手(Coding Agent),旨在像一位智能搭档一样融入您的开发流程。它不仅仅是一个代码补全插件,而是一个能够理解项目上下文、自主规划任务并执行复杂编码操作的智能体。无论是生成全新功能、重构现有代码,还是排查难以定位的 Bug,OpenCode 都能通过自然语言交互高效完成,显著减少开发者在重复性劳动和上下文切换上的时间消耗。 这款工具专为软件开发者、工程师及技术研究人员设计,特别适合希望利用大模型能力来提升编码效率、加速原型开发或处理遗留代码维护的专业人群。其核心亮点在于完全开源的架构,这意味着用户可以审查代码逻辑、自定义行为策略,甚至私有化部署以保障数据安全,彻底打破了传统闭源 AI 助手的“黑盒”限制。 在技术体验上,OpenCode 提供了灵活的终端界面(Terminal UI)和正在测试中的桌面应用程序,支持 macOS、Windows 及 Linux 全平台。它兼容多种包管理工具,安装便捷,并能无缝集成到现有的开发环境中。无论您是追求极致控制权的资深极客,还是渴望提升产出的独立开发者,OpenCode 都提供了一个透明、可信

144.3k|★☆☆☆☆|今天
Agent插件

ComfyUI

ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。

108.3k|★★☆☆☆|6天前
开发框架图像Agent

gemini-cli

gemini-cli 是一款由谷歌推出的开源 AI 命令行工具,它将强大的 Gemini 大模型能力直接集成到用户的终端环境中。对于习惯在命令行工作的开发者而言,它提供了一条从输入提示词到获取模型响应的最短路径,无需切换窗口即可享受智能辅助。 这款工具主要解决了开发过程中频繁上下文切换的痛点,让用户能在熟悉的终端界面内直接完成代码理解、生成、调试以及自动化运维任务。无论是查询大型代码库、根据草图生成应用,还是执行复杂的 Git 操作,gemini-cli 都能通过自然语言指令高效处理。 它特别适合广大软件工程师、DevOps 人员及技术研究人员使用。其核心亮点包括支持高达 100 万 token 的超长上下文窗口,具备出色的逻辑推理能力;内置 Google 搜索、文件操作及 Shell 命令执行等实用工具;更独特的是,它支持 MCP(模型上下文协议),允许用户灵活扩展自定义集成,连接如图像生成等外部能力。此外,个人谷歌账号即可享受免费的额度支持,且项目基于 Apache 2.0 协议完全开源,是提升终端工作效率的理想助手。

100.8k|★★☆☆☆|1周前
插件Agent图像