一开始我以为很少有人会像我这样,在一个没有任何生信基础的实验室搭建生物信息学分析平台。但是,我慢慢发现其实是有很多人像我这样子,希望学点生信,从生物这个坑慢慢往外爬。
好消息是这几年来有大量的资料涌现出来,既有文字也有视频,所以你根本不愁没有资料这件事情,坏消息是大部分资料都不会从零给你讲起,所以很多人直接在软件安装这一步就走不动了。一部分原因可以归结为初学者没有Linux基础,一部分原因是缺少一个合格的管理员帮你安装软件,还有一部分原因是教程作者虽然写了如何安装软件,但是都是默认你是有最高权限,而大部分人都只有服务器的普通使用权限,所以一出现问题就不知道如何解决。
作为一个从零开始学生信的过来人,一开始又使用着一台无人管理的服务器,所以在安装软件上我花了大量的时间,踩了各种奇奇怪怪的坑,所谓“久病成良医”,我在安装软件有着不一样的心得,我写了很多教程记录我的经验,但是都很零散。突然有一天,我想要不系统性做一个视频吧,这样子如果实验室里来了一个人新人,我就可以把这个视频丢给他让他自学,同时还可以帮助大部分苦苦挣扎的初学者。
很高兴,我的第一个作品终于能够和大家见面了,它是国内首个为生信初学者准备的Linux软件安装的课程,系统性教初学者如何解决软件安装这一个看似容易的问题。
没想到,我居然在它上面花了那么久的时间,为它写了万字的讲稿,做了近百页的PPT。被果子监制反复摧残,不断打磨。
Bioconda介绍
Bioconda是conda上一个分发生物信息的频道。而conda是最初为管理python包而建立的。以下是相关介绍:
“Conda is a portable package manager primarily for python and precompiled binaries. Miniconda is the base system of conda. It includes a standard python and a few required dependencies such as readline and sqlite. In conda, a channel contains a set of software typically managed by the same group.Bioconda is a channel of conda focusing on bioinformatics software. ”
Bioconda主页:Using bioconda - Bioconda documentation
anaconda、miniconda和conda的区别:FAQs - Bioconda documentation简单说来:“conda is a package manager, Miniconda is the conda installer, and Anaconda is a scientific Python distribution that also includes conda.”Bioconda的优点是安装简单,各个软件依赖的环境一同打包且相互隔离,非常适合在服务器中建立自己的生物信息分析环境。
有很多的生信软件都可以通过conda安装,省去了很多的安装、修bug的烦恼。经常是安装到崩溃的软件,conda一行命令就搞定了。前两天有个胖友问我gatk 3.8的版本在哪里下,下载好了之后怎么安装,我果断打开了https://bioconda.github.io/recipes,告诉她安装conda吧,只要一行命令
conda install gatk
就行了。(2019-04-29 update:这个网址已经挂掉了,请改用:
https://anaconda.org/bioconda/repo,或者直接用bing/google搜“conda gatk” 这样的关键词,基本上跳出来的第一个就是。
然后她很可爱的问我conda怎么装。。果断就把这篇教程丢给她了,但是发现现在的用法和以前的不是很一样了,所以就把原来的教程更新了一下以飨读者。
你要的gatk
conda简介
Conda 是一个开源的软件包管理系统和环境管理系统,用于安装多个版本的软件包及其依赖关系,并在它们之间轻松切换。Conda 是为 Python 程序创建的,适用于 Linux,OS X 和Windows,也可以打包和分发其他软件。
安装conda
conda分为anaconda和miniconda。anaconda是包含一些常用包的版本(这里的常用不代表你常用 微笑.jpg),miniconda则是精简版,需要啥装啥,所以推荐使用miniconda。
下载网址
miniconda官网:https://conda.io/miniconda.html
选择适合自己的版本,用wget命令下载。
wget -c https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh
# 这个版本是适合于linux的,要看清楚噢。
# mac用户请用:
curl -O https://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的版本更新而更新(现在下载的版本默认的python版本已经是3.7了)
安装命令
chmod 777 Miniconda3-latest-Linux-x86_64.sh #给执行权限
bash Miniconda3-latest-Linux-x86_64.sh #运行
注意,以前的教程都是教一路yes下来的,但是会有隐患,特别是当你的服务器之前有安装过软件的话,conda会污染你原来的环境,把你原来设置好的东西进行更改。具体的惨痛教训请参见:
Anaconda is a snake.
2020-06-14 update: 从下面不加入环境变量这一步开始,其实是非必须的(也就是正常的加入环境变量即可)。之前所谓的会污染环境等等问题可能都是将大量的软件直接安装在conda的base环境中引起的,只要养成好的使用习惯,灵活使用conda create 命令将不同的软件安装到自己单独的虚拟环境中就可以了。把conda这条蟒蛇关进一个一个的笼子里,才能更好的为我们的科研服务~
所以在询问是否将conda加入环境变量的时候选择no。
选择no
启动conda(非必须步骤)
2020-06-14 update: 只要正常的按照安装提示进行启动即可
在上一步选择no之后,输入conda是会报找不到此命令的。那要如何启动呢?
找到你刚才安装的miniconda,如果没有更改过安装位置的话应该是在/home
下面,cd
到miniconda3的bin目录下面,能看到有一个activate。
activate
这里需要给activate
添加一下权限才能使用
chmod 777 activate
接下来启动conda
. ./activate #这里的第一个点跟source是一样的效果,我比较懒。
成功启动conda
当命令行前面出现(base)
的时候说明现在已经在conda的环境中了。这时候输入conda list
命令就有反应了
conda list
顺便安利一个我hoptop学长的教程:如何搭建一个本地的conda镜像(包含bioconda)供各位爱折腾的高端玩家。2019-06-17 update: 清华恢复了conda 的镜像了!详情请看下面:
Anaconda 镜像即将恢复
借花献佛给大家复习一遍如何添加清华的镜像channels: 来源 → 生信媛: 喜大普奔: Anaconda的清华镜像又可以用了
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/conda-forge/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda/
2020-06-14 update: 为了分担清华源镜像的压力,最近北京外国语大学也开启了镜像站点,同样是由清华TUNA团队维护的,如果有小伙伴遇到清华源速度很慢的情况的话,可以考虑换成北外的镜像。
新闻传送门:https://mirrors.tuna.tsinghua.edu.cn/news/bfsu-mirror/
镜像传送门:https://mirrors.bfsu.edu.cn/help/anaconda/
2020-08-05 update: 为了方便大家(当然主要是自己偷懒用), 把北外的链接也给写出来, 这样就可以直接复制粘贴了~当然两者取其一就可以了, 不用重复添加.
另外, 我查看了中科大的镜像https://mirrors.ustc.edu.cn/anaconda, 点击这个地址会直接跳转到清华tuna的镜像站点. 所以目前看起来国内是只有清华和北外两个镜像站点可用了~如果有小伙伴知道还有别的镜像可以用的话欢迎在下面留言或者私信我鸭!
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/bioconda/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/cloud/conda-forge/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/main/
下面这个我没用过, 但是看起来像是R的频道, 可以添加一下试试看.
conda config --add channels https://mirrors.bfsu.edu.cn/anaconda/pkgs/r/
如果你需要其他的更多的频道,请访问这个地址?: https://mirrors.bfsu.edu.cn/help/anaconda/ 里面有详细的指导哒
2020-08-10 update: 在生信技能树的群里由群友@合肥-生信-gzcdo 提供了两个新的conda的国内镜像源
https://mirrors.nju.edu.cn/anaconda/
https://mirrors.sjtug.sjtu.edu.cn/anaconda/
各位朋友也可以试试看这两个镜像呀!~
显示安装的频道
conda config --set show_channel_urls yes
查看已经添加的channels
conda config --get channels
已添加的channel在哪里查看
vim ~/.condarc
利用conda安装生物信息软件
安装命令:
conda install gatk
搜索需要的安装包:
当然, 也可以用这个命令进行搜索(会稍微慢一点)
conda search gatk
安装完成后,可以用“which 软件名”来查看该软件安装的位置:
which gatk
如需要安装特定的版本:
conda install 软件名=版本号
conda install gatk=3.7
这时conda会先卸载已安装版本,然后重新安装指定版本。
查看已安装软件:
conda list
更新指定软件:
conda update gatk
卸载指定软件:
conda remove gatk
退出conda环境
退出也很简单,之前我们是. ./activate 或者 (. ~/miniconda3/bin/activate)
现在退出只要:
. ./deactivate
# 或者用
conda deactivate
就退出当前的环境了
创建软件的软链接(非必须步骤)
跟着命令一路敲到这里的小旁友们估计发现了,现在退出conda环境之后之前安装的软件全都GG了,敲命令没法执行了!
怎么办呢!其实只要把安装好的软件软连接到一个处在环境变量里的位置就可以使用了。三步走:
第一步,创建一个文件夹
我一般的习惯是在/home
目录下创建一个.soft
文件夹第二步,将这个文件夹添加到环境变量中
export PATH="~/.soft:$PATH"
第三步,软链接
ln -s ~/miniconda3/bin/gatk ~/.soft
这样就可以运行啦~如果还是不行建议试试初始化一下bashrc:. ./bashrc
创建conda环境(常用步骤,强烈推荐)
之前创建的时候显示的是(base)这是conda的基本环境,有些软件依赖的是python2的版本,当你还是使用你的base的时候你的base里的python会被自动降级,有可能会引发别的软件的报错,所以,可以给一些特别的软件一些特别的关照,比如创建一个单独的环境。
在conda环境下,输入conda env list
(或者输入conda info --envs
也是一样滴)查看当前存在的环境:
conda env list
# 这是我相当常用的一条命令了,建议记一记
目前的环境
目前只有一个base
conda create -n python2 python=2
# -n: 设置新的环境的名字
# python=2 指定新环境的python的版本,非必须参数
# 这里也可以用一个-y参数,可以直接跳过安装的确认过程。
conda会创建一个新的python2的环境,并且会很温馨的提示你只要输入conda activate python2就可以启动这个环境了
image.png
linux提供了一个给大家偷懒的命令叫alias,只要在你的.bashrc
里设置一下就好了,我添加了一条叫做condaup
的命令,这样就可以免去每次敲. ~/miniconda/bin/dactivate
的麻烦,一步搞定~技术宅改变世界!
image.png
利用Bioconda安装生物信息软件
要通过conda安装软件,首先从这里(Available packages)查找该软件是否被conda支持。如果支持,只需输入以下命令即可安装:
conda install fastqc(软件名)

安装完成后,可以用“which 软件名”来查看该软件安装的位置:

或者再次查看已安装软件列表“conda list”
conda默认安装软件的最新版本,如果想安装指定版本的某个软件,可以先用“conda search 软件名”搜索软件版本

星号标记的表示是已经安装的版本。要安装其他版本,输入:
conda install 软件名=版本号
这时conda会先卸载已安装版本,然后重新安装指定版本。
利用conda更新和卸载软件
查看已安装软件:
conda list
更新指定软件:
conda update 软件名
卸载指定软件:
conda remove 软件名
编辑于 2017-02-07
基本使用
安装必须软件
Demo示例
编译成书
Customize our bookdown
_bookdown.yml
_output.yml
基本规则
插入并引用图片(外部图片)
插入并引用表格(外部表格)
插入并引用表格(内部表格)
插入脚注
插入引文
准备Rmd文件
准备YML配置文件
其它定制
预览生成的WEB文件
References
bookdown
是著名R包作者谢益辉开发的,支持采用Rmarkdown
(R代码可以运行)或普通markdown
编写文档,然后编译成HTML
, WORD
, PDF
, Epub
等格式。样式清新,使用简单,值得拥有。
在Bookdown的官网,有很多免费的用bookdown
写的R书籍,如Hadley Wickham等撰写的《R for Data Science》,Roger D. Peng撰写的《R Programming for Data Science》, 陈总的《液体活检口袋书》,益辉的《R语言忍者秘笈》,《单细胞数据整体分析流程》https://hemberg-lab.github.io/scRNA.seq.course/index.html (初学单细胞分析可以完全照着这个,在学习过程中改进)。
还有很多基于Bookdown的教程,一时也想不起来,欢迎大家补充。我们前面转录组和R培训的教案也是用bookdown写作的,后续再调整下格式,出一批电子书和纸质书,有意向和需求的欢迎联系。
下面分2步讲述,自己如何构建一个Bookdown书籍,第一部分是通过bookdown示例了解其基本功能和使用,第二部分是个人在使用过程中碰到的问题和解决方式。
基本使用
安装必须软件
Rstudio
或Pandoc
二选一, bookdown
必须安装。
Install
Rstudio (version>1.0.0)
(安装和使用见Rstudio)Install
Pandoc (version>1.17.0.2)
或者参照here。如果系统新,可以直接使用系统自带的yum
或apt-get
;如果没有权限或系统比较老,Pandoc的安装可以使用conda,具体配置见Conda配置,配置好运行conda install -c conda-forge pandoc
即可安装。In R
install.packages("bookdown")
Demo示例
克隆或下载https://github.com/rstudio/bookdown-demo示例文件,编译成功后,依葫芦画葫芦修改.
编译成书
运行下载的示例中的bash _build.sh
,_book
目录下就是成书.
The content of _build.sh
is:
#!/bin/sh
Rscript -e "bookdown::render_book('index.Rmd', 'bookdown::gitbook')"
# 生成pdf需要安装好latex,如果不需要可以注释掉
Rscript -e "bookdown::render_book('index.Rmd', 'bookdown::pdf_book')"