转录组RNA-Seq如何使用docker+bioconda搭建分析环境
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,小编给大家分享一下转录组RNA-Seq如何使用docker+bioconda搭建分析环境,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去
千家信息网最后更新 2025年12月03日转录组RNA-Seq如何使用docker+bioconda搭建分析环境
小编给大家分享一下转录组RNA-Seq如何使用docker+bioconda搭建分析环境,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
基于docker构建环境
笔者使用docker的方式属于网上不推荐的方式,类似于虚拟机镜像。原因就是懒得去编写dockerfile,感觉太麻烦。
极速安装docker极速安装docker-compose
#从以下网址下载docker-compose,将docker-compose文件放在path变量目录下如:/usr/local/binhttps://github.com/docker/compose/releases
选择docker镜像并构建基础镜像
因为之前的Ubuntu16.04过于老旧,这里直接选择Ubuntu20.04的镜像
#拉取ubuntu20.04镜像docker pull ubuntu:20.04#获取docker镜像列表docker images 或者 docker image ls#确认docker镜像拉取完成之后,使用该镜像创建一个docker容器docker run --name first -it ubuntu:20.04 /bin/bash#运行完成之后进入容器中root@80cb4d36be59##安装ssh等软件root@80cb4d36be59# apt update && apt install openssh-server vim net-tools curl#安装完成之后修改ssh配置文件,便于远程登录root@80cb4d36be59# vim /etc/ssh/sshd_config#修改如下几行并保存Port 9020 #修改默认端口号(可选)ListenAddress 0.0.0.0 #默认监听地址,所有地址LoginGraceTime 2m #允许用户登录耗时(可选)PermitRootLogin yes #允许root用户登录,docker默认用户是root用户#修改默认root账户密码,便于ssh远程登录root@80cb4d36be59# passwd root#启动ssh服务root@80cb4d36be59# service ssh start# 获取容器ip地址,root@b8080a125313:/# ifconfigeth0: flags=4163mtu 1500 inet 172.17.0.2 netmask 255.255.0.0 broadcast 172.17.255.255 ether 02:42:ac:11:00:02 txqueuelen 0 (Ethernet) RX packets 27095 bytes 55050990 (55.0 MB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 26785 bytes 2478368 (2.4 MB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 loop txqueuelen 1000 (Local Loopback) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0#打开一个新的终端测试下连接ssh root@172.17.0.2 -p9020#如果可以连接上则第一步构建完成,我们commit创建自己的镜像,打开终端docker commit first ubuntu20.04-ssh:1.00
第二阶段:安装bioconda构建基础生信镜像
退出并删除之前运行的容器
#退出之前的容器root@80cb4d36be59# exit#删除该容器docker rm first
编写docker-compose.yml文件,并使用docker-compose启动容器
version: "3"services: RNASeq: image: ubuntu20.04-ssh:1.00 #此处为我们之前提交的镜像名称 container_name: rnaseq #运行容器名称 volumes: - /media/sliver/Element1/data:/opt/data:rw #外挂data目录,放置原始数据 - /media/sliver/Manufacture/RNA-Seq/root:/root:rw #外挂root目录,bioconda安装位置,减小镜像体积 - /media/sliver/Manufacture/RNA-Seq/ref:/opt/ref:rw #外挂reference目录 - /media/sliver/Manufacture/RNA-Seq/result:/opt/result:rw #分析结果输出及中间文件目录 ports: - "9020:9020" network_mode: "host" #此处直接使用host模式,默认为bridge模式都可以,host模式注意不能与服务器端口冲突 environment: - TZ="Asia/Shanghai" #通过变量设置时区,否则系统时间错误 command: service ssh start -D #启动容器时启动ssh服务便于远程连接
使用docker-compose.yml文件启动容器
docker-compose.yml文件目录下运行docker-compose up启动容器并查看输出日志,看是否存在错误
使用ssh登录镜像,并安装bioconda
#这里使用127.0.0.1地址登录,每次容器重新运行ip地址172网段的会发生变动ssh root@127.0.0.1 -p9020#登录成功,安装biocondacurl -O https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.shsh Miniconda3-latest-Linux-x86_64.sh#setup channelsconda config --add channels defaultsconda config --add channels biocondaconda config --add channels conda-forge
#直接修改配置文件,添加清华源 vim ~/.condarcchannels: - conda-forge - bioconda - defaultsshow_channel_urls: truedefault_channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/rcustom_channels: conda-forge: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud msys2: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud bioconda: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud menpo: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud pytorch: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud
# 使配置文件生效source ~/.bashrc#安装几个软件测试下conda install fastqcconda install multiqcconda install STARconda install hisat2
构建bioconda 第二阶段镜像
#测试没有问题,打开一个新的终端提交镜像,第二阶段镜像后续可以用于各种生信环境docker commit rnaseq ubuntu20.04-bioconda
第三阶段,安装R、Bioconductor和RStudio-Server,构建用于RNA-Seq(转录组)的镜像
安装R及Bioconductor
#切换回刚才的容器内shell终端,安装Rapt install r-base#安装完成之后查看版本R --version#得到输出如下:R version 3.6.3 (2020-02-29) -- "Holding the Windsock"Copyright (C) 2020 The R Foundation for Statistical ComputingPlatform: x86_64-pc-linux-gnu (64-bit)R is free software and comes with ABSOLUTELY NO WARRANTY.You are welcome to redistribute it under the terms of theGNU General Public License versions 2 or 3.For more information about these matters seehttps://www.gnu.org/licenses/.#安装Bioconductor,终端中运行R#R环境提示符运行if (!requireNamespace("BiocManager", quietly = TRUE)) install.packages("BiocManager")BiocManager::install()#安装完成之后我们测试下,安装两个R包BiocManager::install('edgeR')BiocManager::install("DESeq2")安装RStudio Server,为了远程部署和运行R
#安装RStudio Serverapt-get install gdebi-corewget https://download2.rstudio.org/server/bionic/amd64/rstudio-server-1.3.1093-amd64.debgdebi rstudio-server-1.3.1093-amd64.deb#创建配置文件vi /etc/rstudio/rserver.conf#添加如下语句###在两个配置文件中添加以下语句##系统的R程序所在位置,如果个人目录下有利用anaconda安装R,可能会报错rsession-which-r=/usr/bin/R www-port=8787 ### 通过ip的8787端口连接vi /etc/rstudio/rsession.conf#添加如下语句www-port=8787 ### 通过ip的8787端口连接#添加用户sliver,用于登录RStudio Serveruseradd sliverpasswd sliver#创建该用户home目录,否则登录成功,但是会报错 Unable to connect to servicemkdir /home/sliverchown -R sliver /home/sliver#检查Rstudio-server是否能够运行并启动服务启动rstudio-server verify-installationrstudio-server start
打开浏览器输入:http://127.0.0.1:8787

使用之前创建的用户sliver及密码登录:

说明配置成功。
提交镜像,并修改docker-compose.yml文件
提交镜像,用于RNA-Seq转录组分析
#打开一个新的终端运行docker commit rnaseq ubuntu20.04-rnaseq:1.00#将当前容器导出为文件docker export -o ubuntu_20.04_rnaseq.tar rnaseq#迁移镜像可以从文件导入至镜像docker import ubuntu_20.04_rnaseq.tar ubuntu20.04-rnaseq:1.00
修改docker-compose.yml文件
version: "3"services: RNASeq: image: ubuntu20.04-rnaseq:1.00 container_name: rnaseq volumes: - /media/sliver/Element1/data:/opt/data:rw #挂载数据目录 - /media/sliver/Manufacture/RNA-Seq/root:/root:rw #挂载root目录 - /media/sliver/Manufacture/RNA-Seq/ref:/opt/ref:rw #挂载reference目录 - /media/sliver/Manufacture/RNA-Seq/result:/opt/result:rw #挂载中间文件和结果目录 ports: - "9020:9020" # ssh连接端口 - "8787:8787" # RStudio Server Web访问端口 network_mode: "host" #网络模式为host,注意端口与服务器端口不能冲突 environment: - TZ="Asia/Shanghai" #设置时区,方式时间不对 command: /bin/bash -c "rstudio-server start && service ssh start -D" #同时启动两个服务
以上是"转录组RNA-Seq如何使用docker+bioconda搭建分析环境"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
镜像
文件
容器
目录
登录
运行
用户
端口
终端
服务
配置
环境
地址
分析
模式
阶段
测试
成功
两个
方式
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
香港云服务器14元
idea复制创建数据库表
网络安全意识专题测试
学软件开发对英语要求高吗
高级软件开发过程
有没有便宜的零信任架构网络安全
全法对网络安全非常重视坚决维护
什么产品需要用数据库
mc服务器ip被封怎么办
oracle 数据库语法
网络安全与信息化统计
c程序软件开发
csgo怎么重新刷新服务器
互联网建筑科技
网络安全主动防技术
数据库原理及技术实验五
网络安全教育第一课
梦幻西游服务器怎么跳过
数据库运维论坛
金山区品牌软件开发常见问题
天河软件开发哪家有名
蝉妈妈数据库技术
数据库触发器的实现实验
cctv服务器属于什么分类
天鹅座山东互联网科技有限公司
数据库软件正版价格
我的世界服务器查看在线时长
全国青年网络安全技能应用比赛
微信服务器ip段怎么填写
服务器管理员密码怎么改