方式3:自定义镜像运行FastQC流程
应用是运行作业的最小单位,每个应用依托于一个镜像进行创建。
方式2使用直接制作好的应用。用户也可以自己制作镜像,并基于镜像创建应用。
本示例中制作FastQC镜像,并基于镜像创建应用,运行分析作业。
镜像简介
由于生物信息学软件,往往由于不同的操作系统(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上没有想要的镜像,可以利用基础的操作系统镜像进行构造,构造方式请参见用户指南。
- 选择和获取镜像。
搜索到的镜像列表中选择一个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类似。
步骤2:上传镜像至EIHealth平台
- 配置命令行工具。
若已完成配置,可跳过此步骤。
- 在命令行工具所在的目录,使用switch命令进入EIHelath平台的项目中。
# 命令结构 health switch project <project-name> # 命令示例,例如进入到名为user-tutorials的项目中 health switch project user-tutorials
- 使用docker tag命令给要上传的镜像打标签
# user-tutorial是项目名称 health docker tag pegi3s/fastqc:latest user-tutorials/fastqc:latest
- 使用docker push命令将镜像上传至EIHealth平台。
# –t APP 可不加,在平台上也可以对其进行设置 health docker push user-tutorials/fastqc:latest –t APP
上传成功后,可以转至平台查看已经上传的镜像。
步骤3:创建fastqc应用
上一步骤中,已经将fastqc镜像上传至平台,本步骤使用fastqc镜像创建应用。
- 进入“工具 > 应用”界面。
图2 进入应用界面
- 单击“新建应用”,创建fastqc应用。
图3 设置镜像名称、版本等信息
镜像启动命令如下所示。镜像启动命令需要引用输入、输出参数中的变量,并以大括号{}扩起,以$符号进行引用。
fastqc -f fastq -o ${output-dir} ${input-file}
图4 设置CPU、内存、输入输出参数
- 单击“立即创建”,完成fastqc应用的创建。
创建完成后的应用,将显示在应用列表中,您可以使用该应用创建分析作业。
图5 查看应用
步骤4:搭建流程、运行作业
- 进入“工具 > 流程”页面,点击“新建流程”进行新建流程,填写好流程名称,流程版本等信息。
图6 新建流程
- 将fastqc应用拖拽至画布中,并添加输入参数,操作方法请参见方式2。
- 参数填写完成后,单击“保存”。并单击“新建作业”创建fastqc作业。
图7 新建作业
- 启动作业。
步骤5:获取分析结果
在“作业”列表中,可单击作业名称查看作业信息和输入输出数据。
单击输出路径,可跳转至输出文件位置。html文件支持在线预览,zip文件可下载至本地查看。