1. 简介
现在NCBI不再提供wwwblast软件下载。且NCBI的wwwblast软件很久没更新,界面简陋,因此不推荐使用该软件进行本地化blast分析。使用SequenceServer部署本地化blast网页服务,界面简单易用,还可以同时勾选多个数据库进行比对分析。以下讲解使用Sequenceserver在Rocky 9.2 Linux系统上搭建本地化blast网页服务。
2. 安装软件
由于SequenceServer软件采用Ruby编程,其部署需要先使用root用户安装所需要依赖的ruby软件。由于当前最新版本SequenceSever 2.1.0版本的安装和使用需要依赖高于3.0.6版本的ruby软件,而Rocky 9.2系统默认安装的ruby软件版本为3.0.4,不能满足需求。因此需要独立安装高版本的ruby软件后,再安装最新版本的SequenceServer软件。
# 首先使用dnf命令安装ruby和rbenv。
sudo dnf install ruby ruby-devel rbenv gem
# 然后,使用rbenv的ruby-build命令安装高版本ruby。
sudo ruby-build --list
sudo ruby-build 3.1.2 /opt/sysoft/ruby-3.1.2
# 最后,使用高版本ruby安装sequenceserver
sudo /opt/sysoft/ruby-3.1.2/bin/gem install sequenceserver
echo 'PATH=/opt/sysoft/ruby-3.1.2/bin:$PATH' >> ~/.bashrc
source ~/.bashrc
3. 使用sequenceserver
3.1 简单使用方法
使用sequenceserver要求安装有NCBI-blast+程序及其数据库。
# sequenceserver -d /opt/biosoft/wwwblast/db -n 16 -p 4567 程序运行后,在本机的浏览器中打开 localhost:4567,即可访问本地化blast网页服务。 常用参数: -b | --bin 输入ncbi-blast+的bin文件路径 -d | --database_dir 输入blast数据库路径 -n | --num_threads 设置使用的CPU线程数 -H | --host 设置运行程序的主机信息,默认为localhost,则启动程序后,可以在本机上访问localhost:4567。若需要提供远程访问服务,则需要填写对外的IP地址。 -p | --port 设置使用的端口号,默认为4567。
3.2 提供稳定的网站服务
先准备程序的配置文件/etc/sequenceserver.conf,用于设置程序运行参数和输入数据。其内容示例如下,根据实际情况修改host为对外的IP地址,修改NCBI-Blast+的bin目录路径和数据库文件夹路径,修改防火墙端口开放设置。
--- :host: 10.0.0.5 :port: 4567 :databases_widget: tree :options: :blastn: :default: - "-task blastn" - "-evalue 1e-5" :custom: - "-task blastn" - "-evalue 1e-5 -num_alignments 20" :blastp: :default: - "-evalue 1e-5" :custom: - "-evalue 1e-5 -num_alignments 20" :blastx: :default: - "-evalue 1e-5" :custom: - "-evalue 1e-5 -num_alignments 20" :tblastx: :default: - "-evalue 1e-5" :custom: - "-evalue 1e-5 -num_alignments 20" :tblastn: :default: - "-evalue 1e-5" :custom: - "-evalue 1e-5 -num_alignments 20" :num_threads: 32 :num_jobs: 4 :job_lifetime: 43200 :cloud_share_url: https://share.sequenceserver.com/api/v1/shared-job :bin: "/opt/biosoft/ncbi-blast-2.14.0+/bin" :database_dir: "/disks/xxx/NCBI_blast_databases"
然后,生成文件/etc/systemd/system/sequenceserver.service,用于作开机启动。其内容如下:
[Unit] Description=SequenceServer server daemon Documentation="file://sequenceserver --help" "http://sequenceserver.com/doc" After=network.target [Service] Type=simple User=root ExecStart=/opt/sysoft/ruby-3.1.2/bin/sequenceserver -c /etc/sequenceserver.conf KillMode=process Restart=on-failure RestartSec=42s RestartPreventExitStatus=255 [Install] WantedBy=multi-user.target
让开机启动配置文件生效,并启动服务。
sudo systemctl restart sequenceserver.service
sudo systemctl enable sequenceserver.service