更新时间:2024-12-13 GMT+08:00
分享

创建分子优化作业

功能介绍

创建分子优化作业。

URI

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

表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

String

分子SMILES表达式。

最小长度:1

最大长度:512

molecule_file

DrugFile object

分子文件。

binding_site

BindSiteDto object

受体。

binding_sites

Array of BindSiteDto objects

受体列表和受体是二选一的关系,受体列表优先级最高。

数组长度:0 - 2

weak_constraints

Array of WeakConstraintDto objects

弱约束集合。

数组长度:0 - 10

strong_constraints

Array of StrongConstraintDto objects

强约束集合。

数组长度:0 - 5

sampler_mixin_weight

Float

初始化采样权重,参数范围(0.5, 1),不包含0.5和1,默认为0.6。

最小值:0.5

最大值:1

缺省值:0.6

base_model_id

String

基模型id。

缺省值:pangu-drug-model

最小长度:0

最大长度:128

model_ids

Array of strings

模型id列表。

最小长度:1

最大长度:128

数组长度:0 - 10

num_trials

Integer

生成分子数量。

最小值:0

最大值:5000

缺省值:5000

表4 CreateDrugJobBasicInfo

参数

是否必选

参数类型

描述

name

String

作业的名称,取值范围:[5,64],允许大小写字母、数字、空格、下划线(_)和中划线(-),只能以数字或字母开头。

最小长度:5

最大长度:64

labels

Array of strings

标签,取值范围[0,5],单个标签最大长度32字符,支持中文、字母、数字、空格、下划线和中划线,且不能以空格开头或者结尾。

最小长度:1

最大长度:32

数组长度:0 - 5

upstream_job_info

String

上游作业信息。

最小长度:1

最大长度:10240

表5 DrugFile

参数

是否必选

参数类型

描述

source

String

受体的数据源:外部网络数据(如RCSB在线数据库)、用户私有数据中心、承载租户公共数据(含样例/公共库)。

枚举值:

  • EXTRANET
  • PRIVATE
  • PUBLIC
  • RAW

url

String

文件URL,当数据源为外部网络数据时为https地址;用户私有数据中心为项目路径、公共数据场景为obs地址。

最小长度:1

最大长度:2000

format

String

文件格式,支持PDB、SDF、MOL2、SMI,仅数据源为RAW时提供。

最小长度:1

最大长度:6

data

String

文件原始数据,仅数据源为RAW时提供。

最小长度:0

最大长度:10000000

表6 BindSiteDto

参数

是否必选

参数类型

描述

name

String

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

最小长度:1

最大长度:128

receptor

ReceptorDrugFile object

受体文件。

engine

String

对接引擎,支持DSDP、AUTODOCK_VINA。

缺省值:AUTODOCK_VINA

最小长度:0

最大长度:15

docking_type

String

对接类型,支持BLIND_DOCKING、POCKET_DOCKING。

缺省值:POCKET_DOCKING

最小长度:0

最大长度:15

bounding_box

BoundingBoxDto object

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

remove_ion

Boolean

去除受体中的离子。

缺省值:true

remove_water

Boolean

去除受体中的水分子。

缺省值:true

remove_ligand

Boolean

去除受体中的配体分子。

缺省值:true

add_hydrogen

Boolean

增加氢原子。

缺省值:false

表7 ReceptorDrugFile

参数

是否必选

参数类型

描述

source

String

受体的数据源:外部网络数据(如RCSB在线数据库)、用户私有数据中心、承载租户公共数据(含样例/公共库)。

枚举值:

  • EXTRANET
  • PRIVATE
  • PUBLIC
  • RAW

url

String

文件URL,当数据源为外部网络数据时为https地址;用户私有数据中心为项目路径、公共数据场景为obs地址。

最小长度:1

最大长度:2000

format

String

文件格式,仅支持PDB,仅数据源为RAW时提供。

最小长度:1

最大长度:6

data

String

文件原始数据,仅数据源为RAW时提供。

最小长度:0

最大长度:10000000

表8 BoundingBoxDto

参数

是否必选

参数类型

描述

center

Array of doubles

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

最小值:-9999999

最大值:99999999

数组长度:3 - 3

size

Array of floats

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

最小值:2

最大值:500

数组长度:3 - 3

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的参数。

range

Array of floats

属性约束类型range的参数。

最小值:-9999

最大值:9999

数组长度:2 - 2

struct

StructureConstraintParamsDto object

结构约束参数。

quantiles

Array of floats

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

最小值:0.0

最大值:1.0

数组长度:2 - 2

interaction

InteractionConstraintDto object

相互作用力约束参数。

表10 StrongConstraintDto

参数

是否必选

参数类型

描述

id

String

自定义模型id,仅强约束为模型时填写。

最小长度:1

最大长度:128

name

String

属性名称。

最小长度:1

最大长度:128

type

String

属性约束类型。

枚举值:

  • bool
  • range
  • struct
  • interaction

bool

Boolean

属性约束类型bool的参数。

range

Array of floats

属性约束类型range的参数。

最小值:-9999

最大值:9999

数组长度:2 - 2

struct

StructureConstraintParamsDto object

结构约束参数。

interaction

InteractionConstraintDto object

相互作用力约束参数。

表11 StructureConstraintParamsDto

参数

是否必选

参数类型

描述

structs

Array of strings

子结构SMILES。

最小长度:1

最大长度:120

数组长度:1 - 8

exclusive

Boolean

是否排除子结构。

operator

String

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

枚举值:

  • or
  • and
表12 InteractionConstraintDto

参数

是否必选

参数类型

描述

interactions

Array of Interaction objects

相互作用力列表。

数组长度:1 - 8

exclusive

Boolean

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

operator

String

多个作用力之间的逻辑关系。

枚举值:

  • or
  • and
表13 Interaction

参数

是否必选

参数类型

描述

binding_site

String

靶点,只支持target1或target2。

最小长度:1

最大长度:128

type

String

相互作用力类型:氢键、疏水作用、盐桥、π-π堆积、π-阳离子。

枚举值:

  • hydrogen_bond
  • hydrophobic_action
  • salt_bridge
  • pi_stacking
  • pi_cation

amino_acid

String

氨基酸。

最小长度:4

最大长度:16

响应参数

状态码: 201

表14 响应Body参数

参数

参数类型

描述

id

String

作业id。

limit_concurrency

Integer

限制的并发量。

请求示例

创建分子优化作业,作业名称为demo-job,分子SMILES表达式为string,靶点设置的受体文件为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/optimization

{
  "basic_info" : {
    "name" : "demo-job",
    "labels" : [ "labelA" ]
  },
  "smiles" : "string",
  "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

错误码

请参见错误码

相关文档