Make directory /db and mount it as separated partition.
Copy update script from Blast+ bin directory.
# cp /usr/share/ncbi-blast-2.6.0+/bin/update_blastdb.pl /db/ # apt-get install liblist-moreutils-perl
List database names
# cd /db # ./update_blastdb.pl --showall
Download/update database
# cd /db # ./update_blastdb.pl --decompress --verbose swissprot
Download and install
# wget ftp://ftp.ncbi.nlm.nih.gov/blast/executables/blast+/LATEST/ncbi-blast-2.6.0+-x64-linux.tar.gz # tar xzf ncbi-blast-2.6.0+-x64-linux.tar.gz # mv ncbi-blast-2.6.0+ /usr/share/ # chown -R root:root /usr/share/ncbi-blast-2.6.0+ # changemod -R 755 /usr/share/ncbi-blast-2.6.0+
User script to activate Blast+
export PATH=/usr/share/ncbi-blast-2.6.0+/bin:$PATH export BLASTDB=/db
Test installation
$ blastp -db swissprot -query testseq.fasta
Copy update script in directory /db.
#!/bin/bash cd /db date > "update.log" #verify lock db echo "verifica lock" >> "update.log" DIRS=$(find "/home/" -mindepth 1 -maxdepth 1 -type d) for user in $DIRS do filelock=$user"/dblock" if [ -e $filelock ] && [ -f $filelock ] then echo $filelock" -> NO update" >> "update.log" exit fi done echo "SI Update" >> "update.log" ./update_blastdb.pl --decompress swissprot 16SMicrobial refseq_protein >> "update.log" echo "DONE" >> "update.log" exit
Schedule cron job
crontab -e 50 12 * * * /db/condupdatedb.sh > /dev/null 2>&1
NB
Before blast execution, user must create a file named “dblock” in his home directory to avoid update while blast is running.
At the end of the process the file must be removed.