Genos模型服务

DCS Cloud大约 6 分钟

模型使用说明

云平台在"DCS-华南1"片区上线Genos模型,该模型是面向人类基因组研究的基础级大模型,依托数百个高质量基因组基准数据进行训练,具备对人类基因组序列长达百万碱基(1M bp) 的上下文建模能力。通过单碱基级别的分辨率学习,Genos能够识别基因组序列中隐含的复杂调控模式与功能特征,为科学家提供连接遗传信息与生命活动的新研究范式。

本次上线的 Genos 模型提供两个版本:

  • 1.2B参数版本(轻量科研场景优化)

  • 10B参数版本(高精度科研与临床研究级别)

两种版本均采用 混合专家架构(Mixture of Experts, MoE)
通过动态路由机制实现计算资源的高效分配,在复杂调控网络解析与多模态序列建模中表现卓越。

一、 模型访问

基本入口

本次上线模型可通过云平台入口开启notebook在线使用或安装Genos包后本地使用。

  1. 登录云平台"DCS-华南1"片区,进入首页后进入 Genos 模型官网:

    GenOS Genomic Foundation Model - 探索基因奥秘open in new window

  2. 进入模型官网页面后,选择模型的两种使用方式。点击后进入个性分析使用

  • 探索模型:使用云平台的GPU资源,开启个性分析访问模型

  • 模型服务:使用API key的方式,通过API接口调用Genos模型执行分析任务,API key申请见**【三、API KEY 申请说明】**

针对模型服务,云平台提供了安装Genos包本地使用的方式。Genos 是一个基于 Python 的 SDK,用于通过 GeneOS访问基因组分析模型。
它提供了统一的接口,支持以下功能:

  • 变异致病性预测:评估遗传变异的致病性

  • 嵌入提取:从 DNA 序列中提取深度学习嵌入向量

  • RNA-seq 覆盖度预测:根据基因组坐标预测 RNA-seq 覆盖度轨迹

  • 基因组可视化:绘制与分析基因组轨迹

  • 易于使用:API 简洁直观,并具有全面的错误处理机制

  • 安全认证:自动令牌验证与支付检查

  • 完善的异常处理:针对不同错误类型提供特定异常

安装说明

支持源码、PyPI两种安装方式

从源码安装

git clone https://github.com/BGI-HangzhouAI/Genos.git
cd sdk
pip install -e .

从 PyPI 安装(推荐)

pip install genos

环境要求

  • Python 3.8 或更高版本

  • 已安装 pip 包管理器

二、 模型使用计费

Genos 在云平台中提供两种使用模式,根据您的使用需求选择不同模式的服务。您注册云平台时系统会赠送300元代金券,您可以免费使用最高可达10亿tokens。若代金券用于云平台其他服务,可免费使用tokens相应降低。模型模式对应计费信息如下:

三、API Key 申请说明(针对模型应用场景)

在 模型应用模式 下,用户需要通过云平台 API 接口访问 Genos 服务。为保证调用安全与计费准确,需先在平台个人中心申请个人 API Key

1. API Key 的作用

  • 作为访问 Genos 模型的唯一身份凭证;

  • 用于调用统计与任务计费;

  • 用于日志追踪与安全控制。

2. 申请条件

  • 拥有云平台注册账户;

  • 账户状态正常;

  • 已同意《Genos API 使用须知》及《隐私与使用条款》。

3. 申请步骤

  1. 登录云平台,打开「个人中心 → API Key 管理个人中心open in new window

  2. 点击「创建 API Key」按钮;

  3. 阅读「API 使用须知」并确认同意;

  4. 系统自动生成您的专属 Key,复制使用

注意请妥善保存,避免泄露。


四、API Key 使用指南

使用声明

  • Key 仅供账号本人使用,不可共享、转让或公开;

  • 若 Key 泄露、滥用或用于违法目的,平台有权立即停用;

  • Key 可在控制台手动「停用」。

示例代码

以下示例展示如何使用 API Key 调用 Genos 模型推理接口:

curl -X POST "https://cloud.stomics.tech/api/aigateway/genos/variant_predict" \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <your_api_key>" \
-d '{
  "assembly":"hg19", 
  "chrom":"chr6", 
  "pos":51484075, 
  "ref":"T", 
  "alt":"G"
}'

响应示例

{
    "result": {
        "variant": "chr6-51484075-T-G",
        "prediction": "Benign",
        "score_Benign": 0.853630542755127,
        "score_Pathogenic": 0.14636942744255066
    },
    "status": 200,
    "messages": "",
    "model_name": "VariantEffectPred-FT",
    "token_cnt": 8192,
    "start_time": 1760678302,
    "end_time": 1760678310
}

客户端调用实例

from genos import create_client

client = create_client(token="your_token")



# 变异预测
result = client.variant_predict({
  "assembly":"hg19", 
  "chrom":"chr6", 
  "pos":51484075, 
  "ref":"T", 
  "alt":"G"
})
print(result)

快速开始(Quick Start)

基本用法

from genos import create_client

# 创建客户端(默认使用环境变量 GENOS_API_TOKEN)
client = create_client()

# 或者显式提供 token
client = create_client(token="your_api_token_here")

变异致病性预测

预测基因变异的致病性或良性:

# 预测变异致病性
result = client.variant_predict("hg19", "chr6", 51484075, "T", "G")['result']

print(f"Variant: {result['variant']}")
print(f"Prediction: {result['prediction']}")
print(f"Pathogenic Score: {result['score_Pathogenic']:.4f}")
print(f"Benign Score: {result['score_Benign']:.4f}")


DNA 序列嵌入提取

# 为单条序列提取嵌入向量
sequence = "ATCGATCGATCGATCGATCGATCGATCG"
result = client.get_embedding(sequence, model_name="Genos-1.2B")['result']

print(f"Sequence Length: {result['sequence_length']}")
print(f"Embedding Dimension: {result['embedding_dim']}")
print(f"Embedding Shape: {result['embedding_shape']}")

# 访问嵌入向量
embedding_vector = result['embedding']  # 浮点数列表

可用模型

模型名称参数规模描述
Genos-1.2B12 亿参数通用版
Genos-10B100 亿参数高精度版

Pooling 方法:

  • mean:序列平均池化

  • max:最大池化

  • last:最后一个 token 嵌入

  • none:返回完整 token 嵌入序列

RNA-seq 覆盖度预测

# 根据基因组坐标预测 RNA-seq 覆盖轨迹
result = client.rna_coverage_track_pred(chrom="chr6", start_pos=51484075)['result']

print(f"Predicted coverage track: {result}")

高级配置(Advanced Configuration)

自定义嵌入服务

GenosClient 支持用户配置自定义的嵌入 API 端点。

注意:变异预测与 RNA-seq 预测模型暂不开放源代码,仅官方托管服务可用。

from genos import GenosClient

# 使用自定义嵌入服务端点初始化客户端
client = GenosClient(
    token="your_custom_token",  # 自定义嵌入服务的认证 token
    api_map={
        # 仅嵌入服务可自定义
        "embedding": "https://custom-embed-api.example.com/predict"
    }
)

# 变异与 RNA API 仍将使用官方托管服务

超时配置

调整长时运行任务的请求超时时间:

# 设置 60 秒超时
client = create_client(token="your_token", timeout=60)

错误处理(Error Handling)

Genos 提供完善的错误处理机制,对不同错误类型返回具体异常。所有 API 响应均遵循统一格式。

错误响应格式:

{
  "result": {},
  "status": "<HTTP_STATUS_CODE>",
  "messages": "<ERROR_MESSAGE>"
}

常见错误码

状态码错误信息描述
400Insufficient balance账户余额不足
401Invalid API Key提供的 API Key 无效或已过期
500Internal server error服务器内部错误

注意:返回“200”即表示服务正常返回

五、API Key管理操作

功能说明
查看 Key控制台展示当前活跃 Key
停用 Key暂停调用服务
启用 Key手动恢复被停用的 Key 状态
删除Key手动删除不需要的Key
上次编辑于: