GWAS镜像下载和数据准备
GWAS镜像下载和数据准备

GWAS镜像下载和数据准备

植物表型GWAS关联分析流程

植物表型GWAS关联分析流程

GWAS镜像下载和数据准备

#在不同镜像下载仓库中,一部分是国内仓库,一部分是国外仓库(需要魔法)。

#对于omicsclass/pop-evol-gwas这个镜像,保存于docker.io仓库,需要魔法访问。

#服务器无法访问外网,因此可以在笔记本中下载,再上传到服务器。

一、镜像下载

1、在windows系统的Docker Desktop软件中搜索该镜像image,选择需要的版本(当前选择latest版本),然后点击“Pull”进行下载。

image-20240821200134516

2、我们在Images页面中可以查看已有的镜像。对于当前镜像来说,镜像ID为efcdf45e89d06440939daac3c38a724c3c39e2b7fc1ada5fdab1e644cf2fdef6。

image-20240821203223775

二、镜像打包

1、打开powershell软件,依次输入以下命令:

查看docker中的镜像,我们可以看到当前展示的镜像ID为 efcdf45e89d0,我们可以直接使用这个ID进行打包镜像。

image-20240821203756018

结果提示:write .docker_temp_241472539: There is not enough space on the disk.表明没有足够的存储空间,因此,我们可以换一个磁盘,并选择一个新的路径(保存路径)。

image-20240821205252312

保存该镜像,ID为efcdf45e89d0,保存的文件格式为.tar,可以直接作为镜像导入的格式。

image-20240821205750866

2、docker只能由管理员(root)安装,为了在不同用户中使用docker,因此需要利用如下命令修改。

创建一个名为docker的用户组,sudo:以超级用户权限运行命令,groupadd docker:创建一个名为docker的组。如果docker组已经存在,则此命令不会创建新的组,直接跳过。

将用户hztext添加到docker组,gpasswd -a hztext docker:将用户hztext添加到docker组。这样,用户hztext就可以在不使用sudo的情况下运行Docker命令。

在执行上述命令后,用户需要注销并重新登录,或者使用以下命令重新加载用户组配置:

之后,你可以通过运行docker ps命令来测试是否可以不使用sudo来执行Docker命令:

image-20240821220616874

三、镜像上传和加载

1、利用termius软件将该打包的镜像文件上传至服务器。

在文件上传路径中,执行以下命令来导入镜像(加载后可以删除源文件压缩包tar)

image-20240821210423401

查看docker中现有镜像

image-20240821210630812

看到镜像列表中有一个<none>的REPOSITORY和TAG,并且显示了镜像ID和其他信息,这通常表示导入的镜像缺少名称和标签。这种情况可能是因为导入的.tar文件中没有指定镜像的名称和标签,或者在某些情况下,镜像在创建时没有被正确标记。

解决方法:为镜像打标签

为了方便管理,你可以为这个镜像手动打一个标签。你可以使用docker tag命令来为镜像添加标签。比如,你可以为这个镜像打上pop-evol-gwas:latest的标签:

efcdf45e89d0 是镜像的ID,你可以用Docker提供的这个ID来引用该镜像。

pop-evol-gwas:latest 是你为该镜像指定的新名称和标签。

2、查看内存和核心数

可以使用free命令查看内存的总量、已用内存和可用内存:

image-20240821211505306

由上图可见,102G是最大可调用的内存。

查看CPU核心数量:

当前服务器核心数为56。

3、在目标文件夹新建一个文件夹my_gwas来保存GWAS输入数据和处理输出数据。

本次选择64G内存、24线程来处理数据。

image-20240821214325472

docker run:启动一个新的Docker容器。

--rm:容器在退出后会自动删除。这有助于防止堆积大量临时容器。

-it:以交互模式运行容器,并附加一个终端。这样你可以在容器中执行命令并与之交互。

-m 64G:限制容器的内存使用量为64GB。容器最多只能使用64GB的内存资源。

--cpus 24:限制容器的CPU核心数为24个。容器最多可以使用24个逻辑CPU核心进行计算。

-v /home/hztext/dai/Rice_GWAS/my_gwas:/work:将宿主机上的目录/home/hztext/dai/Rice_GWAS/my_gwas挂载到容器内部的/work目录。这意味着容器中的应用程序可以直接访问宿主机上的这个目录,并读写其中的文件。

pop-evol-gwas:latest:指定要运行的Docker镜像。这里使用的是pop-evol-gwas镜像的latest标签版本。

发表回复