扩增子分析流程2. 使用Docker运行QIIME

2017-07-04 刘永鑫 宏基因组 宏基因组


本教程环境为Ubuntu16.04 x64

最好有管理员权限,没权限找管理员帮忙。

Docker 基本使用

安装Docker

# 安装Docker
sudo apt-get install docker.io
# 启动Docker服务
service docker start # select 1, using passwd yyf......
# 关闭Docker服务
service docker stop

# 配置权限,添加用户至docker组即可
user=test # 设置用户名为yongxin
groupadd docker
sudo usermod -aG docker ${USER}

# 查看docker运行信息
docker info

下载镜像

# 搜索镜像:镜像的名字通常由用户名/镜像名构成,无用户名的为官方认证镜像
docker search ubuntu

# 获取镜像
docker pull ubuntu # ubuntu latest 16.04

# 查看本机Docker中存在的镜像 
docker images

# 查看镜像的历史编辑信息
docker history ubuntu

运行镜像

# 可以查看这个命令的参数
docker run --help

# 创建容器,命名容器名ubuntu,互动标准输入i和分配新命令行t。i: --interactive Keep STDIN open even if not attached; t: --tty Allocate a pseudo-TTY
docker run --name=ubuntu -it ubuntu

apt-get update
apt-get install less
apt-get install htop
bash --version # 4.3.48
perl -v # 5.22.1
apt-get install r-base # depended on python
R --version # 3.2.3 (2015-12-10)
python --version # 2.7.12

# 内部退出容器
exit # 或Ctrl+D

# 查看容器列表
docker ps -a|less -S # 查看所有container

# 启动退出容器(ID/Names)
docker start ubuntu

# 进入运行容器
docker attach ubuntu
exit # 退出终端和容器

# 保存容器至镜像
## a作者,m描述(am可不添),容器,镜像(用户/镜像:版本)
docker commit -a liuyongxin -m 'Add r-base' ubuntu liuyongxin/ubuntu16:0.01

# 导出容器至文件
docker export ubuntu -o ubuntu.tar
# 导入容器文件为镜像
docker import ubuntu.tar liuyongxin/ubuntu16:latest

# 删除退出容器及挂载目录链接
docker rm -v ubuntu

# 后台运行images
docker run --name=ubuntu -itd liuyongxin/ubuntu16 /bin/bash  

# 外部退出容器
docker stop ubuntu

# 批量退出容器
docker stop $(docker ps -a -q)

# 批量删除退出的容器
docker rm -v $(docker ps -a -q -f status=exited)

# 移除镜像
docker rmi liuyongxin/ubuntu16

# 移除全部镜像
docker rmi $(docker images -q)

# 只对某目录数据处理:打开镜像并挂载目录工作,退出自动删除容器
# rm退出删除容器,v挂载yongxing至home,容器名,打开命令行
docker run --rm -v /mnt/bai/yongxin:/home --name=ubuntu -it liuyongxin/ubuntu16:0.01

上传镜像

我们需要现在Docker hub注册账号
Username:liuyongxin
Email: liuyongxin@163.com
Password:xxx……

docker login # 按提示输入用户名、密码。登录成功会返回Login Succeeded
docker push liuyongxin/ubuntu16
docker rmi liuyongxin/ubuntu16 # 如果本地不再使用且想清理空间,可移除镜像

使用别人配置的QIIME docker

# 在docker库中检索
docker search qiime
# 下载需要的docker
docker pull yoshikiv/basespace-qiime-191-dev
# 查看本地的qiime docker
docker images|grep 'qiime'
# 运行docker,加载工作目录,退出自动移除
docker run  --rm -v /mnt/bai/yongxin:/home --name=qiime -it yoshikiv/basespace-qiime-191-dev

增强docker qiime的高级绘图功能,选用

# install ggplot2 ggtree for R
R
source("https://bioconductor.org/biocLite.R")
biocLite(c("ggtree","ggplot2","colorspace"))

实例:使用docker中的QIIME绘制alpha rarefraction曲线

docker run --rm -v `pwd`:/home --name=qiime yoshikiv/basespace-qiime-191-dev make_rarefaction_plots.py -i home/${result}/a_collated/ -m home/doc/design_rare.txt -o home/result

Reference

  1. http://mp.weixin.qq.com/s/HLHiWMLaWtB7SOJe_jP3mA

  2. 想了解更多宏基因组、16S分析相关文章,快关注“宏基因组”公众号,干货第一时间推送。


  3. 系统学习生物信息,快关注“生信宝典”,那里有几千志同道合的小伙伴一起学习。