转录组RNA-Seq如何使用docker+bioconda搭建分析环境
发表于:2025-02-03 作者:千家信息网编辑
千家信息网最后更新 2025年02月03日,小编给大家分享一下转录组RNA-Seq如何使用docker+bioconda搭建分析环境,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去
千家信息网最后更新 2025年02月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安全错误
数据库的锁怎样保障安全
服务器迁徙
数据库如何进行多表查询
nsf是什么数据库
数据库连接在哪初始化
万方数据库是否有word
编程 软件开发
攻击服务器的方式
周鸿祎5g网络安全吗
服务器安全如何保证
数据库科目余额表是哪一个
网络安全密是什么意思
中科创达软件开发
保卫岗位风险数据库
移动通信网络技术的发展
加强手机网络安全管理
服务器刷新率60帧
中专计算机网络技术咋考试
安徽信一企互联网科技有限公司
吉的堡教育软件开发怎么样
和软件开发网络安全
工业互联网科技股有哪几支
宜宾泡菜坛网络安全
数据库服务器是应用系统吗
139邮箱发送服务器
宝菱互联网科技有限公司
R830服务器HBA卡安装视频
数据库导出json压缩
测量面积软件开发
c为什么要连接数据库
软件开发完成了