Footsteps on my way !
perl/linux/测序分析

小白神器conda

conda是一个能运行于windows/mac os/linux的基于python开发的开源包管理器,他能很方便快捷的安装,运行,更新软件及其依赖。并且能够轻松的创建,保存,加载或切换conda管理的软件环境,从而摆脱没有root的烦恼。

  • conda管理的软件环境:conda可以创建一个和其他软件独立的环境,在此环境中你可以装一个软件或者一类软件以及他们的所有依赖。需要使用的时候conda/source activate 环境名激活这个环境就可以了。

安装conda:

# 安装miniconda软件管理器安装conda https://conda.io/miniconda.html
wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
chmod +x Miniconda3-latest-Linux-x86_64.sh
./Miniconda3-latest-Linux-x86_64.sh 
# 按提示操作,如回车确定,输入yes同意许可,输入安装目录或回车按默认安装;
/share/soft/miniconda2 #我的安装目录
# 完成后关闭当前终端,新打开一个终端继续操作才能生效

# 升级conda为最新版:新版的bug最少,碰到问题的机会也小
conda update conda

配置conda(手动修改配置文件.condarc,或者可通过命令配置):

这里只介绍常用的:添加conda的安装channels(频道或者源),并指定顺序,对于生信工作着来说,推荐:

[root@localhost miniconda2]# conda config --add channels defaults
[root@localhost miniconda2]# conda config --add channels conda-forge
[root@localhost miniconda2]# conda config --add channels bioconda
#conda config --add channels 其实修改的是conda配置文件.condarc,修改后结果如下
[root@localhost miniconda2]# more ~/.condarc 
channels:
 - bioconda    #第一优先级频道
 - conda-forge #第二优先级频道
 - defaults    #第三优先级频道

软件会根据你的频道的优先级来安装,比如ncurses这个包在conda-forge,defaults频道都有,那么更具我们的配置文件,有限安装conda-forge的,所以如果不按这个优先级,部分软件可能安装后可能会跑错。

比如lefse安装的时候用的defaults频道的ncurses,而不是conda-forge,由于这两个频道中的ncurses有差异,最终导致各种依赖库报错(主要是其中依赖的R运行的报错),最终重装了conda-forge的ncurses[conda install -n lefse libiconv #由于报错缺这个库,我就直接安装了一下; conda install -n lefse -c conda-forge ncurses #重装了conda-forge的ncurses],问题解决。

安装软件:(如果是bioconda可通过检索bioconda资源库来确认你要下载的包是否支持,默认频道defaults好像不支持检索,用conda search命令)

conda install bwa   #安装bwa到conda的默认环境[安装到和conda安装文件的bin目录下],不建立新环境
conda create -n aligners bwa bowtie hisat star #建立一个新环境 aligners ,在里面安装bwa bowtie hisat star等比对软件

其他常见命令:

conda create -n myenv scipy=0.15.0 #创建一个含有指定版本软件的环境
conda install -n myenv bwa  #安装bwa到环境myenv中 也可以通过-c指定通过某个channel安装
conda list #查看当前环境中安装的软件
conda list -n myenv #查看某个环境中安装的包
conda list -n myenv scipy #查看myenv环境中是否安装软件scipy
conda remove --name myenv --all  #移除一个环境 --name/-n
conda env remove --name myenv    #效果同上
conda info --envs  #确认某个环境被删除,如果能在显示的环境list中看到说明没被删除,当前环境用"*"表示
conda env list #同上

conda list --explicit #查看当前环境的安装包的具体list
conda list --explicit > spec-file.txt #导出具体list
conda create --name myenv --file spec-file.txt #通过安装包的具体list在其他机器(最好系统相同)上重建环境
conda install --name oldmyenv --file spec-file.txt #将安装包list中的软件装到oldmyenv环境中

conda search numpy #差找某个包
conda update -n myenv numpy #更新myenv环境中的某个包
conda remove -n myenv numpy #删除myenv环境中的某个包

conda,miniconada,anaconda的区别!

conda是一个包管理器,miniconda是conda的安装包/工具,anaconda是一个conda的科学python的发行版。

参考:

https://conda.io/docs/user-guide/index.html

https://bioconda.github.io/index.html#set-up-channels

https://conda.io/docs/user-guide/tasks/manage-environments.html

https://blog.csdn.net/neu_chenguangq/article/details/79451945

https://www.jianshu.com/p/f8a0692df264 #这里面加的是清华大学的频道镜像,对于国内应该快一些。

尊重他人劳动成果,转载请注明出处:Bluesky's blog » 小白神器conda

分享到:更多 ()

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址