美文网首页blastn本地库构建
什么?!听说你还在用viroBlast搭建本地Blast网站?快

什么?!听说你还在用viroBlast搭建本地Blast网站?快

作者: 老饕_Ljw | 来源:发表于2022-02-22 15:04 被阅读0次

    写在前面

    • 刚开始整数据库的时候,用过viroBlast搭建Blast服务,详见用viroblast搭建本地blast网站 - 简书 (jianshu.com)
    • 最近之前的数据库课题准备收收尾整出去,完善相关功能的时候,越发的觉得viroBlast的界面是真的略丑。。。
    • 两个解法:1.直接修改viroBlast的源代码,使其风格与自己网站一致,比较繁琐,涉及到前端布局与风格调整,HTML、CSS、PHP(viroblast基于PHP开发)都要略懂才能整,不推荐。 2.使用更为美观的SequenceServer

    一、安装SequenceServer依赖

    • 安装ruby(SequenceServer是基于ruby开发的工具)
    • 直接在官网上(https://cache.ruby-china.com/pub/ruby/)下载需要的ruby版本,SequenceServer要求ruby>2.3,最好ruby>2.5。
    • 这里下载2.6.4


    • 下载并解压
    wget https://cache.ruby-china.com/pub/ruby/ruby-2.6.4.tar.gz
    tar xzvf ruby-2.6.4.tar.gz
    
    • 编译安装
    cd ruby-2.6.4
    ./configure
    make
    make install
    ruby -v  #查看是否安装成功
    #ruby 2.6.4p104 (2019-08-28 revision 67798) [x86_64-linux]
    
    • 安装RubyGems,RubyGems 是 Ruby 的一个包管理器,这里用于直接安装SequenceServer
    • 下载地址https://rubygems.org/pages/download
    wget https://rubygems.org/rubygems/rubygems-3.3.7.zip
    unzip rubygems-3.3.7.zip
    cd rubygems-3.3.7
    ruby setup.rb
    
    • 使用gem安装SequenceServer
    gem install sequenceserver
    
    • fine

    二、提供Blast库

    • 创建SequenceServer的db文件夹(可以指定任意路径),并将需要建blast库的核酸或者蛋白序列放到该文件夹
    mkdir db
    
    • 建立blast库,可以用SequenceServer自带命令建立,也可以自己用makeblastdb建立核酸库或者蛋白库
    #建立核酸库
    makeblastdb -input_type fasta -dbtype nucl -title Litchi.CDS.databases -in Lchinesis_genome.sim.cds.fa -parse_seqids 2>/dev/null
    #建立蛋白库
    makeblastdb -input_type fasta -dbtype prot -title Litchi.Protein.databases -in Lchinesis_genome.pep.sim.fa -parse_seqids 2>/dev/null
    

    三、启动SequenceServer

    #示例直接在db目录下运行,因此-d 参数直接给了./   也可以给db文件夹的绝对路径
    sequenceserver -d ./
    
    • 提示blast+版本过低,SequenceServer需要 BLAST+ version 2.12.0+
    • 下载并安装最新版blasthttps://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/
    wget https://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/ncbi-blast-2.12.0+-x64-linux.tar.gz
    tar xzvf ncbi-blast-2.12.0+-x64-linux.tar.gz
    cd ncbi-blast-2.12.0+
    cd bin/
    
    • 获取blast绝对路径
    pwd
    #/tools/ncbi-blast-2.12.0+/bin
    
    • 再次启动SequenceServer,并且按照提示输入刚刚安装好的blast+2.12的路径
    sequenceserver -d ./
    
    • 提示成功启动SequenceServer


    有两点需要注意:

    1. 给出的IP是一般是内网IP,一般要共享需要使用公网IP,替换即可。
    2. SequenceServer默认的端口在服务器中是否有开通,否则无法访问。如使用的是租借的云服务器,则需要进入服务器后台,手动在安全组中开放端口。
    • 直接在浏览器上访问IP:端口,即可看到SequenceServer界面啦
      主页
      检索中
      结果页面
      结果页面2

    四、 将SequenceServer嵌入自己的网站

    • 最简单粗暴的方法当然是使用<iframe>标签直接将SequenceServer界面嵌入到自己已有的网站页面,这样方便直接使用原网站样式,使其界面风格基本保证一致。

    • 或者直接修改SequenceServer代码,将其前端风格修改成自己网站的风格。源码在ruby安装目录下的gem中,需要找一找。一般我会把navigation bar和footer删掉,直接当成一个控件嵌入原有网站,非常舒服。

    /usr/local/lib/ruby/gems/2.6.0/gems/sequenceserver-2.0.0/views
    
    • 干脆啥也不改,直接link到相应的功能按钮,点击跳转完事

    写在最后

    事情还是有始有终的好,无论是课题亦或者其他事,问心无愧,就好。
    我是阿威,菜菜的阿威
    对了,今天的日子还挺有意思,2022.02.22!

    相关文章

      网友评论

        本文标题:什么?!听说你还在用viroBlast搭建本地Blast网站?快

        本文链接:https://www.haomeiwen.com/subject/iteglrtx.html