建立本地的可视化blast页面

我们实验室主要是研究拟南芥的,因此要经常进tair网站,但是有时进的比较慢或者完全打不开,而NCBI也比较慢,所以我想建立一个本地的可视化的blast网站,以viroBlast为基础运行的。

下载安装依赖软件

sudo apt install apache2 libapache2-mod-php php php-gd

下载viroBlast软件

viroBlast软件对于学术研究是免费的,所以可以通过学术邮箱来得到下载链接

1572091375409.png
1572091527176.png

进入申请页面后填写信息就可以了,几分钟后邮箱会有两个邮件,有个邮件就是下载软件的链接,我的链接是http://indra.mullins.microbiol.washington.edu/viroblast/download.php?ID=viroblast.tar.gz

安装viroBlast

gzip -d viroblast-2.6+.tar.gz
tar -xvpf viroblast-2.6+.tar
mv viroblast/ /var/www/html/

此时,已经基本上完成了,在浏览器中打开链接:http://your_hostname/viroblast/viroblast.php,your_hostname换为服务器的ip。

1572092040889.png

构建数据库

这里我以拟南芥的为例:

  1. 下载基因组和cDNA的fasta序列
wget -c ftp://ftp.ensemblgenomes.org/pub/plants/release-45/fasta/arabidopsis_thaliana/dna/Arabidopsis_thaliana.TAIR10.dna.toplevel.fa.gz
wget -c ftp://ftp.ensemblgenomes.org/pub/plants/release-45/fasta/arabidopsis_thaliana/cdna/Arabidopsis_thaliana.TAIR10.cdna.all.fa.gz
  1. 解压以后将文件移到目录/var/www/html/viroblast/db/nucleotide/下,然后使用makeblast命令构建数据库
makeblastdb -dbtype nucl -in Arabidopsis_thaliana.TAIR10.dna.toplevel.fa -input_type fasta -parse_seqids -out Arabidopsis_10_genome_dna
makeblastdb -in Arabidopsis_thaliana.TAIR10.cdna.all.fa -input_type fasta -dbtype nucl -parse_seqids -out Arabidopsis_cdna
  1. 修改配置文件,配置文件在/var/www/html/viroblast/目录下,vim viroblast.ini,在blastn后面添加一下信息
blastn: test_na_db => Nucleotide test database, Arabidopsis_10_genome_dna => Arabidopsis genome database, Arabidopsis_cdna => Arabidopsis gene database     #如果有多个数据库的话可以使用‘,’来分隔

保存之后再刷新一下之前的页面会发现数据库已经添加进去了

1572092924426.png

现在就可以开心的在本地进行blast了。

局外

  1. viroblast目录下各个文件的介绍
    • viroblast.php: viroblast的主页面
    • blastresult.php: blast结果输出页面
    • blast.pl: perl程序执行blast+并把结果输出
    • sequence.php:显示结果并提供下载
    • download.php: 下载页面
    • viroblast.ini: viroblast程序的配置文件
      这个配置文件有两个重点,一个是blast的路径,一个是数据库的名字
      关于数据库有个小插曲,当我看到有测试文件时,我直接将他们给删除了,这导致在页面上blast是一直报错,提示BLAST Database error: No alias or index file found for nucleotide database,当我把他们加上时恢复正常,可能是因为删除后需要修改的地方没有修改完,这个小问题以后遇到再说吧,不知道有没有以后了
      • blast的路径可以使用自己安装的目录,也可以使用程序带的
      • 关于数据库的格式,简单说一下。格式是
        :  database_name1_for_display>,  database_name2_for_display>
        
        可选的program有blastn,blastp,blastx,xblastn,xblastx;
        database_file_name就是使用makeblastdb的输出文件的前缀;
        database_name_for_display是要在viroblast页面显示的名字。
    • ./viroblast/blast+/
      • 为linux/x64提供默认单独的blast+程序
    • ./viroblast/data/
      • 储存blast结果的文件夹
        因为每次运行都会生成一下结果文件,因此有必要设置这些文件的生存时间,我设置的是一周。也就是说从这个文件生成的一周后会被自动删除。
        设置方法如下:
        sudo nano /etc/crontab      #修改文件并在文件的下面添加下面的一个语句
         
        @daily root find /var/www/html/viroblast/data/ -mtime +6 -type f -delete
        
    • ./viroblast/docs/
      viroblast的文档
    • ./viroblast/db/nucleotide/
      存储核酸序列数据,供blast查询
    • ./viroblast/db/protein/
      存储蛋白序列数据,供blast查询
    • ./viroblast/image/
      viroblast页面使用到的图片。

小结

  1. 根据目的下载需要的数据
    比对基因序列要下载基因组序列;
    比对转录组序列要下载cDNA序列;
    比对蛋白组要下载蛋白序列;
    同样也可以提取每个基因的序列。
  2. 如果懂php的话可以修改viroblast.php文件,是页面更炫酷。

你可能感兴趣的:(建立本地的可视化blast页面)