华为云用户手册

  • 制作bwa-mem镜像 在本地搭建Docker环境。 要求安装的容器引擎版本必须为1.11.2及以上。 下载bwa和samtools软件。 wget http://downloads.sourceforge.net/project/bio-bwa/bwa-0.7.17.tar.bz2 wget https://github.com/samtools/samtools/releases/download/1.10/samtools-1.10.tar.bz2 编写Dockerfile将bwa和samtool镜像合并。 详细的Dockerfile指令请参见Dockerfile参考。 执行vi Dockerfile命令,进入Dockerfile文件中,编写文件。 FROM centos ENV PATH $PATH:/usr/local/samtools/bin:/usr/local/bwa-0.7.17 ADD ./bwa-0.7.17.tar.bz2 /usr/local ADD ./samtools-1.10.tar.bz2 /opt RUN yum makecache && \ yum install -y make gcc ncurses-devel bzip2-devel xz-devel zlib-devel&& \ cd /usr/local/bwa-0.7.17 && make && \ cd /opt/samtools-1.10 && ./configure --prefix=/usr/local/samtools && make && make install 按Esc键,并执行:wq保存并退出Dockerfile。 制作镜像。 docker build -t bwa_samtools:0.7.17-1.10 .
  • 制作gatk-haplotypecaller镜像 在本地搭建Docker环境。 要求安装的容器引擎版本必须为1.11.2及以上。 编写Dockerfile制作gatk-haplotypecaller镜像。 执行vi Dockerfile命令,进入Dockerfile文件中,编写文件。 FROM broadinstitute/gatk:4.1.9.0 RUN apt-get update RUN apt-get install -y parallel 按Esc键,并执行:wq退出Dockerfile。 制作镜像。 docker build -t gatk-haplotypecaller:4.1.9.0 . 详细的Dockerfile指令请参见Dockerfile参考。
  • 功能介绍 测序数据质量的总体评估 评估测序的Reads数目,测序Base数,测序深度等。 低质量Reads过滤 过滤低质量的测序Reads,得到Clean Reads。 基因组比对 将Clean Reads比对到参考基因组上,同时输出比对率、深度、覆盖度的统计信息。 基因组变异检测 基于上述比对得到的bam文件,通过GATK4做Variant Calling,输出变异检测结果。 基因组变异检测质控 通过VariantQC对vcf进行质量控制,输出变异数目,变异类型统计等指标。
  • 流程执行信息 NGS流程由fastp、bwa-mem、picard-insertsize、qualimap-bamqc、gatk-markduplicates、gatk-bqsr、gatk-applybqsr、gatk-haplotypecaller、gatk-mergevcfs和discvrseq-variantqc应用构成。NGS流程执行步骤如表1所示。 表1 NGS执行步骤 步骤 描述 Read Quality 对测序得到的fastq数据进行质控。 Mapping and Sort and index 将质控之后得到的Clean Reads比对到参考基因组上。 Insert Size Estimation 针对构建Index后的bam文件,统计测序数据的Insert size的分布。 Bam QC 评估比对得到的bam文件的质量。 GATK MarkDuplicates 标记比对bam文件中的重复Reads。 gatk BaseRecalibrator 基于比对bam文件评估矫正参数。 gatk ApplyBQSR 基于比对bam文件进行矫正。 gatk HaplotypeCaller 基于比对和矫正之后的bam文件进行Variant Calling的工作。 gatk MergeVcfs 合并分bin变异检测的VCF文件。 Variant QC 针对输出的VCF文件进行质控。 图1 NGS执行步骤
  • 操作步骤 下载命令行工具请参考《 医疗智能体 -CLI命令速查》中的下载并安装命令行工具eihealth-toolkit章节。 安装命令行工具。 本示例中以Windows系统为例,介绍安装命令行工具的方法。 下载Windows版本的客户端,得到health.exe文件,health文件无需安装,放置在任一文件夹中即可。 图1 下载命令行工具 使用win键+R,输入cmd打开windows的cmd窗口。进入工具所在的目录,输入health命令,即可使用。 如果cmd窗口显示目录不是health文件所在目录,请使用cd命令切换路径。例如,切换至D盘: cd /d d: 使用Linux版本命令行工具时,您需要在本地搭建Linux环境,并将下载的health文件放至所需的目录下。 如果当前目录为health所在目录,可以使用./health命令使用命令行工具。 如果当前目录不是health所在目录,需要使用绝对路径。如当前目录为/opt,假设health存放在/root/health-toolkit/下,需要指定/root/health-toolkit/health路径进行使用。 如果无法运行,提示Permission denied,请使用chmod 755 health命令设置执行权限。 初始化配置。 在使用命令行工具前,需要初始化配置信息。执行health config add命令配置AK/SK,区 域名 称,华为云项目ID信息,获取方法请参见《医疗智能体-用户指南》中“获取认证信息”章节。 命令结构 health config add [flags] 表1 参数说明 参数 简写 是否必选 说明 --ak -a 是 AK(Access Key ID):访问密钥ID。 --sk -s 是 SK(Secret Access Key):与访问密钥ID结合使用的密钥。 --region -r 是 服务区域名称。 --platform-id -i 是 华为云项目ID,请按《医疗智能体-用户指南》中“获取认证信息”章节中的方法获取。 --log-path -l 否 日志路径,不填写时默认为命令行工具当前路径下healthcli.log文件。 --http-proxy -p 否 HTTP代理配置,格式为“http://username:password@your-proxy:your-port”。 --swr-endpoint -t 是 SWR镜像仓库地址。 获取方式: 登录 容器镜像服务 管理控制台。 单击界面右侧“登录指令”,获取内网登录指令末尾的SWR镜像仓库地址。例如100.78.15.50:20202。 --iam-endpoint -m 是 IAM 终端节点名称,请在地区与终端节点中获取。 --health-endpoint -e 是 EIHealth 终端节点名称,请在地区与终端节点中获取。 --obs-endpoint -o 是 OBS终端节点名称,请在地区与终端节点中获取。 --obs-install-path -q 否 设置obsutil安装路径,默认安装在当前运行目录。 设置时,该路径必须为obsutil运行文件名,如/home/path/obsutil、/home/path/obsutil-1.1.1 --obs_down_load_url -D 否 obsutil下载链接,obsutil将下载到obs-install-path上。 参数有改动时才会触发下载。 下载链接的内容可以是zip、tar.gz文件、二进制文件,如果是压缩文件,文件夹内的obsutil必须命名为obsutil(和obsutil官方链接保持一致)。 --force -f 否 强制操作。如果下载obsutil时,指定的obs-install-path上已经有同名文件,不带-f时会提示用户,带上-f会直接覆盖原文件。 命令示例 health config add --ak CAIxxxxxxxxxFE --sk QLFxxxxxxxxxxxxtNvsF --region cn-north-4 --platform-id catdi9fb689 --swr-endpoint 100.78.15.50:20202 --iam-endpoint iam.cn-north-4.myhuaweicloud.com --health-endpoint eihealth.cn-north-4.myhuaweicloud.com --obs-endpoint obs.cn-north-4.myhuaweicloud.com # 执行成功返回结果如下 add ak successfully! add sk successfully! add region successfully! add platform-id successfully! add swr-endpoint successfully! add iam-endpoint successfully! add health-endpoint successfully! add obs-endpoint successfully! 执行以上命令,会在系统所在的用户目录下自动生成“.health”文件夹,文件夹中包含config.ini配置文件,用于存储任务执行所涉及到的配置,如密钥、区域、当前项目等信息。 生成的配置文件不建议直接修改,如需改动请使用命令行工具修改。 配置文件中保存有用户的AK、SK信息,为了避免密钥泄露,会对文件中的SK进行加密以保护密钥安全。
  • 平台用户权限限制 EIHealth平台支持两种类型的用户管理,可以帮助您安全地控制平台的访问和使用权限。 表1 EIHealth平台用户管理类型 类型 说明 系统级别用户管理 系统级的角色配置,可创建平台的子用户,并为其分配权限。详细介绍请参见《医疗智能体-用户指南基因平台》的用户管理章节。 项目级别用户管理 资源级的角色配置,以项目为粒度对数据、分析作业、开发环境和镜像进行分组,以便用户通过项目进行资源的访问、共享和协作。详细介绍请参见《医疗智能体-用户指南基因平台》的项目管理章节。 表2 盘古辅助制药平台用户管理类型 类型 说明 系统级别用户管理 系统级的角色配置,可创建平台的子用户,并为其分配权限。 项目级别用户管理 资源级的角色配置,以项目为粒度对数据、分析作业、开发环境和镜像进行分组,以便用户通过项目进行资源的访问、共享和协作。
  • 调用API获取项目ID 项目ID通过调用查询指定条件下的项目信息API获取。 获取项目ID的接口为GET“https://{Endpoint}/v3/projects”,其中{Endpoint}为IAM的终端节点,可以从地区和终端节点获取。 响应示例如下,例如EIHealth部署的区域为"cn-north-4",响应消息体中查找“name”为"cn-north-4",其中projects下的“id”即为项目ID。 GET https://{Endpoint}/v3/projects X-Auth-Token:ABCDEFJ.... { "projects": [{ "domain_id": "65382450e8f64ac0870cd180d14e684b", "is_domain": false, "parent_id": "65382450e8f64ac0870cd180d14e684b", "name": "cn-north-4", "description": "", "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects/a4a5d4098fb4474fa22cd05f897d6b99" }, "id": "a4a5d4098fb4474fa22cd05f897d6b99", "enabled": true }], "links": { "next": null, "previous": null, "self": "https://www.example.com/v3/projects" } }
  • 状态码 表1 状态码 状态码 编码 说明 100 Continue 继续请求。 这个临时响应用来通知客户端,它的部分请求已经被服务器接收,且仍未被拒绝。 101 Switching Protocols 切换协议。只能切换到更高级的协议。 例如,切换到HTTPS的新版本协议。 200 OK 服务器已成功处理了请求。 201 Created 创建类的请求完全成功。 202 Accepted 已经接受请求,但未处理完成。 203 Non-Authoritative Information 非授权信息,请求成功。 204 No Content 请求完全成功,同时HTTP响应不包含响应体。 在响应OPTIONS方法的HTTP请求时返回此状态码。 205 Reset Content 重置内容,服务器处理成功。 206 Partial Content 服务器成功处理了部分GET请求。 207 Multi status 批量操作部分成功部分失败 300 Multiple Choices 多种选择。请求的资源可包括多个位置,可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择。 301 Moved Permanently 永久移动,请求的资源已被永久的移动到新的URI,返回信息会包括新的URI。 302 Found 资源被临时移动。 303 See Other 查看其它地址,使用GET和POST请求查看。 304 Not Modified 所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。 305 Use Proxy 所请求的资源必须通过代理访问。 306 Unused 已经被废弃的HTTP状态码。 400 Bad Request 非法请求。 建议直接修改该请求,不要重试该请求。 401 Unauthorized 在客户端提供认证信息后,返回该状态码,表明服务端指出客户端所提供的认证信息不正确或非法。 402 Payment Required 保留请求。 403 Forbidden 请求被拒绝访问。 返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置为拒绝访问,建议直接修改该请求,不要重试该请求。 404 Not Found 所请求的资源不存在。 建议直接修改该请求,不要重试该请求。 405 Method Not Allowed 请求中带有该资源不支持的方法。 建议直接修改该请求,不要重试该请求。 406 Not Acceptable 服务器无法根据客户端请求的内容特性完成请求。 407 Proxy Authentication Required 请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权。 408 Request Timeout 服务器等候请求时发生超时。 客户端可以随时再次提交该请求而无需进行任何更改。 409 Conflict 服务器在完成请求时发生冲突。 返回该状态码,表明客户端尝试创建的资源已经存在,或者由于冲突请求的更新操作不能被完成。 410 Gone 客户端请求的资源已经不存在。 返回该状态码,表明请求的资源已被永久删除。 411 Length Required 服务器无法处理客户端发送的不带Content-Length的请求信息。 412 Precondition Failed 未满足前提条件,服务器未满足请求者在请求中设置的其中一个前提条件。 413 Request Entity Too Large 由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息。 414 Request URI Too Long 请求的URI过长(URI通常为网址),服务器无法处理。 415 Unsupported Media Type 服务器无法处理请求附带的媒体格式。 416 Requested Range Not Satisfiable 客户端请求的范围无效。 417 Expectation Failed 服务器无法满足Expect的请求头信息。 422 Unprocessable Entity 请求格式正确,但是由于含有语义错误,无法响应。 429 Too Many Requests 表明请求超出了客户端访问频率的限制或者服务端接收到多于它能处理的请求。建议客户端读取相应的Retry-After首部,然后等待该首部指出的时间后再重试。 500 Internal Server Error 表明服务端能被请求访问到,但是不能理解用户的请求。 501 Not Implemented 服务器不支持请求的功能,无法完成请求。 502 Bad Gateway 充当网关或代理的服务器,从远端服务器接收到了一个无效的请求。 503 Service Unavailable 被请求的服务无效。 建议直接修改该请求,不要重试该请求。 504 Gateway Timeout 请求在给定的时间内无法完成。客户端仅在为请求指定超时(Timeout)参数时会得到该响应。 505 HTTP Version Not Supported 服务器不支持请求的HTTPS协议的版本,无法完成处理。 父主题: 附录
  • 响应示例 状态码: 200 自定义属性任务查询成功响应 { "status" : "finished", "result" : { "id" : "3b2dce64-c244-11ed-acf5-0255ac100017", "prop_definition" : { "id" : null, "name" : "custom_prop_name", "type" : "binary", "description" : "custom_prop_description" }, "metrics" : [ { "name" : "rmsd", "value" : 0.73 } ] } }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 status String 异步任务的状态:等待中、运行中、已完成、失败 枚举值: waiting running finished failed task_data CustomPropsTaskData object 自定义属性任务的请求体 result CustomPropsResult object 自定义属性任务的返回结果 表4 CustomPropsTaskData 参数 参数类型 描述 name String 自定义属性名称 最小长度:1 最大长度:32 description String 自定义属性描述信息 最小长度:0 最大长度:256 type String 属性预测类型 枚举值: binary numerical smiles Array of strings 用于建模的smiles列表 values Array of numbers 用于建模的属性值列表 表5 CustomPropsResult 参数 参数类型 描述 id String 自定义属性ID(API侧) 最小长度:1 最大长度:64 prop_definition PropDefinition object 自定义属性元信息 metrics Array of CustomPropsModelMetric objects 自定义属性建模的评估指标集合 表6 PropDefinition 参数 参数类型 描述 id String 属性业务侧ID 最小长度:1 最大长度:128 name String 属性名称 最小长度:1 最大长度:32 type String 属性类型 枚举值: binary numerical description String 属性具体描述信息 最小长度:0 最大长度:256 value_range ValueRange object 属性有效值域区间 optimal_range ValueRange object 属性最优值域区间 warning_range ValueRange object 属性欠佳值域区间 style String 模型参数呈现类型 枚举值: number probability confidential_interval Boolean 模型推理是否呈现置信区间 表7 ValueRange 参数 参数类型 描述 lower Number 值域下限 lower_inclusive Boolean 是否包含值域下限 upper Number 值域上限 upper_inclusive Boolean 是否包含值域上限 表8 CustomPropsModelMetric 参数 参数类型 描述 name String 评估指标的名称 最小长度:1 最大长度:32 value Float 评估指标的评估结果
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户 token 表3 请求Body参数 参数 是否必选 参数类型 描述 name 是 String 自定义属性名称 最小长度:1 最大长度:32 description 否 String 自定义属性描述信息 最小长度:0 最大长度:256 type 是 String 属性预测类型 枚举值: binary numerical smiles 是 Array of strings 用于建模的smiles列表 values 是 Array of numbers 用于建模的属性值列表
  • 请求示例 创建自定义属性 POST https://{endpoint}/v1/{project_id}/custom-props { "name" : "my_custom_prop", "description" : "my_custom_prop_description", "type" : "binary", "smiles" : [ "c1ccccc1", "c1ccccc1" ], "values" : [ 1, 0 ] }
  • 响应示例 状态码: 200 分子合成路径规划任务查询成功响应 { "status" : "finished", "result" : { "smiles" : "c1ccccc1", "top_n" : 50, "max_search_depth" : 5, "max_prediction_per_product" : 20, "result" : { "molecules" : [ { "id" : "1", "smiles" : "c1ccccc1", "source" : "ZINC" }, { "id" : "2", "smiles" : "C11c", "source" : "ZINC" }, { "id" : "3", "smiles" : "C1c1", "source" : "ZINC" }, { "id" : "4", "smiles" : "c1", "source" : "ZINC" }, { "id" : "5", "smiles" : "cc", "source" : "ZINC" }, { "id" : "6", "smiles" : "Cc", "source" : "ZINC" }, { "id" : "7", "smiles" : "Cc1", "source" : "ZINC" } ], "reactions" : [ { "id" : "1", "reactants" : [ "2", "3" ], "product" : "1" }, { "id" : "2", "reactants" : [ "4", "5", "6" ], "product" : "2" }, { "id" : "3", "reactants" : [ "4", "7" ], "product" : "2" } ], "synthesis_routes" : [ { "route" : [ "1", "2" ], "score" : 0.3467 }, { "route" : [ "1", "3" ], "score" : 0.3154 } ] } } }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 status String 异步任务的状态:等待中、运行中、已完成、失败 枚举值: waiting running finished failed task_data SynthesisTaskData object 分子合成路径规划任务的请求体 result SynthesisResult object 分子合成路径规划任务的返回结果 表4 SynthesisTaskData 参数 参数类型 描述 smiles String 分子SMILES表达式 top_n Integer 期望最大返回条目数(排序后取TopN) 最小值:1 最大值:50 max_search_depth Integer 预测路径的最大深度 最小值:3 最大值:12 max_prediction_per_product Integer 每个产物的最大反应数量 最小值:2 最大值:20 表5 SynthesisResult 参数 参数类型 描述 smiles String 产物smiles序列 top_n Integer 期望返回的条目数 max_search_depth Integer 期望搜索的最大深度 max_prediction_per_product Integer 期望每个产物的最多反应数量 result result object 合成路径规划结果字典 表6 result 参数 参数类型 描述 molecules Array of molecules objects 分子合成规划中的分子 reactions Array of reactions objects 分子合成规划中的反应列表 synthesis_routes Array of SynthesisResultItem objects 分子合成规划的具体信息 表7 molecules 参数 参数类型 描述 id String molecule的序号 smiles String molecule的smiles序列 source String molecule的smiles来源 表8 reactions 参数 参数类型 描述 id String 反应的序号 reactants Array of strings 反应物分子序号的列表 product String 产物分子序号 表9 SynthesisResultItem 参数 参数类型 描述 route Array of strings 分子合成规划,列表内是reactions id score Float 当前分子合成路径的得分
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户 token 表3 请求Body参数 参数 是否必选 参数类型 描述 smiles 是 String 分子SMILES表达式 top_n 是 Integer 期望最大返回条目数(排序后取TopN) 最小值:1 最大值:50 max_search_depth 是 Integer 预测路径的最大深度 最小值:3 最大值:12 max_prediction_per_product 是 Integer 每个产物的最大反应数量 最小值:2 最大值:20
  • 请求示例 预测一个分子的ADMET属性 { "smiles" : "c1ccccc1", "custom_props" : [ { "id" : "3b2dce64-c244-11ed-acf5-0255ac100017", "prop_definition" : { "id" : "c4c07032d1934671a0dfe3bd10416eea", "name" : "custom_prop_name", "type" : "numerical", "description" : "custom_prop_description" } } ] }
  • 响应示例 状态码: 200 ADMET成功响应 { "custom_props" : [ { "id" : "3b2dce64-c244-11ed-acf5-0255ac100017", "prop_definition" : { "id" : "c4c07032d1934671a0dfe3bd10416eea", "name" : "custom_prop_name", "type" : "numerical", "description" : "custom_prop_description" } } ], "props" : { "ab" : "base", "acute_toxicity_rule" : 0, "alarm_nmr_rule" : 0, "ames" : 4.555075065582059E-6, "3b2dce64-c244-11ed-acf5-0255ac100017" : 0.85 } }
  • 响应参数 状态码: 200 表7 响应Body参数 参数 参数类型 描述 custom_props Array of CustomProp objects 用户已开启的自定义属性集合 props Object 分子ADMET属性字典(包含自定义属性) 表8 CustomProp 参数 参数类型 描述 id String 自定义属性的ID(API侧) 最小长度:1 最大长度:64 prop_definition PropDefinition object 属性定义的元信息 表9 PropDefinition 参数 参数类型 描述 id String 属性业务侧ID 最小长度:1 最大长度:128 name String 属性名称 最小长度:1 最大长度:32 type String 属性类型 枚举值: binary numerical description String 属性具体描述信息 最小长度:0 最大长度:256 value_range ValueRange object 属性有效值域区间 optimal_range ValueRange object 属性最优值域区间 warning_range ValueRange object 属性欠佳值域区间 style String 模型参数呈现类型 枚举值: number probability confidential_interval Boolean 模型推理是否呈现置信区间 表10 ValueRange 参数 参数类型 描述 lower Number 值域下限 lower_inclusive Boolean 是否包含值域下限 upper Number 值域上限 upper_inclusive Boolean 是否包含值域上限
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限, 获取Token 接口响应消息头中X-Subject-Token的值即为Token。 表3 请求Body参数 参数 是否必选 参数类型 描述 smiles 是 String 分子SMILES表达式 custom_props 否 Array of CustomProp objects 用户已开启的自定义属性集合 表4 CustomProp 参数 是否必选 参数类型 描述 id 是 String 自定义属性的ID(API侧) 最小长度:1 最大长度:64 prop_definition 否 PropDefinition object 属性定义的元信息 表5 PropDefinition 参数 是否必选 参数类型 描述 id 否 String 属性业务侧ID 最小长度:1 最大长度:128 name 否 String 属性名称 最小长度:1 最大长度:32 type 否 String 属性类型 枚举值: binary numerical description 否 String 属性具体描述信息 最小长度:0 最大长度:256 value_range 否 ValueRange object 属性有效值域区间 optimal_range 否 ValueRange object 属性最优值域区间 warning_range 否 ValueRange object 属性欠佳值域区间 style 否 String 模型参数呈现类型 枚举值: number probability confidential_interval 否 Boolean 模型推理是否呈现置信区间 表6 ValueRange 参数 是否必选 参数类型 描述 lower 否 Number 值域下限 lower_inclusive 否 Boolean 是否包含值域下限 upper 否 Number 值域上限 upper_inclusive 否 Boolean 是否包含值域上限
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 status String 异步任务的状态:等待中、运行中、已完成、失败 枚举值: waiting running finished failed task_data SearchTaskData object 分子搜索任务的请求体 result SearchResult object 分子搜索任务的返回结果 表4 SearchTaskData 参数 参数类型 描述 smiles String 分子SMILES表达式 databases Array of strings 搜索使用到的数据库集合 top_n Integer 期望最大返回条目数(排序后取Top) 最小值:1 最大值:1000 表5 SearchResult 参数 参数类型 描述 smiles String 分子SMILES表达式 databases Array of strings 搜索使用到的数据库集合 top_n Integer 期望返回的条目数 prop_names Array of strings 分子ADMET属性名列表 query query object 初始查询分子的属性信息 result Array of SearchResultItem objects 查询结果列表 表6 query 参数 参数类型 描述 smiles String 分子SMILES表达式 props Array of objects 分子ADMET属性值列表 表7 SearchResultItem 参数 参数类型 描述 smiles String 分子SMILES表达式 source String 分子所属的数据库来源 score Float 分子与查询分子的相似度 props Array of objects 分子ADMET属性值列表
  • 响应示例 状态码: 200 分子搜索任务查询成功响应 { "status" : "finished", "result" : { "smiles" : "c1ccccc1", "databases" : [ "drug_space_x", "drug_bank" ], "top_n" : 100, "prop_names" : [ "formula", "ab", "acute_toxicity_rule", "bace" ], "query" : { "smiles" : "c1ccccc1", "props" : [ "C6H6", "base", 0, 0.128335 ] }, "result" : [ { "smiles" : "c1ccccc1", "source" : "drug_bank", "score" : 0.388029, "props" : [ "C6H6", "base", 0, 0.128335 ] }, { "smiles" : "C1CCCCC1", "source" : "drug_bank:drug_space_x", "score" : 0.388029, "props" : [ "C6H12", "base", 0, 0.163034 ] } ] } }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户 token 表3 请求Body参数 参数 是否必选 参数类型 描述 smiles 是 String 分子SMILES表达式 databases 是 Array of strings 搜索使用到的数据库集合 top_n 否 Integer 期望最大返回条目数(排序后取Top) 最小值:1 最大值:1000
  • 错误码(AI辅助药物设计) 当您调用API时,如果遇到“APIGW”开头的错误码,请参见API网关错误码进行处理。 表1 状态码 错误码 错误信息 处理措施 400 eihealth.03000001 invalid request data 根据错误详细信息检查请求体。 400 eihealth.03011001 Text type error. 更改输入文本为字符串类型。 400 eihealth.03011002 Input key error. 更改关键字为“text”。 400 eihealth.03011003 Text length error. 输入文本长度需在1-256之间。 401 eihealth.03000002 invalid project id 检查URL中提供的项目ID是否正确。 401 eihealth.03000003 invalid token 检查请求头中的X-Auth-Token是否正确。 401 eihealth.03001003 unauthorized task 检查任务ID是否正确。 401 eihealth.03011004 Authentication error. 检查输入Token是否正确。 403 eihealth.03000004 api call exceeds the limit number 联系运维人员。 500 eihealth.03009999 internal error 联系运维人员。 500 eihealth.03010031 Algorithm service error. 联系运维人员。 404 eihealth.03001001 invalid task id 检查任务ID是否正确。 404 eihealth.03011005 Not found the page. 检查输入url是否正确。 400 eihealth.03001002 invalid task data 根据错误详细信息中提供的信息检查任务数据。 父主题: 附录
  • 响应示例 状态码: 200 ADMET成功响应 { "ab": "base", "acute_toxicity_rule": 0, "alarm_nmr_rule": 0, "ames": 0.000004555075065582059, "aquatic_toxicity_rule": 0, "bace": 0.7276865839958191, "bbb_penetration": 0.7105281352996826, "bbbp": 0.8388334512710571, "bms_rule": 0, "caco_2_permeability": 1.6074275970458984, "carcinogencity": 0.6126266121864319, "check_alphascreen_gst_fhs": 0, "chelator_rule": 0, "cl": 1.489494800567627, "cl_std": 3.0314340591430664, "dense": 0.668, "dili": 0.9996542930603027, "esol": -2.342970371246338, "esol_std": 2.670086622238159, "f20": 0.9999995231628418, "f30": 0.9999735355377197, "faf_drugs4_rule": 0, "fdamdd": 0.5130584836006165, "freesol_std": 4.852236270904541, "fsp3": 1, "fu": 0.7917574644088745, "fu_std": 1.7218350172042847, "genotoxic_carcinogenicity_rule": 0, "golden_triangle_rule": false, "gsk_rule": true, "h-ht": 0.27191320061683655, "herg_blockers": 0.00007402851042570546, "hia": 0.8719885349273682, "hiv": 0.005348484497517347, "igc50_std": 1.7592569589614868, "logs": -2.6434288024902344, "logs_std": 0.3384721577167511, "maxring": 0, "mdck": -0.00004775416891789064, "mr": 11.348000000000003, "mw": 30.07, "npscore": 0.025, "pfizer_rule": false, "pgp_inhibitor": 1.4114744040227833e-8, "pgp_substrate": 0.9981564879417419, "pka": 10.02965259552002, "pka_std": 1.854716420173645, "ppb": 0.27514201402664185, "ppb_std": 1.5638395547866821, "qedmean": 0.373, "sascore": 2.748, "scscore": 1.4448203850917012, "skin_sensitization": 0.4587304890155792, "skin_sensitization_rule": 0, "sr_are": 0.004388807807117701, "sr_atad5": 0.000014169700079946779, "sr_hse": 0.0010032267309725285, "sr_mmp": 0.015672488138079643, "sr_p53": 0.000005944234089838574, "surechembl_rule": "0,", "t12": 0.6137365102767944, "tpsa": 0, "vd": 0.6327598690986633, "vd_std": 1.8924747705459595, "veber_rule": true, "vol": 45 }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限,获取Token接口响应消息头中X-Subject-Token的值即为Token。 表3 请求Body参数 参数 是否必选 参数类型 描述 smiles 是 String 分子SMILES表达式 最小长度:1 最大长度:200
  • 响应示例 状态码: 200 CPI任务查询成功响应 { "status" : "finished", "result" : { "header" : "T1030 BibA, 273 residues", "fasta" : "DQELGKQSRRSQDIIKSLGFLSSDQKDILVKSISSSKDSQLILKFVTQATQLNNAESTKAKQMAQNDVALIKNISPEVLEEYKEKIQRASTKSQVDEFVAEAKKVVNSNKET", "custom_props" : [ { "id" : "3b2dce64-c244-11ed-acf5-0255ac100017", "prop_definition" : { "id" : "c4c07032d1934671a0dfe3bd10416eea", "name" : "custom_prop_name", "type" : "numerical", "description" : "custom_prop_description" } } ], "prop_names" : [ "formula", "ab", "acute_toxicity_rule", "bace", "3b2dce64-c244-11ed-acf5-0255ac100017", "3b2dce64-c244-11ed-acf5-0255ac100017_std" ], "result" : [ { "smiles" : "c1ccccc1", "score" : 0.388029, "props" : [ "C6H6", "base", 0, 0.128335, 0.43, 0.28 ] }, { "smiles" : "C1CCCCC1", "score" : 0.304194, "props" : [ "C6H12", "base", 0, 0.163034, 0.43, 0.28 ] } ] } }
  • 响应参数 状态码: 200 表3 响应Body参数 参数 参数类型 描述 status String 异步任务的状态:等待中、运行中、已完成、失败 枚举值: waiting running finished failed task_data CpiTaskData object CPI任务的请求体 result CpiResult object CPI任务的返回结果 表4 CpiTaskData 参数 参数类型 描述 header String 蛋白质FASTA标题 最小长度:0 最大长度:128 fasta String 蛋白质FASTA序列 最小长度:4 最大长度:2048 smiles_list Array of strings 分子SMILES表达式列表 threshold Float 打分阈值,分值必须大于该阈值才会返回 num_results Integer 期望最大返回条目数(排序后取Top) custom_props Array of CustomProp objects 用户已开启的自定义属性集合 表5 CpiResult 参数 参数类型 描述 header String 蛋白质FASTA标题 fasta String 蛋白质FASTA序列 prop_names Array of strings 分子ADMET属性名列表 result Array of CpiResultItem objects 返回CPI的模型结果 custom_props Array of CustomProp objects 用户已开启的自定义属性集合 表6 CpiResultItem 参数 参数类型 描述 smiles String 分子SMILES表达式 props Array of objects 分子ADMET属性值列表 score Number 分子与蛋白质的打分 表7 CustomProp 参数 参数类型 描述 id String 自定义属性的ID(API侧) 最小长度:1 最大长度:64 prop_definition PropDefinition object 属性定义的元信息 表8 PropDefinition 参数 参数类型 描述 id String 属性业务侧ID 最小长度:1 最大长度:128 name String 属性名称 最小长度:1 最大长度:32 type String 属性类型 枚举值: binary numerical description String 属性具体描述信息 最小长度:0 最大长度:256 value_range ValueRange object 属性有效值域区间 optimal_range ValueRange object 属性最优值域区间 warning_range ValueRange object 属性欠佳值域区间 style String 模型参数呈现类型 枚举值: number probability confidential_interval Boolean 模型推理是否呈现置信区间 表9 ValueRange 参数 参数类型 描述 lower Number 值域下限 lower_inclusive Boolean 是否包含值域下限 upper Number 值域上限 upper_inclusive Boolean 是否包含值域上限
  • 请求示例 创建一个CPI任务 POST https://{endpoint}/v1/{project_id}/task/cpi { "header" : "T1030 BibA, 273 residues", "fasta" : "DQELGKQSRRSQDIIKSLGFLSSDQKDILVKSISSSKDSQLILKFVTQATQLNNAESTKAKQMAQNDVALIKNISPEVLEEYKEKIQRASTKSQVDEFVAEAKKVVNSNKET", "smiles_list" : [ "c1ccccc1", "C1CCCCC1" ], "custom_props" : [ { "id" : "3b2dce64-c244-11ed-acf5-0255ac100017", "prop_definition" : { "id" : "c4c07032d1934671a0dfe3bd10416eea", "name" : "custom_prop_name", "type" : "numerical", "description" : "custom_prop_description" } } ] }
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户 token 表3 请求Body参数 参数 是否必选 参数类型 描述 header 否 String 蛋白质FASTA标题 最小长度:0 最大长度:128 fasta 是 String 蛋白质FASTA序列 最小长度:4 最大长度:2048 smiles_list 是 Array of strings 分子SMILES表达式列表 threshold 否 Float 打分阈值,分值必须大于该阈值才会返回 num_results 否 Integer 期望最大返回条目数(排序后取Top) custom_props 否 Array of CustomProp objects 用户已开启的自定义属性集合 表4 CustomProp 参数 是否必选 参数类型 描述 id 是 String 自定义属性的ID(API侧) 最小长度:1 最大长度:64 prop_definition 否 PropDefinition object 属性定义的元信息 表5 PropDefinition 参数 是否必选 参数类型 描述 id 否 String 属性业务侧ID 最小长度:1 最大长度:128 name 否 String 属性名称 最小长度:1 最大长度:32 type 否 String 属性类型 枚举值: binary numerical description 否 String 属性具体描述信息 最小长度:0 最大长度:256 value_range 否 ValueRange object 属性有效值域区间 optimal_range 否 ValueRange object 属性最优值域区间 warning_range 否 ValueRange object 属性欠佳值域区间 style 否 String 模型参数呈现类型 枚举值: number probability confidential_interval 否 Boolean 模型推理是否呈现置信区间 表6 ValueRange 参数 是否必选 参数类型 描述 lower 否 Number 值域下限 lower_inclusive 否 Boolean 是否包含值域下限 upper 否 Number 值域上限 upper_inclusive 否 Boolean 是否包含值域上限
  • 响应示例 状态码: 200 分子优化任务查询成功响应 { "status" : "finished", "result" : { "name" : "87ba6b54-2288-4a5d-90a2-3db01c22a9d2", "num_rounds" : 10, "num_expected" : 1000, "num_strong_constraints" : 0, "num_weak_constraints" : 5, "custom_props" : [ { "id" : "3b2dce64-c244-11ed-acf5-0255ac100017", "prop_definition" : { "id" : "c4c07032d1934671a0dfe3bd10416eea", "name" : "custom_prop_name", "type" : "numerical", "description" : "custom_prop_description" } } ], "prop_names" : [ "formula", "ab", "acute_toxicity_rule", "bace", "3b2dce64-c244-11ed-acf5-0255ac100017", "3b2dce64-c244-11ed-acf5-0255ac100017_std" ], "original" : { "smiles" : "c1ccccc1", "props" : [ "C6H6", "base", 0, 0.128335, 0.43, 0.28 ] }, "result" : [ { "smiles" : "c1ccccc1", "num_fulfilled_weak_constraints" : 3, "similarity" : 0.8, "score" : 0.388029, "props" : [ "C6H6", "base", 0, 0.128335, 0.43, 0.28 ] }, { "smiles" : "C1CCCCC1", "num_fulfilled_weak_constraints" : 2, "similarity" : 0.6, "score" : 0.304194, "props" : [ "C6H12", "base", 0, 0.163034, 0.43, 0.28 ] } ], "weak_constraints" : [ { "name" : "mw", "type" : "range", "range" : [ 100, 600 ] }, { "name" : "nhet", "type" : "range", "range" : [ 0, 15 ] }, { "name" : "fsp3", "type" : "range", "range" : [ 0.07317073170731707, null ] }, { "name" : "qedmean", "type" : "maximize" }, { "name" : "sascore", "type" : "minimize", "quantiles" : [ 0.1, 0.9 ] } ], "strong_constraints" : [ { "name" : "mw", "type" : "range", "range" : [ 100, 600 ] } ], "binding_site" : { "protein" : "H4sIAK8LamMC/3MM8fdVAANDBQU/IOUY7KfgqKBgYgEVNdAzMDACMfRMTAwUFIyN9EwsDUFcAyDPQA+mDgz8AHV0WkpOAAAA", "bounding_box" : { "center" : [ 1.3, 23.4, -14.5 ], "size" : [ 10.0, 10.0, 10.0 ] } } } }
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全