Creating a Custom BLAST Server with SequenceServer
BLAST (Basic Local Alignment Search Tool) is a popular bioinformatics tool for finding regions of similarity between sequences. With RONIN and SequenceServer, you can set up your own custom BLAST server in just a few simple steps.
BLAST (Basic Local Alignment Search Tool) is a popular bioinformatics tool for finding regions of similarity between sequences. There are a number of online BLAST servers that offer a user-friendly interface for viewing results, however; these servers often come with queues, limits on input file sizes, and limited customisation, particularly when working with non-model datasets.
Consequently, many users working with large custom datasets will often resort to the BLAST command line tools to run their analyses, and with it lose the handy user interface we all know and love.
But what if you could have the best of both worlds? A large enough machine with your custom BLAST datasets AND a beautiful user interface to analyse and export your results? Well, with RONIN and SequenceServer, you can have it all in just a few simple steps.
1. Install SequenceServer
Once you have created your desired size machine in RONIN, connect to the terminal and run the following commands to install SequenceServer:
sudo apt install build-essential ruby ruby-dev ncbi-blast+
sudo gem install sequenceserver
2. Upload your data
FASTA files for any sequences you wish to BLAST against should be uploaded to a single directory on your machine. They do not need to already be formatted as BLAST databases as SequenceServer will take care of this for you.
Note: Ensure FASTA files are unzipped or they will not be recognised by SequenceServer.
If you need any help knowing how to transfer data to your RONIN machine, refer to this blog post.
3. Configure SequenceServer
Once you have your directory of FASTA files, run the following command to begin setting up SequenceServer:
sequenceserver
Follow the prompts to enter the path to your FASTA files and create your custom BLAST databases.
If you ever want to add additional FASTA files to your SequenceServer, just run the following at any time:
sequenceserver -m
After you have set up your databases, you should then set the number of threads for SequenceServer to use. By default, SequenceServer will only use 1 thread, but if your machine has multiple cores available you should increase this number as desired so that jobs will run more quickly. For example, to set the number of threads to 8:
sequenceserver -n 8
Note: If SequenceServer is already running you will need to quit it first to change the number of threads. Don't worry, you can restart it anytime using the
sequenceserver
command. The desired number of threads will depend on a number of factors including:
- How big the machine is and how many people may be running BLAST jobs concurrently on the machine
- How large the query and subject datasets are
- How quickly you wish to run the jobs
Usually 4-8 cores is optimal for a single user.
To see any other options just run the help command:
sequenceserver -h
4. Connect to SequenceServer
Once your SequenceServer is configured, you are now ready to start BLASTing. To connect to SequenceServer, ensure your machine is open in RONIN Link, click the "connect to machine" button, type the number 4567 in the "link an app" section and click link.
Your custom BLAST SequenceServer should then automatically open in a browser window.
And there you have it, your very own custom BLAST server!
If you wish to configure your RONIN machine to automatically start SequenceServer whenever your machine starts, there are some helpful instructions here. We also recommend using the RONIN Smart Schedule feature to ensure your SequenceServer machine is only running when needed.
Happy BLASTing!