使用SequenceServer搭建本地化blast网页服务

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

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据