Hello,
I have downloaded all the chromosome of Bos taurus and I have changed them in blast format using makeblastdb..and now I want to locally blast my sequence against these all chromosomes. now I have 29 databases. Is there any method by which I am able to blast my sequence against all 29 databases in my program.
What should I write in database????
@params = ('database' => '????????', 'outfile' => 'blast2.out', '_READMETHOD' => 'Blast', 'prog'=> 'blastn');
Thanks Manju Rawat
This answer is bad. Why is everyone upvoting it? That is so much more work and may not even be possible in some cases to do.
I don't see how this approach is either bad or much more work. The objective of the OP is to have a single database. Chris proposes to merge the fasta files and create one database while you suggest to combine existing databases. In this case, the OP had access to the original fasta files, which a simple 'cat' command would have joined and then he could have used a command he already knew about and had used to create his databases. Clearly, both solutions seem workable. Your solution also happens to be the second most upvoted solution, which has been there for over two years. It seems to me that there is no need to call any answer bad and to question the judgement of multiple users over the course of 2.3 years. Even less on the first day you joined this forum ;)
The answer is bad. The user asked how to blast against 29 databases. "Is there any method by which I am able to blast my sequence against all 29 databases in my program?"
The answer "go compile a new database" is an indirect work around to the problem. It may even be good advice in this particular instance - but it did not answer the question asked.
Why don't I want to do that? Because it's moronic to create multiple permutations of databases when I already have them compiled. This means my usage of disk space balloons every time I do a search. Not to mention it is annoying and time consuming.
I came here with the exact same question. Thankfully there are several good options provided by others below.
If you have limited RAM (4Gb) then sometimes it is not possible to concatenate all the chromosome fasta files and then create the database at once. I just tried this on a 4GB RAM laptop with wheat genome (17Gb) and it stalled the laptop. Creating databases for individual chromosomes and then combining those databases with blastdb_aliastool is a much better option in these cases.
It looks suspiciously like he's trying to run blast via a perl script.
Ah, right, now I remember. The '@'-construct is a hint... Well, since I'm in Python I do not come across such things very often. ;)