如何将生物信息学软件封装为镜像并上传?
本章节提供了在EIHealth平台创建FastQC应用的样例,帮助您快速熟悉平台的使用方法。
FastQC是一款高通量序列数据的质量检查工具,此样例基于开源的FastQC软件,将软件制作成镜像,上传至平台,并基于此镜像创建应用。应用创建完成后可以直接使用FastQC应用,或将其编排至流程,和其他应用一起使用。
创建FastQC应用时,需要您熟悉该软件的使用,并具备一定的开发经验。FastQC的详细介绍请参考FastQC介绍。使用EIHealth平台创建FastQC应用的详细步骤如下所示:
步骤1:搭建Docker环境
- 搭建Docker环境,您可以任选以下两种方式搭建Docker环境。
- 使用自己的电脑搭建Docker环境。
- 使用华为云弹性云服务器ECS搭建Docker环境。
本示例中使用华为云弹性服务器ECS,并通过ECS搭建Docker环境。在创建ECS时,可以选择ECS的操作系统。例如,在Linux操作系统下,可以使用如下命令快速安装容器引擎。
curl -fsSL get.docker.com -o get-docker.sh sh get-docker.sh
- 检查安装结果。
执行docker --version命令,如果显示如下类似信息,表示Docker安装成功。
图1 Docker安装成功
步骤2:制作镜像
方法1:直接下载官方的FastQC镜像。
执行如下命令下载FastQC镜像。
docker pull biocontainers/fastqc:v0.11.5
方法2:通过Dockerfile制作FastQC镜像。
- 执行vi Dockerfile命令,进入Dockerfile文件中,编写文件。
FROM ubuntu:16.04 # FastQC依赖java运行,需安装java环境。安装执行下载、解压缩的软件包 RUN apt-get update && apt-get upgrade -y \ && apt-get install -y default-jre perl wget zip # 下载FastQC,解压缩,设置FastQC可执行权限 RUN wget https://www.bioinformatics.babraham.ac.uk/projects/fastqc/fastqc_v0.11.5.zip \ && unzip fastqc_v0.11.5.zip \ && rm fastqc_v0.11.5.zip \ && chmod +x /FastQC/fastqc # 将FastQC添加到环境变量中 ENV PATH "/FastQC:$PATH
- 按Esc键,并执行:wq退出Dockerfile。
- 制作镜像。
docker build -t fastqc:v0.11.5 .
详细的Dockerfile指令请参见Dockerfile参考。
步骤3:上传镜像
- 下载命令行工具并进行初始化配置。
- 使用health switch project命令进入到所需的项目中。
# 命令结构 health switch project <project-name> # 命令示例,例如进入到名为eihealth-user-project的项目中 health switch project eihealth-user-project
- 使用命令行工具上传镜像到EIHealth平台。
- 使用health docker tag命令给要上传的镜像打标签。
health docker tag biocontainers/fastqc:v0.11.5 fastqc:v0.11.5
- 使用health docker push命令上传镜像。
health docker push fastqc:v0.11.5
执行health docker images命令查看已有的镜像。
详细的命令介绍请参见“命令行工具 > 镜像管理命令”章节。
- 使用health docker tag命令给要上传的镜像打标签。
- 登录EIHealth平台,在镜像列表中查看已上传的镜像。
步骤4:创建应用
- 在“项目管理”页面“工具”页签中,单击“新建应用”。
- 填写应用的基本信息。
“名称”填写fastqc,“版本”填写v0.11.5.2。“短描述”、“描述”、“标签”可选填。
图2 填写基本信息
- 选择镜像。
- 依据FastQC命令说明填写镜像启动命令。
镜像启动命令需要引用输入、输出参数中的变量,并以大括号扩起,以$符号进行引用。
fastqc软件输入参数填写为input-file、threads,输出参数为output-dir,则镜像启动命令如下所示。
使用-t命令,指定运行所需的线程数量。-o命令,指定存放输出结果的文件夹。输入文件夹已在填写参数时指定。
fastqc -t ${threads} -o ${output-dir} ${input-file}
- 选择“X86”CPU架构,CPU需求建议0.2起。GPU类型选择“无”。
- 按需填写内存大小,单位为GB。FastQC运行中所需内存大小依赖于输入数据大小,建议至少1GB。
图3 CPU、内存、GPU
- 填写参数。
- 通过阅读FastQC命令说明,了解命令。
图4 FastQC命令
- 填写所需的输入参数。
图5 输入参数
- 填写所需的输出参数。
- 通过阅读FastQC命令说明,了解命令。
- 单击“立即创建”,完成fastqc应用的创建。
创建完成后的应用,将显示在应用列表中,您可以使用该应用创建分析作业。