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

创建分子生成作业

功能介绍

创建分子生成作业。

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。

约束限制

不涉及

取值范围

仅支持字母、数字、中划线和下划线,长度为[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

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

错误码

请参见错误码

相关文档