
# 创建自由能微扰作业 - CreateFepJob
#### 功能介绍
创建自由能微扰作业。
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/api-ai4sservice/ai4sservice_03_0100.html)。
#### URI
POST /v1/{project_id}/eihealth-projects/{eihealth_project_id}/drug-jobs/fep
表1路径参数 
| 参数                  | 是否必选 | 参数类型   | 描述                                                                                                                                                                                |
|:---|:---|:---|:---|
| project_id          | 是    | String | **参数解释**： 项目ID，您可以从[获取项目ID](https://support.huaweicloud.com/api-ai4sservice/ai4sservice_03_0033.html)中获取。 **约束限制**： 不涉及 **取值范围**： 仅支持字母、数字、中划线和下划线，长度为\[1-128\]个字符。 **默认取值**： 不涉及 |
| eihealth_project_id | 是    | String | **参数解释**： 空间ID，您可以从[获取空间ID](https://support.huaweicloud.com/api-ai4sservice/ai4sservice_03_0099.html)中获取。 **约束限制**： 不涉及 **取值范围**： 仅支持字母、数字、中划线和下划线，长度为\[1-128\]个字符。 **默认取值**： 不涉及 |
#### 请求参数
表2请求Header参数 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                   |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释**： 用户Token。 Token认证就是在调用API的时候将Token加到请求消息头，从而通过身份认证，获得操作API的权限，[获取Token](https://support.huaweicloud.com/api-ai4sservice/ai4sservice_03_0011.html)接口响应消息头中X-Subject-Token的值即为Token。 **约束限制**： 不涉及 **取值范围**： 长度为\[1-32768\]个字符。 **默认取值**： 不涉及 |
   
表3请求Body参数 
| 参数           | 是否必选 | 参数类型                                                                           | 描述                                                                                |
|:---|:---|:---|:---|
| basic_info   | 是    | [CreateDrugJobBasicInfo] object | **参数解释**： 创建药物作业基本信息。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                   |
| receptor     | 是    | [ReceptorDrugFile] object             | **参数解释**： 受体文件。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                         |
| add_membrane | 否    | Boolean                                                                        | **参数解释**： 是否加膜处理。 **约束限制**： 不涉及 **取值范围**： - true：加膜。 - false：不加膜。 **默认取值**： false |
| ligands      | 是    | Array of [LigandPreviewDto] objects   | **参数解释**： 配体列表。 **约束限制**： 配体数量范围为\[2-101\]。 **取值范围**： 不涉及 **默认取值**： 不涉及           |
| graph        | 是    | [FepGraphDto] object                       | **参数解释**： 路径图。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                          |
| params       | 是    | [FepParamDto] object                       | **参数解释**： FEP设置参数。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                      |
   
 表4CreateDrugJobBasicInfo 
| 参数                | 是否必选 | 参数类型             | 描述                                                                                                                             |
|:---|:---|:---|:---|
| name              | 是    | String           | **参数解释**： 作业名称。 **约束限制**： 不涉及 **取值范围**： 长度范围\[5-64\]，允许大小写字母、数字、空格、下划线（_）和中划线（-），只能以数字或字母开头。 **默认取值**： 不涉及                     |
| labels            | 否    | Array of strings | **参数解释**： 标签。 **约束限制**： 标签数量范围为\[0-5\]，单个标签长度为\[1-32\]个字符，支持中文、字母、数字、空格、下划线（_）和中划线（-），且不能以空格开头或结尾。 **取值范围**： 不涉及 **默认取值**： 不涉及 |
| upstream_job_info | 否    | String           | **参数解释**： 上游作业信息。 **约束限制**： 不涉及 **取值范围**： 长度为\[1-10240\]个字符。 **默认取值**： 不涉及                                                     |
   
 表5ReceptorDrugFile 
| 参数     | 是否必选 | 参数类型   | 描述                                                                                                                                                |
|:---|:---|:---|:---|
| 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\]个字符 **默认取值**： 不涉及                                                       |
   
 表6LigandPreviewDto 
| 参数     | 是否必选 | 参数类型                                               | 描述                                                                                                |
|:---|:---|:---|:---|
| index  | 是    | Integer                                            | **参数解释**： 配体索引（从0起编号）。 **约束限制**： 不涉及 **取值范围**： 0-99 **默认取值**： 不涉及                                 |
| file   | 是    | [DrugFile] object | **参数解释**： 配体文件。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                         |
| name   | 是    | String                                             | **参数解释**： 配体名称，如果无名称则自动命名，格式为UNK+索引（从1起编号）。 **约束限制**： 不涉及 **取值范围**： 长度为\[1-32\]个字符。 **默认取值**： 不涉及 |
| smiles | 是    | String                                             | **参数解释**： 分子SMILES表达式。 **约束限制**： 不涉及 **取值范围**： 长度为\[1-512\]个字符。 **默认取值**： 不涉及                     |
   
 表7DrugFile 
| 参数     | 是否必选 | 参数类型   | 描述                                                                                                                                                               |
|:---|:---|:---|:---|
| 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\]个字符。 **默认取值**： 不涉及                                                                     |
   
 表8FepGraphDto 
| 参数        | 是否必选 | 参数类型                                                                   | 描述                                                                      |
|:---|:---|:---|:---|
| center_id | 是    | String                                                                 | **参数解释**： 中心配体名称。 **约束限制**： 不涉及 **取值范围**： 长度为\[1-32\]个字符。 **默认取值**： 不涉及 |
| pairs     | 是    | Array of [SimilarityDto] objects | **参数解释**： 配体对列表。 **约束限制**： 配体长度为\[1-100\]。 **取值范围**： 不涉及 **默认取值**： 不涉及  |
   
 表9SimilarityDto 
| 参数         | 是否必选 | 参数类型             | 描述                                                                              |
|:---|:---|:---|:---|
| ligand_ids | 是    | Array of strings | **参数解释**： 配体对。 **约束限制**： 配体固定数量为2，配体长度为\[1-32\]个字符。 **取值范围**： 不涉及 **默认取值**： 不涉及 |
   
 表10FepParamDto 
| 参数                        | 是否必选 | 参数类型    | 描述                                                                        |
|:---|:---|:---|:---|
| pre_equilibrium_time      | 否    | Float   | **参数解释**： 预平衡时长。 **约束限制**： 不涉及 **取值范围**： 范围为(0,200\]，单位为ps。 **默认取值**： 100 |
| equilibrium_time          | 否    | Float   | **参数解释**： 平衡时长。 **约束限制**： 不涉及 **取值范围**： 范围为(0,10\]，单位为ns。 **默认取值**： 1     |
| num_pre_equilibrium_steps | 否    | Integer | **参数解释**： 预平衡步数。 **约束限制**： 不涉及 **取值范围**： 1-200000 **默认取值**： 50000         |
| num_equilibrium_steps     | 否    | Integer | **参数解释**： 平衡步数。 **约束限制**： 不涉及 **取值范围**： 1-10000000 **默认取值**： 500000       |
| timestep_size             | 否    | Double  | **参数解释**： 时间步长，单位ps。 **约束限制**： 不涉及 **取值范围**： 0.001-0.004。 **默认取值**： 0.002 |
| num_lambda                | 否    | Integer | **参数解释**： lambda个数。 **约束限制**： 不涉及 **取值范围**： 2-30。 **默认取值**： 20            |
   
#### 响应参数
**状态码：201**
表11响应Body参数 
| 参数                | 参数类型    | 描述                                                          |
|:---|:---|:---|
| id                | String  | **参数解释**： 作业ID。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及   |
| limit_concurrency | Integer | **参数解释**： 限制的并发量。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及 |
   
#### 请求示例
创建自由能微扰作业，作业名称为demo-job，受体文件为project:/dir/file，配体分别为GLY:A:514和UNK1，路径图的中心配体为GLY:A:514，配体对分别为GLY:A:514和DrugBank:UNK1，预平衡步数为5000，平衡步数为50000，时间步长为0.002，lambda的个数为20。
```
https://{endpoint}/v1/{project_id}/eihealth-projects/{eihealth_project_id}/drug-jobs/fep
{
  "basic_info" : {
    "name" : "demo-job",
    "labels" : [ "labelA" ]
  },
  "receptor" : {
    "source" : "PRIVATE",
    "url" : "project:/dir/file"
  },
  "ligands" : [ {
    "name" : "GLY:A:514",
    "smiles" : "C1CCCCC1",
    "index" : 0,
    "file" : {
      "source" : "RAW",
      "format" : "PDB",
      "data" : "MODEL1.xxxxxxx.END"
    }
  }, {
    "name" : "UNK1",
    "smiles" : "c1ccccc1",
    "index" : 0,
    "file" : {
      "source" : "PRIVATE",
      "url" : "project:/dir/file"
    }
  } ],
  "graph" : {
    "center_id" : "GLY:A:514",
    "pairs" : [ {
      "ligand_ids" : [ "GLY:A:514", "DrugBank:UNK1" ]
    } ]
  },
  "params" : {
    "num_pre_equilibrium_steps" : 50000,
    "num_equilibrium_steps" : 500000,
    "timestep_size" : 0.002,
    "num_lambda" : 20
  }
}
```
#### 响应示例
**状态码：201**
CREATED
- 创建自由能微扰作业成功。
  ```
  {
    "id" : "baabcb56-5bb6-11eb-8a0d-fa163e3ddba1"
  }
  ```
- 创建自由能微扰作业成功，当前运行作业数已达配额限制，此作业会等待。
  ```
  {
    "id" : "baabcb56-5bb6-11eb-8a0d-fa163e3ddba1",
    "limit_concurrency" : 50
  }
  ```
#### 状态码
| 状态码 | 描述      |
|:---|:---|
| 201 | CREATED |
   
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-ai4sservice/ErrorCode.html)。
