
# 创建分子搜索作业 - CreateSearchJob
#### 功能介绍
创建分子搜索作业。
#### 授权信息
账号具备所有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/search
表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 | **参数解释**： 创建药物作业基本信息。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及                                                   |
| smiles           | 是    | String                                                                            | **参数解释**： 分子SMILES表达式。 **约束限制**： 不涉及 **取值范围**： 长度为\[1-1024\]个字符。 **默认取值**： 不涉及                                    |
| scaffold         | 否    | String                                                                            | **参数解释**： 分子骨架表达式。 **约束限制**： 不涉及 **取值范围**： 长度为\[1-1024\]个字符。 **默认取值**： 不涉及                                        |
| top_n            | 否    | Integer                                                                           | **参数解释**： 最相似的top_n个。 **约束限制**： 不涉及 **取值范围**： 1-1000 **默认取值**： 100                                                |
| databases        | 否    | Array of strings                                                                  | **参数解释**： 可供搜索分子的公共数据库名称列表。 **约束限制**： 数据库名称数量范围为\[0-10\]，数据库名称长度为\[1-128\]个字符。 **取值范围**： 不涉及 **默认取值**： 不涉及        |
| custom_databases | 否    | Array of strings                                                                  | **参数解释**： 可供搜索分子的自定义数据库ID列表。 **约束限制**： 自定义数据库ID数量范围为\[0-10\]，自定义数据库ID长度为\[1-128\]个字符。 **取值范围**： 不涉及 **默认取值**： 不涉及 |
| model_ids        | 否    | Array of strings                                                                  | **参数解释**： 模型ID列表。 **约束限制**： 模型ID数量为\[0-10\]，模型ID长度为\[1-128\]。 **取值范围**： 不涉及 **默认取值**： 不涉及                         |
| search_method    | 否    | String                                                                            | **参数解释**： 分子搜索方法。 **约束限制**： 不涉及 **取值范围**： - ECFP_4：ECFP4 Tanimoto相似度 - SCAFFOLD：骨架搜索 **默认取值**： 不涉及                |
   
 表4CreateDrugJobBasicInfo 
| 参数                | 是否必选 | 参数类型             | 描述                                                                                                                             |
|:---|:---|:---|:---|
| name              | 是    | String           | **参数解释**： 作业名称。 **约束限制**： 不涉及 **取值范围**： 长度范围\[5-64\]，允许大小写字母、数字、空格、下划线（_）和中划线（-），只能以数字或字母开头。 **默认取值**： 不涉及                     |
| labels            | 否    | Array of strings | **参数解释**： 标签。 **约束限制**： 标签数量范围为\[0-5\]，单个标签长度为\[1-32\]个字符，支持中文、字母、数字、空格、下划线（_）和中划线（-），且不能以空格开头或结尾。 **取值范围**： 不涉及 **默认取值**： 不涉及 |
| upstream_job_info | 否    | String           | **参数解释**： 上游作业信息。 **约束限制**： 不涉及 **取值范围**： 长度为\[1-10240\]个字符。 **默认取值**： 不涉及                                                     |
   
#### 响应参数
**状态码：201**
表5响应Body参数 
| 参数                | 参数类型    | 描述                                                          |
|:---|:---|:---|
| id                | String  | **参数解释**： 作业ID。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及   |
| limit_concurrency | Integer | **参数解释**： 限制的并发量。 **约束限制**： 不涉及 **取值范围**： 不涉及 **默认取值**： 不涉及 |
   
#### 请求示例
创建分子搜索作业，作业名称为demo-job，分子SMILES表达式为string，从数据库中找到最相似top100的分子。
```
https://{endpoint}/v1/{project_id}/eihealth-projects/{eihealth_project_id}/drug-jobs/search
{
  "basic_info" : {
    "name" : "demo-job",
    "labels" : [ "labelA" ]
  },
  "smiles" : "string",
  "top_n" : 100,
  "databases" : [ "databaseA", "databaseB" ],
  "custom_databases" : [ "custom_databaseA_id", "custom_databaseB_id" ],
  "model_ids" : [ "model_id" ],
  "search_method" : "ECFP_4"
}
```
#### 响应示例
**状态码：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)。
