熟练掌握计算机语言是从事生物信息学研究的基础。尽管C、Java、Perl、R和Python等都有自己的优势,且在不同的生物信息分析项目中得到广泛使用。但是,对于生物信息学初学者而言,快速掌握Perl或Python是比较快的编程进阶之路。相对而言,Perl更擅长于模式匹配;而Python的计算效率更高,代码的可读性也更强。因此,现在越来越多的生物信息学工具是基于Python编写的。
Python的强大之处在于它提供了各种功能丰富的包(packages,modules),比如Biopython,HTSeq等。在初学python阶段,往往被安装各种各样的python包的安装所折磨。今天,老司机带你学习python包的安装,减少与服务器报错之间的纠缠,从此好好做科研~~~
(1)pip安装方法:
如果你是使用从python.org上安装的Python 2 >=2.7.9 or Python 3 >=3.4, pip和setuptools就已经配置在你的电脑上了。用pip安装package的方法很简单:
$pip install 'SomeProject'
$pip install 'SomeProject==1.4'
Pip最常用的场景是从Python Package Index(PyPI)中安装指定的包。但其强大的功能运行从其他资源安装你所需要的模块:
###Install a project from VCS in “editable” mode
$pip install -e git+https://git.repo/some_pkg.git#egg=SomeProject # from git
###Install from an alternate index
$pip install --index-url http://my.package.repo/simple/ SomeProject
###Install a particular source archive file
$pip install ./downloads/SomeProject-1.0.4.tar.gz
除了来自Eggs的包需要使用easy_install外,pip安装方法已经基本满足你的日常使用。pip和easy_install的对比请参照(https://packaging.python.org/discussions/pip-vs-easy-install/#pip-vs-easy-install)
pip是比easy_install和python setup.py install都好用的方法,具体特点可以看下面这个网站(https://stackoverflow.com/questions/3220404/why-use-pip-over-easy-install)。
(2)构建自己的python虚拟环境
很多小伙伴抱怨自己不是服务器管理员,无法使用root权限在全局下安装python包,那么,你一定要会创建虚拟环境:Python “Virtual Environments” allow Python packages to be installed in an isolated location for a particular application, rather than being installed globally.
创建虚拟环境需要使用到virtualenv,其本身就是python包,用pip直接安装即可。
$mkdir my_envs
$cd my_envs
#创建一个env_test目录,把相关的包安装到该目录下:
$ virtualenv venv
#接下来指定一个python解释器:
$virtualenv -p /usr/bin/python2.7 venv
#要开始使用虚拟环境,需要将其激活:
$ source venv/bin/activate
#如果你在虚拟环境中暂时完成了工作,则可以停用它:
$ deactivate
更多的信息可以参考python虚拟环境:http://pythonguidecn.readthedocs.io/zh/latest/dev/virtualenvs.html
(3)最强技能——Anaconda
Anaconda简直是神奇的存在,它不仅帮你解决各种包之间的依赖关系,而且还一并搞定系统依赖(缺少系统依赖有时候真的会把人搞疯,比如missing libxxxx.so之类的信息)。现在除了anaconda,还有精简的miniconda和专门为生物信息准备的bioconda,虽然名字不一样,只是默认安装时带的package不一样而已,使用方法没什么区别。
Miniconda installers包含conda package manager 和 Python,一旦Miniconda被安装,你就可以使用conda命令行安装任何包或者创建环境:
$conda install numpy
$conda create –n py3k anaconda python=3
使用conda更新包也十分简单
$conda updata conda
大家可以参照anaconda网站学习更多技能(https://www.continuum.io/download)