This is a test version of Biostars. For the public version, visit https://www.biostars.org.
batch blast programme

Hi every one I want to do a batch standalone blastn with this command

blastall -p blastp -d database.fasta -i aa.fasta -m 8 -e 1e-5 -o aa

I have more than 4000 inputs and I want out put respect to input name as I shown in the above command. How to do this?

perl balst

2 answers

You can loop above command over each file. Search google for 'bash for loop'

Start with this. Then look to parallelize using GNU parallel or any other similar hardware backed parallelization. Running 4000 files in a loop is a bit daunting for anything advanced, such as tweaking performance or debugging.

You are using blastall which belongs to the outdated version of BLAST. Consider using BLAST+ package.

thank you for your comments

I found a solution for this

I wrote a code as below and it works

FILES=/home/ashok/Desktop/blast_batch/a/*
for f in $FILES
do
 blastn -db da.fasta -query "$f" -evalue 1e-5 -outfmt 6 -out "$f".out
done

Log in to answer this question.