分享

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

 hucy_Bioinfo 2021-09-20

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./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./anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna./anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna./anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.tuna./anaconda/cloud/bioconda/
conda config --set show_channel_urls yes

#三:北外镜像频道
conda config --add channels https://mirrors./anaconda/pkgs/free/
conda config --add channels https://mirrors./anaconda/pkgs/main/
conda config --add channels https://mirrors./anaconda/cloud/conda-forge/
conda config --add channels https://mirrors./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:///search
https://bioconda./
(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./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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多