美文网首页生物信息学R
conda管理生信软件一文就够

conda管理生信软件一文就够

作者: 因地制宜的生信达人 | 来源:发表于2019-04-03 07:42 被阅读47次

    conda管理生信软件一文就够

    [TOC]

    conda下载

    ​ 直接在搜索引擎搜索 conda 清华,进入Anaconda | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua...,找到“Miniconda 安装包可以到 https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/ 下载。”,点击下载页面,下载软件并安装。(miniconda是anaconda的轻量级替代,安装它就不用安装anaconda,miniconda的功能足够我们后续安装软件使用,不需要同时安装两个)

    下载系统版本:

    • linux版本:如果是x86_64系统,请下载Miniconda2-**-Linux-x86_64.sh的最新版本

    • mac版本:登录终端,下载Miniconda2-***-MacOSX-x86_64.sh的最新版本,

    这里Miniconda2和Miniconda3都可以,但是我们推荐使用Miniconda2。

    如何寻找软件最新版本:根据时间戳来定义,比如今天是2019,2,27,目前软件的最新版本时间戳是2019-01-03

    如何下载:找到最新时间戳的你需要的版本(如Miniconda2-latest-Linux-x86_64.sh),右击,左击复制链接地址

    下载最新版本的linux版示例:wget -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda2-latest-Linux-x86_64.sh

    miniconda安装

    安装最新版本的linux版示例:bash Miniconda2-latest-Linux-x86_64.sh,你可能会遇到下面的提示:

    Please, press ENTER to continue
    >>> 
    # 此处直接点击enter即可
    
    ===================================
    Miniconda End User License Agreement
    ===================================
    .......
    # 这里点击好几次空格键,直到出现下面行
    
    Do you accept the license terms? [yes|no]
    [no] >>> 
    # 这里输入yes,点击enter
    # 如果输入错误,比如输入yess,又删除不了,此时你应该按enter,重新输入yes即可
    
    [/home/you/miniconda2] >>> 
    # 遇到此处时,直接enter即可
    # 这里的绝对路径是指miniconda2的安装路径
    
    installation finished.
    Do you wish the installer to initialize Miniconda2
    in your /home/you/.bashrc ? [yes|no]
    [no] >>> 
    # 这里输入yes
    # 刚开始学的人最好输入yes,目的是让conda自动给你配置环境变量
    # 输入yes的结果是:~/.bashrc这里文件里最后几行多了conda的配置信息
    # less ~/.bashrc,多出来的配置信息第一行如下:
    # added by Miniconda2 4.5.12 installer
    .......
    
    Thank you for installing Miniconda2!
    # 出现这个代表安装成功
    
    # 执行下面语句
    source ~/.bashrc
    # 执行后,本身就是没有任何提示
    
    conda --help
    # 出现conda的帮助文档信息,即表明conda安装成功
    # 这里很重要,不管安装什么软件,都要检测是否安装成功!
    # 如下所示
    usage: conda [-h] [-V] command ...
    
    conda is a tool for managing and deploying applications, environments and packages.
    
    Options:
    ......
    
    # 继续调取conda子命令的帮助文档,如
    conda create --help
    conda install --help
    

    miniconda配置镜像

    ​ 因为conda安装软件类似R需要从就近的镜像里安装包一样,因此软件安装成功后,必须配置镜像;但是不同于R安装包,这里软件安装一次,只需要设置一次镜像,此后不需要再次设置

    ​ 当然,R语言也可以通过写配置文件,达到一次设置,永久使用镜像的目的。

    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
    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
    

    ​ 将上述语句,一句一句运行在linux命令行上,即复制一句,按一下enter键,原则上没有任何提示即为设置成功; 配置信息保存在 ~/.condarc 里,cat ~/.condarc即可查看!

    创建小环境

    ​ 安装软件前,先设置一个小环境,不要直接在自己账户的当前环境内安装软件;

    ​ 怎么理解这句话呢?比如你在家里的储藏室放了A东西,但是你还可以再放进去一个柜子,柜子里还可以继续储藏东西,这个柜子就类似一个小储藏室,一个小环境,并且储藏室的环境包含了这个柜子的环境~

    ​ 你可以创建很多小环境名,有的小环境坏了,你不要就可以了,就好比柜子坏了,你可以扔了,但是如果你把自己账户环境折腾坏了,好比储藏室被你搞坏了,那恢复的代价就高了~~~

    conda create -n rna
    # 创建一个小环境名为rna
    
    conda install python=2
    # 安装python 2版本
    # 以上两句话可以等同于一句命令:conda create -n rna python=2
    

    查看小环境

    
    conda info -e
    conda info --envs
    conda env list
    # 都是来查看已经存在小环境名的
    
    # 运行后如下:rna即为刚刚建立成功的小环境名
    
    $ conda info -e
    # conda environments:
    #
    base                  *  /home/you/miniconda2
    rna                      /home/you/miniconda2/envs/rna
    

    进入小环境

    ​ 创建小环境后,安装软件前,一定要进入/激活小环境在安装,否则会安装到当前账户环境下。

    source activate rna:激活小环境名为rna的环境

    ​ 激活成功显示为:(rna) you 16:49:30 ~,用户名前多了(rna)

    查找软件

    安装软件

    ​ 第一步:先从bioconda镜像查看软件名具体是什么?一个字母都不能错

    ​ 第二步:conda install 软件名

    ​ 第三步:成功调取软件帮助文档==确定安装成功

    这里有点类似R包的安装,装后需要library()一下,才能确认安装成功

    ​ 安装方法:conda install -y sra-tools trim-galore

    ​ 参数解释:-y要不要均可,是问你同不同意安装,不要的时候,需要手动输入一个y,自己尝试后就理解了这句话含义;sra-tools trim-galore安装两款软件,默认安装最新版; 注意 trim-galore 一个字都不能错,一个字都不能错,重要的事情说三遍!

    指定软件安装版本

    conda install numpy=1.11:即安装能模糊匹配到numpy版本为1.11

    conda install numpy==1.11:即精确安装numpy为1.11的版本

    Constraint type Specification Result
    Fuzzy numpy=1.11 1.11.0, 1.11.1, 1.11.2, 1.11.18 etc.
    Exact numpy==1.11 1.11.0
    Greater than or equal to "numpy>=1.11" 1.11.0 or higher
    OR "numpy=1.11.1|1.11.3" 1.11.1, 1.11.3
    AND "numpy>=1.8,<2" 1.8, 1.9, not 2.0

    更新软件

    conda update conda:更新conda

    conda update bwa:更新bwa;前提是已经安装成功bwa

    查看已安装软件

    conda list:在当前小环境下,列举所有安装软件。

    示例:

    ​ source activate rna

    ​ conda list

    ​ 列举rna小环境内安装的所有软件

    退出小环境

    conda deactivate: linux下conda退出小环境命令

    移除小环境

    conda env remove --name bio-env:删除小环境及里面的内容

    其他注意内容

    pip安装

    ​ 先安装python,才能使用pip安装python的软件,如pip install multiqc

    miniconda安装失败

    • 删除安装目录,如果安装到了/home/you/miniconda2里,执行rm -r /home/you/miniconda2
    • 删掉~/.bashrc最后几行conda写入的信息(# added by Miniconda2 4.5.12 installer下面几行一般都是),如果没有# added by Miniconda2 4.5.12 installer的话,即表明conda配置的信息没写入成功

    然后按照上述步骤重新安装!

    conda网络错误

    报错如下;

    CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://conda.anaconda.org/bioconda/linux-64/homer-4.9.1-pl5.22.0_5.tar.bz2>
    Elapsed: -
    
    An HTTP error occurred when trying to retrieve this URL.
    HTTP errors are often intermittent, and a simple retry will get you on your way.
    

    实际上,我已经设置好了镜像

    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
    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 --show
    conda install -y -c bioconda homer
    

    人为指定channel 可以解决bug

    conda install -y -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda homer
    

    conda 安装软件经常冲突

    事实上不可能有十全十美的工具,conda非常简易的管理了多个软件流程,那么必然也会有解决不了的事情,必然同一个流程的两个python软件基于不同版本的python包,就尴尬了。

    Solving environment: failed
    
    UnsatisfiableError: The following specifications were found to be in conflict:
      - rsem
    Use "conda info <package>" to see the dependencies for each package.
    

    没什么好的办法,只能说把冲突的工具安装到不同的子环境。

    Solving environment: failed
    
    PackagesNotFoundError: The following packages are not available from current channels:
    
      - salmon
      - boost=1.64
      - salmon
      - libcxx==4.0.0
    

    配置镜像出错

    conda: command not found
    # 表明环境变量里找不到conda这个软件
    # 出错原因:.bashrc里没有配置conda的PATH或者配置过但是没有source ~/.bashrc
    # 检验方法:运行echo $PATH,查看是否含有conda安装路径
    
    Warning: 'https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge' already in 'channels' list, moving to the top
    # 表明之前已经运行过这句代码
    
    # 复制镜像配置语句时复制错误,需要重新配置时,需要删除镜像配置文件
    rm ~/.condarc 
    # 然后重新配置,参考miniconda配置镜像
    

    总结

    一步安装conda并且配置好一个ngs组学环境

    wget -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/Miniconda2-latest-Linux-x86_64.sh
    # miniconda2软件下载成功
    
    bash Miniconda2-latest-Linux-x86_64.sh
    # 遇到yes/no输入yes,其他直接enter搞定
    source ~/.bashrc
    conda --help
    # miniconda2安装成功,并成功配置好环境变量
    
    conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
    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 create -n rna python=2
    # 创建小环境成功,并成功安装python2版本
    # 每建立一个小环境,都要装一个python=2的软件作为依赖
    
    source activate rna
    # 成功激活进入小环境,即可安装软件
    
    conda install -y fastqc
    # 出现三个done,即表示安装成功,否则重新提交命令
    fastqc --help
    # 成功出现帮助文档,fastqc软件安装成功
    
    conda install -y sra-tools
    # 出现三个done,即表示安装成功,否则重新提交命令
    prefetch --help
    # 成功出现帮助文档,sra-tools软件安装成功
    # 安装什么软件,并不等于调用什么命令--help
    
    source deactivate
    # 成功退出rna小环境
    # 或直接退出当前账户
    

    更多组学环境

    1. https://www.jianshu.com/p/49d035b121b8
    2. https://www.jianshu.com/p/a84cd44bac67
    3. https://www.jianshu.com/p/5bce43a537fd
    4. https://mp.weixin.qq.com/s/a4qAcKE1DoukpLVV_ybobA

    相关文章

      网友评论

        本文标题:conda管理生信软件一文就够

        本文链接:https://www.haomeiwen.com/subject/ynqwbqtx.html