本地Blast2GO安装,及其数据库更新和导入数据中断的解决方案

楼主  收藏   举报   帖子创建时间:  2018-08-21 00:00 回复:2 关注量:172

本文提供改进的本地化Blast2GO自动化安装脚本,以及指导如何更新数据库,并提供导入数据中断的解决方案对无root权限的用户同样有效,同时指导如何成功运行b2g4pipe和本地Blast2GO图形界面。

由于Blast2GO官方网站提供的Blast2GO数据库安装教程需要用户具有root权限,而其官网上另一自动化安装脚本已过时,会出错,故文本将二者结合,并根据自身经验重新整理。

软件环境

  • 操作系统 :Linux(Centos, Ubuntu, Fedora等),最好有root权限,配置mysql。
  • 数据库 :Mysql(或者Mysql的分支MariaDB),要有能创建数据库权限的用户,如果弄不到,可以参照我另一篇日志在没有Root权限的情况下安装Mysql
  • Java运行环境:一定要Oracle  JDK (6、7都行),不要用OpenJDK!可参照我另一篇日志《Linux安装JDK》(内含没root权限时安装方法)。
  • Local NCBI-Blast

注:请一定参照网上的方法Mysql的数据库目录配置到有足够空间的目录下面!安装oracle  jdk,不用卸载openjdk,并切换java到oracle jdk。

sudo /usr/sbin/alternatives --config java

手动准备数据

1) 避免不稳定的网络环境使下载中断,自己用迅雷或者FTP客户端(wget也支持断点续传)下载以下4个文件(一共5.1G):

2) 解压文件。提示:gzip -d解压文件后会删除原来的压缩文件。

3)下载local_b2g_db.zip文件,并解压。内含创建数据库的b2gdb.sql文件和导入idmapping文件的java程序ImportIdMapping.class及其依赖的库mysql-connector-java-5.0.8-bin.jar。

为了方便,上述文件都放到同一目录下。解压后文件清单如下:

导入数据库

1) 配置download_and_install.sh文件:

注意如果是无root权限安装的MySQL,一定要设置数据库端口为为自己设置的端口,比如我的33060,否则无法导入idmapping.tb

如果导入数据出现中断,切勿简单地重新运行download_and_install,请参照后面的章节进行操作。

2) 运行download_and_install.sh

由于非常费时,强烈推荐以下命令将任务转到后台

关闭ssh客户端后,任务仍然可以正常运行,通过查看nohup的默认日志文件nohup.out来观察数据导入的进度。

运行时间:

我的笔记本(Intel(R) Core(TM) i5-3320M CPU @ 2.60GHz双核四线程,硬盘7200 rpm)工作硬盘4921 RPM,CPU温度73.0°C 。%>_<%

go_201307-assocdb-data(约5小时)和idmapping.tb(约1.5小时)比较费事。

总共导入数据需要约7小时。

数据库各文件大小:

运行官方的例子b2g4pipe

下载 https://blast2go.com/data/blast2go/b2g4pipe_v2.5.zip并解压。配置b2gPipe.properties文件中b2gdb信息:

注意:如果是无root权限安装的MySQL,一定要设置数据库端口为为自己设置的端口。

运行自带例子:

不到一分钟运行结束。

运行图形界面

直接运行命令java -cp *:ext/*: es.blast2go.Blast2GO或者,将其写入文件:

运行脚本:

进入图形界面后,配置数据库:菜单栏点击“Tools”,最后一个“DB configuration",更改Host为localhost,DB name为b2gdb,然后点击播放按钮生效,下次启动程序仍然有效。注意:如果是无root权限安装的MySQL,Host需要加上自定义的mysql端口,比如localhost:33060。

运行例子:菜单栏File->Import->Import Blast Results->One XML File,导入10_BlastResults_2011.xml,菜单栏Mapping->Run Go Mapping Step即可。运行一分钟左右完成。

数据库更新 ,导入数据中断的解决方案:

1)assocdb-data数据的更新:

下载解压新的assocdb-data文件后,注释download_and_install.sh中其它导入数据的命令,只保留第二步:

并运行download_and_install.sh。不用担心与旧的数据冲突,它们会被自动删除然后更新。

2)gene2accession、gene_info、idmapping.tb的更新:

由于它们是以导入数据文件的方式导入数据库,需要登陆到数据库中,手动清空对应的原来数据表中的数据

注意,上面truncate table gi2uniprot花费0.00 sec是因为当时我还没有导入idmapping.tb,即gi2uniprot中还没有数据,所以速度很快。

3)用download_and_install导入数据时,如果出现中断,请参照上面“数据库各文件大小”核对数据文件大小,确认已导入和未导入的数据库,按照“数据库更新”的操作恢复导入过程,切勿简单地重新运行download_and_install。

参考

  1. Blast2GO安装 http://blog.sciencenet.cn/blog-402211-629228.html
  2. Blast2GO Documentation http://www.blast2go.com/b2glaunch/resources
  3. Local Blast2GO Database Installation http://www.blast2go.com/b2glaunch/resources/35-localb2gdb
  4. 其它无数Google出来的页面

-EOF-

本文转自 爪爪

《本地Blast2GO安装,及其数据库更新和导入数据中断的解决方案》http://blog.shenwei.me/local-blast2go-installation/

  • ***1爪爪 2013-11-13 16:42
    #1

    blast2go的时候,PC远程连接服务器的数据库提示connection time out,在排除防火墙设置原因后,仍未解决,今天才想起来是mysql用户权限问题。

  • ***之前哪位童鞋遇到的一直没解决,特做了更新。 1970-01-01 08:00
    #2