一、 基本介绍
Conda是一个开源的包管理系统和环境管理系统,可在Windows、macOS和Linux上运行。 Conda可快速安装、运行和更新包及其依赖项,可以轻松地在计算机上创建、保存、加载和切换环境。它是为Python程序而创造的,但现在它可以打包和分发任何语言的软件。简单来说,conda可以让我们一行命令安装更新卸载程序,以及进行环境管理。
二、 使用方法
(1) 安装conda
$ sh Miniconda3-latest-Linux-x86_64.sh
(2) 添加频道
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.aliyun.com/anaconda/pkgs/main/
conda config --add channels https://mirrors.aliyun.com/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.aliyun.com/anaconda/cloud/bioconda/
conda config --add channels bioconda #官方的,可以不添加
conda config --add channels conda-forge #官方的,可以不添加
注意,添加一组就可以了,不要重复添加,冗余的频道会让安装软件的过程变慢。顺序是有意义的,后添加的优先程度高。如果添加一个已经添加过的频道,conda会把这一频道的优先级提前。添加的频道写到了~/.condarc里面,先添加的频道会到最下面,后添加的频道排前面,优先程度高。
conda clean -i #更换频道时先运行这一条,删除索引缓存
conda clean -p #删除从未使用的包
conda clean -t #删除tar打包(cached package tarballs)
conda clean -a #删除index cache, lock files, unused cache packages, and tarballs
(3) 查看已添加的频道
conda config --get channels # vi .condarc
cat .condarc
(4) 创建新环境
conda create -n bioinfo
(5) 激活环境
conda activate bioinfo
(6) 安装软件
# conda install [-c CHANNEL] 软件名=版本号
conda search fastqc #查看有哪些可以安装的版本,默认安装最新版
conda install fastqc
conda install fastqc multiqc trim-galore #多个软件可以一起安装
conda install -c hcc aspera-cli # -c指定安装频道
conda install -y fastqc # -y跳过确认步骤
conda install -c bioconda samtools=1.9 --force-reinstal #安装指定版本的软件
conda install -p ~/biosoft/samtools samtools # -p将软件安装到指定位置
(7) 查看该环境安装的软件
conda list
conda list ^py* #可以用正则表达式
conda list -n envname #查看指定的环境的软件
(8) 更新该环境安装的软件
conda update bcftools
conda update --all # mamba update --all
(9) 删除环境中安装的软件
conda remove fastqc #删除该环境下的软件
conda remove -n envname fastqc #删除特定环境下的软件
(10) 关闭环境
conda deactivate
(11) 查看已有的环境
conda env list
(12) 复制某个环境
conda create -n newenv --clone oldenv
(13) 删除某个环境及安装的包
conda remove -n bioinf4 --all # rm -rf ~/miniconda3/envs/bioinf4/
(14) 更新conda
conda update conda
(15) 版本控制和迁移
conda list -n envname --export > conda_envname_list.txt #导出环境中安装的包的列表,格式为:软件名=版本号=build
conda create -n newenvname -file conda_envname_list.txt #安装导出的信息
三、 使用mamba
(1) 安装mamba
conda activate base conda install mamba
#装在base环境中的包在小环境中依然可以调用,因此不需要在每个环境里都安装一遍
(2) 使用manba
#除启动环境外(conda activate envname),所有conda的命令都可以用mamba来代替
mamba search fastqc # mamba repoquery search fastqc
mamba install fastqc
(3) 查看依赖关系
mamba repoquery depends -t samtools #该软件依赖谁
mamba repoquery whoneeds -t python #谁依赖该软件