前言 生物信息学分析常常需要用到许多不同的软件,常见安装方式有三种:
但是三种方式各有长处:
● 一些简单的了解和操作即可上手,通常来说是小白的首选, ● 但它上限绝不仅于此,像docker, singularity等可以跨平台,一次搭建幸福一生! 目录 1. conda的安装 1.1 下载 1.2 安装 2. conda环境认识 2.1 目录结构 2.2 进入base环境 3. conda管理包 3.1 安装包 3.2 卸载包 4. 环境管理 4.1 创建环境 4.2 在指定环境中安装、删除包 4.3 不同环境切换 4.4 删除环境 4.5 退出环境 5. conda安装源的问题 5.1 默认源无包 5.2 包在哪个源有 5.3 指定源安装 6 conda配置文件 6.1 源的配置 6.1.1 将源写入配置文件 6.1.2 源的读取顺序 6.1.3 源的数量 6.2 其他信息的配置 7. 环境拷贝(clone) 7.1 输出配置信息 7.2 依据文本配置信息重新安装 01conda的安装 常见的conda有两个类型,分别为miniconda和Anaconda,前者是后者的轻量版本, 两者可安装的包是一致的,本文以miniconda安装为例。 1.1 下载 找到miniconda的下载页面,下载Linux版本, ##下载链接 wget https://repo./miniconda/Miniconda3-py39_4.9.2-Linux-x86_64.sh 1.2 安装 上述下载的链接文件为安装conda的bash脚本文件,接下来执行命令,按操作提示 bash Miniconda3-py39_4.9.2-Linux-x86_64.sh 确认是否是想要安装的conda以及python版本,确认无误,直接Enter键进入下一步, 回答1,确定版本信息,直接Enter进入安装 此回答前有一些条款,这里选择yes,后Enter键进入下一步, 回答2,同意条约,选择yes 重要:此步骤询问安装路径,默认当前路径,版主当前是在/mnt/home/*/目录下(*表示作者名),执行的bash Miniconda3-py39_4.9.2-Linux-x86_64.sh命令,
回答3,安装路径,默认在当前目录 重要:版主选择no,并Enter进入下一步,
回答4,是否写入环境变量文件,选择否 至此,miniconda安装完毕,安装后,目录下多了个miniconda3的文件夹, 多了个miniconda3的文件夹 02conda环境认识 当安装完成后,你跃跃欲试,发现输入conda,被提示该命令不存在。
conda命令不存在 2.1 目录结构 conda的目录结构,描述几个和使用较相关的目录,
miniconda3目录的子目录 2.2 进入base环境 版主喜欢使用时再进入环境,环境存在~/miniconda3/bin/activate文件中, ##进入base环境 source ~/miniconda3/bin/activate 成功进入base环境的标识 现在输入conda有反应啦,出现以下提示, 03conda管理包 3.1 安装包 安装一个scipy包试试, conda install scipy 出现提示1, 出现提示2, 出现以下结果,即表示安装成功,可使用conda list对比前后查看该包是否安装了。 3.2 卸载包 ##移除scipy包 conda remove scipy 04环境管理 多个不同的软件可能要求不同版本的依赖包和程序,如果都在base目录下进行,则每次都需要安装包和环境, 与之相对应的是conda的可以管理多个独立的环境 4.1 创建环境 conda安装初始时,只含有base一个环境, ##查看已有环境 conda info --envs 创建新的环境,通过指定--name或-n参数,
##创建一个环境 conda create --name py2
也可以通过conda info --envs来查看新的环境, 4.2 在指定环境中安装、删除包 安装包到指定环境,通过指定--name或-n参数, ##安装python2.7到py2环境 conda install -n py2 python=2.7 ##在该环境中安装numpy包 conda install -n py2 numpy 也可以将创建环境和安装包结合到一条命令中。 conda create -n py2 python=2.7
#更新包 conda update -n py2 numpy #删除包 conda remove -n py2 numpy 4.3 不同环境切换 在py2环境中安装了python2后,并不能在当前环境中获得python2,使用which查看python命令,发现
这时需要在不同环境中切换,使用conda activate py2,激活py2环境,
执行命令后,切换到py2环境(见标识),
命令总结, ##激活py2 conda activate py2 ##激活base conda activate base conda activate 4.4 删除环境 想要删除某环境,例如意外输入创建了py4环境 ##创建的环境名不符合预期 conda create -n py4 python=2.7 ##将环境和其下的包删除 conda remove -n py4 --all 4.5 退出环境 程序运行完,需要退出conda环境,退出顺序 py2 --> base --> bash
##退出当前环境 conda deactivate 05conda安装源的问题 为什么要关注源的问题?
5.1 默认源无包 admixture软件是群体混合分析常用的工具之一,可使用conda安装,但怎么我安装不了?
##创建一个admixture环境安装该包 conda create -n admixture admixture 5.2 包在哪个源有 到Anaconda官网查询,输入admixture检索, 输入admixture进行检索 出现两条记录,第一条记录说明,该软件用于评估个体的祖先程度,对,这个就是梦中包,在bioconda源中,
有两条记录,第一条就是目标 详细信息如版本号,发布的年份,包括安装方式,可以直接复制代码全装 5.3 指定源安装 使用**-c或--channel**指定包的安装源,发现其能够找到该包, ##创建admixture环境并从bioconda安装admixture软件 conda create -n admixture -c bioconda admixture 能够找到admixture包,选择y进入安装 06conda配置文件 6.1 源的配置 将源写入配置文件,避免每次指定**-c**参数,也省去寻找源的繁琐步骤,
conda的配置文件 显示文件为空 ##查看当前源 conda config --show-sources 当前源也为空 6.1.1 将源写入配置文件 将bioconda写入配置文件,
##添加bioconda conda config --add channels bioconda 继续添加源conda-forge和r conda config --add channels conda-forge conda config --add channels r 6.1.2 源的读取顺序 上面一顿操作后,已经拥有下图中的四个源,当存在多个源时,搜索就有一定的顺序:
6.1.3 源的数量 百度搜索后发现有很多源,可编辑文件vim ~/.condarc进行添加,但是源不是数量越多越好,
可按以下方式使用某个源,先备份常用,再使用其他源。结束后可将文件名改回。 ##保存常用的源配置 mv ~/.condarc ~/.condarc_bak ##使用清华源 mv ~/.condarc_bak_tsinghua ~/.condarc 清华源 channels: - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ - https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ - https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/ 上海交通大学源 channels: - https://mirrors.sjtug.sjtu.edu.cn/anaconda/pkgs/main/ - https://mirrors.sjtug.sjtu.edu.cn/anaconda/pkgs/free/ - https://mirrors.sjtug.sjtu.edu.cn/anaconda/cloud/conda-forge/
6.2 其他信息的配置 这部分在平时较少使用,笔者也关注,在此略过。 07环境拷贝(clone) 当你辛苦构建了一个环境,里面拥有几十上百个软件,如果更换服务器需要重新安装,又得花费大量时间。
7.1 输出配置信息 将admixture环境配置文件信息输出,
##输出环境信息到文本 conda env export -n admixture > environment.yml admixture环境输出的信息 braker2的环境输出信息 7.2 依据文本配置信息重新安装 ##依照文本信息重新打造一个环境 conda env create -f environment.yml ##也可给环境重新命名 conda env create -n admixture_copy -f environment.yml |
|