AlphaGenome 是由 Google DeepMind 开发的深度学习基础模型,可预测人类基因组中 DNA 序列的功能调控效应。通过以单碱基分辨率分析多达 100 万个碱基对 (1 MB) 的 DNA 序列,该模型可以预测遗传变异如何影响 11 种基因组模态的分子和生物机制:基因表达(RNA_SEQ、CAGE、PROCAP)、染色质可及性(ATAC、DNASE)、组蛋白修饰和转录因子结合(CHIP_HISTONE、CHIP_TF)、RNA 剪接(SPLICE_SITES、SPLICE_SITE_USAGE、SPLICE_JUNCTIONS)以及 3D 染色质接触图谱 (CONTACT_MAPS)。
本文档介绍了 AlphaGenome 的硬件和部署要求,并展示了如何在 Gemini Enterprise Agent Platform 上部署和查询模型。
硬件和部署要求
由于 AlphaGenome 的深度架构和 1 MB 上下文窗口,该模型对硬件和内存有严格的要求。本部分涵盖以下主题:
支持的虚拟机和 GPU 配置
AlphaGenome 至少需要一个节点。您可以使用配备 NVIDIA A100 或 H100 加速器的机器类型将模型部署到 Agent Platform 端点。
如果您需要额外的容量来处理增加的请求量,可以在 Agent Platform 端点上配置自动扩缩,以自动添加节点。如需了解详情,请参阅使用自动扩缩功能扩缩推理节点。
支持的加速器和机器类型
从以下支持的机器类型中进行选择,这些机器类型可提供所需的 80 GB GPU 内存:
- NVIDIA H100 (80 GB):
a3-highgpu-1g、a3-highgpu-2g、a3-highgpu-4g、a3-highgpu-8g - NVIDIA A100 (80 GB):
a2-ultragpu-1g、a2-ultragpu-2g、a2-ultragpu-4g、a2-ultragpu-8g - NVIDIA H100 Mega (80 GB):
a3-megagpu-8g
如需了解详细规范,请参阅为推理配置计算资源。
配额要求
在部署模型之前,请确保您的 Google Cloud 项目在目标区域中具有足够的 GPU 服务配额,可满足以下指标的要求:
aiplatform.googleapis.com/custom_model_serving_nvidia_h100_gpusaiplatform.googleapis.com/custom_model_serving_nvidia_a100_gpusaiplatform.googleapis.com/custom_model_serving_nvidia_h100_mega_gpuscompute.googleapis.com/gpus_per_gpu_family
部署 AlphaGenome
AlphaGenome 可作为 Model Garden 中的自行部署模型使用。如需详细了解如何预配端点基础架构并将模型部署到 Google Cloud 项目,请参阅从 Model Garden 部署开放模型。
Model Garden 为 AlphaGenome 提供了以下服务版本:
alphagenome-004(默认,统一 gRPC 和 HTTP):通过一个统一容器提供所有七种DnaModelService方法(predict_sequence、predict_interval、predict_variant、score_variant、score_interval、score_ism_variants和output_metadata),该容器同时支持端口8081上的 HTTP/2 gRPC 流式传输和端口8080上的 HTTP 流式传输 (streamRawPredict):- 公开(共享端点)(gRPC):在 Model Garden 中部署时,在端点访问权限下选择公开(共享端点),以通过 gRPC 流式传输(
PredictionService.StreamDirectRawPredict,使用dna_client_grpc.create_vertex_client)查询模型。通过 gRPC 调用模型可直接传输压缩的二进制张量块,而无需 JSON 或 base64 序列化开销,从而减少 1 MB 轨道预测的延迟时间,并避免高并发多变体工作负载(例如计算机模拟饱和诱变 [score_ism_variants])中的 HTTP 网关超时。 - 公开(专用端点)(HTTP):在 Model Garden 中部署时,请保留默认的公开(专用端点)选项,以便通过 HTTP 流式传输(
streamRawPredict使用dna_client_http.create_http_client)查询模型,该选项会流式传输分块二进制 protobuf 载荷 (proto_b64),而不受共享端点 10 MB HTTP 响应大小限制的影响。 - 折叠选择:
alphagenome-004上的 gRPC 和 HTTP 客户端都支持使用model_version参数进行模型折叠选择(默认为ALL_FOLDS,或单个折叠FOLD_0到FOLD_3)。
- 公开(共享端点)(gRPC):在 Model Garden 中部署时,在端点访问权限下选择公开(共享端点),以通过 gRPC 流式传输(
alphagenome-003(旧版 HTTP):通过端口8080上的 HTTP/1.1 流式传输 (streamRawPredict) 提供预测,并保持可用,以便与现有 HTTP 客户端部署向后兼容。
使用 AlphaGenome
您可以使用 Python SDK(通过共享端点上的 gRPC 或专用端点上的 HTTP)以编程方式与已部署的 AlphaGenome 端点进行交互。
如需查看完整的 API 参考文档、参数定义和详细架构,请参阅官方 AlphaGenome 文档。
前提条件和身份验证
Agent Platform 使用 Identity and Access Management (IAM) 管理对已部署端点的访问权限。确保您的执行环境(例如本地终端、虚拟机或 Colaboratory)已使用具有 Agent Platform User (roles/aiplatform.user) IAM 角色的服务账号或用户凭证进行身份验证。
使用量 (alphagenome-004)
以下示例展示了如何使用 Python SDK 查询已部署的 alphagenome-004 端点:
Python
安装 SDK
AlphaGenome Cloud SDK (alphagenome-004) 的 wheel 文件可在 GoogleCloudPlatform GitHub 代码库中找到。运行以下命令,下载并安装 wheel 文件:
# Download the wheel file
wget -q https://github.com/GoogleCloudPlatform/vertex-ai-samples/raw/main/notebooks/community/alphagenome/whl/alphagenome_cloud_sdk-0.4.2.12-py3-none-any.whl
# Install the wheel file
pip install alphagenome_cloud_sdk-0.4.2.12-py3-none-any.whl
初始化客户端
在查询模型之前,请为已部署的 alphagenome-004 端点初始化客户端。gRPC 客户端 (GrpcDnaClient) 和 HTTP 客户端 (HttpDnaClient) 均实现标准 alphagenome.models.dna_model.DnaModel 接口。
如需通过 gRPC 流式传输连接到 alphagenome-004 共享(标准)端点,请将 Agent Platform 端点资源名称传递给 dna_client_grpc.create_vertex_client:
from alphagenome.models import dna_client
from alphagenome_cloud_sdk.models import dna_client_grpc
# Specify the standard (shared) endpoint resource name:
endpoint = "projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID"
# Optional: Specify `service_account` for service account impersonation, or
# `model_version` to select a specific fold ("ALL_FOLDS", "FOLD_0", "FOLD_1",
# "FOLD_2", or "FOLD_3").
dna_model = dna_client_grpc.create_vertex_client(
endpoint=endpoint,
# service_account="SERVICE_ACCOUNT_EMAIL",
# model_version=dna_client.ModelVersion.ALL_FOLDS,
)
如果您将 alphagenome-004 部署到专用端点,请使用 dna_client_http.create_http_client:
from alphagenome.models import dna_client
from alphagenome_cloud_sdk.models import dna_client_http
# Create the HTTP client pointing to the dedicated endpoint streamRawPredict URL.
dna_model = dna_client_http.create_http_client(
vertex_ai_url="https://ENDPOINT_DNS/v1/projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID:streamRawPredict",
# service_account="SERVICE_ACCOUNT_EMAIL",
# model_version=dna_client.ModelVersion.ALL_FOLDS,
)
预测 DNA 序列的轨迹
使用 predict_sequence 预测原始 DNA 字符串的基因组模态:
# Pad a synthetic sequence to 1 MB using 'N' for unknown/padding bases
padded_sequence = 'GATTACA'.center(dna_client.SEQUENCE_LENGTH_1MB, 'N')
output = dna_model.predict_sequence(
sequence=padded_sequence,
requested_outputs=[
dna_client.OutputType.CAGE, # Transcription Start Sites
dna_client.OutputType.DNASE, # Chromatin Accessibility
],
ontology_terms=[
'UBERON:0002048', # Lung tissue ontology term
],
)
# Access prediction values (shape: sequence_length, num_tracks)
dnase_signals = output.dnase.values
dnase_metadata = output.dnase.metadata
预测参考基因组区间的轨迹
使用 predict_interval 直接从参考基因组中的特定染色体区域预测模态:
from alphagenome.data.genome import Interval
# Define a genomic interval and resize it to the 1 MB context window
interval = Interval(
chromosome='chr19',
start=40991281,
end=41018398,
strand='.',
name='CYP2B6',
).resize(dna_client.SEQUENCE_LENGTH_1MB)
output = dna_model.predict_interval(
interval=interval,
requested_outputs=[dna_client.OutputType.RNA_SEQ],
ontology_terms=['UBERON:0001114'], # Right liver lobe
)
预测基因组轨道上的突变效应
使用 predict_variant 生成一个区间内的配对参考 (reference) 和突变 (alternate) 轨迹预测:
from alphagenome.data import genome
interval = genome.Interval(
chromosome='chr19',
start=41003816,
end=41005864,
strand='.',
).resize(dna_client.SEQUENCE_LENGTH_1MB)
variant = genome.Variant(
chromosome='chr19',
position=41004840,
reference_bases='C',
alternate_bases='T',
)
variant_output = dna_model.predict_variant(
interval=interval,
variant=variant,
requested_outputs=[dna_client.OutputType.RNA_SEQ],
ontology_terms=['UBERON:0001114'],
)
ref_rna_values = variant_output.reference.rna_seq.values
alt_rna_values = variant_output.alternate.rna_seq.values
对突变效应进行评分
使用 score_variant 总结将参考 (REF) 序列与替代 (ALT) 突变序列进行比较时预测的遗传变异效应:
from alphagenome.data import genome
from alphagenome.models import variant_scorers
# Define the genetic variant
variant = genome.Variant(
chromosome='chr22',
position=36201698,
reference_bases='A',
alternate_bases='C',
)
# Select the recommended variant scoring method for RNA-Seq
variant_scorer = variant_scorers.RECOMMENDED_VARIANT_SCORERS['RNA_SEQ']
# Execute the scoring
variant_scores = dna_model.score_variant(
interval=variant.reference_interval.resize(dna_client.SEQUENCE_LENGTH_1MB),
variant=variant,
variant_scorers=[variant_scorer],
)
# Output is returned as a list of AnnData objects containing raw and quantile scores
print("Scores shape:", variant_scores[0].X.shape)
对基因组区间进行评分
使用 score_interval 计算基因掩码区间在基因组区域中的得分:
from alphagenome.data import genome
from alphagenome.models import interval_scorers
interval = genome.Interval(
chromosome='chr19',
start=40991281,
end=41018398,
strand='.',
).resize(dna_client.SEQUENCE_LENGTH_1MB)
interval_scorer = interval_scorers.RECOMMENDED_INTERVAL_SCORERS['RNA_SEQ']
interval_scores = dna_model.score_interval(
interval=interval,
interval_scorers=[interval_scorer],
)
print("Interval scores shape:", interval_scores[0].X.shape)
运行计算机模拟饱和诱变
使用 score_ism_variants 评估目标 ism_interval 中所有可能的单核苷酸变异:
from alphagenome.data import genome
from alphagenome.models import variant_scorers
# Define the 1 MB sequence context interval and a target 50 bp ISM window
sequence_interval = genome.Interval(
chromosome='chr19',
start=41003816,
end=41005864,
).resize(dna_client.SEQUENCE_LENGTH_1MB)
ism_interval = genome.Interval(
chromosome='chr19',
start=41004815,
end=41004865,
)
dnase_scorer = variant_scorers.RECOMMENDED_VARIANT_SCORERS['DNASE']
ism_scores = dna_model.score_ism_variants(
interval=sequence_interval,
ism_interval=ism_interval,
variant_scorers=[dnase_scorer],
)
print("Number of variants scored:", len(ism_scores))
使用量 (alphagenome-003)
Python
安装 SDK
AlphaGenome Cloud SDK 的 Wheel 文件可在 GoogleCloudPlatform GitHub 代码库中找到。您可以通过运行以下命令来下载 Wheel 文件:
# Download the whl file using -
wget -q https://github.com/GoogleCloudPlatform/vertex-ai-samples/raw/main/notebooks/community/alphagenome/whl/alphagenome_cloud_sdk-0.4.2.11-py3-none-any.whl
# Install the whl file
pip install alphagenome_cloud_sdk-0.4.2.11-py3-none-any.whl
初始化客户端
您必须先初始化客户端,然后才能使用模型:
from alphagenome.models import dna_client
from alphagenome_cloud_sdk.models import dna_client_http
# Create the HTTP client pointing to the Agent Platform endpoint.
# The `service_account` parameter is optional and only required if you are
# choosing to authenticate via service account impersonation.
dna_model = dna_client_http.create_http_client(
vertex_ai_url=vertex_ai_url,
# service_account=service_account # Uncomment to use service account impersonation
)
预测 DNA 序列的轨迹
使用 predict_sequence 预测原始 DNA 字符串的基因组模态:
# Pad a synthetic sequence to 1 MB using 'N' for unknown/padding bases
padded_sequence = 'GATTACA'.center(dna_client.SEQUENCE_LENGTH_1MB, 'N')
output = dna_model.predict_sequence(
sequence=padded_sequence,
requested_outputs=[
dna_client.OutputType.CAGE, # Transcription Start Sites
dna_client.OutputType.DNASE, # Chromatin Accessibility
],
ontology_terms=[
'UBERON:0002048', # Lung tissue ontology term
]
)
# Access prediction values (shape: sequence_length, num_tracks)
dnase_signals = output.dnase.values
dnase_metadata = output.dnase.metadata
预测参考基因组区间的轨迹
使用 predict_interval 直接从参考基因组中的特定染色体区域预测模态:
from alphagenome.data.genome import Interval
# Define a genomic interval and resize it to the 1Mb context window
interval = Interval(
chromosome='chr19',
start=40991281,
end=41018398,
strand='.',
name='CYP2B6'
).resize(dna_client.SEQUENCE_LENGTH_1MB)
output = dna_model.predict_interval(
interval=interval,
requested_outputs=[dna_client.OutputType.RNA_SEQ],
ontology_terms=['UBERON:0001114'] # Right liver lobe
)
对突变效应进行评分(计算机模拟诱变)
使用 score_variant 比较参考 (REF) 序列与替代 (ALT) 突变序列的预测表达:
from alphagenome.data import genome
from alphagenome.models import variant_scorers
# Define the genetic variant
variant = genome.Variant(
chromosome='chr22',
position=36201698,
reference_bases='A',
alternate_bases='C',
)
# Select the variant scoring method for RNA-Seq
variant_scorer = variant_scorers.RECOMMENDED_VARIANT_SCORERS['RNA_SEQ']
# Execute the scoring
variant_scores = dna_model.score_variant(
interval=variant.reference_interval.resize(dna_client.SEQUENCE_LENGTH_1MB),
variant=variant,
variant_scorers=[variant_scorer],
fix_negative_strand=True
)
# Output is returned as an AnnData object containing raw and quantile scores
print("Scores shape:", variant_scores[0].X.shape)
价格
AlphaGenome 需要付费订阅。如需了解 AlphaGenome 价格,请联系 Google Cloud 销售专家或与您的 Google Cloud客户支持团队合作。
您需要承担用于托管模型的基础设施的费用,包括 Agent Platform 端点和部署模型的 GPU 实例。如需了解详情,请参阅 Agent Platform 价格。
限制
AlphaGenome 存在以下限制:
- 仅供研究使用:AlphaGenome 是一款调查工具,不适用于临床诊断,也未获准用于临床诊断。
- 1 MB 上下文范围:单个预测查询无法捕获距离超过 1 MB 的基因组相互作用。
- 不支持微调:AlphaGenome 不支持在私有训练数据集上进行微调。该模型仅可用于推理。
科学参考目录
为支持科学界和开发者社区,下表列出了 AlphaGenome 的主要参考资料、文献和资源:
| 资源类型 | 标题和链接 | 说明 |
|---|---|---|
| 经过同行评审的文章 | Advancing regulatory variant effect prediction with AlphaGenome(利用 AlphaGenome 推进调控变异效应预测),Nature(2026 年 1 月) | 详细介绍模型架构、评估和性能基准的主要科学出版物。 |
| 预印本文章 | AlphaGenome:利用统一的 DNA 序列模型推进调控突变效应预测,bioRxiv(2025 年 7 月) | 同行评审前的初始稿件。 |
| 通知 | AlphaGenome:AI for better understanding the genome,Google DeepMind 博客(2025 年 6 月) | 简要介绍该模型对基因组学影响的发布博文。 |
| API 文档 | AlphaGenome 文档 | Python SDK 和 HTTP API 架构的技术文档。 |
| 视频演示 | AlphaGenome:助力更好地理解基因组的 AI | 视频演示,概述模型功能和基本交互流程。(视频时长:30 分钟) |
| 快速入门笔记本 | AlphaGenome 快速入门 Colab 笔记本 | 一个笔记本,提供 SDK 初始化和突变效应评分的可执行示例。 |
支持与反馈
您可以通过以下方式获取 AlphaGenome 支持:
- 基因组学和模型输出支持:如需讨论生物学、模型预测或可解释性,或与 Google DeepMind 互动,请加入 AlphaGenome 公共社区论坛,网址为 alphagenomecommunity.com。
- 基础架构和平台支持:如果您对 Google Cloud配额、加速器、客户端库问题或结算有疑问,请与您的Google Cloud 客户支持团队联系,或向 Cloud Customer Care 提交支持请求。