# 基因容器 GCS ## 产品介绍 - [产品功能](https://support.huaweicloud.com/productdesc-gcs/gcs_productdesc_001.md): 基于华为云整体产品规划,基因领域将统一由EIHealth为入口承接,后续GCS会考虑逐渐下线。详见最新动态。基因容器(GeneContainer Service,GCS)提供云端基因解决方案,支持DNA、RNA等主流生物基因测序场景。基因容器基于轻量级容器技术,结合大数据、深度学习算法,优化官方标准算法,为您提供灵活可定制的测序流程、秒级 - [产品优势](https://support.huaweicloud.com/productdesc-gcs/gcs_productdesc_002.md): 基因容器基于Kubernetes智能化基因计算任务调度和Spark等加速服务,为您提供低成本高性能的基因测序解决方案。支持对接深度学习框架,方便您深度解读报告。基因容器利用容器技术的秒级并发能力,可将WGS从30小时缩短至5小时以内,对比同类竞品,使用相同样本的情况下,资源利用率大幅提升。不单独维护小资源池,使用华为云整个计算资源做为基础 - [应用场景](https://support.huaweicloud.com/productdesc-gcs/gcs_productdesc_003.md): 生物基因企业利用基因容器完成大规模基因组测序分析。优势极大提升计算速度,降低运算成本。流程设计门槛低、方式多样,可以通过设计器、模板甚至可以直接从其他格式模板直接转换不单独维护小资源池,可直接使用整个华为云计算资源作为基础。保证资源充足,无需排队为生物测序行业量身定做的业务流程,更贴近用户场景。极大提升计算速度,降低运算成本。流程设计门槛 - [使用限制](https://support.huaweicloud.com/productdesc-gcs/gcs_productdesc_004.md): 对于CCE环境和SEG环境,您的账户需要通过实名认证并且要有100元的余额,否则无法一键创建按量付费的“集群”和“弹性云服务器(下文中简称为ECS节点)”等资源。当前仅支持在华北区进行测序计算。使用基因容器执行测序时,需注意以下配额限制:每个用户默认最多创建5个环境;每个用户默认最多创建100个自定义流程,每个用户执行流程次数不能超过50 - [基本概念](https://support.huaweicloud.com/productdesc-gcs/gcs_productdesc_005.md): 基因测序流程包含测序过程所需工具的执行先后信息以及数据输入输出等定义。流程由至少一个工具组成。流程中的各个工具由其前后顺序关系形成数据流,前序工具为后序工具提供输入。基因容器为您提供了多套典型的测序流程,基于此流程,您可以快速完成测序任务。工具是生物信息软件的镜像封装,工具既可以编排入流程串联使用,也可以独立使用,基因容器提供了大量的公共 - [权限管理](https://support.huaweicloud.com/productdesc-gcs/gcs_productdesc_008.md): 如果您需要对华为云上购买的GCS资源,为企业中的员工设置不同的访问权限,以达到不同员工之间的权限隔离,您可以使用统一身份认证服务(Identity and Access Management,简称IAM)进行精细的权限管理。该服务提供用户身份认证、权限分配、访问控制等功能,可以帮助您安全的控制华为云资源的访问。通过IAM,您可以在华为云账 - [与其它云服务的关系](https://support.huaweicloud.com/productdesc-gcs/gcs_productdesc_006.md): 基因容器服务与华为云其它服务的关系如图1所示。基因容器使用的底层资源均由CCE服务创建。云容器引擎(Cloud Container Engine)提供高可靠高性能的企业级容器应用管理服务,支持Kubernetes社区原生应用和工具,简化云上自动化容器运行环境搭建。应用编排服务提供编排云容器引擎的能力。基因容器使用对象存储服务存储您的原始数 ## 快速入门 - [入门必读](https://support.huaweicloud.com/qs-gcs/gcs_qs_001.md): 基于华为云整体产品规划,基因领域将统一由EIHealth为入口承接,后续GCS会考虑逐渐下线。详见最新动态。基因容器(GeneContainer Service,简称GCS)提供云端基因测序解决方案,支持DNA、RNA、液态活检等主流生物基因测序场景。基因容器服务对GATK 4.0官方所推荐的最佳实践流程进行封装,让您能快速基于GATK最 - [基于CCI执行gcs-grammar流程](https://support.huaweicloud.com/qs-gcs/gcs_qs_004.md): 本文通过创建CCI环境并执行gcs-grammar流程,向您展示GCS的使用流程。在所有操作前,请先完成环境准备,请单击环境管理 > 创建环境,根据界面提示填写参数。在填写环境信息界面,参数按如下填写,填写完成后,单击下一步,在详情页确认后,单击提交,完成CCI环境的创建。环境类型基因容器的环境有云容器实例CCI和云容器引擎CCE。本示例 - [病毒基因组分析平台入门](https://support.huaweicloud.com/qs-gcs/gcs_qs_005.md): 病毒基因组分析平台基于rampart实时读取分析病毒数据,并且提供web界面查看病毒分析的结果。仅内测用户可以使用。单击环境管理 > 创建环境,根据界面提示填写参数。环境类型选择病毒基因组分析平台。选择病毒基因组分析平台。关联OBS存储OBS存储用于存储分析数据,您需要在分析前将数据上传到OBS中,分析过程中会读取OBS中的数据。病毒基因 ## 用户指南 - [欢迎使用基因容器服务](https://support.huaweicloud.com/usermanual-gcs/gcs_01_0001.md): 感谢您更深入的了解、学习并使用基因容器服务(GeneContainer Service,GCS)。基因容器服务GCS提供云端基因分析解决方案,支持DNA、RNA、液态活检等主流生物基因分析场景。基因容器基于轻量级容器技术,结合大数据、深度学习算法,优化官方标准算法,为您提供灵活可定制的分析流程、秒级可伸缩的高可靠资源。基因容器服务GCS的 - [环境选择](https://support.huaweicloud.com/usermanual-gcs/gcs_02_0002.md): 环境是基因容器服务所需要使用的计算资源的集合。基因容器的环境由云容器实例和云容器引擎提供。云容器实例云容器实例(Cloud Container Instance,CCI)服务提供 Serverless Container(无服务器容器)引擎,让您无需创建和管理服务器集群即可直接运行容器,详细介绍请参考云容器实例用户指南。使用云容器实例,您 - [云容器实例环境](https://support.huaweicloud.com/usermanual-gcs/gcs_02_0004.md): 云容器实例提供无服务器容器引擎,让您无需创建和管理服务器集群即可直接运行容器。开始基因分析前,请先创建环境。如果您已有可用桶,在创建环境中,选择对应的桶即可。关联OBS存储,对应的是并行文件系统,并行文件系统详细说明请参见并行文件系统。如果没有可用桶或是需要新建桶,请单击“创建OBS存储”创建。此处创建的桶无法选择企业项目,默认创建def - [云容器引擎环境](https://support.huaweicloud.com/usermanual-gcs/gcs_02_0003.md): 云容器引擎是由一系列弹性云服务器组成的一个Kubernetes集群,基因容器所有执行的分析流程都会运行在这个集群中。如果您对集群并不了解,请查看集群概述,了解集群概念、集群和虚拟私云及子网间关系、集群和节点的使用约束。开始基因分析前,请先创建环境。如果您已有可用桶,在创建环境中,选择对应的桶即可。关联OBS存储,对应对象存储或并行文件系统 - [数据管理](https://support.huaweicloud.com/usermanual-gcs/gcs_03_0001.md): 基因容器使用对象存储服务OBS和弹性文件服务SFS存储分析前后产生的数据,其中包括原始基因数据、流程执行中间数据及执行结果数据。CCE环境支持对象存储服务OBS和弹性文件服务SFS存储数据,而由于目前CCI环境不支持OBS挂载,CCI环境只能使用SFS存储数据。基因容器的数据存储包括公共数据和私有数据。公共数据中存放的是GCS提供的参考组 - [工具管理](https://support.huaweicloud.com/usermanual-gcs/gcs_04_0001.md): 工具是生物信息软件的镜像封装,工具既可以编排入流程串联使用,也可以独立使用。您可以基于基因容器为您提供业界主流的基因数据处理工具,当前已支持的公共工具请参见公共工具的范围。您可以直接使用公共工具来创建流程,如执行工具。此外,基因容器也支持添加自有工具并支持对接第三方数据处理服务,您可以添加私有工具来创建流程,这些工具都存放在工具仓库中。基 - [分析流程](https://support.huaweicloud.com/usermanual-gcs/gcs_05_0002.md): 基因分析流程包含分析过程所需工具的执行先后信息以及数据输入输出等定义。流程由至少一个工具组成。流程中的各个工具由其前后顺序关系形成数据流,前序工具为后序工具提供输入。基因容器流程分为示例流程和自定义流程,当前已有的示例流程有gcs-grammar,其余可以通过自定义流程页面来创建。基于示例流程,您可以快速完成分析任务。您也可以使用自定义流 - [流程设计器](https://support.huaweicloud.com/usermanual-gcs/gcs_05_0003.md): 基因容器的流程中至少有一个工具,流程中每个工具会根据它们的先后顺序形成数据流,前一个工具会为后一个工具提供输入。基因容器的流程设计器是一种用于创建、查看、修改流程的图形化工具。借助流程设计器,您可以拖拽工具到画布中,可视化连接各工具,指定工具间的先后顺序。不管您是新手,还是熟悉基因容器流程编写的专家,设计器都能帮助您快速了解流程中各个工具 - [查看和管理执行结果](https://support.huaweicloud.com/usermanual-gcs/gcs_06_0002.md): 分析任务的执行时间较长,一般需要数小时,详细的时长与环境资源类型、环境资源大小、处理数据大小等相关。您可以通过GCS控制台左侧导航栏的“执行结果”查看执行结果或是操作任务。查看执行结果,您可以实时查看分析任务的执行过程、数据、状态、结果等信息,请参见查看执行结果。管理执行结果,您可以根据需求对任务执行删除、启动、停止、编辑、更新优先级、查 - [备份执行结果](https://support.huaweicloud.com/usermanual-gcs/gcs_06_0003.md): GCS的执行结果最多可以存放500条记录,当超过配额后,执行新的任务将会失败,配额查询方法请参见我的配额。为了保证能正常执行新的任务,您可以将历史执行结果备份至自有OBS桶,备份的同时,被备份的执行结果将从“执行结果”列表中删除,移动至您指定的OBS桶中。此外,通过历史数据备份,您可以使用备份的历史数据做季度或是年度的业务分析。只有任务状 - [参考基因组](https://support.huaweicloud.com/usermanual-gcs/gcs_07_0001.md): 基因参考组由正常和病理条件下非正常的分子表达所组成。基因容器提供主流基因参考组,作为基因分析参考。 - [委托权限](https://support.huaweicloud.com/usermanual-gcs/gcs_09_0005.md): 为正常提供服务功能,GCS老的委托方式是要求客户创建名为servicestage_admin_trust的委托,提供op_svc_servicestage账号获取创建资源的能力。但由于op_svc_servicestage账号被多个服务共享,将导致您无法精细化控制对特定服务的授权行为,即授权servicestage的同时也会授权GCS,反 - [创建用户并授权使用GCS](https://support.huaweicloud.com/usermanual-gcs/gcs_09_0003.md): 如果您需要对您所拥有的GCS进行精细的权限管理,您可以使用统一身份认证服务(Identity and Access Management,简称IAM),通过IAM,您可以:根据企业的业务组织,在您的华为云账号中,给企业中不同职能部门的员工创建IAM用户,让员工拥有唯一安全凭证,并使用GCS资源。根据企业用户的职能,设置不同的访问权限,以达 - [GCS自定义策略](https://support.huaweicloud.com/usermanual-gcs/gcs_09_0004.md): 如果系统预置的GCS权限,不满足您的授权要求,可以创建自定义策略。自定义策略中可以添加的授权项(Action)请参考权限策略和授权项。目前华为云支持以下两种方式创建自定义策略:可视化视图创建自定义策略:无需了解策略语法,按可视化视图导航栏选择云服务、操作、资源、条件等策略内容,可自动生成策略。JSON视图创建自定义策略:可以在选择策略模板 ## Cromwell引擎使用指南 - [什么是Cromwell引擎](https://support.huaweicloud.com/cromwell-gcs/what_is_cromwell_engine.md): Cromwell 是 Broad Institute 开发的工作流管理系统。通过 Cromwell 可以将 WDL(Workflow Description Language) 描述的 workflow 运行在CCI容器中。您只需为作业运行时实际消耗的计算和存储资源付费,不需要支付资源之外的附加费用。本文将介绍如何使用在基因容器服务中使用 - [管理Cromwell引擎](https://support.huaweicloud.com/cromwell-gcs/create_cormwell_env.md): 如果您已有可用桶,在创建环境中,选择对应的桶即可。如果没有可用桶或是需要新建桶,请单击“创建OBS存储”创建。关联OBS存储功能目前正在公测中,如果您还未申请公测,请申请CCI容器实例挂载方式使用OBS文件桶。如果您在CCI中没有可用的命名空间,或不想使用已有命名空间,请单击创建命名空间,创建命名空间步骤请参见命名空间。单击,在弹出的对话 - [投递Cromwell任务](https://support.huaweicloud.com/cromwell-gcs/use_cromwell_engine.md): 当前Cromwell引擎可以通过命令行和SDK两种方式使用。SDK的使用方法请参见Python SDK参考。初始化后调用Cromwell相关接口即可投递任务。命令行使用方法请参见命令参考。安装命令行工具后,使用gcs sub wdl即可投递Cromwell任务。Cromwell引擎使用WDL文件描述任务执行流程。更多WDL信息请参见ope - [查看执行结果](https://support.huaweicloud.com/cromwell-gcs/query_cromwell_result.md): 分析任务的执行时间较长,一般需要数小时,详细的时长与环境资源类型、环境资源大小、处理数据大小等相关。您可以通过GCS控制台左侧导航栏的“执行结果”查看执行结果或是操作任务。查看执行结果,您可以实时查看分析任务的执行过程、数据、状态、结果等信息,请参见查看执行结果。管理执行结果,您可以根据需求对任务执行删除、备份操作。备份操作请参见备份执行 - [示例](https://support.huaweicloud.com/cromwell-gcs/example_of_cromwell.md): 本节通过一个简单的示例说明Cromwell的使用方法。使用Cromwell首先编写WDL流程文件,定义任务如何工作。Cromwell引擎使用WDL文件描述任务执行流程。下面是一个简单示例WDL流程示例example.wdl。详细解释如下:这个流程一共有3个步骤stepa、stepb、stepc,首先执行stepa,stepa使用first ## 最佳实践 - [使用命令行工具执行测序](https://support.huaweicloud.com/bestpractice-gcs/gcs_bestpractice_008.md): 本示例通过指导您创建CCI命名空间、绑定文件存储卷,使用命令行工具查询和设置环境、查询和设置SFS存储卷、创建execution执行测序及查看计算结果,帮助您学习如何使用命令行工具在云容器实例环境中执行测序。使用命令行工具执行测序的操作步骤如下:登录云容器实例控制台,左侧导航栏中选择“命名空间”,单击“一键创建”创建命名空间。创建成功的C - [使用第三方数据执行测序](https://support.huaweicloud.com/bestpractice-gcs/gcs_bestpractice_003.md): 华为云对象存储服务(Object Storage Service,OBS)支持资源隔离和权限控制,OBS桶是资源隔离和对象存储的逻辑载体,基本原理如图1。假设基因测序厂商账户下已有n个OBS桶,这些桶可分别授权给第三方客户使用。每个第三方账号均为独立的华为云账号,共享桶与第三方账户之间是一对一的关系,从而实现资源隔离。基因测序厂商可在授权 - [基于GCS构建基因测序平台](https://support.huaweicloud.com/bestpractice-gcs/gcs_bestpractice_011.md): 本通过一个示例Demo介绍如何基于GCS构建一个基因测序平台。https://mirrors.huaweicloud.com/gcs-sdk/GCS_CloudOnCloud_SDK.rar示例demo源码只实现了最基础的功能,不可直接作为商业软件使用。示例demo源码为示例源码,开源目的为方便第三方基于此继续进行二次开发,实现定制化需求 ## 流程语法参考 - [语法说明](https://support.huaweicloud.com/tr-gcs/gcs_tr_01_0002.md): 基因容器语法,是GCS引以为傲的特性之一。使用基因容器语法编写的流程描述文件是基因容器服务流程控制的唯一方式。如已有其他流程语法文件,需要先转换为基因容器语法,然后才能由基因容器执行。流程描述文件的生成方式有多种,其一基于基因容器语法手动编写;其二是通过基因容器命令行自动生成;其三是使用流程设计器辅助编写;最后一种是通过流程迁移工具转换生 - [version](https://support.huaweicloud.com/tr-gcs/gcs_tr_01_0003.md): 流程文件的版本。当前支持为 genecontainer_0_1。 - [inputs](https://support.huaweicloud.com/tr-gcs/gcs_tr_01_0004.md): 可选项,用于定义测序流程的可变部分。inputs由多个变量组成,最多可定义60个变量,且每个变量名唯一,若变量名重复,则后面定义的将会覆盖之前定义的。变量可以在流程文件的其他参数中引用,引用方式采用shell脚本方式,即:${var},其中var为变量名称。 - [workflow](https://support.huaweicloud.com/tr-gcs/gcs_tr_01_0005.md): 必选项,用于定义流程包含的各个步骤,以及步骤之间的依赖关系。一个workflow由多个步骤组成,每个步骤可以执行特定的任务,比如运行容器、执行FPGA程序,或是调用Spark服务加速等任意的华为云服务。当前支持的类型为运行容器,即:GCS.Job。未来会支持其他类型的任务。 - [volumes](https://support.huaweicloud.com/tr-gcs/gcs_tr_01_0006.md): 可选项,用于定义各个任务挂载哪些共享存储,以及挂载的路径。任务可以挂载多块共享存储。以下示例,使得每个任务容器会挂载5个共享存储,也就是所有的容器可以看到一样的共享目录。 - [ouputs](https://support.huaweicloud.com/tr-gcs/gcs_tr_01_0007.md): 可选项,用于定义数据处理流程完成后,最终生成的结果文件列表。结果文件列表在基因容器服务的控制台界面展示,此外,为了让您更直观的查看结果文件,基因容器集成 IGV(IGV的详细描述请参见http://www.igv.org/)软件,您通过控制台即可查看到通过IGV软件转换后的可视化结果文件。ouputs中可以同时定义多种结果文件。如果使用该 - [YAML语法](https://support.huaweicloud.com/tr-gcs/gcs_tr_01_0008.md): YAML 是一种简洁强大的语言,它的设计目标是便于设计和使用人员阅读。大小写敏感。使用缩进表示层级关系。缩进时不允许使用Tab键,只允许使用空格。缩进的空格数目不重要,要求相同层级的元素左侧对齐。使用#表示注释。对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes)/ 字典(dictionary)。数组:一组按次序排列的 - [读取文件控制并发](https://support.huaweicloud.com/tr-gcs/gcs_tr_01_0009.md): 在基因数据处理流程中,经常需要读取某个文件的内容来控制并发任务,或者获取另一个步骤的“输出结果”来控制并发任务。如,把样本文件按照固定大小进行拆分之后,需要得到所有的拆分文件名集合。或者上一步是分布式处理的,需要得到结果的总和。这种情况下,我们需要使用GCS语法中特定的功能,get_result函数来获得。确定性的并发任务,GCS语法如下 - [条件分支](https://support.huaweicloud.com/tr-gcs/gcs_tr_01_0010.md): GCS支持条件分支功能,基础原理是 根据每个步骤的condition字段来判断当前步骤是否执行。根据业务使用场景分为简单条件分支和复杂条件分支。简单条件分支,即在流程执行前,已经确定某个值是true还是false,从而可以确定对应的步骤是否需要执行。一般情况下,简单条件分支适用于condition字段,后跟布尔类型的值,做为判断。复杂条件 - [range](https://support.huaweicloud.com/tr-gcs/gcs_tr_03_0002.md): range用于迭代变量数量过多时,简化迭代变量范围。range仅在vars_iter字段内可用。对应迭代范围的数组。通过range函数,快速迭代执行命令。 - [get_result](https://support.huaweicloud.com/tr-gcs/gcs_tr_03_0003.md): get_result用于获取“指定步骤”的标准输出,生成控制迭代的变量范围。目前支持获取的最大输出长度为 1M 字节,如果目标步骤的stdout超出,则execution执行时会报错终止(当然,您可以在失败后调整命令,然后触发继续执行)。get_result仅在vars_iter字段内可用。获取结果的目标Job中,不允许使用GCS_JOB - [check_result](https://support.huaweicloud.com/tr-gcs/gcs_tr_03_0004.md): check_result用于获取“指定步骤”的标准输出,并判断是否与指定的字符串相等。主要用于控制流程的条件分支执行。目前支持获取的最大输出长度为1M字节,如果目标步骤的stdout超出,则execution执行时会报错终止(当然,您可以在失败后调整命令,然后触发继续执行)。check_result仅在condition字段内可用。tur - [item](https://support.huaweicloud.com/tr-gcs/gcs_tr_04_0002.md): 变量item用于在任务并发时,显示当前容器是第几个并发,该计数从零开始。item变量在workflow语法中,并发任务的command字段内可用。上述语法会产生3个并发任务,第一个容器执行的命令${item} => 替换为0,最终执行为:echo A 0第二个容器执行的命令${item} => 替换为1,最终执行为:echo B 1第 - [GCS_REF_PVC](https://support.huaweicloud.com/tr-gcs/gcs_tr_04_0003.md): 变量GCS_REF_PVC用于代表GCS提供的共享存储PVC,便于挂载存储。GCS_REF_PVC变量在workflow语法中,挂卷的volumes字段内可用。容器挂载共享存储是可以使用任意的PVC的,提供这个内置变量是为了省去用户定义PVC的动作。使用时,把GCS_REF_PVC当做普通的inputs变量就可以。 - [GCS_DATA_PVC](https://support.huaweicloud.com/tr-gcs/gcs_tr_04_0004.md): 变量GCS_DATA_PVC用于代表每个环境关联的OBS桶,便于挂载常用的对象存储桶。GCS_DATA_PVC变量在workflow语法中,挂卷的volumes字段内可用。容器挂载共享存储是可以使用任意的PVC的,提供这个内置变量是为了省去用户定义PVC的动作。你也可以自己定义PVC来完成这个挂载行为。使用时,把GCS_DATA_PVC当 - [GCS_SFS_PVC](https://support.huaweicloud.com/tr-gcs/gcs_tr_04_0005.md): 变量GCS_SFS_PVC用于代表GCS环境的SFS文件存储卷,便于挂载常用的SFS文件存储卷。GCS_SFS_PVC变量在workflow语法中,挂卷的volumes字段内可用。容器挂载SFS文件存储卷是可以使用任意的PVC的,提供这个内置变量是为了省去用户定义PVC的动作。您也可以自己定义PVC来完成这个挂载行为。使用时,把GCS_S - [单一步骤(一个并发)](https://support.huaweicloud.com/tr-gcs/gcs_tr_02_0002.md): 首先以执行单一命令为例。以 gcs sub job 为例,我们使用:该命令将会生成以下模板,并提交基因容器语法解析器:该模板将进一步解析成以下 Kubernetes 模板 ,并提交云容器引擎: - [单一步骤(并发执行)](https://support.huaweicloud.com/tr-gcs/gcs_tr_02_0003.md): 其次,再看一下任务并发的情况。假如用户之前脚本是这样:则这里模板有两种写法。第一种是写出所有可能情况。为了简化,这里只展示 workflow 部分:第二种是使用并发变量: - [复杂依赖任务(DAG)](https://support.huaweicloud.com/tr-gcs/gcs_tr_02_0004.md): 如果有四个任务,a/b/c/d 我们希望首先执行 任务 a,然后执行 b/c,b/c 同时完成后,最后执行 d,如下图所示:为了实现这个目标,需要引入 depends 字段。以任务 d为例,完成任务 d 需要首先完成任务 b/c,则depends 字段为:完整代码如下: ## SDK参考 - [快速开始](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_001.md): 基因容器服务软件开发工具包(GCS SDK,Gene Container Service Software Development Kit)对GCS服务提供的REST API接口进行封装,以简化您的开发工作。当前仅支持Python3语言的SDK,您可以使用GCS SDK提供的接口进行开发。当前SDK版本支持基于GCS环境和Cromwell - [接口列表](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_002_001.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 - [初始化GCS对象](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_002_006_001.md): GCSClient()创建GCSClient实例。向GCS发送任一请求之前,必须先创建一个GCSClient实例。初始化的实例中参数值为空,需要通过用户名/密码方式初始化入参或AK/SK方式初始化入参初始化入参,然后才能通过实例调用GCS提供的其它接口。无返回一个GCSClient实例,通过该实例调用GCS提供的接口。 - [用户名/密码方式初始化入参](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_002_006_002.md): set_user_auth_param(username, password, project_id, domain_name, region,project_name)使用用户名/密码方式初始化GCSClient中的基础参数,与AK/SK方式二选一即可,为了更安全的使用,推荐使用AK/SK的方式。无 - [AK/SK方式初始化入参](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_002_006_003.md): set_aksk_auth_param(ak, sk, project_id, region, project_name)AK/SK方式初始化GCSClient中的基础参数,与username/password方式二选一即可。为了更安全的使用,推荐使用AK/SK的方式。无 - [查询environment列表](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_002_002_001.md): get_environments()查询环境列表。无响应中含有多个环境结构,每个结构如表1所示。 - [查询environment](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_002_002_002.md): get_environment(environment_id)查看特定环境详细信息。响应中含指定环境的结构,结构如表1所示。 - [创建workflow](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_002_003_001.md): create_workflow(name, vendor, description, file_obj, epid='0')创建自定义流程,方便后续测序使用。 - [删除workflow](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_002_003_002.md): delete_workflow(workflow_id)删除已上传的自定义流程。返回内容为空。 - [更新workflow](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_002_003_003.md): update_workflow(workflow_id, file_obj=None, vendor=None, description=None)更新自定义流程。 - [下载workflow](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_002_003_004.md): download_workflow(workflow_id)下载流程文件。 - [查询workflow列表](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_002_003_008.md): get_workflows()查询流程列表。无响应中含有多个流程的结构,结构如表1所示。 - [查询workflow](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_002_003_005.md): get_workflow(workflow_id)查询流程详情。响应中含有指定流程的结构,结构如表1所示。 - [查询workflow输入](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_002_003_006.md): get_workflow_inputs(workflow_id)查询流程输入。 - [查询workflow工具](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_002_003_007.md): get_workflow_tools(workflow_id)查询该流程里包含的工具列表。 - [创建execution](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_002_004_001.md): create_execution(name, workflow_id, sfs_pvc_name, cluster_id="", priority=0, inputs_json={}, namespace="", timeout=720, description="", email=[], sms=[], events=["exec_f - [删除execution](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_002_004_003.md): delete_execution(execution_id)删除执行结果。返回内容为空 - [查询execution](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_002_004_004.md): get_execution(execution_id)查询特定execution执行结果。响应中含有一个execution结构,建议通过response.json()方式获取返回值,结构如表1所示。 - [查询execution列表](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_002_004_005.md): get_executions(priority_sort="")查询执行结果列表。响应中含有多个execution结构,结构如表1所示。 - [查询execution输入](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_002_004_006.md): get_execution_inputs(execution_id)查询该次执行时的输入。 - [查询execution输出](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_002_004_007.md): get_execution_outputs(execution_id)查询执行的输出。 - [查询execution事件](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_002_004_008.md): get_execution_events(execution_id)查询执行结果的流程事件。 - [停止/启动/重试execution](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_002_004_009.md): operate_execution(execution_id, action, priority=0,timeout=720, inputs_json={})停止正在执行的execution、启动已停止的execution或重试已失败的execution。建议在使用本接口前,先调用查询execution接口,查询已有execution的状 - [查询tool](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_002_005_0001.md): get_tool(tool_id)查询特定工具详情。 - [查询tool列表](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_002_005_0002.md): get_tools()查询工具列表。无返回单个tool详情见表1 - [查询已完成execution各Job监控数据](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_002_008.md): get_finished_execution_resource_usage(execution_id, show_datapoints=False)获取已完成状态execution的监控数据,包括CPU和内存使用情况。 - [查询正在运行execution各Job监控数据](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_002_009.md): get_running_execution_resource_usage(execution_id, show_datapoints=False)获取正在执行状态execution的监控数据,包括CPU和内存使用情况。 - [初始化Cromwell客户端对象](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_007_002.md): CromwellClient()创建CromwellClient实例。向Cromwell引擎发送任一请求之前,必须先创建一个CromwellClient实例。初始化的实例中参数值为空,需要通过用户名/密码方式初始化入参或AK/SK方式初始化入参,然后才能通过实例调用Cromwell提供的其它接口。无返回一个CromwellClient实例 - [用户名/密码方式初始化入参](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_007_003.md): set_user_auth_param(username, password, project_id, domain_name, region, project_name)使用用户名/密码方式初始化CromwellClient中的基础参数,与AK/SK方式二选一即可,为了更安全的使用,推荐使用AK/SK的方式。无 - [AK/SK方式初始化入参](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_007_004.md): set_aksk_auth_param(ak, sk, project_id, region, project_name)AK/SK方式初始化CromwellClient中的基础参数,与username/password方式二选一即可。为了更安全的使用,推荐使用AK/SK的方式。无 - [创建execution](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_007_006.md): create_execution(workflow_source_file="", workflow_inputs_file="", workflow_options_file="", workflow_dependencies_path="", parameters={})提交一个cromwell分析任务。 - [删除execution](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_007_007.md): delete_execution(execution_id)删除执行结果。返回内容为空 - [查询execution](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_007_008.md): get_execution(execution_id)查询特定execution执行结果。响应中含有一个execution结构,建议通过response.json()方式获取返回值,结构如表1所示。 - [查询execution列表](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_007_009.md): get_executions(name="", status="", workflow_name="")查询执行结果列表。响应中含有多个execution结构,结构如表1所示。 - [批量删除execution](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_007_010.md): delete_executions(execution_ids=[])批量删除执行结果。返回内容为空 - [停止execution](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_007_011.md): stop_execution(execution_id)停止正在运行的execution。 - [查询已完成execution各Job监控数据](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_007_013.md): get_finished_execution_resource_usage(execution_id, show_datapoints=False)获取已完成状态execution的监控数据,包括CPU和内存使用情况。 - [查询正在运行execution各Job监控数据](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_007_014.md): get_running_execution_resource_usage(execution_id, show_datapoints=False)获取正在执行状态execution的监控数据,包括CPU和内存使用情况。 - [Response对象使用方法](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_003.md): 使用GCS客户端调用成功后均会返回 SDK公共结果对象requests.Response,若调用失败,则抛出异常,可参考通用示例从SDK公共结果对象中获取HTTP状态码及返回内容,进一步判断错误详情。用户可以通过Response.json()方法获取服务返回的json内容,通过Response.text 获取返回信息。下面返回值为通过Re - [异常抛出](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_004.md): 执行请求失败会抛出异常,异常类型如表1所示: - [中文支持问题](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_005_004.md): 若调用SDK接口时涉及到部分字段包含中文后报错的问题,如description字段,请在python文件头部添加“# -*- coding: utf-8 -*- ”,具体做法请参考Python使用UTF-8编码。 - [修订记录](https://support.huaweicloud.com/sdkreference-gcs/gcs_sdkreference_006.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 ## API参考 - [使用前必读](https://support.huaweicloud.com/api-gcs/gcs_api_001.md): 基因容器(GeneContainer Service,GCS)提供云端基因测序解决方案,支持DNA、RNA、液态活检等主流生物基因测序场景。基因容器基于轻量级容器技术,结合大数据、深度学习算法,优化官方标准算法,为您提供灵活可定制的测序流程、秒极可伸缩的高可靠资源。基因容器提供了REST(Representational State Tr - [API概览](https://support.huaweicloud.com/api-gcs/gcs_api_002.md): GCS提供包括环境管理、流程创建、执行结果、工具相关的API,具体API如下所示。Environment:运行基因计算所需要的设施环境,例如K8S集群;Workflow:基因计算流程的定义;Execution:某个基因计算流程的一次执行过程的结果;Tool:基因计算所依赖的软件工具。 - [构造请求](https://support.huaweicloud.com/api-gcs/gcs_api_003_001.md): 本节介绍REST API请求的组成,并以调用IAM服务的管理员创建IAM用户来说明如何调用API,该API获取用户的Token,Token可以用于调用其他API时鉴权。您还可以通过这个视频教程了解如何构造请求调用API:https://bbs.huaweicloud.com/videos/102987。请求URI由如下部分组成:{URI- - [认证鉴权](https://support.huaweicloud.com/api-gcs/gcs_api_003_002.md): 调用接口有如下两种认证方式,您可以选择其中一种进行认证鉴权。AK/SK认证:通过AK(Access Key ID)/SK(Secret Access Key)加密调用请求。推荐使用AK/SK认证,其安全性比Token认证要高。Token认证:通过Token认证调用请求。AK/SK认证:通过AK(Access Key ID)/SK(Secr - [返回结果](https://support.huaweicloud.com/api-gcs/gcs_api_003_003.md): 请求发送以后,您会收到响应,其中包含状态码、响应消息头和消息体。状态码是一组从1xx到5xx的数字代码,状态码表示了请求响应的状态,完整的状态码列表请参见状态码。对于管理员创建IAM用户接口,如果调用后返回状态码为201,则表示请求成功。对应请求消息头,响应同样也有消息头,如Content-type。对于管理员创建IAM用户接口,返回如图 - [基于CCE的GATK4最佳实践流程](https://support.huaweicloud.com/api-gcs/gcs_api_004_002.md): 本节通过示例流程调用GCS的API启动示例流程的基因测序,介绍使用GCS API的基本流程。启动完成的基因测序结果如下所示。通过GCS执行基因测序流程的步骤如下:参照3.1-构造请求中的调用方式获取用户Token,因为在后续的请求中需要将Token放到请求消息头中作为认证。调用5.1.1-部署environment接口创建环境,为后续启动 - [部署environment](https://support.huaweicloud.com/api-gcs/gcs_api_005_002.md): 部署基因测序所需的环境,开始基因测序之前,请先进行必要的资源配置。POST /v1/environments请求参数请求参数如表1所示。请求示例已有集群ID为3aaa7db4-3bfa-11e9-9e24-0255ac10576a的CCE集群资源部署名为gcs-env-cce环境,使用gene-container-bucket对象存储桶。 - [删除environment](https://support.huaweicloud.com/api-gcs/gcs_api_005_003.md): 清理基因测序的环境。如果您不再使用此环境,建议您清理环境,避免资源及费用的浪费。如默认环境被清理,则最新创建的环境会自动变成默认环境。如果您使用的环境是云容器实例,环境清理后,基因容器将不再使用该命名空间,但是命名空间并未删除。如果需要删除命名空间,请前往CCI控制台删除。如果您使用的环境是云容器引擎,环境清理后,基因容器将不再使用该集群 - [查询environment列表](https://support.huaweicloud.com/api-gcs/gcs_api_005_004.md): 查询环境列表。GET /v1/environments请求示例响应参数响应中含有多个环境结构,结构如表2所示。响应示例正常状态码如表4所示。状态码如表4所示。异常状态码如6.3-状态码所示。状态码如6.3-状态码所示。 - [查询environment](https://support.huaweicloud.com/api-gcs/gcs_api_005_005.md): 查看某一个环境的详细信息。GET /v1/environments/{environment_id}请求示例响应参数响应中含有一个环境结构,结构如表2所示。响应示例正常状态码如表2所示。状态码如表2所示。异常状态码如6.3-状态码所示。状态码如6.3-状态码所示。 - [创建workflow](https://support.huaweicloud.com/api-gcs/gcs_api_005_0010.md): 当GCS提供的示例流程不能满足使用需求时,您可以创建自定义流程,方便后续测序使用。POST /v1/workflows请求参数请求参数如表1所示。请求示例POST /v1/workflows HTTP/1.1 Host:Host Server Content-Length:1111 Content-Type:multipart/f - [删除workflow](https://support.huaweicloud.com/api-gcs/gcs_api_005_0011.md): 删除已上传的自定义流程。DELETE /v1/workflows/{workflow_id}请求示例如果删除成功响应消息的响应体为空,仅有http头。正常状态码如表2所示。状态码如表2所示。异常状态码如6.3-状态码所示。状态码如6.3-状态码所示。 - [更新workflow](https://support.huaweicloud.com/api-gcs/gcs_api_005_0012.md): 更新自定义流程。PUT /v1/workflows /{workflow_id}请求参数请求参数如表2 请求参数所示。请求示例响应参数请求成功的响应参数如表3所示。响应示例请求失败的响应参数如表9所示。正常状态码如表4所示。状态码如表4所示。异常状态码如6.3-状态码所示。状态码如6.3-状态码所示。 - [下载workflow](https://support.huaweicloud.com/api-gcs/gcs_api_005_0013.md): 下载流程文件。GET /v1/workflows/{workflow_id}/archive请求示例响应消息为字节数组类型流程描述文件(文件组成请参见流程语法说明)。响应示例正常状态码如表2所示。状态码如表2所示。异常状态码如6.3-状态码所示。状态码如6.3-状态码所示。 - [查询workflow](https://support.huaweicloud.com/api-gcs/gcs_api_005_0014.md): 查询特定流程详情。GET /v1/workflows/{workflow_id}请求示例响应参数响应中含有一个流程结构,结构如表2所示。响应示例正常状态码如表4所示。状态码如表4所示。异常状态码如6.3-状态码所示。状态码如6.3-状态码所示。 - [查询workflow输入](https://support.huaweicloud.com/api-gcs/gcs_api_005_0015.md): 查询特定流程输入。GET /v1/workflows/{workflow_id}/inputs请求示例响应参数响应中结构如表2所示响应示例正常状态码如表3所示。状态码如表3所示。异常状态码如6.3-状态码所示。状态码如6.3-状态码所示。 - [查询workflow工具](https://support.huaweicloud.com/api-gcs/gcs_api_005_0016.md): 查询特定流程包含的工具。GET /v1/workflows/{workflow_id}/tools请求示例响应参数响应中结构如表2所示。响应示例正常状态码如表4所示。状态码如表4所示。异常状态码如6.3-状态码所示。状态码如6.3-状态码所示。 - [查询workflow列表](https://support.huaweicloud.com/api-gcs/gcs_api_005_0017.md): 查询流程列表。GET /v1/workflows请求示例响应参数响应中含有多个流程结构,结构如表2所示。响应示例正常状态码如表2所示。状态码如表2所示。异常状态码如6.3-状态码所示。状态码如6.3-状态码所示。 - [校验流程](https://support.huaweicloud.com/api-gcs/gcs_api_005_0018.md): 校验流程合法性。POST /v1/workflows/validate请求参数请求参数如表1所示。请求示例响应参数响应中含有多个流程结构,结构请参见流程语法说明。响应示例正常状态码如表18所示。状态码如表18所示。异常状态码如6.3-状态码所示。状态码如6.3-状态码所示。 - [创建execution](https://support.huaweicloud.com/api-gcs/gcs_api_005_0020.md): 开始执行测序流程。POST /v1/executions请求参数请求参数如表1所示。请求示例响应参数请求成功的响应参数如表5所示。响应示例请求失败的响应参数如表9所示。正常状态码如表6所示。状态码如表6所示。异常状态码如6.3-状态码所示。状态码如6.3-状态码所示。 - [批量创建execution](https://support.huaweicloud.com/api-gcs/gcs_api_005_0029.md): 批量执行测序流程。该接口使用同一流程模板批量创建多个execution,每个execution可以单独指定inputs参数。批量创建execution的数量上限为50POST /v1/executions_iter请求参数请求参数如表1所示。请求示例响应参数请求成功的响应参数如表5所示。响应示例正常状态码如表7所示。状态码状态码描述201 - [删除execution](https://support.huaweicloud.com/api-gcs/gcs_api_005_0022.md): 删除执行结果。DELETE /v1/executions/{execution_id}请求示例如果删除成功响应消息的响应体为空,仅有http头。正常状态码如表2所示。状态码如表2所示。异常状态码如6.3-状态码所示。状态码如6.3-状态码所示。 - [查询execution](https://support.huaweicloud.com/api-gcs/gcs_api_005_0023.md): 查询执行结果详情。GET /v1/executions/{execution_id}请求示例响应参数响应中含有一个execution结构,结构如表2所示。响应示例正常状态码如表15所示。状态码如表15所示。异常状态码如6.3-状态码所示。状态码如6.3-状态码所示。 - [查询execution列表](https://support.huaweicloud.com/api-gcs/gcs_api_005_0024.md): 查询执行结果列表。GET /v1/executions请求参数请求参数如表1所示。请求示例响应参数响应中含有多个execution结构,结构如表2所示。响应示例正常状态码如表2所示。状态码如表2所示。异常状态码如6.3-状态码所示。状态码如6.3-状态码所示。 - [查询execution输入](https://support.huaweicloud.com/api-gcs/gcs_api_005_0025.md): 查询执行结果的输入。GET /v1/executions/{execution_id}/inputs请求示例响应参数响应中结构如表2所示响应示例正常状态码如表3所示。状态码如表3所示。异常状态码如6.3-状态码所示。状态码如6.3-状态码所示。 - [查询execution输出](https://support.huaweicloud.com/api-gcs/gcs_api_005_0026.md): 查询执行结果的输出。GET /v1/executions/{execution_id}/outputs请求示例响应参数响应中结构如表2所示。响应示例正常状态码如表3所示。状态码如表3所示。异常状态码如6.3-状态码所示。状态码如6.3-状态码所示。 - [查询execution事件](https://support.huaweicloud.com/api-gcs/gcs_api_005_0027.md): 查询指定执行结果的事件。GET /v1/executions/{execution_id}/events请求示例响应参数响应中结构如表2所示。响应示例正常状态码如表4所示。状态码如表4所示。异常状态码如6.3-状态码所示。状态码如6.3-状态码所示。 - [操作execution](https://support.huaweicloud.com/api-gcs/gcs_api_005_0028.md): 启动/停止/更新执行任务。停止任务成功后即停止下发新Job至环境,已下发的Job将持续运行直至自然结束。若想停止Job,请在环境对应的服务内删除Job,或直接删除该任务。PUT /v1/executions/{execution_id}请求参数请求参数如表2所示。请求示例响应参数请求成功的响应参数如表3所示。响应示例请求失败的响应参数如表 - [创建tool](https://support.huaweicloud.com/api-gcs/gcs_api_005_0033.md): 如果您需要使用的工具超出基因容器提供的业务主流基因数据处理工具范围,您可以通过本接口,添加自定义工具。基因容器支持的公共工具请参见公共工具范围。如果使用自有工具镜像,请在调用本接口前,通过华为云提供的容器镜像服务(SWR)上传工具镜像。POST /v1/tools请求参数请求示例响应参数请求成功的响应参数如表2所示。响应示例请求失败的响应 - [删除tool](https://support.huaweicloud.com/api-gcs/gcs_api_005_0034.md): 删除工具,工具删除后数据将不可恢复,请谨慎操作。DELETE /v1/tools/{tool_id}请求示例如果删除成功响应消息的响应体为空,仅有http头。删除失败响应消息如表9所示。正常状态码状态码异常状态码如6.3-状态码所示。状态码如6.3-状态码所示。 - [更新tool](https://support.huaweicloud.com/api-gcs/gcs_api_005_0035.md): 更新工具。PUT /v1/tools/{tool_id}请求参数请求参数如表2所示。请求示例响应参数请求成功的响应参数如表3所示。响应示例请求失败的响应参数如表9所示。正常状态码如表1-4所示。状态码如表1-4所示。异常状态码如6.3-状态码所示。状态码如6.3-状态码所示。 - [查询tool](https://support.huaweicloud.com/api-gcs/gcs_api_005_0036.md): 查询工具详情。GET /v1/tools/{tool_id}请求示例响应参数请求成功的响应参数如表2所示。响应示例请求失败的响应参数如表9所示。正常状态码如表4所示。状态码如表4所示。异常状态码如6.3-状态码所示。状态码如6.3-状态码所示。 - [查询tool列表](https://support.huaweicloud.com/api-gcs/gcs_api_005_0037.md): 查询工具列表。GET /v1/tools请求示例响应参数响应中含有多个工具结构,结构如表2所示。响应示例请求失败的响应参数如表11所示。正常状态码如表2所示。状态码如表2所示。异常状态码如6.3-状态码所示。状态码如6.3-状态码所示。 - [策略及授权项说明](https://support.huaweicloud.com/api-gcs/gcs_api_008_01.md): 如果您需要对您所拥有的云容器引擎(CCE)进行精细的权限管理,您可以使用统一身份认证服务(Identity and Access Management,简称IAM),如果华为云账号已经能满足您的要求,不需要创建独立的IAM用户,您可以跳过本章节,不影响您使用CCE服务的其它功能。默认情况下,新建的IAM用户没有任何权限,您需要将其加入用户 - [状态码](https://support.huaweicloud.com/api-gcs/gcs_api_006_001.md): 正常返回值说明200 OKGET和PUT操作正常返回。201 CreatedPOST操作正常返回。202 Accepted请求已被接受。204 No ContentDELETE操作正常返回。异常返回值说明400 Bad Request服务器未能处理请求。401 Unauthorized被请求的页面需要用户名和密码。403 Forbidde - [错误码](https://support.huaweicloud.com/api-gcs/gcs_api_006_002.md): 调用接口出错后,将不会返回结果数据。调用方可根据每个接口对应的错误码来定位错误原因。 当调用出错时,HTTP 请求返回一个 4xx 或 5xx 的 HTTP 状态码。返回的消息体中是具体的错误代码及错误信息。在调用方找不到错误原因时,可以联系华为云客服,并提供错误码,以便我们尽快帮您解决问题。当您使用智能边缘平台的API时,如果遇到“AP - [获取项目ID](https://support.huaweicloud.com/api-gcs/gcs_api_006_003.md): 在调用接口的时候,部分URL中需要填入项目ID,所以需要获取到项目ID。有如下两种获取方式:调用API获取项目ID从控制台获取项目ID项目ID可以通过调用查询指定条件下的项目列表API获取。获取项目ID的接口为“GET https://{Endpoint}/v3/projects”,其中{Endpoint}为IAM的终端节点,可以从地区和 - [修订记录](https://support.huaweicloud.com/api-gcs/gcs_api_007.md): 华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。 ## CLI参考 - [命令总览](https://support.huaweicloud.com/clir-gcs/gcs_clir_01_0001.md): workflow(模板)。即静态的模板内容。包括模板本身,以及对应的输入参数。execution(任务)。即模板对应的任务。基于一组输入参数,对某一workflow 执行运行操作,得到的一组有序执行的任务。job(子任务)。即execution包含哪些 job,对应kubernetes的pods对象,可以通过kubectl get pod - [安装命令行工具](https://support.huaweicloud.com/clir-gcs/gcs_clir_02_0001.md): 基因容器命令行工具支持64位的Ubuntu、CentOS7及EulerOS系统,命令行工具无需安装,只需下载后将其放置在操作系统中的任意目录即可。请登录基因容器控制台,在“总览”页面右侧的“工具”中下载“cloud-cli-linux-gcs-x.x.xx.zip”,下载包中的“gcs”即命令行工具。请将命令行工具所在路径设置为环境变量( - [示例:使用命令行执行简单脚本](https://support.huaweicloud.com/clir-gcs/gcs_clir_03_0001.md): 基因容器命令行工具提供了上传原始数据和参考组数据至OBS桶内的功能。当然您还可以使用 OBS 客户端上传数据。请确保已完成命令行工具安装,且已创建环境。如未完成,请参见安装命令行工具完成操作。为了执行基因比对任务,需要将本地的原始数据文件及参考组文件上传至对象存储桶中。基因容器服务提供原始测试数据供您使用,下载路径为:http://ope - [gcs version](https://support.huaweicloud.com/clir-gcs/gcs_clir_04_0003.md): 查看命令行工具的软件版本以及编译平台。gcs versionversion可以简写为ver,即:gcs ver查看软件版本:示例执行结果: - [gcs config add](https://support.huaweicloud.com/clir-gcs/gcs_clir_04_0002.md): 初始化命令行工具,在使用其它命令前,必需先执行本命令初始化命令行工具。该命令执行后,将生成命令行工具配置文件,路径为 ~/.gcs/config.ini ,用于存储配置信息。配置文件的详细说明请参见config.ini配置说明。若要修改配置文件,同样可以使用本命令,增加特定字段,指定任务执行时使用的存储、计算资源。执行本命令时,若~/.g - [gcs config list](https://support.huaweicloud.com/clir-gcs/gcs_clir_04_0004.md): gcs config list显示初始化命令行工具结果,命令执行结果中的参数说明请参见config.ini配置说明。gcs config list无查看配置文件内容:示例执行结果: - [gcs get kubectl](https://support.huaweicloud.com/clir-gcs/gcs_clir_04_0014.md): 下载kubetcl命令行工具,并进行相关配置。gcs get kubectlkubectl可以简写为kube,即:gcs get kube无执行本命令前请先删除当前目录下当前目录下 kubectl* 相关文件及目录。命令执行完成后,根据使用场景,按需切换kubectl的访问模式。VPC网络内接入访问请执行此命令。kubectl confi - [gcs get enviroment](https://support.huaweicloud.com/clir-gcs/gcs_clir_04_0005.md): 获取当前用户下所有计算环境信息列表。gcs get environment [environmentID]environment可以简写为env,即gcs get env [environmentID]集群资源不足,可以去云容器引擎(https://console.huaweicloud.com/cce2.0/)中,为集群添加更多、更 - [gcs set env](https://support.huaweicloud.com/clir-gcs/gcs_clir_04_0020.md): 设定environmentName参数的环境为命令行的默认环境。gcs set env envrionmentName设置默认环境为“gcs-env-gcsdebug”gcs set env gcs-env-gcsdebug示例执行结果:current environment is gcs-env-gcsdebug please set - [gcs get sfs](https://support.huaweicloud.com/clir-gcs/gcs_clir_04_0019.md): 获取默认环境下对应的sfs pvc name列表。gcs get sfs无无返回值: - [gcs set sfs](https://support.huaweicloud.com/clir-gcs/gcs_clir_04_0022.md): 设置环境默认使用的sfs pvc。gcs set sfssfsPvcName - [gcs get obscli](https://support.huaweicloud.com/clir-gcs/gcs_clir_04_0015.md): 下载obs 命令行工具,并进行相关配置。gcs get obscliobscli可以简写为obs,即:gcs get obs无执行本命令前请先删除当前目录下obs* 相关文件及目录。返回值: - [gcs obs upload](https://support.huaweicloud.com/clir-gcs/gcs_clir_04_0006.md): 上传文件到环境关联的obs桶中。gcs obs upload FILENAME [params]upload可以简写为up,即:gcs obs up FILENAME [params]上传后未发现文件,请在数据存储中,确认是否使用了正确的桶。不支持本地文件夹上传上传文件到OBS桶:示例执行结果:OBS 中显示上传文件: - [gcs get workflow](https://support.huaweicloud.com/clir-gcs/gcs_clir_04_0012.md): 查看workflow信息。gcs get workflow WORKFLOWID [params]workflow可以简写为wf,即:gcs get wf WORKFLOWID [params]获取所有模板信息。gcs get workflow workflow_id name - [gcs create workflow](https://support.huaweicloud.com/clir-gcs/gcs_clir_04_0010.md): 指定需要创建的模板名称,上传新的模板。同名模板上传两次会报错。gcs create workflowFILENAME [params]workflow可以简写为wf,即:gcs create wf WORKFLOWID [params]创建 workflow。这里以 GATK 流程为例,首先,依据 流程语法说明,编写 YAML 文件。 - [gcs del workflow](https://support.huaweicloud.com/clir-gcs/gcs_clir_04_0016.md): 查看模板信息。gcs del workflowWORKFLOWID [WORKFLOWID2 WORKFLOWID3...]workflow可以简写为wf,即:gcs del wfWORKFLOWID [WORKFLOWID2 WORKFLOWID3...]删除workflow 之前,需要删除所有引用该workflow 的 executi - [gcs update workflow](https://support.huaweicloud.com/clir-gcs/gcs_clir_04_0023.md): 更新流程的相关信息。目前命令行只支持更改描述信息以及流程文件(已经使用中的流程不能更改流程文件)gcs update workflowworkflow-id [params]workflow可以简写为wf,即:gcs update wfworkflow-id [params]更新某个流程的描述信息 - [gcs sub workflow](https://support.huaweicloud.com/clir-gcs/gcs_clir_04_0009.md): 利用FILENAME参数提供的流程文件直接创建execution。提示:该命令行不会新建workflow模板。如果已经有workflow模板,推荐直接使用gcs create exection。gcs sub workflow FILENAME [params]workflow可以简写为wf,即:gcs sub wf FILENAME - [gcs get execution](https://support.huaweicloud.com/clir-gcs/gcs_clir_04_0013.md): 查看任务信息。gcs get executionEXECUTIONID [params]execution可以简写为exec,即:gcs get execEXECUTIONID [params]可以直接执行 gcs get execution,显示所有任务情况。也可以 gcs get execution executionID 指定显示单 - [gcs create execution](https://support.huaweicloud.com/clir-gcs/gcs_clir_04_0011.md): 创建execution。gcs create execution WORKFLOWID [params]execution可以简写为exec,即:gcs create exec WORKFLOWID [params]该命令的输入参数是 workflowID,可以通过 gcs get worflowID 查询后,根据name/versi - [gcs del execution](https://support.huaweicloud.com/clir-gcs/gcs_clir_04_0017.md): 查看任务信息。gcs del execution EXECUTIONID1 [EXECUTIONID2,EXECUTIONID3...]execution可以简写为exec,即:gcs del exec EXECUTIONID1 [EXECUTIONID2,EXECUTIONID3...]由于删除动作是异步的,所以删除完成后,gcs - [gcs set execution](https://support.huaweicloud.com/clir-gcs/gcs_clir_04_0021.md): 设置指定execution状态启停。gcs set executionexecutionId [params]execution可以简写为exec,即:gcs set execexecutionId [params] - [gcs sub job](https://support.huaweicloud.com/clir-gcs/gcs_clir_04_0007.md): 提交单个 shell 脚本,作为 job 在后台执行。gcs sub jobFILENAME [params]job可以简写为jb,即:gcs sub jbFILENAME [params]提交 bwa-help.sh,查看 bwa 软件版本,将结果重定向到 /obs/log.err 文件中。示例执行后,在OBS 桶中,log.err - [gcs sub repjob](https://support.huaweicloud.com/clir-gcs/gcs_clir_04_0008.md): 提交一组并行的 shell 脚本,作为多个 job 在后台执行。gcs sub repjob FILENAME [params]rejob可以简写为rjb,即:gcs sub rjb FILENAME [params]提交多个并行 shell 脚本具体格式如下:首先准备需要并行的单一脚本 bwa_mem.sh,对 fastq 原始文件 - [gcs get tool](https://support.huaweicloud.com/clir-gcs/gcs_clir_04_0024.md): 获取所有tool、指定tool或者名称符合条件的tool的信息。gcs get tool TOOLID [params]获取所有模板信息。gcs get tool { "tools": [ { "tool": [ { "guid": "04e20b56-962d-24d8-0eb - [gcs sub wdl](https://support.huaweicloud.com/clir-gcs/gcs_clir_04_0025.md): 提交单个WDL流程到Cromwell引擎。gcs sub wdl FILENAME [flags]提交wdl流程。回显内容如下。 - [gcs get wdl](https://support.huaweicloud.com/clir-gcs/gcs_clir_04_0026.md): 查询提交的wdl流程执行结果。gcs get wdl ID [flags]查询单个执行结果详细信息。gcs get wdl aa215e0b-c896-4138-865e-6cf7921246b6返回内容如下。{ "execution": { "project_id": "", "domain_i - [gcs set wdl](https://support.huaweicloud.com/clir-gcs/gcs_clir_04_0027.md): 终止指定的WDL流程。gcs set wdl ID[flags]终止指定流程。返回内容如下。 - [get get fr](https://support.huaweicloud.com/clir-gcs/gcs_clir_04_0028.md): 获取CCI套餐包使用情况。gcs get fr查询套餐包情况。返回内容如下。CPU资源单位为核*时,上面回显中0/50000表示套餐包总共有50000核*时,当前还剩余0核*时可用。内存资源单位为GB*时,上面回显中74277.773/200000表示套餐包总共有200000GB*时,当前还剩余74277.773GB*时可用。 - [config.ini配置说明](https://support.huaweicloud.com/clir-gcs/gcs_clir_05_0001.md): 使用GCS使用gcs config add初始化后生成的配置文件~/.gcs/config.ini,用于存储任务执行所涉及到的配置,如密钥、区域、集群信息、存储信息等。若控制界面修改了参数配置,请同时修改配置文件中的配置项,以确保命令行可以正确使用。修改配置文件,可以通过gcs config add命令或是手动修改config.ini文件 ## 常见问题 - [如何制作Docker镜像?](https://support.huaweicloud.com/gcs_faq/gcs_faq_0001.md): 自己制作Docker镜像,主要有两种方法:制作快照方式获得镜像(偶尔制作的镜像):在基础镜像上,比如Ubuntu,先登录镜像系统并安装Docker软件,然后整体制作快照。Dockerfile方式构建镜像(经常更新的镜像):将软件安装的流程写成DockerFile,使用Docker build构建成Docker镜像。如果后续镜像没有变化,可 - [如何上传Docker镜像至容器镜像服务?](https://support.huaweicloud.com/gcs_faq/gcs_faq_0002.md): 本文以一个2048应用为例,讲述根据该应用编写Dockerfile文件构建镜像并上传至容器镜像服务的操作。您可以编写一个Dockerfile文件,以alpine:3.7为基础镜像,来构建一个2048容器镜像。已安装Docker,如未安装可参见安装Docker。已获取2048应用,并将该镜像下载至本地。组织用于隔离镜像,并为租户下用户指定不 - [SDK中文支持问题如何处理?](https://support.huaweicloud.com/gcs_faq/gcs_faq_0003.md): 若调用SDK接口时涉及到部分字段包含中文后报错的问题,如description字段,请在python文件头部添加“# -*- coding: utf-8 -*- ”,具体做法请参考Python使用UTF-8编码。