Entering edit mode
14 months ago
Paula
▴
60
Hello!
I am trying to obtain the functional annotation of multiple protein files in a folder using BLASTP. I am using Parallel to parallelize the job. I first tried with the following command:
ls *.faa | parallel -a - blastp -query {} -db /cluster/project/magna/ncbi/nr -outfmt 6 -num_threads 16 -max_target_seqs 1 -evalue 1e-05 -out {.}.out
It worked, but it did not give me the taxonomic and functional annotations. Therefore, I tried another command:
ls *.faa | parallel -a - blastp -query {} -db /cluster/project/magna/ncbi/nr -outfmt '6 std salltitles' -num_threads 16 -max_target_seqs 1 -evalue 1e-05 -out {.}.out
However, I obtained the following error:
Error: (CArgException::eSynopsis) Too many positional arguments (1), the offending value: std
I tried retyping the dashes but it did not work.
I also tried:
ls *.faa | parallel -a - blastp -query {} -db /cluster/project/magna/ncbi/nr -outfmt "6 std salltitles" -num_threads 16 -max_target_seqs 1 -evalue 1e-05 -out {.}.out
And obtained the same error.
Does anyone know how to solve it?
Thank you so much!
If you are using a cluster (which may be the case, looking at the file path) why not submit multiple jobs via job scheduler instead of using
parallel
? Or are you trying to useparallel
as a scheduler? Withnr
database you are going to need significant amount of RAM for each job, something to keep in mind.With
-max_target_seqs 1
you are not guaranteed to get the "best" hit, in case you want that (-max_target_seqs 1 in NCBI standalone BLAST does not do what you think it does ).Hi! Yes, I am using a cluster with lsf. There are too many fasta files, approximately 60, so I want to run blastp for all of them using a single command in a sh file. The first job using
-outfmt 6
worked pretty well, the issue comes when I try to change it to'6 std salltitles'
Thanks for the tip on
-max_target_seqs 1
!!I am not a
parallel
user but you can add--dry-run
to yourparallel
command to see what command lines will be created. You can then diagnose the issue you are facing. It must be something with how'
or"
are being interpreted.Hi! Your hint worked. I posted the solution below. Thank you so, so much for taking the time to help.