本文提供在Linux系统中进行NCBI BLAST+本地化的方法。实测环境为Linux64位系统,无ROOT权限。
本文面向初学者(最好还是懂得基本的linux使用),高手可直接忽视。不介绍Windows系统中的安装方法,一是因为思路一样,二是因为Linux中BLAST效率更高,系统更稳定,不会卡死。所以,请用Linux服务器,我想你也不忍心让自己心爱的本本跑几十个小时的程序吧。
请不要因为篇幅长,而觉得很困难,只是为了初学者能懂,叙述比较详(luo)细(suo)而已
——————-[ 做好心理准备,开始了]——————-
1. 安装配置BLAST+程序
在ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/中下载最新的BLAST可执行程序(不要下载源代码`,源码编译非常慢),选择预编译版本,如ncbi-blast-2.2.30+-x64-linux.tar.gz。如果服务器能联网,可直接用wget下载。或者,下载后用SFTP客户端传输到服务器上。
wget ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/ncbi-blast-2.2.30+-x64-linux.tar.gz
解压缩:
tar -zxvf ncbi-blast-2.2.30+-x64-linux.tar.gz
(按理说解压缩后就可以通过绝对路径直接使用了,但为了今后的方便,还是继续配置吧)为了方便,将其移动到我安装本地程序的目录(参考《[Linux上设置良好的目录结构][1]》),并重命名(固定命名,不带版本号,避免因升级而修改配置文件),统一管理。
mv ncbi-blast-2.2.30+ ~/local/app/ # 移动
cd ~/local/app/ # 进入本地程序安装路径
mv ncbi-blast-2.2.30+ blast # 修改目录名
现在,已经将BLAST+安装到~/local/app/blast
中了(~知道吧,就是用户的家目录,可用环境变量$HOME代替)。
Avoid reinventing the wheels. [Recommended] FASTA Splitter – A perl script that divides a large FASTA file into a set of smaller equally sized files. Written by Kirill Kryukov. split_fasta from nash-bioinformatics-codelets How to split a Multiple fasta on Biostar
PLOS Computational Biology上发表了《Ten Simple Rules for Effective Computational Research》,可以看成是《Ten Simple Rules for Reproducible Computational Research》(可复现的计算科学研究十条简单规则,以及自己的一些经验)的姊妹篇,本文结合我自己的经验对其阐述。
Look Before You Leap
动手前先看看有没有现成的软件或库,避免重复发明轮子。
多Google,在代码仓储网站(Github,SourceForge,GoogleCode)上面多搜搜。
Develop a Prototype First
先建立原型。
先设想好软件要实现什么功能,提供什么接口,并将问题进行细化,这样开展起来才能思路清晰,也方便团队分工。另外,也可以先用伪代码,或者高级语言(Matlab、R、Python、Perl等)快速开发一个简化版的原型,随后再用“低级语言”进行优化。
Avoid reinventing the wheels. 2015-07 But I still have one: gff2fa.py GFF-Ex, a Genome Feature extraction package extracts Gene, Exon, Intron, Upstream Region of Gene (Promoters), Intergenic and CDS/cDNA sequences by just tweeting in the Genome Feature File (gff) along with the corresponding genome/chromosome sequence. Question: Extract cds fastas from a gff annotation + reference sequence from biostars.org [bioperl needed]
本文介绍如何在Perl中用正则表达式匹配汉字。
这是根据@灰灰 的建议的最新一次修改版本(2014-04-22)。
注:下列代码保存于UTF8编码的文本文件中,且命令行终端为UTF8编码。
本文介绍自己的重庆驾照科目三复盛电子路考考试经验,相信对大家非常有用。
考试项目
具体的可以google或者百度其它网站的说明。具体流程为:上车后首先进行模拟夜间灯光操作,起步;后续包括必考的通过路口、学校、公交车站,直线行驶、变道、靠边停车;可能要考的而是掉头。一般每个人行驶2-3公里。考试车型为90辆长安逸动和10量新桑塔纳(几乎抽不到,据说都是给关系户用的)。大多指令由电脑发出,变道和停车由安全员发出。考试总分100分,90分及格。
考试地点与线路
考试地点是重庆江北区复盛镇,具体请google。考场规划有三条线路,目前(2014年2月11日)只开通了1、2号线,今天考试的时候,似乎只考了一号线。
考试要领
这个笔记不系统,只是记录我个人认为的一些有意义的技巧,防止忘记,故记录于此。
last update 2014-10-06
代码风格
前面一篇中讲到利用多线程编程来充分利用多核来加速任务处理,Gearman则可以利用多台机器的多核。
Gearman 是一个任务分发系统,它提供了一个分发框架,能够分发某类任务到更适合处理这类任务的服务器上去处理。并且,它支持任务并行处理、负载均衡以及多语言调用。它的适用范围很广,从高可用性的网站到透明的数据库复制等。换句话说,它是一个强健的分布式通信处理系统。
据我有限的实践得到的一些经验:
如果电脑无法进入操作系统(Windows, Linux,Mac OS X均适用),可以用Linux Live CD拯救硬盘中珍贵的数据。
为什么要用Linux的Live CD呢,因为Linux系统能够兼容更多的磁盘格式,而windows系统盘里的Win PE只认fat, ntfs等;而Mac OS X的系统盘似乎没有Live功能。我常用的Linux Live CD是fedora,ubuntu。
虽然可以制作USB启动盘,但我试过多次,在很多笔记本、服务器上都有问题。最方便、稳定的还是刻CD/DVD,兼容性更强。如果有的笔记本没有DVD驱动,可以用移动光驱。