OP is asking if he can setup --remote functionality (which normally uses NCBI) on local hardware.
I know that blastp has a -remote option, which allows you to run your query on NCBI servers (see here).
Is there a way I can set up my own remote server that could be queried using blastp and would run queries against my own custom database? I am running lots of blastp queries on a cluster of machines, and I think it would be much faster if I delegated this work to a single machine that could use a local blast database, instead of querying a database stored on a distributed file system?
3 answers
Check the documentation for NCBI BLAST AMI. While this is talking about enabling remote blast on AMI, the idea should be similar for local implementation.
You can transform any local FASTA file into a blast database, by using the makeblastdb command.
$ makeblastdb -h
USAGE
makeblastdb [-h] [-help] [-in input_file] [-input_type type]
-dbtype molecule_type [-title database_title] [-parse_seqids]
[-hash_index] [-mask_data mask_data_files] [-mask_id mask_algo_ids]
[-mask_desc mask_algo_descriptions] [-gi_mask]
[-gi_mask_name gi_based_mask_names] [-out database_name]
[-max_file_sz number_of_bytes] [-logfile File_Name] [-taxid TaxID]
[-taxid_map TaxIDMapFile] [-version]
DESCRIPTION
Application to create BLAST databases, version 2.6.0+
Use '-help' to print detailed descriptions of command line arguments
I think it would be much faster if I delegated this work to a single machine that could use a local blast database, instead of querying a database stored on a distributed file system
I must've interpreted this wrong, then.
He wants to do that but additionally allow --remote access to node/server containing the database.
That said I am not sure if a local database would be faster than one on a distributed file system (assuming it was properly setup). Subject to what distributed file system really translates to in OP's case.
I wrote this wrapper nearly a decade ago but it should still work https://github.com/leipzig/blast-wrapper
Log in to answer this question.