本教程环境为Ubuntu16.04 x64
最好有管理员权限,没权限找管理员帮忙。用Docker运行所有流程的成功率高,几乎是万能的,简单高效,不存在环境变量污染和版本冲突的问题,是复杂分析项目非常好的解决方案。
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
猜你喜欢
10000+:菌群分析 宝宝与猫狗 梅毒狂想曲 提DNA发Nature Cell专刊 肠道指挥大脑
文献阅读 热心肠 SemanticScholar Geenmedical
16S功能预测 PICRUSt FAPROTAX Bugbase Tax4Fun
生物科普: 肠道细菌 人体上的生命 生命大跃进 细胞暗战 人体奥秘
写在后面
为鼓励读者交流、快速解决科研困难,我们建立了“宏基因组”专业讨论群,目前己有国内外2400+ 一线科研人员加入。参与讨论,获得专业解答,欢迎分享此文至朋友圈,并扫码加主编好友带你入群,务必备注“姓名-单位-研究方向-职称/年级”。技术问题寻求帮助,首先阅读《如何优雅的提问》学习解决问题思路,仍末解决群内讨论,问题不私聊,帮助同行。
学习16S扩增子、宏基因组科研思路和分析实战,关注“宏基因组”
点击阅读原文,跳转最新文章目录阅读