更新时间:2025-12-26 GMT+08:00
分享

创建分子生成作业 - CreateGenJob

功能介绍

创建分子生成作业。

授权信息

账号具备所有API的调用权限,如果使用账号下的IAM用户调用当前API,该IAM用户需具备调用API所需的权限,具体权限要求请参见权限和授权项。

URI

POST /v1/{project_id}/eihealth-projects/{eihealth_project_id}/drug-jobs/generation

表1 路径参数

参数

是否必选

参数类型

描述

project_id

是

String

参数解释:

项目ID,您可以从获取项目ID中获取。

约束限制:

不涉及

取值范围:

仅支持字母、数字、中划线和下划线,长度为[1-128]个字符。

默认取值:

不涉及

eihealth_project_id

是

String

参数解释:

空间ID,您可以从获取空间ID中获取。

约束限制:

不涉及

取值范围:

仅支持字母、数字、中划线和下划线,长度为[1-128]个字符。

默认取值:

不涉及

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

是

String

参数解释:

用户Token。

Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限,获取Token接口响应消息头中X-Subject-Token的值即为Token。

约束限制:

不涉及

取值范围:

长度为[1-32768]个字符。

默认取值:

不涉及

表3 请求Body参数

参数

是否必选

参数类型

描述

basic_info

是

CreateDrugJobBasicInfo object

参数解释:

创建药物作业基本信息。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

smiles_list

否

Array of strings

参数解释:

分子表达式列表。

约束限制:

分子表达式数量为[10-10000],长度为[1-512]个字符。

取值范围:

不涉及

默认取值:

不涉及

molecule_file

否

DrugFile object

参数解释:

分子文件,分子表达式列表和分子文件二选一,分子文件优先级最高。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

binding_sites

否

Array of BindSiteDto objects

参数解释:

靶点列表。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

weak_constraints

否

Array of WeakConstraintDto objects

参数解释:

弱约束集合。

约束限制:

弱约束数量范围为[0-10]。

取值范围:

不涉及

默认取值:

不涉及

strong_constraints

否

Array of StrongConstraintDto objects

参数解释:

强约束集合。

约束限制:

强约束数量范围为[0-5]。

取值范围:

不涉及

默认取值:

不涉及

base_model_id

否

String

参数解释:

基模型ID。

约束限制:

不涉及

取值范围:

长度为[0-128]个字符。

默认取值:

pangu-drug-model

model_ids

否

Array of strings

参数解释:

模型ID列表。

约束限制:

模型ID数量为[0-10],长度为[1-128]个字符。

取值范围:

不涉及

默认取值:

不涉及

num_trials

否

Integer

参数解释:

生成分子数量。

约束限制:

不涉及

取值范围:

0-5000

默认取值:

5000。

表4 CreateDrugJobBasicInfo

参数

是否必选

参数类型

描述

name

是

String

参数解释:

作业名称。

约束限制:

不涉及

取值范围:

长度范围[5-64],允许大小写字母、数字、空格、下划线(_)和中划线(-),只能以数字或字母开头。

默认取值:

不涉及

labels

否

Array of strings

参数解释:

标签。

约束限制:

标签数量范围为[0-5],单个标签长度为[1-32]个字符,支持中文、字母、数字、空格、下划线(_)和中划线(-),且不能以空格开头或结尾。

取值范围:

不涉及

默认取值:

不涉及

upstream_job_info

否

String

参数解释:

上游作业信息。

约束限制:

不涉及

取值范围:

长度为[1-10240]个字符。

默认取值:

不涉及

表5 DrugFile

参数

是否必选

参数类型

描述

source

是

String

参数解释:

受体的数据源。

约束限制:

不涉及

取值范围:

  • EXTRANET:外部网络数据

  • PRIVATE:私有数据

  • PUBLIC:公共数据

  • RAW :源数据

默认取值:

不涉及

url

否

String

参数解释:

文件URL。

约束限制:

当数据源source为外部网络数据时为https地址,为用户私有数据中心时为空间路径,为公共数据场景时为obs地址。

取值范围:

文件URL仅支持以.pdb、.mol2、.sdf、.smi为结尾,长度为[1-2000]个字符。

默认取值:

不涉及

format

否

String

参数解释:

文件格式。

约束限制:

仅数据源source为 RAW 时提供。

取值范围:

  • PDB

  • SDF

  • MOL2

  • SMI

默认取值:

不涉及

data

否

String

参数解释:

文件原始数据。

约束限制:

仅数据源source为RAW时提供。

取值范围:

长度为[0-10000000]个字符。

默认取值:

不涉及

表6 BindSiteDto

参数

是否必选

参数类型

描述

name

否

String

参数解释:

靶点名称,只能设置为target1或target2。

约束限制:

不涉及

取值范围:

  • target1:靶点名称target1。

  • target2:靶点名称target2。

默认取值:

不涉及

receptor

是

ReceptorDrugFile object

参数解释:

受体文件。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

engine

否

String

参数解释:

引擎,支持DSDP、AUTODOCK_VINA,默认值为AUTODOCK_VINA。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

docking_type

否

String

参数解释:

对接类型,仅支持POCKET_DOCKING。

约束限制:

不涉及

取值范围:

  • POCKET_DOCKING:口袋对接

默认取值:

POCKET_DOCKING

bounding_box

否

BoundingBoxDto object

参数解释:

结合口袋,包含口袋中心位置和尺寸大小。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

remove_ion

否

Boolean

参数解释:

去除受体中的离子。

约束限制:

不涉及

取值范围:

  • true:去除。

  • false:不去除。

默认取值:

true

remove_water

否

Boolean

参数解释:

去除受体中的水分子。

约束限制:

不涉及

取值范围:

  • true:去除。

  • false:不去除。

默认取值:

true

remove_ligand

否

Boolean

参数解释:

去除受体中的配体分子。

约束限制:

不涉及

取值范围:

  • true:去除。

  • false:不去除。

默认取值:

true

add_hydrogen

否

Boolean

参数解释:

增加氢原子。

约束限制:

不涉及

取值范围:

  • true:增加氢原子。

  • false:不增加氢原子。

默认取值:

false

表7 ReceptorDrugFile

参数

是否必选

参数类型

描述

source

是

String

参数解释:

受体的数据源。

约束限制:

不涉及

取值范围:

  • EXTRANET:外部网络数据

  • PRIVATE:私有数据

  • PUBLIC:公共数据

  • RAW :源数据

默认取值:

不涉及

url

否

String

参数解释:

文件URL。

约束限制:

当数据源source为外部网络数据时为https地址,为用户私有数据中心时为空间路径,为公共数据场景时为obs地址。

取值范围:

文件URL仅支持以.pdb格式结尾,长度为[1-2000]个字符。

默认取值:

不涉及

format

否

String

参数解释:

文件格式。

约束限制:

仅数据源source为RAW时提供。

取值范围:

  • PDB:PDB文件

默认取值:

不涉及

data

否

String

参数解释:

文件原始数据。

约束限制:

仅数据源source为RAW时提供。

取值范围:

长度为[0-10000000]个字符

默认取值:

不涉及

表8 BoundingBoxDto

参数

是否必选

参数类型

描述

center

是

Array of doubles

参数解释:

口袋中心坐标,x、y、z 轴的坐标。

约束限制:

坐标数量固定为3,坐标大小范围为[-9999999-99999999]。

取值范围:

不涉及

默认取值:

不涉及

size

是

Array of floats

参数解释:

口袋尺寸大小,x、y、z轴的大小。

约束限制:

数组元素数量固定为3,x、y、z轴的大小范围为[2-500]。

取值范围:

不涉及

默认取值:

不涉及

padding

否

Float

参数解释:

填充。

约束限制:

不涉及

取值范围:

0-20

默认取值:

不涉及

表9 WeakConstraintDto

参数

是否必选

参数类型

描述

id

否

String

参数解释:

自定义模型ID。

约束限制:

仅弱约束为模型时填写。

取值范围:

长度为[1-128]个字符。

默认取值:

不涉及

name

否

String

参数解释:

属性名称。

约束限制:

不涉及

取值范围:

长度为[1-128]个字符。

默认取值:

不涉及

type

是

String

参数解释:

属性约束类型。

约束限制:

不涉及

取值范围:

  • bool:阴性/阳性

  • range:区间

  • struct:包含/排除

  • minimize:最小化

  • maximize:最大化

  • interaction:相互作用力

默认取值:

不涉及

bool

否

Boolean

参数解释:

属性约束类型bool的参数。

约束限制:

不涉及

取值范围:

  • true

  • false

默认取值:

不涉及

range

否

Array of floats

参数解释:

属性约束类型range的参数。

约束限制:

参数数量固定为2,参数大小范围为[-9999-9999]。

取值范围:

不涉及

默认取值:

不涉及

struct

否

StructureConstraintParamsDto object

参数解释:

结构约束参数。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

quantiles

否

Array of floats

参数解释:

属性约束类型minimize和maximize的参数。

约束限制:

参数数量固定为2,参数大小范围为[0.0-1.0]。

取值范围:

不涉及

默认取值:

不涉及

interaction

否

InteractionConstraintDto object

参数解释:

相互作用力约束参数。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表10 StrongConstraintDto

参数

是否必选

参数类型

描述

id

否

String

参数解释:

自定义模型ID。

约束限制:

仅强约束为模型时填写。

取值范围:

长度为[1-128]个字符。

默认取值:

不涉及

name

否

String

参数解释:

属性名称。

约束限制:

不涉及

取值范围:

长度为[1-128]个字符。

默认取值:

不涉及

type

是

String

参数解释:

属性约束类型。

约束限制:

不涉及

取值范围:

  • bool:阴性/阳性

  • range:区间

  • struct:包含/排除

  • interaction:相互作用力

默认取值:

不涉及

bool

否

Boolean

参数解释:

属性约束类型bool的参数。

约束限制:

不涉及

取值范围:

  • true

  • false

默认取值:

不涉及

range

否

Array of floats

参数解释:

属性约束类型range的参数。

约束限制:

参数数量固定为2,大小范围为[-9999-9999]。

取值范围:

不涉及

默认取值:

不涉及

struct

否

StructureConstraintParamsDto object

参数解释:

结构约束参数。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

interaction

否

InteractionConstraintDto object

参数解释:

相互作用力约束参数。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

表11 StructureConstraintParamsDto

参数

是否必选

参数类型

描述

structs

是

Array of strings

参数解释:

子结构SMILES。

约束限制:

子结构数量范围为[1-8],子结构SMILES的长度为[1-120]个字符。

取值范围:

不涉及

默认取值:

不涉及

exclusive

是

Boolean

参数解释:

是否排除子结构。

约束限制:

不涉及

取值范围:

  • true:排除子结构。

  • false:不排除子结构。

默认取值:

不涉及

operator

否

String

参数解释:

多个子结构之间的逻辑关系。

约束限制:

不涉及

取值范围:

  • or:或

  • and:与

默认取值:

不涉及

表12 InteractionConstraintDto

参数

是否必选

参数类型

描述

interactions

是

Array of Interaction objects

参数解释:

相互作用力列表。

约束限制:

数组数量范围为[1-8]。

取值范围:

不涉及

默认取值:

不涉及

exclusive

是

Boolean

参数解释:

是否排除指定的约束作用力。

约束限制:

不涉及

取值范围:

  • true:排除。

  • false:不排除。

true 或 false。

默认取值:

不涉及

operator

否

String

参数解释:

多个子结构之间的逻辑关系。

约束限制:

不涉及

取值范围:

  • or:或

  • and:与

默认取值:

不涉及

表13 Interaction

参数

是否必选

参数类型

描述

binding_site

是

String

参数解释:

靶点名称。

约束限制:

不涉及

取值范围:

  • target1:靶点名称target1。

  • target2:靶点名称target2。

默认取值:

不涉及

type

是

String

参数解释:

相互作用力类型。

约束限制:

不涉及

取值范围:

  • hydrogen_bond:氢键作用力

  • hydrophobic_action:疏水作用

  • salt_bridge:盐桥

  • pi_stacking:Pi-Stacking

  • pi_cation:Pi-Cation

默认取值:

不涉及

amino_acid

是

String

参数解释:

氨基酸。

约束限制:

不涉及

取值范围:

长度为[4-16]个字符。

默认取值:

不涉及

响应参数

状态码:201

表14 响应Body参数

参数

参数类型

描述

id

String

参数解释:

作业ID。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

limit_concurrency

Integer

参数解释:

限制的并发量。

约束限制:

不涉及

取值范围:

不涉及

默认取值:

不涉及

请求示例

创建分子生成作业,输入方式为分子表达式,作业名称为demo-job,分子文件为project:/dir/file,靶点设置的受体文件为project:/test.pdb,口袋中心位置为[0,0,0],口袋尺寸大小为[500,500,500],设置弱约束为eye_corrosion,类型为布尔值,值为true,设置强约束为sascore,类型为range,值为[0,1]。

https://{endpoint}/v1/{project_id}/eihealth-projects/{eihealth_project_id}/drug-jobs/generation

{
  "basic_info" : {
    "name" : "demo-job",
    "labels" : [ "labelA" ]
  },
  "molecule_file" : {
    "source" : "PRIVATE",
    "url" : "project:/dir/file"
  },
  "num_trials" : 500,
  "binding_sites" : [ {
    "name" : "target1",
    "receptor" : {
      "source" : "PRIVATE",
      "url" : "project:/test.pdb"
    },
    "engine" : "DSDP",
    "bounding_box" : {
      "center" : [ 0, 0, 0 ],
      "size" : [ 500, 500, 500 ]
    },
    "remove_ion" : false,
    "remove_water" : false,
    "remove_ligand" : false
  } ],
  "weak_constraints" : [ {
    "name" : "eye_corrosion",
    "type" : "bool",
    "bool" : true
  } ],
  "strong_constraints" : [ {
    "name" : "sascore",
    "type" : "range",
    "range" : [ 0, 1 ]
  } ]
}

响应示例

状态码:201

CREATED

  • 创建分子生成作业成功。

    {
      "id" : "baabcb56-5bb6-11eb-8a0d-fa163e3ddba1"
    }
  • 创建分子生成作业成功,当前运行作业数已达配额限制,此作业会等待。

    {
      "id" : "baabcb56-5bb6-11eb-8a0d-fa163e3ddba1",
      "limit_concurrency" : 50
    }

状态码

状态码

描述

201

CREATED

错误码

请参见错误码。

相关文档