AlphaFold3中文使用说明
目录
- 1. 在线网站
- 用例1. 使用json输入预测蛋白结构
- 2. 本地命令行
- 2.1 运行示例
- 2.2 AF3输入
- 输入格式
- JSON兼容性
- JSON最外层(Top-level)结构
- 序列
- 多序列比对MSA
- 结构模板
- 键
- 用户提供CCDs
- 2.3 AF3输出
AlphaFold3(AF3)可以通过在线网站或本地部署后使用。 在线网站即开即用,但是每个账号每天只能跑20个任务,适合普通学术用户。 本地部署对机器的配置要求高,适合专业学术用户。
| 功能特性 | 在线网站 | 本地部署 |
|---|---|---|
| 任务数限制 | 每个账号每天限额20个任务 | 无 |
| tokens长度限制 | 和显卡内存相关 | |
| 输入 | 网页表单/手动输入;json输入; | 更灵活的json输入(不同于网站的json格式) |
1. 在线网站
AlphaFold3网站 目前支持两种输入方式,一种是手动填写每个任务的输入,另一种是将任务以json的格式上传,后者更加适合批量任务。由于手动填写输入的方式简单,本文不再赘述。下文主要演示json输入的用法。
用例1. 使用json输入预测蛋白结构
①根据输入文件,准备json文件。

图1. 展示了json输入文件中的一个任务示例,包括任务名(name)、随机种子(modelSeed)和蛋白序列(sequence)。本例中的蛋白序列包括4条待建模的序列(s1-s4,分别为TCR alpha, TCR beta, HLA, epitope)。
②打开AlphaFold Server(需要google帐号和科学上网),上传json文件(每个账号每天配额20个任务)。

图2. 通过json上传任务。右图中绿色方框代表上传的任务解析成功。
③挨个检查、投递上传的任务。

图3. 依次投递任务。
④投递后运行中的任务可以通过In progress标签查看。

图4. 查看运行中的任务。
⑤下载已完成任务(Completed),或在网页上初步查看结果。

图5. 已完成任务的下载。
2. 本地命令行
2.1 运行示例
首先,本地部署AF3,机器配置和部署方法可参考《AlphaFold3中文安装教程》。
然后,使用 JSON 输入文件(以下演示了一个名为alphafold_input.json的json输入文件)测试。
{"name": "2PV7","sequences": [{"protein": {"id": ["A", "B"],"sequence": "GMRESYANENQFGFKTINSDIHKIVIVGGYGKLGGLFARYLRASGYPISILDREDWAVAESILANADVVIVSVPINLTLETIERLKPYLTENMLLADLTSVKREPLAKMLEVHTGAVLGLHPMFGADIASMAKQVVVRCDGRFPERYEWLLEQIQIWGAKIYQTNATEHDHNMTYIQALRHFSTFANGLHLSKQPINLANLLALSSPIYRLELAMIGRLFAQDAELYADIIMDKSENLAVIETLKQTYDEALTFFENNDRQGFIDAFHKVRDWFGDYSEQFLKESRQLLQQANDLKQG"}}],"modelSeeds": [1],"dialect": "alphafold3","version": 1
}
测试命令如下。
docker run -it \--volume $HOME/af_input:/root/af_input \--volume $HOME/af_output:/root/af_output \--volume <MODEL_PARAMETERS_DIR>:/root/models \--volume <DATABASES_DIR>:/root/public_databases \--gpus all \alphafold3 \
python run_alphafold.py \--json_path=/root/af_input/fold_input.json \--model_dir=/root/models \--output_dir=/root/af_output
2.2 AF3输入
输入格式
与网站的json输入格式不同,AF3使用自定义json输入格式。定制的格式允许:
- 指定蛋白质、RNA 和 DNA 链,包括修饰残基。
- 为蛋白质和 RNA 链指定自定义多序列比对(MSA)。
- 为蛋白质链指定自定义结构模板。
- 使用 CCD(Chemical Component Dictionary) 指定配体。
- 使用 SMILES 指定配体。
- 使用 CCD mmCIF 格式定义配体,并通过用户提供的 CCD 提供配体。
- 指定实体间的共价键。
- 指定多个随机种子。
JSON兼容性
run_alphafold.py提供了一个转换器,可通过检查 JSON 最外层(top-level)是否为列表来判定输入 JSON 的格式(alphafoldserver,alphafold3)。如果检测到输入格式是alphafoldserver,则将其转换为 alphafold3格式。
| contents | 在线网站/serve | 本地/codebase | 转换规则(s->c) |
|---|---|---|---|
| 多个输入 | 允许在单个 JSON 中指定多个输入 | 每个 JSON 文件只有一个输入 | |
| 多聚糖 | 不支持 | ||
| 随机种子 | 允许为空,此时由系统随机指定 | 要求用户指定一个随机种子 | |
| 离子 | 将离子和配体视为不同的实体类型 | 将离子视为一种配体 | |
| 序列 ID | 不允许为每个实体指定 id | 要求用户为每个实体指定一个唯一id |
JSON最外层(Top-level)结构
{"name": "Job name", #任务名称,被用于命名输出文件。"modelSeeds": [1, 2], #随机种子整数列表,提供n个(n>=1)种子,获得n个预测结构。"sequences": [{"protein": {...}},{"rna": {...}},{"dna": {...}},{"ligand": {...}}], #序列字典的列表,每个字典定义一个分子实体。"bondedAtomPairs": [...], #(可选)共价键合原子的列表。"userCCD": "...", #(可选)用户提供的CCD。适用于:SMILES不足;自定义分子需要与其他实体结合;RDKit无法生成构象。"dialect": "alphafold3", #输入JSON的风格,必须设置为alphafold3。参考JSON兼容性。"version": 1 #输入JSON的版本,必须设置为1。
}
序列
序列(sequences)指定蛋白链、RNA 链、DNA 链和配体。序列中的每个实体都必须有一个唯一ID。
蛋白链示例
{"protein": {"id": "A", #一或多个大写字母,指定该蛋白链每个拷贝的唯一 ID。将被用于输出 mmCIF 文件。指定 ID 列表(如[“A”、“B”、“C”])意味着同源链有多个拷贝。"sequence": "PVLSCGEWQL", #氨基酸序列"modifications": [{"ptmType": "HY3", "ptmPosition": 1},{"ptmType": "P1L", "ptmPosition": 5}], #(可选)翻译后修饰PTM列表,每个修饰都使用 CCD 和 1-based 的残基位置来指定。"unpairedMsa": ..., #(可选)该链的多序列比对,使用 A3M 格式(等同于FASTA,但允许用"-"表示gap)指定。"pairedMsa": ..., #(不推荐使用)"templates": [...] #(可选)结构模板列表。}
}
RNA链示例
{"rna": {"id": "A", #一或多个大写字母,指定该 RNA 链每个拷贝的唯一 ID。将被用于输出的 mmCIF 文件。指定 ID 列表(如[“A”、“B”、“C”])意味着同源链有多个拷贝。"sequence": "AGCU", #RNA 序列"modifications": [{"modificationType": "2MG", "basePosition": 1},{"modificationType": "5MC", "basePosition": 4}], #(可选)修饰列表,每个修饰都使用其 CCD 和 1-based 位置来指定。"unpairedMsa": ... #(可选) 该链的多序列比对,使用 A3M 格式指定。}
}
DNA链示例
{"dna": {"id": "A", #一或多个大写字母,指定该 DNA 链每个拷贝的唯一 ID。将被用于输出的 mmCIF 文件。指定 ID 列表(如[“A”、“B”、“C”])意味着同源链有多个拷贝。"sequence": "GACCTCT", #DNA 序列"modifications": [{"modificationType": "6OG", "basePosition": 1},{"modificationType": "6MA", "basePosition": 2}] #(可选)修饰列表,每个修饰都使用其 CCD 和 1-based 位置来指定。}
}
配体示例
配体可通过 3 种不同格式指定。①CCD编码:使用 2022-09-28 的 CCD。如指定了多个 CCD,可能需要指定这些代码之间的键和/或与其他实体的键。②SMILES字符串:这可以指定不在 CCD 中的配体。如果使用 SMILES,则不能指定与其他实体的共价键,因为这些键依赖于特定的原子名称。③用户提供的 CCD + 自定义配体编码:这可以指定 CCD 中没有的配体,同时还支持指定与其他实体的共价键,以及在 RDKit 无法生成构象时的备份参考坐标。
{"ligand": {"id": ["G", "H", "I"], # 一或多个大写字母,指定该配体的唯一ID。也将被用于输出的 mmCIF 文件。指定 ID 列表(如[“A”、“B”、“C”])意味着配体有多个拷贝。"ccdCodes": ["ATP"] #(可选)CCD编码列表。可以是标准 CCD 编码,或用户提供的 CCD 自定义编码。}
},
{"ligand": {"id": "J","ccdCodes": ["LIG-1337"]}
},
{"ligand": {"id": "K","smiles": "CC(=O)OC1C[NH+]2CCC1CC2" #(可选)使用 SMILES 定义的配体。}
}
多序列比对MSA
蛋白和RNA允许设置自定义MSA。如果没有设置,数据管道将按照论文中的描述,使用 Jackhmmer/Nhmmer在基因数据库中搜索,自动构建MSA。
MSA有3种模式:①(推荐选项)如果未设置unpairedMsa字段,AF3将自动构建 MSA。②如果unpairedMsa字段设置为空,AF3将不会构建MSA,输入模型的MSA为空。③(专家选项)如果unpairedMsa字段设为自定义A3M字符串,AF3将使用提供的MSA。
如果为蛋白设置了unairedMsa字段,则必须明确设置pairedMsa字段(通常为空字符串)和templates(可以是模板列表或空列表)。
在设置自定义MSA时,必须确保MSA 是有效的 A3M 文件;第一个序列与查询序列完全相同;如果删除 MSA hits 的所有插入序列,则所有序列的长度与查询序列完全相等。
只有在折叠多链时,MSA配对才有意义,因为需要找到一种沿序列维度连接各条链MSA的方法。如果只是简单地沿序列维度连接单个 MSA 矩阵,并进行填充以使所有 MSA 深度相同,那么连接的 MSA 中可能会出现由来自不同生物体的序列组成的行。为了确保MSA同一行的序列来自同一生物体,AF3 的方法是在pairedMsa中查找 UniProt organism ID,并根据此信息对序列进行配对。
建议用户手动配对或使用适当软件的输出结果,然后仅使用unpairedMsa字段提供 MSA。这种方法可以精确控制每个序列在 MSA 中的位置,而不是依赖pairedMsa中名称匹配的后处理方法。
手动设置unairedMsa时,pairedMsa必须保持未设置状态(即JSON中没有pairedMsa关键字)?
结构模板
只能为蛋白指定结构模板。
"templates": [{"mmcif": ...,"queryIndices": [0, 1, 2, 4, 5, 6],"templateIndices": [0, 1, 2, 3, 4, 8]}
]
模板被指定为一个 mmCIF 字符串,其中包含一个结构模板链和一个0-based映射(将查询残基索引映射到模板残基索引)。映射使用两个相同长度的列表指定。
可以提供多个结构模板。注意,如果提供的 mmCIF 包含一个以上的链,则会出现错误,因为无法确定哪个链应被用作模板。
键
未完待续。。。
用户提供CCDs
2.3 AF3输出
相关文章:
AlphaFold3中文使用说明
目录 1. 在线网站用例1. 使用json输入预测蛋白结构 2. 本地命令行2.1 运行示例2.2 AF3输入输入格式JSON兼容性JSON最外层(Top-level)结构序列多序列比对MSA结构模板键 用户提供CCDs 2.3 AF3输出 AlphaFold3(AF3)可以通过在线网站或…...
使用@react-three/fiber,@mkkellogg/gaussian-splats-3d加载.splat,.ply,.ksplat文件
前言 假设您正在现有项目中集成这些包,而该项目的构建工具为 Webpack 或 Vite。同时,您对 Three.js 和 React 有一定的了解。如果您发现有任何错误或有更好的方法,请随时留言。 安装 npm install three types/three react-three/fiber rea…...
Koa进阶:掌握中间件和参数校验的艺术
目录 一、首先下载依赖 二、在index.js中引入koa-parameter,一般挂载这个中间件时会放在注册请求体的后面 三、使用实例 四、如果跟我们所需求的参数不同,返回结果直接会返回422 koa-parameter一般是用来校验请求传过来的参数是否是自己所需要的的 G…...
开源共建 | 长安链开发常见问题及规避
长安链开源社区鼓励社区成员参与社区共建,参与形式包括不限于代码贡献、文章撰写、社区答疑等。腾讯云区块链王燕飞在参与长安链测试工作过程中,深入细致地总结了长安链实际开发应用中的常见问题及其有效的规避方法,相关内容多次解答社区成员…...
【网络】深入理解 HTTPS:确保数据传输安全的核心协议
目录 引言一、HTTPS的基本概念1.1 什么是 HTTPS?1.2 HTTPS 的工作原理1.3 图解:HTTPS 通信过程1.4 HTTPS 与 HTTP 的区别1.5 为什么 HTTPS 更加重要? 二、SSL/TLS协议的核心2.1 SSL/TLS 协议的作用2.2 SSL/TLS 的工作流程2.2.1 握手阶段2.2.2…...
C/C++中使用MYSQL
首先要保证下载好mysql的库和头文件,头文件在/usr/include/mysql/目录下,库在/usr/lib64/mysql/目录下: 一般情况下,在我们安装mysql的时候,这些都提前配置好了,如果没有就重装一下mysql。如果重装mysql还是…...
【GD32】(一) 开发方式简介及标准库开发入门
文章目录 0 前言1 开发方式选择2 标准库模板的创建3 遇到的问题和解决方法 0 前言 因为项目关系,需要使用GD32。之前对此早有耳闻,知道这个是一个STM32的替代品,据说甚至可以直接烧录STM32的程序(一般是同型号)&#x…...
轻松上手:使用Docker部署Java服务
文章目录 1. 什么是Docker?2. 为什么使用Docker部署Java服务?3. 如何使用Docker部署Java服务?步骤1:创建Dockerfile步骤2:构建Docker镜像步骤3:运行Docker容器 4. 注意事项5. 结语推荐阅读文章 在当今的云计…...
wormml_vgg19
创建环境 mamba install libopencv hdf5 -c conda-forge conda create -n st python3.6.2手动导入包 mamba install blas1.0mkl -c conda-forge mamba install hdf51.8.20hac2f561_1 -c conda-forge mamba install libopencv3.4.2h20b85fd_0 -c conda-forge mamba install l…...
Rust学习(二):rust基础语法Ⅰ
Rust学习(二)——rust基础语法Ⅰ: 1、关键字: 了解编程语言的同学都清楚,关键字在一门编程语言中的意义,所谓关键字就是语言的创造者及后续开发者们,以及定义好的具有特殊含义和作用的单词&am…...
【WebRTC】视频发送链路中类的简单分析(下)
目录 1.任务队列节流发送器(TaskQueuePacedSender)1.1 节流控制器添加RTP数据包(PacingController::EnqueuePacket())1.2 监测是否要处理Packet(PacingController::MaybeProcessPackets()) 2.数据包路由&am…...
HTML(超文本标记语言)
HTML(超文本标记语言 - HyperText Markup Language)是一种用于创建网页的标准标记语言。 HTML 最初是由蒂姆・伯纳斯 - 李(Tim Berners - Lee)在 1990 年左右开发的。当时的目的是为了让世界各地的科学家能够方便地共享和交流信息…...
CatBoost中目标变量统计
CatBoost中的目标变量统计(Target Statistics)是其处理分类特征(Categorical Features)的核心技术之一。目标变量统计是一种特殊的编码方法,通过利用目标值信息生成数值特征,从而替代传统的独热编码或其他处…...
WSL与Ubuntu系统--使用Linux
WSL与Ubuntu系统--使用Linux 前言基础教学视频卸载链接网络配置方法1方法2 正式安装步骤步骤1 基本命令修改网络配置Ubuntu系统的导出与导入文件操作给Ubuntu创造界面--也就是在装一个有界面的UbuntuHyper-v与windows主机文件共享 前言 需要链接梯子,并且梯子十分稳…...
操作系统离散存储练习题
1. (简答题)分页存储管理系统具有快表,内存访问时间为2ns,检索快表时间为0.5ns,快表命中率为80%,求有效访问时间 -分析:首先访问缓存(快表),如果没有找到访问内存(页表&…...
性能高于Transformer模型1.7-2倍,彩云科技发布基于DCFormer架构通用大模型云锦天章
2017年,谷歌发布《Attention Is All You Need》论文,首次提出Transformer架构,掀开了人工智能自然语言处理(NLP)领域发展的全新篇章。Transformer架构作为神经网络学习中最重要的架构,成为后来席卷全球的一…...
PHP反序列化_3-漏洞利用
1. 信息收集与分析 确定目标应用程序:首先需要找到存在反序列化漏洞的 PHP 应用程序。这可能是一个网站、Web 服务、内部系统等。可以通过网络扫描、漏洞报告、安全评估等方式来发现潜在的目标。分析应用程序逻辑:了解目标应用程序的功能和业务逻辑&…...
2.初始sui move
vscode安装move插件 查看sui 客户端版本号 sui client --version 创建新项目 sui move new <项目名> sui move new hello_world 项目目录结构: hello_world ├── Move.toml ├── sources │ └── hello_world.move └── tests└── hello_world…...
数据结构--排序算法
目录 一.排序相关概念二.常见排序算法1.堆排序2.插入排序3.希尔排序4.选择排序5.冒泡排序6.快速排序1.快速排序--递归(未优化)2.快速排序--递归(优化)3.快速排序--非递归 7.归并排序1.归并排序--递归2.归并排序--非递归 一.排序相关概念 排序:使一串记录按照某个关…...
day60 图论章节刷题Part10(Floyd 算法、A * 算法)
Floyd 算法 思路:本题是多源最短路问题,使用Floyd算法求解。Floyd 算法对边的权值正负没有要求,核心思想是动态规划。 我们使用动规五部曲来理解和应用Floyd算法: 1、确定dp数组(dp table)以及下标的含义…...
2025年能源电力系统与流体力学国际会议 (EPSFD 2025)
2025年能源电力系统与流体力学国际会议(EPSFD 2025)将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会,EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...
Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...
如何在看板中有效管理突发紧急任务
在看板中有效管理突发紧急任务需要:设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP(Work-in-Progress)弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中,设立专门的紧急任务通道尤为重要,这能…...
BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践
6月5日,2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席,并作《智能体在安全领域的应用实践》主题演讲,分享了在智能体在安全领域的突破性实践。他指出,百度通过将安全能力…...
使用 SymPy 进行向量和矩阵的高级操作
在科学计算和工程领域,向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能,能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作,并通过具体…...
Git常用命令完全指南:从入门到精通
Git常用命令完全指南:从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...
uniapp 小程序 学习(一)
利用Hbuilder 创建项目 运行到内置浏览器看效果 下载微信小程序 安装到Hbuilder 下载地址 :开发者工具默认安装 设置服务端口号 在Hbuilder中设置微信小程序 配置 找到运行设置,将微信开发者工具放入到Hbuilder中, 打开后出现 如下 bug 解…...
从物理机到云原生:全面解析计算虚拟化技术的演进与应用
前言:我的虚拟化技术探索之旅 我最早接触"虚拟机"的概念是从Java开始的——JVM(Java Virtual Machine)让"一次编写,到处运行"成为可能。这个软件层面的虚拟化让我着迷,但直到后来接触VMware和Doc…...
轻量级Docker管理工具Docker Switchboard
简介 什么是 Docker Switchboard ? Docker Switchboard 是一个轻量级的 Web 应用程序,用于管理 Docker 容器。它提供了一个干净、用户友好的界面来启动、停止和监控主机上运行的容器,使其成为本地开发、家庭实验室或小型服务器设置的理想选择…...
raid存储技术
1. 存储技术概念 数据存储架构是对数据存储方式、存储设备及相关组件的组织和规划,涵盖存储系统的布局、数据存储策略等,它明确数据如何存储、管理与访问,为数据的安全、高效使用提供支撑。 由计算机中一组存储设备、控制部件和管理信息调度的…...
