背景
雖然目前使用 bioconda 可以非常方便的管理很多軟體,但是由於生物軟體的類型實在太多了。完全沒有統一的開發平臺,因此,即使利用 bioconda 還是會出現一些問題,比如需要使用的軟體是基於 python2.7 版本,而安裝之後的 python 版本為 3.7。必須切換到 python 2.7才能使用,這個時候就可以使用 bioconda 創建的虛擬環境。
虛擬環境類似於一間一間小房子,軟體類似於每個房間裡的家庭。伺服器就像是一個小區,我們(像是物業)有時候需要1樓的幫忙分析這個、有時候又需要30樓的幫忙分析那個。這就是虛擬環境的優點了。
一、虛擬環境
conda 可以創建一個隔離的軟體運行環境,利用 conda env list 可以查看虛擬環境,默認安裝的為 base 環境。通過 create 可以創建虛擬環境。
查看虛擬環境,*號表示當前環境conda env list conda environments:base * /Nano3/nanopore/miniconda3nano /Nano3/nanopore/miniconda3/envs/nanonanoplot /Nano3/nanopore/miniconda3/envs/nanoplotpy2 /Nano3/nanopore/miniconda3/envs/py2test /Nano3/nanopore/miniconda3/envs/test虛擬環境的一個好處是可以創建一個獨立環境,在環境中可以安裝指定版本軟體,可以用於使用特定版本軟體重複文獻內容,例如安裝 blast 2.7.1,samtools 1.7
二、利用虛擬環境安裝軟體
2.1 安裝指定版本軟體
創建虛擬環境mamba create -n test激活虛擬環境mamba activate test安裝軟體mamba install -c bioconda blast=2.7.1 samtools=1.7退出虛擬環境conda deactivate2.2 創建 python2.7 環境
我們最開始安裝的是 minicodna3 的版本,一次默認就是 pyhton3 的版本。但是有很多軟體依然需要使用 python2 的版本,因此需要創建一個 pyhton2 的環境。
創建 python 2.7 環境conda create -n py27 python=2.7 -y查看現有虛擬環境conda env list激活 python2.7 環境conda activate py27查看 python 版本python -V在 python2 中安裝軟體
mamba install -y blast=2.7.1mamba install -y metaphlan2mamba install -y humann2mamba install -y graphlanmamba install -y export2graphlanmamba install -y mantamamba install -y strelkamamba install -y lumpy-sv2.3 使用虛擬環境安裝軟體
nanoplotconda create -n nanoplot -y nanoplotmedakamedaka 網址:https://github.com/nanoporetech/medakaconda create -y -n medaka -c conda-forge -c bioconda medakaartic networkgit clone https://github.com/artic-network/artic-ncov2019.gitcd artic-ncov2019/conda env create -f environment.ymlpangolingit clone https://github.com/cov-lineages/pangolin.gitcd pangolinconda env create -f environment.ymlconda activate pangolinpip install .prokkaconda create -n prokka -yconda activate prokkaconda install -y prokka2.4 普通用戶使用虛擬環境
如果沒有將管理員的虛擬環境添加到配置文件,也可以使用這些軟體,參考下面的方法。
source /ifs1/Software/miniconda3/bin/activate nanoplot2.5 不激活虛擬環境使用
目前 bioconda 提供了一個 conda run 的模式,類似於 docker run,可以不激活虛擬環境直接運行程序,不過該功能目前還處於實驗階段,並不完善。
直接運行 py2 中的 pythonconda run -n py python --version2.6 刪除虛擬環境
conda 的虛擬環境可以通過 conda env 進行管理,除了創建,還可以進行升級,導出以及刪除環境等。
create :創建虛擬環境export :導出虛擬環境list :列出虛擬環境remove :移除虛擬環境update :升級虛擬環境config :配置虛擬環境