Latest release: March 2019
关于插件
SPIM HPC 工作流程管理器是由捷克共和国俄斯特拉发 IT4Innovations 开发的斐济插件。该插件使用户生物学能够将数据上传到远程集群,监控计算进度,并通过斐济本地安装检查和下载结果。
#背景
推理技术已成为初级研究和医学诊断中了解生物体结构和功能的重要手段。为了获得信息获取,需要实现高度的空间和时间解析。然而,单细胞水平的长期延迟记录会产生大量的多维图像数据,这些数据无法在个人计算机上及时处理,因此需要利用高性能计算(HPC)集群。例如,处理果串连接的2.2 TB数据集,在一台计算机上需要一周的时间,但通过采用支持队列执行各个任务的HPC集群,处理时间可长达 13 小时 [automated workflow]。不幸的是,生命科学家往往缺乏此类基础设施。
解决这个问题尤其棘手,因为斐济是一个可扩展性极强的平台,并且新的插件不断满足。另外,插件开发人员通常在特定的插件中实现具有资源化的任务,但尚未将通用方法纳入 SciJava 架构中。在这里,我们提出了将资源化支持集成到 SciJava 库的概念之一,从而使开发人员能够访问远程资源(例如远程 HPC)由于特定于其集群的详细信息在隐藏各自的接口实现中,因此插件可以保持可扩展性且与技术无关。此外,所提出的解决方案高度可扩展性,这意味着可以有效地利用任何额外的资源。
描述
SPIM 数据处理管道
SPIM(“单平面照明显微镜”)通常从多个角度(视图)对活体生物样本进行成像,收集多个3D图像堆栈覆盖整个生物样本。图像堆栈代表长期延迟加速度中的一个时间点,需要相互配准,通常这是使用皂珠作为基准标记来实现的。配融合准后,需要通过基于内容的几何视图反形式将一个时间点内的各个视图组合成单个输出§§§ 2§§§]。活体标本在采集过程中可能会移动,因此需要延迟注册的中间步骤。虽然单个时间点的任务处理已被证明是有利的,但延迟配准只需要几个监控,因此可以在单个计算节点上执行,而不需要调度。
SPIM数据的绝对数量需要从原始胎儿数据转换为数据分层格式(HDF5),以便在斐济的§§3§§§(BDV)中进行高效的输入/输出访问和可视化。BDV使用XML文件来存储实验元数据(即角度数、时间点、通道等)。虽然到HDF5的转换是一个可完成的过程,但在管道中继进一步更新XML文件却不是;必须创建每个点的XML时间文件,然后在完成注册和融合步骤后合并。因此,HPC资源上各个时间点的工件处理(转换为HDF5、配准、融合和反形态)会被不可完成的步骤(延迟配准和XML合并)中断。
输入管道参数由用户输入到 config.yaml 配置文件中。第一步,.czi 原始数据同时重新保存到设备上的 HDF5 容器中。类似地,使用荧光珠作为簇上的基准标记来设备记录各个时间点。此外,Snakemake 执行的一个非设备作业将配准 XML文件合并为一个文件,然后使用空间配准步骤中分段的珠子进行延迟配准。最后,管道分为基于内容的融合或情况多视图反方向。为了在实践中实现这种差异,Snakemake 管道从 Fiji 插件启动为两个单独的作业,使用两个不同的 config.yaml 文件设置分别执行基于的融合和反拓扑。在管道的阶段,融合/反拓扑输出被保存到新的 HDF5容器中。下图展示了不同时间点的配准、融合和反常态结果。

HEAppE 中间件
由于HPC中心强制实施电子商务或少复杂的安全策略,访问远程HPC负载通常会承受管理负担。通过采用基于HPC即服务概念的中间件工具可以大大降低这一障碍。为了提供对超级计算基础设施的简单访问的访问,我们开发了一个名为高端应用程序执行(HEAppE)中间件的内部应用程序框架。该中间件为用户和第三方应用程序提供HPC功能,通过集群上HPC正在调度程序的界面管理运行的作业。
为了方便从斐济环境访问 HPC,我们利用内部 HEAppE 中间件框架,允许用户最终通过 Web 服务访问 HPC 系统并远程执行预定义的任务。此外,HEAppE 的设计具有通用性,适用于各种 HPC 架构。还提供外部用户和用于向集群实际作业作业的内部集群服务账户之间的映射。从安全和管理的角度来看,它简化了对计算资源的访问。出于安全目的,用户只能运行一组预先准备好的定义的命令模板。每个命令模板要在集群上运行的任何脚本或文件、运行时可修改的一组输入参数、可能需要的任何依赖项或第三方软件,以及处理的队列类型。
我们开发了一个基于 HEAppE 的 Fiji 插件,它使用户能够引导远程 HPC 资源上运行的工作流程。作为核心工作流程,我们使用基于 Snakemake 解决的 SPIM 数据处理管道在大型图像数据集上运行。 Snakemake 工作流引擎了后续步骤之间的连接,并网格执行任何图纸独立的任务,例如处理中继的相关时间点。
安装
安装并启动Fiji后,转到Plugins › Multiview Reconstruction › SPIM Workflow Manager for HPC,勾选HPC-ParallelTools并关闭窗口。然后单击“应用更改”并重新启动斐济。
方便
现在您应该在Help › Update… › Manage update sites下该插件。从应用程序菜单调用插件后,系统会提示您输入 HEAppE 帐户、电子邮件地址并指定您的工作目录。成功登录后,将包含以表格形式排列的所有作业的主窗口。在这种情况下,术语“作业”用于使用指定参数运行的单个管道。插件该插件主动从 HEAppE 查询相关已创建作业的信息,并根据需要更新表。 
要创建新作业,请右键单击主窗口并选择“创建新作业”。将弹出一个包含输入和输出数据位置的窗口。您可以选择使用Salamon集群上的练习数据或指定您自己的输入数据位置。最终,您可以选择工作目录(在登录期间指定)作为输入和输出数据位置。配置新作业后,您可以通过右键单击作业行并选择“上传数据”来上传自己的数据(如果您在上一步中选择了此选项)。当上传列中出现完成时,您可以在right click › Start job之前开始作业。当管道完成成功时,您的作业状态将更改为“已队列”,然后更改为“正在运行”,最后已更改为“完成”。
该插件提供了一个大约,允许您设置配置文件 config.yaml,该文件有效地表征数据集并定义各个工作流任务的设置。该插件支持将本地输入图像数据上传到远程 HPC 资源,提供有关进展和预计接下来时间的信息。
一旦您选择了作业执行,配置文件就会通过 HEAppE 发送到集群,HEAppE 负责从此开始作业生命。您的周期日志可以显示详细的进度仪表板,其中显示所选作业的所有单独计算任务的当前状态以及对调试有用的输出。
成功完成管道后,您可以使用BigDataServer以交互方式检查处理后的 SPIM 图像数据,并下载结果数据和包含有关所执行作业的关键信息的摘要文件。重要的是,您可以在通用文本编辑器中编辑相应的本地配置文件,并重新启动中断的、已完成的或失败的作业。
高性能计算集群
在捷克共和国俄斯特拉发 IT4Innovations 的 Salomon 超级计算机上测试了已实施斐济插件中 Snakemake 管道的执行情况,该超级计算机由 1008 个计算节点组成,每个节点配备 2x12 核 Intel Haswell 处理器和 128 GB RAM,总共提供 24192 个 x86-64 架构计算核心和 129 TB RAM。另外,432个节点由两个 Intel Xeon Phi 7110P 加速器加速,每个加速器配备 16 GB RAM,提供额外的 52 704 个内核和 15 TB RAM。总理论峰值性能达到 2000 TFLOPS。该系统运行 Red Hat Linux。
使用开发的插件,我们在所罗门计算机上执行了管道。作为测试数据集,我们使用 90 个点 SPIM 采集果蝇独立,该水平表达 nrv2 基因的 FlyFos 荧光蛋白 GFP 融合报告基因。使用 Lightsheet Z.1 SPIM 实验室(卡尔蔡司实验室)对流动进行成像,从细胞干细胞状态到果蝇发生的晚期,每 15 分钟 5 个视图。该数据集包含 170 GB的图像数据。
Salomon 上使用 90 个节点的数据传输并执行管道运行 9 小时 37 分钟。相比之下,在普通工作站上处理相同的数据集需要 23 小时 56 分钟。结果表明,尽管存在数据传输上限,但通过使用 HPC 资源,SPIM 分析的速度仍然显着加快。
引文
请注意,Fiji 提供基于 SPIM Workflow Manager 的 HPC 插件。如果您成功将其用于您的研究,请引用我们的工作:
Jan Kožusznik、Petr Bainar、Jana Klímová、Michal Krumnikl、Pavel Moravec、Václav Svatoň、Pavel Tomančák;适用于 HPC 的 SPIM 工作流程管理器,生物信息学,btz140,https://doi.org/10.1093/bioinformatics/btz140