WDL 应用管理(代码编辑)

最近更新时间:2023-11-27 16:02:32

我的收藏

创建应用

在选定工作项目页面,选择应用栏的新增,选择应用类型为 WDL,输入必要信息(应用名称、类型等)提交即可创建新应用。



平台支持多种方式新建 WDL 应用,包括通过 Git 导入代码仓库文件或直接导入平台提供的公共应用,也支持创建空白应用,从0到1通过代码编辑或者图形编辑模式构建应用文件。

方式一:导入 Git 应用

填写应用基本信息(如应用名称、描述等)和 Git 仓库相关信息,私有仓库需填写 Git 用户名及密码(如涉及 Github 地址,请填写 Token)。



点击下一步,验证 Git 信息后选择目标 branch 或 Tag,确认后完成导入。




方式二:创建空白应用

进入新建 WDL 流程,在新建应用弹窗内,选择创建空白应用,填写必要的应用信息,如应用名称、编辑模式,描述等信息,确认后完成新增。




方式三:导入公共应用

方式一:在公共仓库中选择公共应用
首页侧边栏选择公共仓库,上方 Tab 切换至公共应用,通过搜索名称或筛选分类,找到需要的公共应用,单击该应用卡片的导入项目。



显示导入项目弹窗,填写应用名称,选择应用导入的工作项目(公共应用暂仅支持代码编辑模式使用)。



方式二:在工作项目中导入公共应用
进入任意工作项目,单击应用模块右上角公共应用



下拉框中显示常用公共应用,支持快捷导入至当前工作项目。单击下拉框下方更多应用,可跳转至公共仓库 > 公共应用列表页,查看更多公共应用。



单击下拉框待任意公共应用的导入项目,显示导入项目弹窗,需填写应用名称。(公共应用暂仅支持代码编辑模式使用)。



注意: 在同一个工作项目内,应用名称不能重复。

编辑应用

1. 导入 WDL 文件
在应用编辑页面的资源管理器中,可以上传本地的 WDL 文件。



WDL 文件需使用“.wdl”结尾。
上传 zip 文件可以将本地的项目打包上传,如果上传的 zip 文件较大,请在上传成功后,稍等片刻再刷新页面查看文件。
在资源管理器中,可使用右键菜单进行新增,删除,重命名,和设置主文件的操作。
设置主文件需要保存才能生效。
2. 编辑 WDL 文件
单击在资源管理器中创建的 .wdl 文件打开编辑界面,可以编辑 WDL 文件。



一个应用必须有且只有一个 workflow,作为应用的主文件,如 main.wdl。
按照 WDL 语法规范编写 WDL 工作流,完整 WDL 语法可参见 WDL 官方文档
DAG 概览图可帮助梳理任务之间的依赖关系,单击右上角 DAG 按钮即可查看当前应用概览图, 目前仅支持查看单 WDL 应用的 DAG 概览图。



3. 保存及校验
单击保存并校验保存并验证文件,需要选择作为入口的 WDL 主文件。
在保存前请勿退出浏览器以避免文件编辑内容丢失。
workflow meta 支持指定以下字段设置最终输出到 COS 的路径: ○ final_workflow_outputs_dir:运行结果输出 COS 路径。 ○ use_relative_output_paths:使用相对路径输出,即只保留任务运行目录内的目录层级。使用时需注意不同的任务需要指定不同的目录以避免 COS 文件相互覆盖。

运行应用

运行应用的选项有两个,一个是项目页面应用下方的运行,另一个是在应用的编辑页面右上角的运行应用



运行时需要选择作为运行入口的 WDL 文件为主文件。



1. 设置运行任务
在同一个工作项目内,任务名称不能重复。



运行选项
使用 Call-Caching 功能:使用 Call-Caching 功能,完全相同的任务无需重复执行,将自动使用之前的运算结果。
使用相对目录输出:若使用相对目录输出,所有作业输出文件将归档至相同目录,即只保留任务运行目录内的目录层级,需确保各个作业输出文件不重名。不勾选时,将保留任务多次运行的所有结果至指定目录。
举例:
当某工作流任务输出目录设置为"cos://bucket-12345678/pipeline/output",作业中输出的文件为sample.vcf:
若选择使用相对目录输出,最终输出文件为cos://bucket-12345678/pipeline/output/sample。当不同作业中有重名输出文件时,将在任务输出目录下产生文件冲突,冲突的文件会相互覆盖;
不勾选使用相对目录输出选项,最终输出文件为:cos://bucket-12345678/pipeline/output/wgs/ade68a6d876e8d-8a98d7e9-ad989a8d/call-gatk/execution/sample.vcf。不同作业输出到不同的目录中,重名输出文件不会造成冲突。
本平台支持两种运行失败模式(Cromwell 特性),NoNewCalls 和ContinueWhilePossible, 可指定在工作流执行期间针对作业失败的情况采取相应的操作。 ○ NoNewCalls (默认):一旦作业失败,Cromwell 不会立即启动任何新程序。Cromwell 仍将监控其余的工作,直到它们完成(成功与否)。 ○ ContinueWhilePossible:尝试运行尽可能多的作业,直到无法再启动为止。当所有正在运行的作业都完成时,工作流将失败。
关于运行失败模式更多介绍,可参见 Cromwell 官方文档
任务输出目录(可选):指定任务输出目录后,作业输出文件将归档至该目录。
缓存保留期限:缓存保留期限分为4档:24小时、3天、7天和永久。
注意:
超过设定保留期限时,缓存将被删除,届时可能对 call caching 功能产生影响。
2. 设置运行参数
运行参数可根据 WDL 解析出的参数填写。
运行参数必须按照 WDL 中声明的类型,提供有效的值。
部分有默认值的参数可保留默认值。
变量名左上角带有星号的为必填输入。
可以将运行参数保存为模板,以后直接调用,也可下载输入参数为 JSON 文件。
平台为公共应用提供了参考模板,导入工作项目时,匹配工作项目所在地域的参数模板,在运行参数设置页可选择相应模板。



3. 投递单个任务 单个任务无需上传表格,手动完成运行参数的设置即可完成投递。
4. 批量运行 输入文件不同,整体流程相同的情况下,用户也可以通过上传表格批量投递任务。详情参见 可视化批量任务投递及管理

查看任务

1. 查看任务组状态
工作项目中,显示各个任务批次的运行进度及时间。



在任务批次栏,每行数据对应一次投递的所有子任务组的状态,对应状态显示的是该批次所有子任务状态的汇总,悬停在状态栏上方会显示具体进度。
单个子任务投递也视为一个任务批次。
2. 查看任务详情
选择某任务批次的详情选项,可进入该批次详情页面。查看该批次任务执行进度。



批次详情页面,可查看该批次任务执行进度。



可通过子任务列表查看单个子任务的状态,子任务列显示的子任务名称为对应的 subtask_id。



作业列表显示一个子任务投递中的全部作业,分为 Task,Scatter,Workflow 三种类型,其中 Scatter 和 Workflow 包含子项目,可单击查看。
Task 为最小的任务单元,可以在作业详情中查看命令行,资源,日志和监控。




版本管理

版本管理功能涵盖发布和历史时间轴两大功能,能帮助您更好地掌握应用的进展和质量情况,从而提高应用的效率、质量和性能,优化工作流的开发和管理。
发布功能:通过发布功能,您可轻松发布正式版本,待权限管理功能上线后,您可以在不同成员范围内控制查看和使用权限,以更好地管理应用的版本。
历史时间轴:通过时间轴,您可查看历史和版本记录,追溯应用开发过程,帮助您及时发现、解决和优化问题,提高应用质量和性能,并优化您的开发流程和管理规范。

发布应用版本

工作流阶段性开发完成后,您可以发布正式版本。发布前请确认应用无语法错误且已设置主文件。确认无误单击右上角的发布,即可进入发布流程。



单击发布会触发保存和校验流程,通过校验后进入发布流程,显示弹窗“发布版本”,填写发布版本名称、描述,选择参数模板后确认,完成发布。



发布完成后,在历史版本时间轴内可切换至该版本,支持查看和运行该历史版本。



说明:
历史版本仅支持查看和运行,不支持在应用内编辑、删除、发布。

查看历史记录和版本记录

查看时间轴
时间轴是应用完整历史记录的可视化展示,包括版本记录和历史记录。时间轴视图按时间顺序排列,展示了应用工作流文件的所有更新,您可以通过时间轴追溯开发过程的关键时间节点,比较不同版本和历史记录,使得管理和控制开发过程更加容易。
查看历史记录
在时间轴视图中,应用文件每次更新后保存,都会生成一条历史记录。单击任意历史记录,资源管理器界面内容切换至该历史记录对应文件。



说明:
历史记录仅供查看,不支持编辑、运行、发布和删除。
查看历史版本
时间轴视图中,发布的正式版本按历史版本同样按时间顺序排列,单击任意历史版本,资源管理器界面内容切换至该历史版本对应文件。