一文解决 | Linux(Ubuntn)系统安装 | 硬盘挂载 | 用户创建 | 生信分析配置 | 三
---## 9. 配置生信分析环境
生信环境的配置,是我们进入生信分析**门槛前的最后一步**,若是没有这边,前面做的工作白做,后续的想做的工作无法进行。
我们这里使用的是**Bioinfo Note社群**中,@九筒同学的教程,这个教程他在23日刚做了更新,比较全面,我们就直接引用他的教程即可。若是这个教程,无法满足您的需求,那么你也可以继续查找其他的教程,在网上一搜索,会有很多个教程。
教程网址:https://www.yuque.com/jiutong-3byul/jiutong/imcg0lxd6zg5s39a?singleDoc#
教程作者:@九筒
### 9.1 升级组件
```
# 解决90%问题
sudo apt update
sudo apt upgrade
```
### 9.2 miniconda安装
```
# 可以去官网看看是否更新,安装最新的提示操作
mkdir -p ~/miniconda3
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm -rf ~/miniconda3/miniconda.sh
```
为 bash 和 zsh shell 初始化
```
~/miniconda3/bin/conda init bash
~/miniconda3/bin/conda init zsh
```
在这里我们更推荐大家下载`mamba`,`conda`下载确实慢。以及你也可以使用`Pixi`,[速度是conda的10倍以上,mamba的4倍,Pixi是何方神圣呢?真有这么快吗?](https://mp.weixin.qq.com/s?__biz=MzAwODY5NDU0MA==&mid=2455863605&idx=1&sn=3953379b74b273c72a1fc128820db124&scene=21#wechat_redirect)![](https://mmbiz.qpic.cn/sz_mmbiz_png/lUs7ZWuYGXjPO2fsCPzep6MwG1DThWhnakr4ibHO49uG6N6BiaibOq0WrKG2AZu9aTA9yOdpL9NfxzpiaMLYGCkaXg/640?wx_fmt=png&from=appmsg)
mamaba下载网址:
```
https://github.com/conda-forge/miniforge/releases/
```
![](https://mmbiz.qpic.cn/sz_mmbiz_png/lUs7ZWuYGXjPO2fsCPzep6MwG1DThWhnbEJS4I9cJuaMxwQXRNZBHdPhbsSBxEJVVJo3YvlM4ibWqFY7HhbyxVg/640?wx_fmt=png&from=appmsg)
---
后面的操作基本一致,若是你使用conda直接copy即可,若是你使用mamba,那么需要更换一下相关命令即可。
### 9.3 conda 常用命令
1. 增加生信分析常用的镜像
```
conda config --add channels defaults
conda config --add channels bioconda
conda config --add channels conda-forge
```
2. 关闭base环境自动启动
```
conda config --set auto_activate_base false
```
3. 创建虚拟环境
```
# 创建环境
conda create -n my_env_name
# 也可以在创建时指定要安装的包及版本
conda create -n my_env_name python=3.12 pytorch
```
4. 克隆环境
```
conda create -n new_env --clone old_env
```
5. 连接和退出环境
```
conda activate env_name
conda deactivate
```
6. 安装包的命令, 通常有三种安装方式:
```
## 安装一般的软件
conda install 软件名字
conda install -c conda-forge 软件名字
## 安装CRAN中的R包
conda install r-包的名字
## 安装bioconductor中的R包
conda install bioconductor-包的名字
```
---
7. mamba代替conda
作者在教程中也提供mamba操作
软件安装:
```
## 安装mamba
conda install mamba
## 安装一般的软件
mamba install 软件名字
mamba install -c conda-forge 软件名字
## 安装CRAN中的R包
mamba install r-包的名字
## 安装bioconductor中的R包
mamba install bioconductor-包的名字
```
8. 其他 conda 命令
```
# 显示conda 版本
conda --version
# 查看当前已创建环境的名称及位置
conda info --envs
conda env list
#查看当前安装的软件
conda list
# 删除虚拟环境
conda remove -n your_env_name --all
# 当前的 cofig
conda config --set show_channel_urls yes
# 查看添加的镜像:
conda config --show
# 当前channels文件
conda config --get channels
# 或者直接系统层面看conda的源
sudo nano ~/.condarc
# 删除源
conda config --remove-key channels
```
### 9.4 安装 Jupyter Notebook
#### 9.4.1 安装 Jupyter
1. 方法一:每个环境安装一个jupyter
```
# 进入要安装jupyter的虚拟环境
conda activate omicverse
# 检查pip的版本
pip3 --version
# 检测pip是不是位于 omicverse 的虚拟环境下
which pip3
# 显示:/home/bio/miniconda3/envs/omicverse/bin/pip3
# 使用pip安装jupyter
pip3 install -U jupyter
```
2. 方法二:只在 base 环境中安装 jupyter
首先,需要在已经安装了 python 的环境中,安装 ipykernel
```
# 新建一个目标环境,指定python版本3.12
conda create -n pytest python=3.12
# 进入该环境
conda activate pytest
# 检查是否已经安装了ipykernel(如果该环境安装过jupyter,就会有ipkernel,不用再次安装)
conda list
# 如果没有,则安装ipykernel
conda install ipkernel -c conda-forge
```
然后,我们到 把 jupyter 安装到 base,用同一个 jupyter 来使用所有环境中的 python
```
# 回到base环境
conda deactivate
# 检查pip的版本
pip3 --version
# 检测pip是不是位于 miniconda 的 base 虚拟环境下
which pip3
# 显示:/home/bio/miniconda3/bin/pip3
# 使用pip安装jupyer
pip3 install -U jupyter
```
最后,将 conda 中的所有 python 环境添加到 Jupyter Notebook 中
```
# 安装这个工具
conda install nb_conda_kernels
# 这个只需要安装一次,以后新建的环境,安装了ipykernel后会自动添加
```
![](data/attachment/forum/plugin_zhanmishu_markdown/202407/34ce076e36a298d40d20a7d47d3aab3a_1721750928_8010.png)
#### 9.4.2 配置 jupyter
● 这里配置 jupyter 是为了方便我们进行远程访问 ● 注意,配置文件是全局的,即同一个用户,各个虚拟环境中的 jupyer 默认都使用同一个配置文件 ● 因此,即使在不同的虚拟环境中安装了多个 jupyter,只需要配置一次
1. 检查jupyter配置文件
```
# 生成配置文件,记住返回的文件地址
jupyter notebook --generate-config
# 默认是:/home/bio/.jupyter/jupyter_notebook_config.py
# 进入python解释器
python3
```
2. 计算密码的hash值
```
from jupyter_server.auth import passwd
passwd ()
# 设置密码
# Enter password:
# Verify password:
# 输入密码,返回该密码的hash值
# 如:'argon2:$argon2id$v=19$m=10240,t=10,p=8$NljykjG3OllNHs9cEnhHmw$4Yvv/CCHEir9PzzdSBFUJMHSa3OucpG+XgH3Fr0UMys'
# 退出python
quit()
```
3. 修改Jupyter配置文件
# 用 nano 编辑器打开配置文件
nano /home/bio/.jupyter/jupyter\_notebook\_config.py
```
4. 增加如下内容
```R
# 增加如下内容
# hash= 填上刚才生成的hash
hash='argon2:$argon2id$v=19$m=10240,t=10,p=8$NljykjG3OllNHs9cEnhHmw$4Yvv/CCHEir9PzzdSBFUJMHSa3OucpG+XgH3Fr0UMys'
# 允许任意ip访问
c.ServerApp.ip = '0.0.0.0'
# 设置密码
c.ServerApp.password = hash
# 关闭自动打开浏览器
c.ServerApp.open_browser = False
# 设置端口号
c.ServerApp.port = 8888
# 允许远程连接
c.ServerApp.allow_remote_access = True
# nano编辑器的操作很简单,修改完成后按 ctrl + x 退出
```
4. 安装中文语言包
```
# 安装中文语言包(推荐)
pip install jupyterlab-language-pack-zh-CN
# 或者用conda
conda install jupyterlab-language-pack-zh-CN
```
当然,如果你不修改配置文件,也可以通过 ssh 端口映射的方式远程访问,但不推荐
5. 端口映射
```
# windows terminal 连接服务器时映射端口号
# 不建议使用
ssh -L8888:localhost:8888 root@服务器IP
```
#### 9.4.3 启动并打开 Jupyter Notebook
1. 启动Jupyter
激活 conda 环境
```
# 如果是在每个环境中都安装了jupyter,则进入对应的环境启动
conda activate omicverse
# 如果是在base中安装的jupyter
conda activate base
```
进入对应的工作目录
```
# 我这里使用的是bio用户,进入后默认是/home/bio目录
# 检查当前目录
pwd
# 返回:/home/bio
# 我平时的项目都存储在/home/bio/work目录
# 如果没有,新建一个工作目录
mkdir work
# 进入work目录
cd work
```
启动Jupyter
```
# 启动 notebook
jupyter notebook
# 或者使用 jupyter lab
jupyter-lab
# 如果你是root用户(不建议)
jupyter notebook --allow-root
# 如果你是root用户(不建议)
jupyter-lab --allow-root
```
2. 浏览器访问
```
地址:服务器 IP:端口号
如:192.168.3.128:8888
第一次访问需要密码,就是你之前设置的密码(如 admin)
```
## 10. 安装R和Rstudio Server
关于安装 `R和Rstudio Server`,我们的教程(https://mp.weixin.qq.com/s?__biz=MzAwODY5NDU0MA==&mid=2455858740&idx=1&sn=25b9ecfcc5de80b26bdaed5c4233889e&scene=21#wechat_redirect)也介绍很详细,可以作为参考。
![](data/attachment/forum/plugin_zhanmishu_markdown/202407/34ce076e36a298d40d20a7d47d3aab3a_1721750928_4899.png)
### 10.1 创建R的虚拟环境
```
# 创建名为R的环境
conda create -n R
```
### 10.2 安装R
```
# 进入到R这个环境
conda activate R
#安装R,指定r-base=4.3.2,那么就会安装R-4.3.2,你也可以不指定
conda install r-base=4.3.2
# 进入R解释器
R
# 退出R解释器
q()
# 查看当前的R解释器
which R
```
### 10.3 安装 Rstudio server
● 建议查看官网地址:https://posit.co/download/rstudio-server/● 我这里安装的版本可能已经不是最新的
```
# 装gdebi-core
sudo apt-get install gdebi-core
# 下载Ubuntu 22对应的.deb文件
wget https://download2.rstudio.org/server/jammy/amd64/rstudio-server-2024.04.0-735-amd64.deb
# 安装
sudo gdebi rstudio-server-2024.04.0-735-amd64.deb
# 如果始终安装不上,试一下更新源
sudo apt update
sudo apt upgrade
# 验证是否安装
sudo rstudio-server verify-installation
sudo rstudio-server verify-installation
# 正常会提示:Server is running and must be stopped before running verify-installation
# 但这里极大可能是报错的,没关系,因为我们是在虚拟环境中安装的R,因此会提示找不到R,先不管它
```
### 10.4 配置 Rstudio server 中的R解释器
● 因为Rstudio server 是一个 linux 系统服务,你无法安装多个(除非你使用 docker,这个教程里不涉及) ● 如果你有多个不同的 R 环境,你就需要查看不同环境中的R解释器的位置 ● 然后我们告诉rstudio-server 使用哪个R 解释器
```
# 进入到某个安装了R解释器的环境
# 如刚刚我们安装的
# 进入到R这个环境
conda activate R
# 查看当前环境的R解释器地址
which R
# 返回:/home/bio/miniconda3/envs/R/bin/R
# 打开/etc/rstudio/rserver.conf文件
sudo nano /etc/rstudio/rserver.conf
# =后的地址修改为目标R解释器地址
rsession-which-r=/home/bio/miniconda3/envs/R/bin/R
# nano编辑器的操作很简单,修改完成后按ctrl + o,覆盖原文件,然后 ctrl + x 退出
```
### 10.5 重启 Rstudio server 服务
```
# sudo rstudio-server status #查看RStudio-server
# sudo rstudio-server stop #关闭RStudio-server
# sudo rstudio-server restart #重启RStudio-server
# 这里我们手动重启一下
sudo rstudio-server restart
# 验证是否在运行,在启动状态下输入
sudo rstudio-server verify-installation
# 会提示:Server is running and must be stopped before running verify-installation
# 我们关闭服务
sudo rstudio-server stop
# 再次输入
sudo rstudio-server verify-installation
# 会输出诊断报告
# 重启服务
sudo rstudio-server restart
```
### 10.6 浏览器访问
```
地址:服务器 IP:端口号
默认端口号:8787
如:192.168.3.128:8787
账号:linux 用户名(bio)
密码:对应的用户密码(admin)
```
### 10.6 其他 Rstudio server 配置
官方配置教程:https://support.posit.co/hc/en-us/articles/200552316-Configuring-RStudio-Workbench-RStudio-Server
1.Rstudio server设置文件
```
cat /etc/rstudio/rserver.conf
# Server Configuration File
# 查看rsession配置文件
cat /etc/rstudio/rsession.conf
```
/etc/rstudio/rserver.conf
```
## In /etc/rstudio/rserver.conf
# 更改端口为8787,默认就是8787
www-port=8787
# 默认情况下,RStudio绑定到地址0.0.0.0
www-address=0.0.0.0
# 添加系统的库路径作为外部库以供RStudio server调用
rsession-ld-library-path=/xxxxxx/lib
# 指定conda中的R
rsession-which-r=/home/bio/miniconda3/envs/R/bin/R
# 限制能够使用RStudio-server的用户组,例如
auth-required-user-group=rstudio_users
```
/etc/rstudio/rserver.conf
```
## In /etc/rstudio/rserver.conf
# 默认用户超过2个小时没有发出命令,RStudio会将该用户的R session挂起到磁盘
# 这样他们就不再消耗服务器资源(下次用户尝试访问服务器时,他们的会话将被还原)
# 当用户在运行代码时是不会因为超时被挂起
# 可以使用session-timeout-minutes设置更改超时(包括通过指定值为0来禁用它)
session-timeout-minutes=30
# 更改R包安装地址
# 通过修改r-libs-user可以更改用户的默认R包安装地址
# 这样的好处是确保最终用户安装的R包在路径中没有R版本号
# 这使管理员可以在服务器上升级R版本而不用重置用户安装的软件包
r-libs-user=~/R/packages
# 更改默认镜像
r-cran-repos=https://mirrors.nics.utk.edu/cran/
```
---
ok!到这里,我们就完成了Ubuntu系统的安装+用户设置+磁盘挂载+生信环境基础配置。注意:我们文章中只是总结了一部分内容,很多详细的内容,都需要自己有正对性的设置,大家可以尽情地“度娘”。
---
> **获得本期教程**文本文档+Ubuntu系统(桌面版和server版)+启动盘制作软件**,在后台回复:20240724****。请大家看清楚回复关键词,每天都有很多人回复错误关键词,我这边没时间和精力一一回复。**
### 参考:
1. https://blog.csdn.net/mayue\_web/article/details/124750653
2. https://blog.csdn.net/winycg/article/details/109517512
3. https://blog.csdn.net/qq\_35451572/article/details/79541106
4. https://www.yisu.com/ask/88822632.html
5. https://blog.csdn.net/Mcy7ycM/article/details/124347504
6. https://blog.csdn.net/qq\_43116031/article/details/133858239
7. https://www.yuque.com/jiutong-3byul/jiutong/imcg0lxd6zg5s39a?singleDoc#
> 若我们的教程对你有所帮助,请 `点赞+收藏+转发`,这是对我们最大的支持。
### 往期部分文章
**1. 最全WGCNA教程(替换数据即可出全部结果与图形)**
* (https://mp.weixin.qq.com/s?__biz=MzAwODY5NDU0MA==&mid=2455850466&idx=1&sn=6036fc2a19594f7fc38d65271f21e9cc&scene=21#wechat_redirect)
* (https://mp.weixin.qq.com/s?__biz=MzAwODY5NDU0MA==&mid=2455850727&idx=1&sn=1156c2bb0b0c9baff02838f5ffce39bf&scene=21#wechat_redirect)
* (https://mp.weixin.qq.com/s?__biz=MzAwODY5NDU0MA==&mid=2455850742&idx=1&sn=3d3eeedb3b58e536a83dc38d15725cd4&scene=21#wechat_redirect)
* (https://mp.weixin.qq.com/s?__biz=MzAwODY5NDU0MA==&mid=2455854728&idx=5&sn=bc98befb8dd0f0090bdfe69f3ffdb008&scene=21#wechat_redirect)
* (https://mp.weixin.qq.com/s?__biz=MzAwODY5NDU0MA==&mid=2455856103&idx=1&sn=774f8a084d21f757266f35c501c7155d&scene=21#wechat_redirect)
---
**2. 精美图形绘制教程**
* [精美图形绘制教程](https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzAwODY5NDU0MA==&action=getalbum&album_id=2614156000866385923&scene=173&from_msgid=2455848496&from_itemidx=1&count=3&nolastread=1#wechat_redirect)
**3. 转录组分析教程**
* **[转录组上游分析教程[零基础]](https://mp.weixin.qq.com/mp/appmsgalbum?__biz=MzAwODY5NDU0MA==&action=getalbum&album_id=2870608342451224581&scene=126&uin=&key=&devicetype=Windows+10+x64&version=63090719&lang=zh_CN&ascene=0)**
* **[一个转录组上游分析流程 | Hisat2-Stringtie](https://mp.weixin.qq.com/s?__biz=MzAwODY5NDU0MA==&mid=2455857417&idx=1&sn=653f3bdb0af386c22a128732ec8a01a4&scene=21#wechat_redirect)**
**4. 转录组下游分析**
* [批量做差异分析及图形绘制 | 基于DESeq2差异分析](https://mp.weixin.qq.com/s?__biz=MzAwODY5NDU0MA==&mid=2455860684&idx=1&sn=7be489c453cca737ad1092c6e4499827&scene=21#wechat_redirect)
* (https://mp.weixin.qq.com/s?__biz=MzAwODY5NDU0MA==&mid=2455859512&idx=1&sn=bac01a018f8b58afc7e2b3484f476bf4&scene=21#wechat_redirect)
* [单基因GSEA富集分析](https://mp.weixin.qq.com/s?__biz=MzAwODY5NDU0MA==&mid=2455859147&idx=1&sn=b022d80868e4b8014f64d443c82d1668&scene=21#wechat_redirect)
* [全基因集GSEA富集分析](https://mp.weixin.qq.com/s?__biz=MzAwODY5NDU0MA==&mid=2455860201&idx=1&sn=dd65c5b967123a876a6f5a38d4723ca6&scene=21#wechat_redirect)
> **小杜的生信筆記** ,主要发表或收录生物信息学教程,以及基于R分析和可视化(包括数据分析,图形绘制等);分享感兴趣的文献和学习资料!!
页:
[1]