NGS数据分析实践:01. Conda环境配置及软件安装

1. 什么是Conda?

Conda是版本控制和生信工具安装的一大神器。Conda是在Windows,macOS和Linux上运行的开源软件管理系统和环境管理系统。Conda可以快速安装,运行和更新软件包及其依赖的环境与工具。Conda可以轻松地在本地计算机上的环境中创建,保存,加载和切换。它是为Python程序创建的,但可以适用于任何语言的软件。
如果你在安装生物信息学工具之前遇到过依赖性问题,Conda会轻而易举解决这一问题。此外,Conda使安装和使用不兼容的工具变更加容易。因为它可以创建不同的虚拟环境,使得不兼容的工具在相对独立的环境中运行,两者之间不冲突、不打架。

2. 关于几个Conda

Anaconda 是Conda的发行的一个安装包。它是一个数据科学平台,其中包含许多软件包。
Miniconda 是Conda的最小安装程序。可以看作是小型版本的Anaconda,仅包含Conda,Python,它们依赖的软件包以及少量其他有用的软件包,包括pip,zlib和其他一些软件包。一般生信分析人员认为,该版本即可满足日常需要。
Bioconda 是conda生物信息学软件的托管平台。Conda通道只是存储软件包的位置。但Bioconda管道上提供了使用最广泛的生物信息工具,该工具托管了超过6,000多种生物信息包。

3. Conda环境管理

conda的默认环境是base环境。不建议在同一环境中安装所有软件包/工具,以免软件版本或运行环境冲突。使用Conda,你可以为某个项目或者某个分析创建一个独特隔离的环境。换个意思,所谓的环境就是一组可在一个或多个项目中使用的软件包。

4. 安装Conda

此处以Anaconda为例:
## (1). conda下载与安装
wget -m https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/Anaconda3-5.3.1-Linux-x86_64.sh
bash Anaconda3-5.3.1-Linux-x86_64.sh #安装下载的sh文件

5. 配置仓库镜像

以下三种配置方式,选取一个来源的频道配置即可,重复配置频道会造成冗余,降低软件安装速度。
## (2). 配置仓库镜像
#一:官方频道
conda config --add channels bioconda
conda config --add channels conda-forge
conda config --set show_channel_urls yes

#二:清华镜像频道
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
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 --set show_channel_urls yes

#三:北外镜像频道
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/free/
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 --set show_channel_urls yes

conda config --set ssl_verify False

6. 创建conda小环境

软件最好不要都安装在base环境里,尽量创建独立环境进行安装,这样不会造成软件依赖环境的冲突,也有利于项目管理。
## (3). 创建conda小环境
#base环境:
source ~/anaconda3/bin/activate #conda activate /home/hucy/anaconda3
conda create -n SNPseq #创建名为SNPseq的conda小环境 #-n:指定环境名称
conda env list # 或 conda info --env # 列出已存在的小环境
conda activate SNPseq #启动SNPseq这个conda小环境
conda activate base #切换到base环境(确保安装在base)
conda deactivate #退出SNPseq这个conda小环境

如需删除conda小环境及安装的包:

#删除已创建的小环境及安装的包
conda remove -n SNPseq --all
#重命名小环境,例如将Python2重命名为py2
conda create -n Python2
conda create -n py2 --clone Python2
conda remove -n py2 --all

7. conda环境安装软件

创建好独立的小环境之后就可以在小环境内安装软件,首先要查找下自己想安装的软件是否可以用conda安装。不在base环境中安装软件是为了避免各个软件依赖环境之间的冲突,如果确定安装的软件不会产生冲突就可以在base环境中安装,另外在base环境安装的软件在各个小环境中都可使用。
(1) 网站查询
https://anaconda.org/search
https://bioconda.github.io/
(2) 使用命令行搜索
conda search xxx
(3) 关键词搜索

基本操作:

#查询是否可以安装以及版本信息
conda search fastqc
#安装fastqc,加等号指定安装0.11.7版本的,也可以不指定
conda install fastqc=0.11.7
#加-y参数可以跳过确认步骤
conda install -y fastqc=0.11.7
#删除软件
conda remove fastqc
#升级软件
conda update fastqc
#升级conda自身
conda update conda
实战所需软件安装:
## (4). conda环境安装软件
conda install -c bioconda fastqc -y #fastqc --help
conda install -c bioconda -c conda-forge multiqc #pip install multiqc
conda install -c bioconda fastp -y #https://www.jianshu.com/p/10d8daa57d1d

conda install -c bioconda fastx_toolkit -y #/home/hucy/anaconda3/envs/SNPseq/bin/fastx_clipper -h
conda install -c bioconda solexaqa -y
conda install -c bioconda trimmomatic -y

conda install -c bioconda hisat2 -y #HISAT2 is a fast and sensitive alignment program for mapping next-generation sequencing reads (both DNA and RNA) to a population of human genomes as well as to a single reference genome.
conda install bwa -y
conda install -c bioconda bowtie2 -y

conda install samtools -y
conda install -c bioconda picard -y
conda install -c bioconda bedtools -y

conda install -c bioconda snpeff -y
conda install -c bioconda bcftools -y
conda install -c bioconda freebayes -y
conda install -c bioconda varscan -y
conda install -c bioconda gatk -y
conda install -c bioconda gatk4 -y

# GenomeAnalysisTK -h 与gatk3 -h 显示结果一样
GenomeAnalysisTK -h
gatk3 -h

8. 设置环境变量

设置系统环境变量后,使用软件可不用带完整路径,方便使用。
## (5). 设置环境变量
# 直接将conda的软件安装路径,写入.bashrc
export PATH="/home/hucy/anaconda3/envs/SNPseq/bin:$PATH"

#export是临时的,关闭终端就没有了,需写入~/.bashrc
cp ~/.bashrc{,.bak} # 修改系统文件.bashrc前,可以先快速备份一下
vim ~/.bashrc
# export PATH="/home/hucy/anaconda3/envs/SNPseq/bin:$PATH"
source ~/.bashrc #载入修改后的环境
echo $PATH

9. 创建软链接

创建一个文件夹,存储各种软件绝对路径的软链接,以便分享给Linux的其他用户。
## (6). 创建软链接
mkdir ~/.soft #或创建一个文件夹,存储各种软件绝对路径的软链接,以便分享给Linux的其他用户
export PATH="/home/hucy/.soft:$PATH" #同理,可以将export PATH="/home/hucy/.soft:$PATH"写入root或者其他用户的.bashrc文件,以免重复安装过多软件。

which bwa #查找bwa的绝对路径
which samtools

ln -s /home/hucy/anaconda3/envs/SNPseq/bin/fastqc ~/.soft #创建conda中已装软件的软链接
ln -s /home/hucy/anaconda3/envs/SNPseq/bin/multiqc ~/.soft

ln -s /home/hucy/anaconda3/envs/SNPseq/bin/trimmomatic ~/.soft
ln -s /home/hucy/anaconda3/envs/SNPseq/bin/SolexaQA++ ~/.soft

ln -s /home/hucy/anaconda3/envs/SNPseq/bin/bwa ~/.soft
ln -s /home/hucy/anaconda3/envs/SNPseq/bin/bowtie2 ~/.soft
ln -s /home/hucy/anaconda3/envs/SNPseq/bin/hisat2 ~/.soft

ln -s /home/hucy/anaconda3/envs/SNPseq/bin/samtools ~/.soft
ln -s /home/hucy/anaconda3/envs/SNPseq/bin/bedtools ~/.soft
ln -s /home/hucy/anaconda3/envs/SNPseq/bin/picard ~/.soft

ln -s /home/hucy/anaconda3/envs/SNPseq/bin/bcftools ~/.soft
ln -s /home/hucy/anaconda3/envs/SNPseq/bin/gatk3 ~/.soft
ln -s /home/hucy/anaconda3/envs/SNPseq/bin/gatk4 ~/.soft
# ln -s /home/hucy/anaconda3/envs/SNPseq/bin/GenomeAnalysisTK ~/.soft
ln -s /home/hucy/anaconda3/envs/SNPseq/bin/varscan ~/.soft
ln -s /home/hucy/anaconda3/envs/SNPseq/bin/freebayes ~/.soft
ln -s /home/hucy/anaconda3/envs/SNPseq/bin/snpEff ~/.soft

source ~/.bashrc

# ln -s /home/hucy/anaconda3/envs/SNPseq/share/picard-2.18.29-0/picard.jar ~/.soft
# ln -s /home/hucy/anaconda3/envs/SNPseq/share/snpeff-5.0-1/snpEff.jar ~/.soft
# ln -s /home/hucy/anaconda3/envs/SNPseq/share/varscan-2.4.4-1/VarScan.jar ~/.soft

10. 其他软件安装

## (7). 其他软件安装
# tar 解压缩命令详解 https://blog.csdn.net/example440982/article/details/51712973
# /home/hucy/biosoft/src
wget -c http://www.openbioinformatics.org/annovar/download/--apply--/annovar.latest.tar.gz
tar -zxvf ~/biosoft/src/annovar.latest.tar.gz -C ../
cd ~/biosoft/annovar/
perl /home/hucy/biosoft/annovar/annotate_variation.pl

11. 其他环境配置

## (8). 其它环境配置
# 0表示没有权限,1表示可执行权限,2表示可写权限,4表示可读权限,然后将其相加。
alias condaBase='source ~/anaconda3/bin/activate' #重命名简化激活condaBase环境命令
export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/hucy/.dotnet/tools:/usr/local/java/bin:.:~"
export PATH="/home/hucy/anaconda3/envs/SNPseq/bin:$PATH"
export PATH="/home/hucy/.soft:$PATH"

# annovar 别名设置,简化命令行
vim ~/.bashrc
alias convert2annovar.pl="/home/hucy/biosoft/annovar/convert2annovar.pl"
alias annotate_variation.pl="/home/hucy/biosoft/annovar/annotate_variation.pl"
alias table_annovar.pl="/home/hucy/biosoft/annovar/table_annovar.pl"
alias coding_change.pl="/home/hucy/biosoft/annovar/coding_change.pl"
alias retrieve_seq_from_fasta.pl="/home/hucy/biosoft/annovar/retrieve_seq_from_fasta.pl"
alias variants_reduction.pl="/home/hucy/biosoft/annovar/variants_reduction.pl"
source ~/.bashrc

12. conda其他应用

12.1 版本控制和迁移

方法一:用conda list的export功能
# 导出环境中安装的包的列表
conda list -n rnaseq --export > conda_rnaseq_list.txt
# 输出文件格式:软件名=版本号=build

# 安装导出的信息
conda create -n rna -file conda_rnaseq_list.txt

方法二:用conda env的export功能
# 导出想要导出的环境
conda env export -n rnaseq > rnaseq.yml

# 根据导出的yml文件创建环境
conda env create -f rnaseq.yml

# 根据导出的yml文件更新环境
conda env update -f rnaseq.yml # yml文件提供的信息更全面

12.2 删除没有用的包及更换镜像

#删除下载了但没有使用的包
conda clean -p
#更换镜像配置的时候记得先运行这一条
conda clean -i

12.3 将conda安装到指定位置

#先创建一个biosoft的文件夹, 在里面创建一个samtools文件夹
mkdir -p ~/biosoft/samtools
#使用-p参数指定安装位置
conda install -p ~/biosoft/samtools samtools
参考阅读:
可重复的生信分析系列二:Conda的介绍
生信分析平台搭建(七):bioconda
conda的安装与使用(2021-04-27更新)
Linux基础:软件安装技巧–conda
(0)

相关推荐

  • 宏基因组分析专题(2):生物信息学软件的应用市场-Conda的安装流程

    本文由微科盟phage根据实践经验而整理,希望对大家有帮助. 微科盟原创微文,欢迎转发转载. 写在前面 什么是Conda? Conda是一款可以帮助我们轻松安装几乎所有的生物信息学软件的工具,说Con ...

  • 终极奥义! 生信软件安装神器~ conda 从入门到精通

    前言 生物信息学分析常常需要用到许多不同的软件,常见安装方式有三种: 源码安装,要求安装者对包有较充分的认识,适用于开发者或深入学习和挑战者: 预编译版本安装,一般安装者将其拷贝到目录下即可运行: 第 ...

  • conda管理软件遇到的莫名其妙的的库文件缺少

    初学者会大量依赖于conda傻瓜式管理软件,在这里首先强推<生信技能树>团队的卖萌哥在2021新年伊始的公开课: https://www.bilibili.com/video/BV1Yy4 ...

  • conda之packages管理

    conda的核心功能包括environments和packages的管理,在之前的文章中介绍了environments的管理技巧,本文来看下packages的管理方式. 根据常用的操作,可以分为以下5 ...

  • Anconda安装

    我本来也不想写这个文章的,只不过是这次换了新系统很多配置都没有用了...一败涂地哇.我现在什么也干不了,人生大好时间配了环境... 不比比了,开搞! 先下载anconda,去清华源.看着点自己是什么型 ...

  • 测试conda镜像问题

    最近(2019-05-08 )很多人反映conda镜像挂掉的问题,所以我有必要给粉丝测试一下: wget https://repo.anaconda.com/miniconda/Miniconda3- ...

  • 有安装R包的终极方法吗?

    说到R包的安装简直是个噩梦,为什么R包这么难装呢?我大胆分析一下,欢迎批评指正 生态混乱 R在统计圈的盛行决定了R包的开发人员基本上做统计的,这些开发者开发的包水平层次不齐.有时候一个简单的功能却要依 ...

  • conda国内源

    清华源.中科大源大部分时间能用,但没事也会被封.最近发现的北外源挺好用.推荐使用: 北外镜像(推荐): conda config --add channels https://mirrors.bfsu ...

  • conda与bioconda解决生信软件安装困扰

    简介 conda原本是为了解决Python模块安装的依赖问题,然而可能是无心栽柳柳成荫,conda目前已经超越了其最初目的而存在,可以解决大多数软件的安装和配置,包括各种本身与python毫无关系的包 ...

  • 仅需一招,轻松搞定R包

    最近很多人问我的问题都是R包安装的问题.在之前R包只要更新到最新版本,且能够联网,就可以轻松安装.,但现在随着R的功能越来越多,越来越强大.R包也越来越难安装了.并且什么人都可以开发发布R包,很多垃圾 ...