我們實(shí)驗(yàn)室主要是研究擬南芥的展辞,因此要經(jīng)常進(jìn)tair網(wǎng)站司蔬,但是有時(shí)進(jìn)的比較慢或者完全打不開域携,而NCBI也比較慢巴帮,所以我想建立一個(gè)本地的可視化的blast網(wǎng)站帆啃,以viroBlast為基礎(chǔ)運(yùn)行的瞬女。
下載安裝依賴軟件
sudo apt install apache2 libapache2-mod-php php php-gd
下載viroBlast軟件
viroBlast軟件對于學(xué)術(shù)研究是免費(fèi)的,所以可以通過學(xué)術(shù)郵箱來得到下載鏈接
進(jìn)入申請頁面后填寫信息就可以了努潘,幾分鐘后郵箱會有兩個(gè)郵件诽偷,有個(gè)郵件就是下載軟件的鏈接,我的鏈接是
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/
此時(shí)疯坤,已經(jīng)基本上完成了报慕,在瀏覽器中打開鏈接:http://your_hostname/viroblast/viroblast.php,your_hostname換為服務(wù)器的ip压怠。
構(gòu)建數(shù)據(jù)庫
這里我以擬南芥的為例:
- 下載基因組和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
- 解壓以后將文件移到目錄/var/www/html/viroblast/db/nucleotide/下眠冈,然后使用makeblast命令構(gòu)建數(shù)據(jù)庫
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
- 修改配置文件,配置文件在/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 #如果有多個(gè)數(shù)據(jù)庫的話可以使用‘,’來分隔
保存之后再刷新一下之前的頁面會發(fā)現(xiàn)數(shù)據(jù)庫已經(jīng)添加進(jìn)去了
現(xiàn)在就可以開心的在本地進(jìn)行blast了布卡。
局外
- viroblast目錄下各個(gè)文件的介紹
- viroblast.php: viroblast的主頁面
- blastresult.php: blast結(jié)果輸出頁面
- blast.pl: perl程序執(zhí)行blast+并把結(jié)果輸出
- sequence.php:顯示結(jié)果并提供下載
- download.php: 下載頁面
- viroblast.ini: viroblast程序的配置文件
這個(gè)配置文件有兩個(gè)重點(diǎn),一個(gè)是blast的路徑雇盖,一個(gè)是數(shù)據(jù)庫的名字
關(guān)于數(shù)據(jù)庫有個(gè)小插曲忿等,當(dāng)我看到有測試文件時(shí),我直接將他們給刪除了崔挖,這導(dǎo)致在頁面上blast是一直報(bào)錯(cuò)贸街,提示BLAST Database error: No alias or index file found for nucleotide database,當(dāng)我把他們加上時(shí)恢復(fù)正常狸相,可能是因?yàn)閯h除后需要修改的地方?jīng)]有修改完薛匪,這個(gè)小問題以后遇到再說吧,不知道有沒有以后了- blast的路徑可以使用自己安裝的目錄卷哩,也可以使用程序帶的
- 關(guān)于數(shù)據(jù)庫的格式蛋辈,簡單說一下。格式是
可選的program有blastn将谊,blastp冷溶,blastx,xblastn尊浓,xblastx逞频;<program>: <database_file_name1 => database_name1_for_display>, <database_file_name2 => database_name2_for_display>
database_file_name就是使用makeblastdb的輸出文件的前綴;
database_name_for_display是要在viroblast頁面顯示的名字栋齿。
- ./viroblast/blast+/
- 為linux/x64提供默認(rèn)單獨(dú)的blast+程序
- ./viroblast/data/
- 儲存blast結(jié)果的文件夾
因?yàn)槊看芜\(yùn)行都會生成一下結(jié)果文件苗胀,因此有必要設(shè)置這些文件的生存時(shí)間,我設(shè)置的是一周瓦堵。也就是說從這個(gè)文件生成的一周后會被自動刪除基协。
設(shè)置方法如下:sudo nano /etc/crontab #修改文件并在文件的下面添加下面的一個(gè)語句 @daily root find /var/www/html/viroblast/data/ -mtime +6 -type f -delete
- 儲存blast結(jié)果的文件夾
- ./viroblast/docs/
viroblast的文檔 - ./viroblast/db/nucleotide/
存儲核酸序列數(shù)據(jù),供blast查詢 - ./viroblast/db/protein/
存儲蛋白序列數(shù)據(jù)菇用,供blast查詢 - ./viroblast/image/
viroblast頁面使用到的圖片澜驮。
小結(jié)
- 根據(jù)目的下載需要的數(shù)據(jù)
比對基因序列要下載基因組序列;
比對轉(zhuǎn)錄組序列要下載cDNA序列惋鸥;
比對蛋白組要下載蛋白序列杂穷;
同樣也可以提取每個(gè)基因的序列。 - 如果懂php的話可以修改viroblast.php文件卦绣,是頁面更炫酷耐量。