生物信息學(xué)習(xí)的正確姿勢(shì)
NGS系列文章包括NGS基礎(chǔ)、在線繪圖、轉(zhuǎn)錄組分析?(Nature重磅綜述|關(guān)于RNA-seq你想知道的全在這)、ChIP-seq分析?(ChIP-seq基本分析流程)、單細(xì)胞測(cè)序分析?(重磅綜述:三萬字長(zhǎng)文讀懂單細(xì)胞RNA測(cè)序分析的最佳實(shí)踐教程)、DNA甲基化分析、重測(cè)序分析、GEO數(shù)據(jù)挖掘(典型醫(yī)學(xué)設(shè)計(jì)實(shí)驗(yàn)GEO數(shù)據(jù)分析 (step-by-step))、批次效應(yīng)處理等內(nèi)容。
節(jié)選自 - 這個(gè)為生信學(xué)習(xí)打造的開源Bash教程真香?。?!
2.4 Conda安裝配置生物信息軟件
2.4.1 Conda安裝和配置
2.4.2 Conda基本使用
2.4.3 Conda的channel
2.4.4 創(chuàng)建不同的軟件運(yùn)行環(huán)境
2.4.5 移除某個(gè)conda環(huán)境
2.4.6 Conda配置R
2.4.7 Conda環(huán)境簡(jiǎn)化運(yùn)行
2.4.8 Conda環(huán)境備份
2.4.9 Conda環(huán)境導(dǎo)出和導(dǎo)入
2.4.10 Conda軟件安裝 core dump error/Segment fault/段錯(cuò)誤 怎么辦
2.4.11 Conda為什么越來越慢?
2.4.12 Conda是如何工作的
2.4.13 Conda哪一步慢?
2.4.14 如何提速Conda solving environment
2.4.15 從了通道外還能怎么下載提速
2.4.16 使用conda-pack直接從已經(jīng)安裝好的地方拷貝一份 (同一操作系統(tǒng))
2.4.17 直接上 mamba
Conda安裝配置生物信息軟件
Conda是一種通用包管理系統(tǒng),旨在構(gòu)建和管理任何語(yǔ)言的任何類型的軟件。通常與Anaconda (集成了更多軟件包,https://www.anaconda.com/products/individual)和Miniconda (只包含基本功能軟件包, https://conda.io/miniconda.html)一起分發(fā)。
最初接觸到Anaconda是用于Python包的安裝。Anaconda囊括了100多個(gè)常用的Python包,一鍵式安裝,解決Python包安裝的痛苦。但后來發(fā)現(xiàn),其還有更多的功能,尤其是其增加了bionconda
(https://bioconda.github.io/index.html)通道后,生物信息分析的7925多個(gè)軟件都可以一鍵安裝了 (具體列表在:https://anaconda.org/bioconda/repo),免去了編譯時(shí)間浪費(fèi)和解決庫(kù)文件安裝的問題。另外其最有吸引力的是它的虛擬軟件環(huán)境
概念,可以簡(jiǎn)單的配置不同Python版本的環(huán)境、不同Python包的環(huán)境、不同R環(huán)境和R包的環(huán)境,對(duì)于生物信息軟件繁雜的應(yīng)用和頻繁的更新提供了很大的便利。
Conda安裝和配置
在鏈接https://www.anaconda.com/products/individual下載Anaconda
或Miniconda
對(duì)應(yīng)版本的分發(fā)包之后,安裝就是運(yùn)行下面的命令,根據(jù)提示一步步操作,主要是修改安裝路徑 (如果是根用戶,可以安裝到/anaconda
下,其它任意目錄都可以,但路徑短還是有好處的;普通用戶安裝到自己有權(quán)限的目錄下,如~/miniconda2
)。
# soft目錄為conda安裝的目錄,可自己修改
soft=~/miniconda2
echo 'export PATH="'${soft}'/bin:$PATH"' >>~/.bash_profile
export PATH="${soft}/bin:$PATH"
wget -c https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda2-latest-Linux-x86_64.sh -b -f -p ${soft}
安裝完成之后,記得把安裝路徑下的bin
文件夾加入到環(huán)境變量中 (上面命令中我們已經(jīng)幫您加進(jìn)去了)。
Conda基本使用
在Conda安裝配置好之后,就可以使用了。
conda list # 列出安裝的軟件包
# conda所有軟件名都是小寫
conda search <package ambigious name> # 搜索需要安裝的軟件包,獲取其完成名字
以搜索numpy
為例:
conda search numpy # * 表示對(duì)于版本的包已安裝
Fetching package metadata ...............
numpy 1.7.2 py27_blas_openblas_201 conda-forge [blas_openblas]
1.7.2 py27_blas_openblas_202 conda-forge [blas_openblas]
1.12.0 py36_0 defaults
1.12.0 py36_nomkl_0 defaults [nomkl]
* 1.12.1 py27_0 defaults
1.12.1 py27_nomkl_0 defaults [nomkl]
1.13.1 py36_0 defaults
1.13.1 py36_nomkl_0 defaults [nomkl]
numpy-indexed 0.3.2 py27_0 conda-forge
1.0.47 py35_0 conda-forge
1.0.47 py36_0 conda-forge
numpy_groupies 0.9.6 py27_0 conda-forge
0.9.6 py35_0 conda-forge
0.9.6 py36_0 conda-forge
numpy_sugar 1.0.6 py27_0 conda-forge
1.0.6 py34_0 conda-forge
numpydoc 0.6.0 py27_0 conda-forge
0.6.0 py34_0 conda-forge
xnumpy 0.0.1 py27_0 conda-forge
安裝包
conda install <package name> # 安裝軟件包
# -y是同意安裝,不寫的話會(huì)彈出提示,需要再次確認(rèn)
conda install numpy=1.7.2 -y # 安裝特定版本的軟件包
conda remove <package name> # 移除軟件包
安裝R
# 具體見下面
# 安裝R,及80多個(gè)常用的數(shù)據(jù)分析包, 包括idplyr, shiny, ggplot2, tidyr, caret 和 nnet
conda install -c r r-base=4.0.2 r-essentials
# 安裝單個(gè)包
# conda install -c https://conda.binstar.org/bokeh ggplot
更新包
# 更新基礎(chǔ)conda,新版本conda使用起來更快
conda update -n base -c defaults conda
conda update r-base
獲取幫助信息
conda -h # 查看conda可用的命令
conda install -h #查看install子命令的幫助
只是這些命令就可以省去不少安裝的麻煩了,但是如果軟件沒搜索到呢?
Conda的channel
Conda默認(rèn)的源訪問速度有些慢,可以增加國(guó)內(nèi)的源;另外還可以增加幾個(gè)源,以便于安裝更多的軟件,尤其是bioconda
安裝生信類工具。conda-forge
通道是Conda社區(qū)維護(hù)的包含很多不在默認(rèn)通道里面的通用型軟件。r
通道是向后兼容性通道,尤其是使用R3.3.1
版本時(shí)會(huì)用到,現(xiàn)在則不需要單獨(dú)添加了。后加的通道優(yōu)先級(jí)更高,因此一般用下面列出的順序添加。清華鏡像具體見https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/ (有時(shí)清華鏡像也不穩(wěn)定,不穩(wěn)定時(shí)直接用官方鏡像,早上下載速度還是好的)。
conda config --add channels r # Optional # Lowest priority
conda config --add channels defaults
conda config --add channels conda-forge
conda config --add channels bioconda
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
# Anocanda清華鏡像
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/cond-forge
# 清華通道, 最高優(yōu)先級(jí)
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
conda config --set show_channel_urls yes
注意通道的順序是會(huì)影響solving environment
和軟件包下載的速度的。
# 顯示已有的通道
conda config --get channels
conda通道的配置文件一般在~/.condarc
里面,內(nèi)容如下。全局控制conda的安裝在conda_path/.condarc
,具體操作見https://conda.io/docs/user-guide/configuration/admin-multi-user-install.html。
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/cond-forge
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ # Anocanda清華鏡像
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
- bioconda
- conda-forge
- r
創(chuàng)建不同的軟件運(yùn)行環(huán)境
這是Conda
最有特色的地方,可以通過創(chuàng)建不同的環(huán)境,同時(shí)運(yùn)行不同軟件的多個(gè)版本。
新創(chuàng)建的軟件環(huán)境的目錄為anaconda_path/envs/enrironment_name
,具體見下面的3個(gè)例子。
創(chuàng)建一個(gè)環(huán)境
transcriptome
安裝常用轉(zhuǎn)錄組分析軟件
# 新建一個(gè)環(huán)境,命名為transcriptome
# 環(huán)境名字為 transcriptome
# 環(huán)境中安裝 samtools multiqc rseqc
conda create -n transcriptome samtools multiqc rseqc
# 如果還想繼續(xù)安裝
conda install -n transcriptome fastqc salmon star stringtie sra-tools trimmomatic rmats rmats2sashimiplot
# 啟動(dòng)新環(huán)境
source activate transcriptome
salmon -h
# 默認(rèn)安裝到了anaconda_path下面的envs/transcriptome目錄下(在屏幕輸出也會(huì)有顯示)
# 這個(gè)目錄下存在bin文件夾,一般使用全路徑就可以調(diào)用,如下
# anaconda_path/envs/transcriptome/bin/salmon -h # 但有時(shí)會(huì)因?yàn)橐蕾囮P(guān)系而失敗
source deactivate transcriptome
不少軟件不激活環(huán)境也可以使用全路徑調(diào)用,比如anaconda_path/envs/transcriptome/bin/salmon
就可以直接使用salmon
程序,這樣我們就可以根據(jù)前面的PATH
介紹,把目錄anaconda_path/envs/transcriptome/bin/
放入環(huán)境變量,就可以直接調(diào)用這個(gè)環(huán)境中的大部分程序了。
新版的conda
默認(rèn)會(huì)使用conda activate transcriptome
激活環(huán)境。
初次使用時(shí)會(huì)彈出一個(gè)提示,需要運(yùn)行conda init
:
conda activate qiime2-2020.6
CommandNotFoundError: Your shell has not been properly configured to use 'conda activate'.
To initialize your shell, run
$ conda init <SHELL_NAME>
Currently supported shells are:
- bash
- fish
- tcsh
- xonsh
- zsh
- powershell
See 'conda init --help' for more information and options.
IMPORTANT: You may need to close and restart your shell after running 'conda init'.
不過,個(gè)人更喜歡用source anaconda_path/bin/activate transcriptome
激活環(huán)境,用起來更靈活一些。而且如果是根用戶安裝時(shí),不建議把conda
環(huán)境默認(rèn)加到環(huán)境變量中,會(huì)引起不必要的系統(tǒng)沖突。可以給個(gè)用戶自己使用是自己配置對(duì)應(yīng)的環(huán)境變量。
激活環(huán)境后,會(huì)看到命令行提示前多了一個(gè)環(huán)境名字,比如下面激活qiime2-2020.6
環(huán)境后的展示。
ct@ehbio:~# source /anaconda3/bin/activate qiime2-2020.6
(qiime2-2020.6) ct@ehbio:~# which python
/anaconda3/envs/qiime2-2020.6/bin/python
(qiime2-2020.6) ct@ehbio:~# source /anaconda3/bin/deactivate
DeprecationWarning: 'source deactivate' is deprecated. Use 'conda deactivate'.
ct@ehbio:~# which python
/usr/bin/python
在環(huán)境
phylo
中安裝ete3
起因是使用官方的推薦命令安裝時(shí)出了問題,py3.5的包裝到了py2.7環(huán)境下。解決辦法,新建一個(gè)py2.7
的環(huán)境,然后安裝。
# 新建一個(gè)環(huán)境,命名為phylo,指定其內(nèi)安裝的python版本為2.7
conda create -n phylo python=2.7
# 在phylo環(huán)境中安裝 ete3
# ete3存在于2個(gè)通道中,官方推薦使用自己的通道,但沒有成功
# -n 指定安裝環(huán)境 -c 指定下載通道
# conda install -n phylo -c etetoolkit ete3 ete3_external_apps
# bioconda通道里面也有ete3, 下面的安裝未指定具體通道,
# 將在前面設(shè)定的幾個(gè)通道里面按先后順序查找安裝
conda install -n phylo ete3 ete3_external_apps
# 默認(rèn)安裝到了anaconda_path下面的envs/phylo目錄下(在屏幕輸出也會(huì)有顯示)
# 這個(gè)目錄下存在bin文件夾,一般使用全路徑就可以調(diào)用,如下
# anaconda_path/envs/phylo/bin/ete3 -h # 但有時(shí)會(huì)因?yàn)橐蕾囮P(guān)系而失敗
# 所以激活本次安裝環(huán)境是比較不容易出問題的使用方式
source activate phylo
# 在新環(huán)境里面執(zhí)行命令操作
ete3 -h
# 其它操作
# 退出新環(huán)境
source deactivate phylo
創(chuàng)建R環(huán)境 Reference1
# Create a new conda environment called r,并且在里面安裝anaconda
conda create -n r anaconda
# Switch to r environment
source activate r
# 在新環(huán)境里面安裝R Installs R
conda install -c r r
# Install R kernel for IPython notebook
conda install -c r r-irkernel
# Install ggplot
conda install -c https://conda.binstar.org/bokeh ggplot
# 最后退出新環(huán)境
source deactivate r
列出所有的環(huán)境
conda env list
# conda environments:
#
/anaconda2
/anaconda2/envs/lefse
/anaconda2/envs/metagenome_env
/anaconda2/envs/metawrap
/anaconda2/envs/prokka_env
/anaconda2/envs/py3
/anaconda2/envs/r-environment
/anaconda2/envs/reseq
/anaconda2/envs/sourmash_env
/anaconda3/envs/qiime2-2020.6
移除某個(gè)conda環(huán)境
如果環(huán)境不需要了,或出了錯(cuò),則可以移除。比如需要移除phylo
環(huán)境,執(zhí)行conda remove -n phylo --all
。
Conda配置R
在添加了不同的源之后,有些源更新快,有些更新慢,經(jīng)常會(huì)碰到版本不一的問題。而且軟件版本的優(yōu)先級(jí),低于源的優(yōu)先級(jí)。保險(xiǎn)期間,先做下搜索,獲得合適的版本號(hào),然后再選擇安裝。
conda search r-essentials
r-essentials 1.0 r3.2.1_0 r
1.0 r3.2.1_0a r
1.1 r3.2.1_0 r
1.1 r3.2.2_0 r
1.1 r3.2.1_0a r
1.1 r3.2.2_0a r
1.1 r3.2.2_1 r
1.1 r3.2.2_1a r
1.4 0 r
1.4.1 r3.3.1_0 r
1.4.2 0 r
1.4.2 r3.3.1_0 r
1.4.3 r3.3.1_0 r
1.5.0 0 r
1.5.1 0 r
1.5.2 r3.3.2_0 r
1.5.2 r3.4.1_0 r
1.6.0 r3.4.1_0 r
1.0 r3.2.1_0 defaults
1.0 r3.2.1_0a defaults
1.1 r3.2.1_0 defaults
1.1 r3.2.2_0 defaults
1.1 r3.2.1_0a defaults
1.1 r3.2.2_0a defaults
1.1 r3.2.2_1 defaults
1.1 r3.2.2_1a defaults
1.4 0 defaults
1.4.1 r3.3.1_0 defaults
1.4.2 0 defaults
1.4.2 r3.3.1_0 defaults
1.4.3 r3.3.1_0 defaults
1.5.0 0 defaults
1.5.1 0 defaults
1.5.2 r3.3.2_0 defaults
1.5.2 r3.4.1_0 defaults
1.6.0 r3.4.1_0 defaults
1.5.2 r3.3.2_0 conda-forge
1.5.2 r3.3.2_0 https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
從上面可以看到清華的源版本同步于conda-forge
, 都比較老,還是指定r
通道安裝。
conda install -c r -n r r-essentials=1.6.0
R
會(huì)安裝于conda_path/envs/r/bin
中,軟鏈到位于環(huán)境變量的目錄中即可正常使用。這就是環(huán)境變量的活學(xué)活用。
Conda環(huán)境簡(jiǎn)化運(yùn)行
為了方便不同環(huán)境里面程序的運(yùn)行,我寫了一個(gè)shell腳本 (conda_env_run.sh
),具體運(yùn)行如下:
# -c: 表示實(shí)際需要運(yùn)行的命令
# -e: 表示需要啟動(dòng)的軟件環(huán)境,也就是上面conda create建立的環(huán)境
# -b:一般不需要指定,如果conda沒在環(huán)境變量中需要給出conda的安裝路徑
conda_env_run.sh -c 'ete3 -h mod' -e phylo
conda_env_run.sh -c 'bwa mem -h' -e aligner -b "/usr/local/anaconda2/bin"
conda_env_run.sh
內(nèi)容如下
#!/bin/bash
#set -x
usage()
{
cat <<EOF
${txtcyn}
***CREATED BY Chen Tong (chentong_biology@163.com)***
Usage:
$0 options${txtrst}
${bldblu}Function${txtrst}:
This is designed to run conda program in given environment.
It will automatically activate the environment, run the program and
deactivate the environment.
Thress commands from conda, 'activate', 'conda', 'deactivate' must
be in PATH or you should spcify <-b> parameter.
${txtbld}OPTIONS${txtrst}:
-c Full command to be run ${bldred}[NECESSARY]${txtrst}
-e Environment name${bldred}[NECESSARY]${txtrst}
-b Conda path${bldred}[NECESSARY]${txtrst}
EOF
}
command_cmd=''
environment=''
conda_path=''
while getopts "hc:e:b:" OPTION
do
case $OPTION in
h)
echo "Help mesage"
usage
exit 1
;;
c)
command_cmd=$OPTARG
;;
e)
environment=$OPTARG
;;
b)
conda_path=$OPTARG
;;
?)
usage
echo "Unknown parameters"
exit 1
;;
esac
done
if [ -z ${environment} ]; then
echo 1>&2 "Please give command and environment."
usage
exit 1
fi
if ! [ -z ${conda_path} ]; then
export PATH=${conda_path}:${PATH}
fi
source activate ${environment}
${command_cmd}
source deactivate ${environment}
Conda環(huán)境備份
有的時(shí)候會(huì)出現(xiàn)裝一個(gè)新包,裝著裝著就把當(dāng)前環(huán)境搞裝崩了的情況,所以備份一個(gè)環(huán)境還是必要的,conda create -n python35copy --clone python35
,把python35
備份為python35copy
。
Conda環(huán)境導(dǎo)出和導(dǎo)入
做培訓(xùn)時(shí)需要給參加培訓(xùn)的老師提供配置環(huán)境的腳本,之前都是提供一個(gè)Bash
文件全部運(yùn)行下來就可以完成整個(gè)環(huán)境的配置,更簡(jiǎn)單的方式是可以導(dǎo)出環(huán)境,自己配置時(shí)再導(dǎo)入就好了。
# 假設(shè)我們有一個(gè)環(huán)境叫 ehbio,可以導(dǎo)出為一個(gè)yml文件
conda env export --file ehbio_env.yml --name ehbio
# 然后換一臺(tái)電腦,就可以完全重現(xiàn)這個(gè)環(huán)境了
# 這么做的另一個(gè)優(yōu)勢(shì)是yml中明確列出了軟件的版本,
# 使用 conda solving environment時(shí)速度會(huì)快很多
conda env create -f ehbio_env.yml
Conda軟件安裝 core dump error/Segment fault/段錯(cuò)誤 怎么辦
# 清空緩存
# https://github.com/conda/conda/issues/7815
conda clean -a
Conda為什么越來越慢?
Conda中包含的軟件越來越多,而且軟件的不同版本都保留了下來,軟件的索引文件越來越大,安裝一個(gè)新軟件時(shí)搜索滿足環(huán)境中所有軟件依賴的軟件的搜索空間也會(huì)越來越大,導(dǎo)致solving environment
越來越慢。
Conda是如何工作的
-
從設(shè)定的通道 (
channel
)處下載通道中所有軟件的索引信息 (repodata.json
) (Collecting package metadata (repodata.json))"packages" : { "moto-1.3.7-py_0.tar.bz2" : { "build" : "py_0", "build_number" : 0, "depends" : [ "aws-xray-sdk !=0.96,>=0.93", "backports.tempfile", "boto >=2.36.0", "boto3 >=1.6.15", "botocore >=1.12.13", "cookies", "dicttoxml", "docker-py", "flask", "jinja2 >=2.7.3", "jsondiff 1.1.1.*", "mock", "pyaml", "python", "python-dateutil", "python-jose <3.0.0", "pytz", "requests >=2.5", "responses >=0.9.0", "six", "werkzeug", "xmltodict" ], "license" : "Apache-2.0", "md5" : "17b424658cd07e678b5feebdc932eb52", "name" : "moto", "sha256" : "5924666f8c1758472dc4c3d22b270b46cd1c4b66c50a9ba50d5c636d2237bdd1", "size" : 399973, "subdir" : "noarch", "timestamp" : 1552438392680, "version" : "1.3.7" } } ~~
解析
repodata
中的信息獲取所有依賴的包的信息采用
SAT-solver
算法決定需要下載包的哪個(gè)版本和它們的安裝順序下載并安裝包
Conda哪一步慢?
主要是第3
步,確定待安裝包的依賴包之間的兼容和已安裝軟件之間的兼容,獲得需要下載的包和對(duì)應(yīng)版本。
如何提速Conda
采用最新版的
conda
(Conda4.7相比Conda4.6提速3.5倍, Conda 4.8應(yīng)該不會(huì)比4.7慢)安裝時(shí)指定版本減少搜索空間
conda install python=3.7.4
安裝R包時(shí)指定R的版本也會(huì)極大減小搜索空間 (R包因其數(shù)目眾多,也是生物類軟件依賴解析較慢的原因之一)
conda install r-base=4.0.2 r-ggplot2=3.3.2
-
采用
mamba
加速軟件依賴解析 [mamba采用c++
重寫了部分解析過程,這個(gè)提速效果是很明顯的] (安裝好mamba
后就可以用mamba
替換conda
進(jìn)行安裝了)conda install mamba -c conda-forge mamba install python=3.7.4
,默認(rèn)conda解析軟件依賴時(shí)優(yōu)先考慮允許的最高版本,設(shè)置通道優(yōu)先級(jí)權(quán)限高于軟件版本新舊后,conda會(huì)能更快的解決依賴關(guān)系,避免
defaults
和conda-forge
通道的奇怪組合導(dǎo)致軟件依賴解析遲遲不能將結(jié)束的問題:conda config --set channel_priority strict
(這個(gè)命令只需要運(yùn)行一次)。創(chuàng)建一個(gè)新環(huán)境 (
conda env create -n env_name
)再安裝軟件,這樣就不用考慮與已有的軟件的兼容問題了,也可以大大降低搜索空間和提高解析軟件依賴的速度。-
如果安裝的軟件提供了
environment.yaml
那么用起來,文件中對(duì)應(yīng)的軟件版本都很明確,解析依賴關(guān)系時(shí)更快。也可以按前面提供的方式導(dǎo)出一個(gè)已經(jīng)配置好的環(huán)境的yaml
文件,在其它電腦配置時(shí)直接讀取。(具體導(dǎo)出方式見Bioconda軟件安裝神器:多版本并存、環(huán)境復(fù)制、環(huán)境導(dǎo)出。channels: - qiime2/label/r2020.6 - conda-forge - bioconda - defaults dependencies: - _libgcc_mutex=0.1 - _openmp_mutex=4.5 - _r-mutex=1.0.1 - alsa-lib=1.1.5 - arb-bio-tools=6.0.6 - attrs=19.3.0 - backcall=0.2.0 - bibtexparser=1.1.0 - binutils_impl_linux-64=2.34 - binutils_linux-64=2.34 - bioconductor-biobase=2.42.0 - bioconductor-biocgenerics=0.28.0 - bioconductor-biocparallel=1.16.6 - bioconductor-biostrings=2.50.2 - bioconductor-dada2=1.10.0 ~
-
添加Bioconda通道時(shí),注意順序,給予
conda-forge
最高優(yōu)先級(jí),其次是bioconda
。如果之前已經(jīng)添加好了通道,自己在~/.condarc
中調(diào)整順序。conda config --add channels defaults conda config --add channels bioconda conda config --add channels conda-forge
綜合以上組合,之前嘗試多次都沒安裝好的工具,直接搞定。
下載提速
國(guó)內(nèi)鏡像,見軟件安裝不上,可能是網(wǎng)速慢!Conda/R/pip/brew等國(guó)內(nèi)鏡像大全拿走不謝~~
換個(gè)網(wǎng)或從朋友處拷貝已經(jīng)下載好的壓縮包一般在
anaconda_root_dir/pkgs
下,拷貝放在自己的anaconda3/pkgs
下面,再次下載時(shí)系統(tǒng)會(huì)識(shí)別已經(jīng)下載好的包而跳過 (并不總是有效)。-
獲取所有相關(guān)包的名字,從朋友處拷貝下載好的安裝包。
如果拷貝過來未能自動(dòng)識(shí)別,可手動(dòng)安裝
conda install --offline local_path
。
mamba install r-base=4.0.2 r-ggplot2=3.3.2 --dry-run >package_solving_result
# _anaconda_depends pkgs/main/linux-64::_anaconda_depends-2020.07-py37_0
# _r-mutex conda-forge/noarch::_r-mutex-1.0.1-anacondar_1
# binutils_impl_lin~ pkgs/main/linux-64::binutils_impl_linux-64-2.33.1-he6710b0_7
# binutils_linux-64 conda-forge/linux-64::binutils_linux-64-2.33.1-h9595d00_17
# brotlipy conda-forge/linux-64::brotlipy-0.7.0-py37h516909a_1000
# bwidget conda-forge/linux-64::bwidget-1.9.14-0
# gcc_impl_linux-64 pkgs/main/linux-64::gcc_impl_linux-64-7.3.0-habb00fd_1
# gcc_linux-64 conda-forge/linux-64::gcc_linux-64-7.3.0-h553295d_17
# 獲取所有包的名字
grep '::' a | sed 's/.*:://' | sed 's/$/.tar.bz2/'
# 手動(dòng)安裝
for i in `grep '::' a | sed 's/.*:://' | sed 's/$/.tar.bz2/'`; do conda install --offline /anaconda3/pkgs/$i; done
使用conda-pack直接從已經(jīng)安裝好的地方拷貝一份 (同一操作系統(tǒng))
安裝conda-pack
conda install -c conda-forge conda-pack
# pip install git+https://github.com/conda/conda-pack.git
打包已經(jīng)安裝好的環(huán)境
conda pack -n my_env_name -o my_env_name.tar.gz
拷貝打包好的環(huán)境my_env_name.tar.gz
到目標(biāo)機(jī)器,并解壓到任何目錄,一般推薦放到envs
目錄下 (anaconda_root/envs)
。(注意:anaconda_root改為自己的conda安裝路徑。)
# 解壓打包好的環(huán)境
# 默認(rèn)是全都解壓到當(dāng)前目錄,場(chǎng)面很壯觀
# -C 一定要指定
mkdir -p anaconda_root/envs/my_env
tar -xzf my_env.tar.gz -C anaconda_root/envs/my_env
# 激活環(huán)境
source my_env/bin/activate
# Unpack
conda-unpack
# 至此環(huán)境就完全拷貝過來了
source deactivate
直接上 Mamba
現(xiàn)在新版的mamba
支持開箱即用了,下載、初始化就可以使用。
# curl micro.mamba.pm/install.sh | bash
curl -Ls https://micro.mamba.pm/api/micromamba/linux-64/latest | tar -xvj bin/micromamba
./bin/micromamba shell init -s bash -p /mambaforge/
source ~/.bashrc
# mamba操作
micromamba activate # this activates the base environment
micromamba install python=3.10 jupyter -c conda-forge
# or
micromamba create -n env_name xtensor -c conda-forge
micromamba activate env_name
重用之前conda的環(huán)境
# 重用之前conda的環(huán)境
mkdir -p /mambaforge/envs/
ln -s /root/anaconda3/envs/* /mambaforge/envs/
# 如果還是習(xí)慣之前的使用mamba或conda的習(xí)慣,可以建個(gè)軟鏈接,換藥不換湯
mkdir /mambaforge/bin
mv ./bin/micromamba /mambaforge/bin
ln -s /mambaforge/bin/micromamba /mambaforge/bin/mamba
ln -s /mambaforge/bin/micromamba /mambaforge/bin/conda
往期精品(點(diǎn)擊圖片直達(dá)文字對(duì)應(yīng)教程)
后臺(tái)回復(fù)“生信寶典福利第一波”或點(diǎn)擊閱讀原文獲取教程合集
文章來源:http://www.zghlxwxcb.cn/news/detail-768700.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-768700.html
到了這里,關(guān)于一文掌握Conda/Mamba軟件安裝:虛擬環(huán)境、軟件通道、加速solving、跨服務(wù)器遷移...的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!