华为云用户手册

  • 镜像简介 由于生物信息学软件,往往由于不同的操作系统(Windows、Linux、Mac等)原因,无法实现统一的运维管理。同时,这些软件具有不同的版本和软件包,安装、使用过程复杂。 将生物信息学软件封装成Docker镜像,可以使程序在不同的环境中运行,并通过 EIHealth 平台的镜像管理,实现高效的调用,极大方便了软件的安装和运行。 Docker镜像是一个模板,是容器应用打包的标准格式,在部署容器化应用时可以指定镜像。例如一个Docker镜像可以包含一个完整的Ubuntu操作系统环境,里面仅安装了用户需要的应用程序及其依赖文件。
  • 步骤1:新建fastqc镜像 在linux环境上配置docker环境。 curl -fsSL get.docker.com -o get-docker.sh sh get-docker.sh 配置完成后,运行docker命令,可查看docker的信息。 图1 docker信息 构建fastqc镜像。 可以在dockerhub官网上进行搜索,选择出对应的名称与版本。 可以使用docker search fastqc命令进行搜索镜像。 若dockerhub上没有想要的镜像,可以利用基础的操作系统镜像进行构造,构造方式请参见《 医疗智能体 -用户指南基因平台》的制作Docker镜像章节。 选择和获取镜像。 搜索到的镜像列表中选择一个fastqc镜像进行pull,这里选择pegi3s/fastqc。 pull镜像。 若该镜像没有lastest版本则需进入dockerhub官网进行查询。 查看镜像是否pull成功。 用docker images命令查看镜像是否pull成功。如果您本地已经有很多镜像,防止查询出全部镜像,可在docker images命令后面添加 | grep pegi3s使查询更精准。 查询fastqc软件命令。非常熟悉fastqc软件则可跳过此步骤。 复制上一步查找到的fastqc的id。利用docker run imagesId fastqc --help命令进行查询。fastqc --help可以替换成任何fastqc的命令,与linux类似。
  • 步骤3:启动作业 在流程页面,单击“启动作业”按钮,根据实际情况填写作业名称等信息。 图5 启动作业 图6 设置作业名称 作业设置完成后,会显示流程中的各个应用信息,再此可以指定实际的运行参数。 图7 NGS流程 单击图标,可设置数据来源,可以指定File或者Directory类型参数。这里将NA12878目录下的两个fastq文件分别指定成fastp-file1和fastp-file2。 图8 设置fastp输入数据 将GRCh38目录指定成bwa-mem与picard-insertsize的输入。 图9 设置bwa-mem输入数据 图10 设置picard-insertsize输入数据 若是想查看已经设置好的参数,可以按照下图步骤进行查看,同时若发现指定的参数有问题,也可在此处进行删除参数。 图11 删除参数 配置好参数后便可以单击右上角“启动作业”按钮进行启动作业,同时会跳转回作业列表。 图12 作业列表
  • 资源看板 在“资源看板”中,您可以实时监控计算资源、存储资源、性能加速、数据库的使用情况。 您可以选择统计“近1小时”、“近3小时”、“近12小时”、“近24小时”、“近7天”、“近30天”的资源使用情况,在“周期”中设置统计周期时长,在“方法”中选择“最大值”、“平均值”、“最小值”。如图中,上箭头是最大值,下箭头是最小值,虚线右边的数据是平均值。 图1 资源看板 父主题: 购买计算资源(主账号操作)
  • 计算资源说明 每个作业的运行依托的是后面的计算资源,所以需要管理员账号(主账号)提前购买计算资源。 若平台无计算资源,则投递的作业会出现等待情况,直至购买了计算资源或者任务超时才会停止。 单击平台右上角的账号名称,会出现账号的相关操作,包括系统资源,系统配置等。注意这里只有管理员账号有系统资源,系统配置等操作,具体说明请参见《医疗智能体-用户指南基因平台》的用户管理章节。 图1 系统资源 父主题: 购买计算资源(主账号操作)
  • 编写执行脚本并提交作业 运行分析作业时,流程中的每一个应用称之为一个任务(Task),通过循环读取Task的输入数据,可以实现作业的批量执行。 例如,您可以在本地创建.bat格式的批处理文件,执行该脚本即可批量运行NGS分析作业。 @echo off set list="task-1-fastp.fastq-file1=asset0331:/ngs/NA12878_0.R1.fastq.gz;task-1-fastp.fastq-file2=asset0331:/ngs/NA12878_0.R2.fastq.gz" "task-1-fastp.fastq-file1=asset0331:/ngs/NA12878_0.R1.fastq.gz;task-1-fastp.fastq-file2=asset0331:/ngs/NA12878_0.R2.fastq.gz" health switch project ngs-project for %%a in (%list%) do ( echo %%a health create job -y D:\test\ngs.yaml -i %%a echo/ ) pause 图2 批处理文件说明 如果执行NGS批量任务时需要变更不同的原始数据、参考基因序列、测序平台、文件前缀等,请参考上述批处理文件示例,将需要变更的数据补充完整。 .bat批处理文件需要和命令行工具放在同一路径下,同时,命令行工具需为登录状态。
  • NGS配置文件示例 NGS作业由十个Task执行完成,本示例以fastp和bwa-mem两个Task为例,介绍.yaml文件填写规则,完整的NGS配置文件请参考本示例以及获取NGS作业配置文件章节得到的作业信息和模板填写。 job: name: ngs-test description '' priority: 0 timeout: 1440 output_dir: '' workflow_id: ngs-workflow::1.0.0::ngs-project tasks: - task_name: task-1-fastp inputs: - name: fastq-file1 values: - 'ngs-project:/ngs/NA12878_0.R1.fastq.gz' inputs: - name: fastq-file2 values: - 'ngs-project:/ngs/NA12878_0.R2.fastq.gz' resources: cpu: 0.1C memory: 0.1G gpu_type: '' gpu: '0' - task_name: task-2-bwa-mem inputs: - name: fq-file1 values: - '${task-1-fastp.fq-file1}' - name: fq-file2 values: - '${task-1-fastp.fq-file2}' - name: ref-file values: - 'ngs-project:/ngs/GCA_000001405.15_GRCh38_no_alt_plus_hs38d1_analysis_set.fna' - name: seq-platform values: - 'MGI' - name: sample-id values: - 'NA12878' resources: cpu: 16C memory: 10G gpu_type: '' gpu: '0' ...
  • 获取NGS作业配置文件 编写NGS作业配置文件有两种方式,建议您使用第一种,通过获取已经执行成功的NGS配置文件,并在该配置文件基础上进行修改,得到可以用于批量执行NGS的配置文件。本示例介绍使用方法一获取配置文件的方法。 方式一 使用EIHealth平台完成NGS流程的搭建,并执行成功,然后在“分析作业”页面导出作业信息.yaml文件。 方式二 使用命令行工具完成NGS流程的搭建,进而获取相应的配置文件。详细的操作请参见《医疗智能体-CLI命令速查》。 使用switch命令进入NGS流程所在的项目。 例如,使用health switch project ngs-project命令进入到名为ngs-project的项目中。 使用health get job命令获取该项目下所有的作业信息。 查询NGS作业对应的job-id,使用health get job job-id命令获取NGS作业的信息。使用health get workflow命令查询NGS作业对应的workflow-id。获取到的作业信息如图1所示。 图1 NGS作业信息 health get job -s命令获取启动分析作业的模板。依据模板要求,将步骤3中获取到的NGS作业信息和workflow-id填充至模板中,修改好的配置文件示例请参见NGS配置文件示例。 请将该模板保存为.yaml格式至本地,并在本地完成模板修改。例如,命名为ngs.yaml。
  • 上传数据 NGS流程中需使用二代测序得到的原始fastq文件、参考基因组序列、参考Variants数据集。 本示例中以Windows系统命令行工具为例,介绍如何将本地数据上传到EIHealth平台。更多的命令介绍请参见《命令行工具》。 使用命令行工具,用switch命令进入待操作的项目。 例如,使用health switch project ngs-project命令进入到名为ngs-project的项目中。 使用命令行工具,用mkdir命令创建存储数据的文件夹。 例如,使用health mkdir input-data命令创建名为input-data的文件夹。 将本地数据上传至项目文件夹中。 例如,将Linux系统下root/health_test路径中xxx.R1.fastq.gz数据上传至ngs-project项目的input-data文件夹中。 ./health upload /root/health_test/xxx.R1.fastq.gz /input-data/ 例如,Windows系统下将本地D盘中xxx.R1.fastq.gz数据上传至ngs-project项目的input-data文件夹中。 health upload D:\local\data\xxx.R1.fastq.gz /input-data/ 父主题: 基于二代测序的基因组突变检测
  • 创建药物虚拟筛选任务 虚拟药物筛选可以使用资产市场中预置的“Docking Summary”流程对小分子化合物配体和蛋白受体进行对接。 使用步骤如下所示。 登录医疗智能体平台,在“资产市场”中订阅“Docking Summary”流程至所需的项目中。 进入“专题”页签,单击“新建研究”。 图1 新建研究 填写任务的基本信息,包括选择任务所属项目,研究的名称和描述。 图2 基本信息 选择配体分子和受体蛋白。 作业名称:自定义名称 。 类型:选择小分子化合物。 流程:选择从资产市场中订阅的“Docking Summary”流程。 配体分子:配体分子文件,支持SMILES、SD SDF、PDBQT格式。 受体蛋白:受体蛋白文件,支持PDB、PDBQT格式。 图3 选择配体分子和受体蛋白 设置数据库。 数据库功能可以将任务运行过程中产生的数据文件按照模板生成数据库。 数据库模板:使用资产市场订阅的流程时,模板已预置,无需选择数据库模板。 数据库名称:数据库的名称。 输出文件格式:可以将流程生成的分子对接结果,保存为.txt、.csv或.vcf格式。使用“Docking Summary”流程时,保存格式为.txt。 相对路径:流程运行完成后,会按照流程子任务的名称生成数据文件,相对路径指按照哪个数据路径中的结果文件生成数据库。 对于“Docking Summary”流程,包含5个子任务,默认在task-5-docking summary中保存有汇总的数据文件。 task-1-ligand 3dsdf to pdbqt:将配体的sdf文件转换为pdbqt文件。 task-2-ligand smiles to 3dsdf:将配体的smiles文件转换为3dsdf文件。 task-3-receptor pdb to pdbqt:将受体的pdb文件转换为pdbqt文件。 task-4-qvina-w:分子对接。 task-5-docking summary:汇总分子对接结果。 图4 数据路径和流程图 图5 设置数据库 设置完成后,单击“提交”,执行药物虚拟筛选任务。 对于“运行中”的任务,允许取消、强制停止或删除。 图6 运行状态
  • 虚拟药物筛选功能 医疗智能体平台支持根据靶点蛋白和小分子药物的3D结构,计算蛋白与药物之间的结合能量,进而预测小分子是否有成为候选药物的可能性。 虚拟药物筛选可实现如下功能。 整合分子对接结果,生成结合能矩阵。 整合受体与分子对接产生的配体构象,用于可视化展示。 对配体分子进行注释,包括DrugBank编号、分类、化学式、X LOG P3、TPSA、靶点、Csp3比例、分子量、可旋转键数目。 功能演示请参见视频帮助。
  • 新型冠状病毒(COVID-19)虚拟药物筛选 新型冠状病毒(COVID-19)的出现在全球范围影响了人类健康,寻找有效治愈新冠肺炎的治疗方式是临床医生和药物研发人员最紧迫的工作。 为了全面、系统地评估药物对新冠病毒所有靶点蛋白的结合情况,华为云EI医疗智能体团队与华中科技大学同济医学院基础医学院、华中科技大学同济医学院附属武汉儿童医院、西安交通大学第一附属医院、中科院北京基因组研究所迅速成立联合团队,从新冠病毒蛋白序列开始,针对所有21个靶点蛋白进行同源建模、分子动力学模拟优化,获取靶点蛋白的3D结构,对超过8500个已上市、进入临床的小分子药物进行了约18万种药物-靶点配对情况的计算评估,让研究人员可以同时从21个蛋白的角度,综合、无偏地评估药物效果,从而为后续的药物机制研究、临床试验提供线索。 本案例介绍如何使用EIhealth平台虚拟药物筛选功能复现上述研究成果(https://doi.org/10.1021/acs.jcim.0c00821),并搭建虚拟药物筛选数据库。
  • 制作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 评估指标的评估结果
  • 请求示例 创建自定义属性 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 ] }
  • 请求参数 表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 用于建模的属性值列表
  • 响应示例 状态码: 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 是否包含值域上限
共100000条
提示

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