一文解决 | Linux(Ubuntn)系统安装 | 硬盘挂载 | 用户创建 | 生信分析配置 | 三

Linux Linux 402 人阅读 | 0 人回复 | 2024-07-24


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

在这里我们更推荐大家下载mambaconda下载确实慢。以及你也可以使用Pixi,速度是conda的10倍以上,mamba的4倍,Pixi是何方神圣呢?真有这么快吗?

mamaba下载网址:

https://github.com/conda-forge/miniforge/releases/

后面的操作基本一致,若是你使用conda直接copy即可,若是你使用mamba,那么需要更换一下相关命令即可。

9.3 conda 常用命令

  1. 增加生信分析常用的镜像
conda config --add channels defaults
conda config --add channels bioconda
conda config --add channels conda-forge
  1. 关闭base环境自动启动
conda config --set auto_activate_base false
  1. 创建虚拟环境
# 创建环境
conda create -n my_env_name

# 也可以在创建时指定要安装的包及版本
conda create -n my_env_name python=3.12 pytorch
  1. 克隆环境
conda create -n new_env --clone old_env
  1. 连接和退出环境
conda activate env_name
conda deactivate
  1. 安装包的命令, 通常有三种安装方式:
## 安装一般的软件
conda install 软件名字
conda install -c conda-forge 软件名字

## 安装CRAN中的R包
conda install r-包的名字

## 安装bioconductor中的R包
conda install bioconductor-包的名字

  1. mamba代替conda

作者在教程中也提供mamba操作

软件安装:

## 安装mamba
conda install mamba

## 安装一般的软件
mamba install 软件名字
mamba install -c conda-forge 软件名字

## 安装CRAN中的R包
mamba install r-包的名字

## 安装bioconductor中的R包
mamba install bioconductor-包的名字
  1. 其他 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
  1. 方法二:只在 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后会自动添加

9.4.2 配置 jupyter

● 这里配置 jupyter 是为了方便我们进行远程访问 ● 注意,配置文件是全局的,即同一个用户,各个虚拟环境中的 jupyer 默认都使用同一个配置文件 ● 因此,即使在不同的虚拟环境中安装了多个 jupyter,只需要配置一次

  1. 检查jupyter配置文件
# 生成配置文件,记住返回的文件地址
jupyter notebook --generate-config
# 默认是:/home/bio/.jupyter/jupyter_notebook_config.py

# 进入python解释器
python3
  1. 计算密码的hash值
from jupyter_server.auth import passwd
passwd ()

# 设置密码
# Enter password:
# Verify password:

# 输入密码,返回该密码的hash值
# 如[1]:'argon2:$argon2id$v=19$m=10240,t=10,p=8$NljykjG3OllNHs9cEnhHmw$4Yvv/CCHEir9PzzdSBFUJMHSa3OucpG+XgH3Fr0UMys'

# 退出python
quit()
  1. 修改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 退出
  1. 安装中文语言包
# 安装中文语言包(推荐)
pip install jupyterlab-language-pack-zh-CN

# 或者用conda
conda install jupyterlab-language-pack-zh-CN

当然,如果你不修改配置文件,也可以通过 ssh 端口映射的方式远程访问,但不推荐

  1. 端口映射
# 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
  1. 浏览器访问
地址:服务器 IP:端口号
如:192.168.3.128:8888
第一次访问需要密码,就是你之前设置的密码(如 admin)

10. 安装R和Rstudio Server

关于安装 R和Rstudio Server,我们的教程Ubuntu中安装R和Rstudio软件也介绍很详细,可以作为参考。

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教程(替换数据即可出全部结果与图形)


2. 精美图形绘制教程

3. 转录组分析教程

4. 转录组下游分析

小杜的生信筆記 ,主要发表或收录生物信息学教程,以及基于R分析和可视化(包括数据分析,图形绘制等);分享感兴趣的文献和学习资料!!

微信扫一扫分享文章

+11
无需登陆也可“点赞”支持作者

最近谁赞过

分享到:
评论

使用道具 举报

热门推荐