注:所有学习材料来自生信技能树(卖萌哥主讲,豆包整理补充,纯实战导向)
内容比较详细,自己使用为主!!
一、本节课核心目标(必须100%掌握)
- ✅ 熟练使用Conda创建环境、安装软件、管理环境
- ✅ 搞懂Linux环境变量
$PATH的原理和配置方法
"这节课是生信的敲门砖。以前的人装软件要花一周,还各种报错;现在有了Conda,10分钟就能装好所有转录组分析软件。学不会这节课,后面的分析你一步都走不了。"
二、为什么必须用Conda?(生信人血泪史)
在Conda出现之前,生信软件安装是地狱级难度:
- ❌ 需要管理员权限(
sudo apt/yum),但服务器你没有root权限 - ❌ 软件依赖复杂,一个软件依赖几十个库,缺一个就装不上
- ❌ 没有二进制版本,需要自己编译,编译环境不对就报错
Conda的出现解决了所有这些问题:
- ✅ 支持创建独立的"小环境",不同项目用不同环境,互不冲突
- ✅ 全球最大的生信软件仓库Bioconda,收录了超过10000个生信软件
三、Miniconda vs Anaconda(新手必看)
什么是conda:所有语言的包,依赖和环境管理器
里面有很多软件,已经安装好了,下载下来就能用

Conda有两个发行版,**新手只需要装Miniconda**,不要装Anaconda!

四、Miniconda 一步一步安装教程(复制粘贴就行)
1. 下载安装包(中科大镜像,国内速度最快)

登录服务器,在你的家目录运行下面的命令:
wget -c

axel
是多线程工具,大家一起干比一个人干快很多
# 用wget下载最新版Miniconda安装包# -c 参数:断点续传,下载中断了可以重新运行命令继续下wget -c https://mirrors.ustc.edu.cn/anaconda/miniconda/Miniconda3-latest-Linux-x86_64.sh
运行完后,用ls命令查看,会看到一个名为Miniconda3-latest-Linux-x86_64.sh的文件,说明下载成功。

2. 运行安装脚本
# 用bash运行安装脚本bash Miniconda3-latest-Linux-x86_64.sh
接下来会进入安装向导,严格按照下面的步骤操作:

- 第二步:问你是否接受许可证条款,输入
yes 然后回车(不能直接回车,不能输y) - 第三步:问你安装到哪个目录,直接按回车键,使用默认路径(
~/miniconda3) - 第四步:问你是否要初始化Miniconda,输入
yes 然后回车(这一步非常重要!)
安装完成后,会看到下面的提示:
Thank you for installing Miniconda3!
3. 激活Conda环境
安装完成后,Conda的配置已经写入了你的~/.bashrc文件,但需要重新加载才能生效:
# 重新加载.bashrc文件source ~/.bashrc
✅ 安装成功的标志:命令行前面会出现一个(base),表示你现在在Conda的base环境里
(base) May3111@vm-87fa-8d7bb241113e:~$

conda search (主命令 子命令)
4. 配置国内镜像源(最重要的一步!不做会慢到死)
默认的Conda源在国外,下载速度只有几KB/s,还经常失败。我们需要换成国内的北大镜像源。
使用之前先切换好频道

运行下面的4条命令,一条一条复制运行:
# 1. 删除所有默认的源conda config --remove-key channels# 2. 添加北大的bioconda源(生信软件源)conda config --add channels https://mirrors.pku.edu.cn/anaconda/cloud/bioconda/# 3. 添加北大的conda-forge源(通用软件源)conda config --add channels https://mirrors.pku.edu.cn/anaconda/cloud/conda-forge/# 4. 设置显示下载的源地址conda config --set show_channel_urls yes
配置完成后,查看配置是否正确:
cat ~/.condarc
✅ 正确的输出应该是这样的:
channels: - https://mirrors.pku.edu.cn/anaconda/cloud/bioconda/ - https://mirrors.pku.edu.cn/anaconda/cloud/conda-forge/show_channel_urls: true




五、Conda核心操作(每天都要用)
1. 最核心的概念:Conda小环境
老师原话:"绝对不要在base环境里安装任何软件!base环境只用来管理conda本身。每个分析项目都要创建一个独立的小环境。"
为什么要创建小环境?
- 不同的分析需要不同版本的软件(比如有的流程需要Python3.8,有的需要Python3.11)
- 不同软件的依赖可能冲突,放在不同环境里就不会互相影响
2. 创建一个新的小环境
# 标准命令:conda create -n 环境名 python=版本号conda create -n rna python=3.11
-n rna:给环境起个名字,这里叫rna,用来做转录组分析python=3.11:指定这个环境用Python3.11版本,必须指定! 不指定会用最新版,很多软件不兼容
运行后,Conda会自动解决依赖,然后问你是否确认安装,输入y回车,或者直接加-y参数自动确认:
conda create -n rna python=3.11 -y
3. 激活和退出环境
# 激活环境:conda activate 环境名conda activate rna
✅ 激活成功标志:命令行前面的(base)变成了(rna)
(rna) May3111@vm-87fa-8d7bb241113e:~$
# 退出环境:回到base环境conda deactivate

4. 查看所有已经创建的环境
conda info -econda env list
输出示例:
# conda environments:#base * /trainee/May3111/miniconda3rna /trainee/May3111/miniconda3/envs/rna
5. 在环境里安装软件
安装什么软件?

查阅别人的文献里面用的什么版本,从文献知道
原始数据质控的软件:

激活你要安装软件的环境后,运行下面的命令:

# 标准命令:conda install -y 软件名=版本号conda install -y fastqc=0.11.9
=0.11.9:指定软件版本,生信分析必须指定版本! 不同版本的结果可能不一样,无法重复- 如果出现下面的 3 个 done,即表示下载完成。

✅ 检查软件是否安装成功:调用软件的帮助文档
fastqc --help
如果能显示一大段帮助信息,说明安装成功了。
一次安装多个软件(新手不推荐,一个个装方便排查问题):
conda install -y fastqc=0.11.9 multiqc=1.14 samtools=1.17
注意:
在不指定版本的情况下,conda 默认安装该软件的最新版。如果要安装旧版本:
先看看有哪些可以安装的版本conda search fastqc
安装指定版本的软件conda install fastqc=0.11.7
添加-y参数跳过确认步骤 conda install -y fastqc=0.11.7

6. Conda其他常用命令
| |
|---|
conda list | |
conda list fast* | |
conda list -n rna | |
conda search fastqc | |
conda update fastqc | |
conda remove fastqc | |
conda create -n rna2 --clone rna | |
conda env remove -n rna2 | |
conda clean -a | |
7. 环境的导出和导入(分享/复现环境神器)
如果你想把自己的环境分享给别人,或者在另一台服务器上重建完全一样的环境,可以用导出/导入功能。

导出环境为yaml文件
# 先激活要导出的环境conda activate rna# 导出环境到rna_env.yaml文件conda env export > rna_env.yaml
• 相同平台•
导出• conda list --explicit > env.txt•
导入• conda create --name--file•
跨平台(例如linux里导出后在mac里安装)• 导出• conda env export envname > env.yml• 导入• conda env create --name--file env.yml
从yaml文件导入环境
# 在另一台服务器上,运行下面的命令conda env create -n rna -f rna_env.yaml
Conda会自动安装所有相同版本的软件,创建一个和原来一模一样的环境。


六、Conda常见错误及解决方法(新手必看)
1. 错误1:CondaHTTPError(最常见)
CondaHTTPError: HTTP 000 CONNECTION FAILED for url ...
原因:网络问题,或者镜像源配置错误解决方法:
- 把镜像源的
https改成http(有时候https会有问题)
2. 错误2:Solving environment: failed(依赖冲突)
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
原因:你要安装的软件之间有依赖冲突,Conda无法解决解决方法:
3. 错误3:`GLIBCXX_3.4.26' not found
version `GLIBCXX_3.4.26' not found
原因:服务器的系统库版本太低解决方法:在你的环境里安装libgcc包:
conda install -y libgcc
七、Mamba:Conda的加速版(解决慢和依赖冲突)
Conda有时候下载慢,解决依赖也慢,特别是安装很多软件的时候。Mamba是用C++重写的Conda,速度快10倍以上,解决依赖也更厉害。
安装Mamba
# 先回到base环境conda deactivate# 在base环境里安装mambaconda install -y mamba
使用Mamba
Mamba的用法和Conda完全一样,只要把所有的conda换成mamba就行:
# 创建环境mamba create -n rna python=3.11 -y# 安装软件mamba install -y fastqc=0.11.9
老师原话:"以后所有的conda命令都换成mamba,谁用谁知道有多香。"
八、Linux核心概念:环境变量$PATH(搞懂这个再也不会"command not found")
1. 什么是$PATH?
用通俗的话讲:$PATH**是Linux的"快捷方式目录列表"**。
当你在终端输入一个命令(比如ls、fastqc)时,Linux会按照顺序在$PATH里的每一个目录中查找这个命令的可执行文件。如果找到了,就运行它;如果所有目录都找不到,就会报错:
Command 'fastqc' not found, but can be installed with:apt install fastqc
2. 查看你的$PATH
# 查看原始的PATH(用冒号分隔多个目录)echo$PATH# 更友好的查看方式:把冒号换成换行,每个目录占一行echo$PATH | tr ':''\n'
输出示例:
/trainee/May3111/miniconda3/condabin/usr/local/sbin/usr/local/bin/usr/sbin/usr/bin/sbin/bin/usr/games/usr/local/games/snap/bin
- 目录的顺序很重要:Linux会从第一个目录开始找,找到就停止
- 你安装的软件的可执行文件所在的目录,必须在
$PATH里,才能直接调用
3. 查看命令的位置:which
# 查看ls命令在哪个目录which ls# 输出:/bin/ls# 查看fastqc命令在哪个目录which fastqc# 输出:/trainee/May3111/miniconda3/envs/rna/bin/fastqc
这个命令非常实用,当你遇到"command not found"时,先用which看看命令是不是真的不在$PATH里。
4. 永久添加目录到$PATH(最规范的方法)
生信人标准做法:创建一个~/bin目录,把所有你自己安装的软件的可执行文件都软链接到这里,然后把~/bin添加到$PATH的最前面。
步骤:
mkdir ~/bin
# 把下面这行追加到~/.bashrc文件的末尾echo'export PATH="${HOME}/bin:$PATH"' >> ~/.bashrc
source ~/.bashrc
echo$PATH | tr ':''\n' | head -1# 输出应该是:/trainee/May3111/bin
以后你安装任何软件,只要把它的可执行文件软链接到~/bin目录,就能直接调用了。
九、其他软件安装方式(了解即可,优先用Conda)
99%的生信软件都可以用Conda安装,只有极少数特殊情况需要用下面的方法。
1. 二进制安装(下载解压就能用)
有些软件提供已经编译好的二进制包,下载解压后就能直接运行,不需要安装。
以hisat2为例:
# 先进入biosoft目录(专门用来放软件的目录)mkdir ~/biosoftcd ~/biosoft# 下载hisat2的二进制包wget -c https://cloud.biohpc.swmed.edu/index.php/s/oTtGWbWjaxsQ2Ho/download -O hisat2-2.2.1-Linux_x86_64.zip
unzip hisat2-2.2.1-Linux_x86_64.zip
# 把hisat2目录下所有以hisat2开头的可执行文件都软链接到~/binln -s ~/biosoft/hisat2-2.2.1/hisat2* ~/bin/
hisat2 --help
2. 源代码安装(最复杂,尽量避免)
有些软件只提供源代码,需要你自己编译安装。这个过程比较复杂,容易出错,新手尽量用Conda。
以samtools为例:
cd ~/biosoftwget -c https://github.com/samtools/samtools/releases/download/1.14/samtools-1.14.tar.bz2
tar -jxvf samtools-1.14.tar.bz2cd samtools-1.14
# --prefix 指定安装到哪个目录,这里指定为~/biosoft/samtools-1.14./configure --prefix=~/biosoft/samtools-1.14
make
make install
ln -s ~/biosoft/samtools-1.14/bin/* ~/bin/
samtools --help
十、生信人安装软件的优先级(牢记)
- 第一优先级:用Conda/Mamba安装(最简单,自动解决依赖)
十一、课堂练习 逐题详细解答(必须全部完成)
- 从
/teach/biosoft/目录复制Miniconda安装包到你的家目录(如果已经下载过就跳过)
cp /teach/biosoft/Miniconda3-latest-Linux-x86_64.sh ~/
- 安装Miniconda3,并配置北大镜像源(按照上面的步骤一步步来)
- 创建一个名为
rna的小环境,Python版本为3.11
conda create -n rna python=3.11 -y
- 激活
rna环境,安装fastqc=0.11.9、multiqc=1.14、samtools=1.17
conda activate rnaconda install -y fastqc=0.11.9 multiqc=1.14 samtools=1.17
conda config --remove-key channels defaults
- 从
/teach/目录复制rna_env.yaml文件,用它创建一个名为rna2的环境
cp /teach/rna_env.yaml ~/conda env create -n rna2 -f rna_env.yaml
十二、新手必踩的10个坑
- ❌ 不要在base环境里安装任何软件,一定要创建小环境
- ❌ 不要用root权限安装软件,普通用户用Conda就够了
- ❌ 安装完成后一定要运行
source ~/.bashrc - ❌ 不要把所有软件都装在同一个环境里,不同项目用不同环境
- ❌ 遇到"command not found",先检查环境有没有激活,再检查
$PATH - ❌ 不要随便修改系统的
/etc/profile文件,只修改你自己的~/.bashrc - ❌ 源代码安装前一定要先安装编译工具(
gcc、make等),否则会报错
十三、核心命令速查表(打印出来贴电脑上)
| |
|---|
bash Miniconda3-latest-Linux-x86_64.sh | |
source ~/.bashrc | |
conda create -n 环境名 python=3.11 -y | |
conda activate 环境名 | |
conda deactivate | |
conda info -e | |
conda install -y 软件名=版本号 | |
conda list | |
conda env export > 环境名.yaml | |
conda env create -n 环境名 -f 环境名.yaml | |
conda clean -a | |
echo $PATH | |
which 命令名 | |
ln -s 原文件路径 软链接路径 | |