轉(zhuǎn)自:賣萌哥
2021-04-27 update: 更新了提供conda鏡像的大學(xué)的列表
2021-04-13 更新預(yù)告: 本來打算在閱讀量過40萬的時候更新一遍新的內(nèi)容的. 但是時間精力實在是不允許我從頭寫一遍這個系列了. 所以目前的打算是在這個原文上直接進(jìn)行修改. 把原文復(fù)制一份作為存檔, 直接把過時的內(nèi)容給刪掉, 更新成新的.
2020-08-10 update: 添加了兩個新的國內(nèi)鏡像.
2020-08-06 update: 添加了北外的conda頻道,添加一些conda的報錯信息及解決方法。
2020-07-08 update:更新了底部洲更學(xué)長的軟件安裝課程,現(xiàn)在已經(jīng)在B站免費觀看了~歡迎小伙伴們素質(zhì)三連~
2020-06-14 update: 更新了mac用戶的miniconda下載鏈接、更新了北外的鏡像站點、修正了之前不將conda加入環(huán)境變量的刻板印象
2019-06-28 update: 增加刪除、重命名conda環(huán)境的操作
2019-06-17 update: 普大喜奔!清華恢復(fù)了conda的鏡像!清華????!附上最新的添加清華鏡像的命令!
2019-06-12 update: 發(fā)現(xiàn)了一個新的anaconda repo叫g(shù)enomedk,添加了hoptop的搭建本地conda鏡像的教程
2019-05-16 update: 有的小伙伴不知道怎么添加官方源,這邊補(bǔ)充一下
2019-05-07 update: 萬萬沒想到,騰訊的鏡像比清華的先掛了……
2019-04-29 update: 更新了新的查找軟件的recipe,更新了騰訊源來取代即將掛掉的清華源
有很多的生信軟件都可以通過conda安裝,省去了很多的安裝、修bug的煩惱。經(jīng)常是安裝到崩潰的軟件,conda一行命令就搞定了。前兩天有個胖友問我gatk 3.8的版本在哪里下,下載好了之后怎么安裝,我果斷打開了https://bioconda.github.io/recipes?,告訴她安裝conda吧,只要一行命令conda install gatk就行了。
(2019-04-29 update:這個網(wǎng)址已經(jīng)掛掉了,請改用:https://anaconda.org/bioconda/repo,或者直接用bing/google搜“conda gatk” 這樣的關(guān)鍵詞,基本上跳出來的第一個就是。
然后她很可愛的問我conda怎么裝。。果斷就把這篇教程丟給她了,但是發(fā)現(xiàn)現(xiàn)在的用法和以前的不是很一樣了,所以就把原來的教程更新了一下以饗讀者。

你要的gatk
conda簡介
Conda 是一個開源的軟件包管理系統(tǒng)和環(huán)境管理系統(tǒng),用于安裝多個版本的軟件包及其依賴關(guān)系,并在它們之間輕松切換。 Conda 是為 Python 程序創(chuàng)建的,適用于 Linux,OS X 和Windows,也可以打包和分發(fā)其他軟件。
安裝conda
conda分為anaconda和miniconda。anaconda是包含一些常用包的版本(這里的常用不代表你常用 微笑.jpg),miniconda則是精簡版,需要啥裝啥,所以推薦使用miniconda。
下載網(wǎng)址
miniconda官網(wǎng):https://conda.io/miniconda.html
選擇適合自己的版本,用wget命令下載。
wget-c https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh# 這個版本是適合于linux的,要看清楚噢。# mac用戶請用:curl-Ohttps://repo.anaconda.com/miniconda/Miniconda3-latest-MacOSX-x86_64.sh# mac用戶選擇圖形化界面的anaconda版本也可。# 傳送門:https://www.anaconda.com/products/individual # 往下翻,選擇64-Bit Graphical Installer
這里選擇的是latest-Linux版本,所以下載的程序會隨著python的版本更新而更新(現(xiàn)在下載的版本默認(rèn)的python版本已經(jīng)是3.7了)
安裝命令
chmod 777 Miniconda3-latest-Linux-x86_64.sh #給執(zhí)行權(quán)限bash Miniconda3-latest-Linux-x86_64.sh #運行
注意,以前的教程都是教一路yes下來的,但是會有隱患,特別是當(dāng)你的服務(wù)器之前有安裝過軟件的話,conda會污染你原來的環(huán)境,把你原來設(shè)置好的東西進(jìn)行更改。具體的慘痛教訓(xùn)請參見:
2020-06-14 update: 從下面不加入環(huán)境變量這一步開始,其實是非必須的(也就是正常的加入環(huán)境變量即可)。之前所謂的會污染環(huán)境等等問題可能都是將大量的軟件直接安裝在conda的base環(huán)境中引起的,只要養(yǎng)成好的使用習(xí)慣,靈活使用conda create 命令將不同的軟件安裝到自己單獨的虛擬環(huán)境中就可以了。把conda這條蟒蛇關(guān)進(jìn)一個一個的籠子里,才能更好的為我們的科研服務(wù)~
所以在詢問是否將conda加入環(huán)境變量的時候選擇no。

選擇no
啟動conda(非必須步驟)
2020-06-14 update: 只要正常的按照安裝提示進(jìn)行啟動即可
在上一步選擇no之后,輸入conda是會報找不到此命令的。那要如何啟動呢?
找到你剛才安裝的miniconda,如果沒有更改過安裝位置的話應(yīng)該是在/home下面,cd到miniconda3的bin目錄下面,能看到有一個activate。

activate
這里需要給activate添加一下權(quán)限才能使用
chmod 777 activate
接下來啟動conda
. ./activate #這里的第一個點跟source是一樣的效果,我比較懶。

成功啟動conda
當(dāng)命令行前面出現(xiàn)(base)的時候說明現(xiàn)在已經(jīng)在conda的環(huán)境中了。這時候輸入conda list?命令就有反應(yīng)了

conda list
添加頻道
2019-05-16 update: 這個道理跟家里的電視機(jī)是一樣一樣的,安裝conda就相當(dāng)于買了一臺電視機(jī),但是有電視了不意味著你就能看節(jié)目了,你要手動添加頻道才能看你想看的電視節(jié)目。
官方channel:?(先不要急著添加這兩個哦~,只要添加下面的清華的4個鏡像地址就足夠了的~):
conda config--addchannels biocondaconda config--addchannels conda-forge
官方的話這兩個channel應(yīng)該就夠了的。
2020-06-14 update:但是其實現(xiàn)在用國內(nèi)的鏡像比較多,官方的頻道相較而言速度較慢。但也不是絕對的,有小伙伴跟我說他使用官方的頻道也很流暢,所以見仁見智啦。另外,不建議加入大量的相同的頻道,如添加了官方的bioconda之后又添加清華的bioconda鏡像,沒有必要,而且會拖慢速度。
2019-06-12 update:最近在裝raxml-ng的時候發(fā)現(xiàn)了一個新的channel叫g(shù)enomedk,各位也可以添加到condarc里去 ??
# 這個頻道有的時候會引起網(wǎng)絡(luò)錯誤, 網(wǎng)絡(luò)不穩(wěn)定的朋友不建議加.conda config--addchannels genomedk
順便安利一個我hoptop學(xué)長的教程:如何搭建一個本地的conda鏡像(包含bioconda)供各位愛折騰的高端玩家。
2019-06-17 update: 清華恢復(fù)了conda 的鏡像了!詳情請看下面:
借花獻(xiàn)佛給大家復(fù)習(xí)一遍如何添加清華的鏡像channels: 來源 →?生信媛: 喜大普奔: Anaconda的清華鏡像又可以用了
conda config--addchannels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/conda config--addchannels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/conda config--addchannels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/conda config--addchannels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
2020-06-14 update: 為了分擔(dān)清華源鏡像的壓力,最近北京外國語大學(xué)也開啟了鏡像站點,同樣是由清華TUNA團(tuán)隊維護(hù)的,如果有小伙伴遇到清華源速度很慢的情況的話,可以考慮換成北外的鏡像。
新聞傳送門:https://mirrors.tuna.tsinghua.edu.cn/news/bfsu-mirror/
鏡像傳送門:https://mirrors.bfsu.edu.cn/help/anaconda/
2020-08-05 update: 為了方便大家(當(dāng)然主要是自己偷懶用), 把北外的鏈接也給寫出來, 這樣就可以直接復(fù)制粘貼了~當(dāng)然兩者取其一就可以了, 不用重復(fù)添加.
另外, 我查看了中科大的鏡像https://mirrors.ustc.edu.cn/anaconda, 點擊這個地址會直接跳轉(zhuǎn)到清華tuna的鏡像站點. 所以目前看起來國內(nèi)是只有清華和北外兩個鏡像站點可用了~如果有小伙伴知道還有別的鏡像可以用的話歡迎在下面留言或者私信我鴨!
conda config--addchannels https://mirrors.bfsu.edu.cn/anaconda/cloud/bioconda/conda config--addchannels https://mirrors.bfsu.edu.cn/anaconda/cloud/conda-forge/conda config--addchannels https://mirrors.bfsu.edu.cn/anaconda/pkgs/free/conda config--addchannels https://mirrors.bfsu.edu.cn/anaconda/pkgs/main/下面這個我沒用過,但是看起來像是R的頻道,可以添加一下試試看.conda config--addchannels https://mirrors.bfsu.edu.cn/anaconda/pkgs/r/
如果你需要其他的更多的頻道,請訪問這個地址??:?https://mirrors.bfsu.edu.cn/help/anaconda/?里面有詳細(xì)的指導(dǎo)噠
2021-04-27 update: 更新了提供conda鏡像的大學(xué)的列表
目前國內(nèi)提供conda鏡像的大學(xué)
清華大學(xué):?https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/
北京外國語大學(xué):?https://mirrors.bfsu.edu.cn/help/anaconda/
南京郵電大學(xué):?https://mirrors.njupt.edu.cn/
南京大學(xué):?http://mirrors.nju.edu.cn/
重慶郵電大學(xué):?http://mirror.cqupt.edu.cn/
上海交通大學(xué):?https://mirror.sjtu.edu.cn/
哈爾濱工業(yè)大學(xué):?http://mirrors.hit.edu.cn/#/home
(目測哈工大的鏡像同步的是最勤最新的)
如果清華的或者北外的
顯示安裝的頻道
conda config --set show_channel_urls yes
查看已經(jīng)添加的channels
conda config--getchannels
已添加的channel在哪里查看
vim ~/.condarc
利用conda安裝生物信息軟件
安裝命令:
conda install gatk
搜索需要的安裝包:
提供一個網(wǎng)址,用于事先查找想安裝的軟件存不存在
2020-06-14 update: 鏈接已掛,請選擇用下面的conda search命令或者開頭提供的更新的網(wǎng)址
當(dāng)然, 也可以用這個命令進(jìn)行搜索(會稍微慢一點)
conda search gatk
安裝完成后,可以用“which 軟件名”來查看該軟件安裝的位置:
which gatk
如需要安裝特定的版本:
conda install 軟件名=版本號conda install gatk=3.7
這時conda會先卸載已安裝版本,然后重新安裝指定版本。
查看已安裝軟件:
conda list
更新指定軟件:
conda update gatk
卸載指定軟件:
condaremovegatk
退出conda環(huán)境
退出也很簡單,之前我們是. ./activate 或者 (. ~/miniconda3/bin/activate)現(xiàn)在退出只要:
. ./deactivate# 或者用 conda deactivate
就退出當(dāng)前的環(huán)境了
創(chuàng)建軟件的軟鏈接(非必須步驟)
跟著命令一路敲到這里的小旁友們估計發(fā)現(xiàn)了,現(xiàn)在退出conda環(huán)境之后之前安裝的軟件全都GG了,敲命令沒法執(zhí)行了!
怎么辦呢!其實只要把安裝好的軟件軟連接到一個處在環(huán)境變量里的位置就可以使用了。三步走:
第一步,創(chuàng)建一個文件夾
我一般的習(xí)慣是在/home目錄下創(chuàng)建一個.soft文件夾
第二步,將這個文件夾添加到環(huán)境變量中
export PATH="~/.soft:$PATH"
第三步,軟鏈接
ln-s~/miniconda3/bin/gatk ~/.soft
這樣就可以運行啦~如果還是不行建議試試初始化一下bashrc:. ./bashrc
創(chuàng)建conda環(huán)境(常用步驟,強(qiáng)烈推薦)
之前創(chuàng)建的時候顯示的是(base)這是conda的基本環(huán)境,有些軟件依賴的是python2的版本,當(dāng)你還是使用你的base的時候你的base里的python會被自動降級,有可能會引發(fā)別的軟件的報錯,所以,可以給一些特別的軟件一些特別的關(guān)照,比如創(chuàng)建一個單獨的環(huán)境。
在conda環(huán)境下,輸入conda env list(或者輸入conda info --envs也是一樣滴)查看當(dāng)前存在的環(huán)境:
conda envlist# 這是我相當(dāng)常用的一條命令了,建議記一記

目前的環(huán)境
目前只有一個base
conda create -n python2 python=2# -n: 設(shè)置新的環(huán)境的名字# python=2 指定新環(huán)境的python的版本,非必須參數(shù)# 這里也可以用一個-y參數(shù),可以直接跳過安裝的確認(rèn)過程。
conda會創(chuàng)建一個新的python2的環(huán)境,并且會很溫馨的提示你只要輸入conda activate python2就可以啟動這個環(huán)境了

新的環(huán)境
退出環(huán)境
如上面的截圖提到的,只要
conda deactivate
2019-6-28 update: 如何刪除和重命名一個已存在的環(huán)境
刪除環(huán)境
刪除也很容易的
condaremove-n myenv--all
就可以退出當(dāng)前環(huán)境。
掌握了創(chuàng)建和刪除我們就可以實現(xiàn)重命名的操作了
重命名環(huán)境
實際上conda并沒有提供這樣的功能,但是可以曲線救國,原理是先克隆一個原來的環(huán)境,命名成想要的名字,再把原來的環(huán)境刪掉即可
參考自:conda 創(chuàng)建/刪除/重命名 環(huán)境
接下來演示把一個原來叫做py2的環(huán)境重新命名成python2:
conda create -n python2 --clone py2conda remove -n py2 --all
騷操作:allias簡化啟動(非必須步驟)

image.png
linux提供了一個給大家偷懶的命令叫alias,只要在你的.bashrc里設(shè)置一下就好了,我添加了一條叫做condaup的命令,這樣就可以免去每次敲. ~/miniconda/bin/dactivate的麻煩,一步搞定~技術(shù)宅改變世界!

報錯信息集錦
2020-08-06 update: 我最近用conda總是發(fā)生一些奇怪的問題, 所以想把報錯的信息及解決方式給收集整理一下.
報錯1: 網(wǎng)絡(luò)錯誤
Collecting package metadata(current_repodata.json):failedCondaHTTPError:HTTP000CONNECTION FAILEDforurl<https://conda.anaconda.org/genomedk/linux-64/current_repodata.json>Elapsed:-An HTTP error occurred when trying to retrieve this URL.HTTP errors are often intermittent,anda simple retry will get you on your way.u'https://conda.anaconda.org/genomedk/linux-64'
一般這種問題就只要重新運行一下上一條命令就可以了. 有的時候網(wǎng)絡(luò)不穩(wěn)定而已.
報錯2: 其他的錯誤等我找到解決方法再更新上來~
參考及感謝
感謝青山屋主在知乎的專欄文章~
使用Bioconda管理Linux系統(tǒng)中的生物信息軟件
我為什么能知道這么多呢?因為我看了我洲更學(xué)長hoptop的課??!推薦給你們!
https://ke.qq.com/course/310838
2020-07-08 update: 洲更學(xué)長的課程免費在b站放送啦!~快來白嫖!~
https://www.bilibili.com/video/BV1JJ411p7fX
conda的cheatsheet。conda官方提供的小抄了解一下~
https://conda.io/docs/user-guide/cheatsheet.html
ps:簡書終于提供markdown編輯器的同步滾動了!開心!