千家信息网

转录组RNA-Seq如何使用docker+bioconda搭建分析环境

发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,小编给大家分享一下转录组RNA-Seq如何使用docker+bioconda搭建分析环境,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去
千家信息网最后更新 2026年11月02日转录组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=4163  mtu 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安全错误 数据库的锁怎样保障安全 互联网科技公司经营范围 科技企业和互联网企业 互联网 科技公司 银优互联网科技有限公司 火传媒上海互联网科技 科技互联网创业计划书 镁科技互联网资讯平台 无锡溥仪互联网科技有限公司 恒生科技互联网指数分析 云创客互联网科技公司 互联网科技产品 科技互联网的估值 广州慧亚互联网科技怎么样 互联网科技公司有风险吗 宜昌元轩互联网科技有限公司 黑科技 体验场景 互联网大会 上海钢联属于互联网科技股吗 江苏苏星互联网科技有限公司 九思连强互联网电子科技有限公司 华人运通互联网科技公司 互联网科技巨头监管 互联网巨头科技公司 奇酷互联网络科技公司 互联网金融科技委员会 无锡溥仪互联网科技有限公司 宁夏科技产业互联网案例 哈尔滨屹滨互联网科技有限公司 国大互联网教育科技有限公司薪资 互联网科技机房 中国互联网公司的科技投入
0