Thanks. Yes I'm using diamond2. I think I'm looking for less sensitive mode (which is not available since I'm using the default- fast mode). But you are probably right- it is worth exploration.
Hi all,
I'm using diamond blastp as a (great) alternative for blastp, mainly in order to save time.
Although I made efforts to make the alignment with similar parameters as much as possible I find that in most of the cases ncbi blast will prefer smaller alignment length (with higher identity) than extending the alignment with the price of many mismatches (see commands below). Here is a representative example: NCBI blastp align 20aa with 16 identities (80%) diamond extended this alignment, from both sides resulting in alignment of 57aa with 33 identities (57%), with several consecutive mismatches. It does not seems to be for specific alignment because the histograms of %identity and alignment length looks different.
I'm pretty sure it is related to the -ungapped flag in ncbi blastp.
So,
Any idea if there is an alternative to the -ungapped flag in diamond?
Is there a way to prefer less mismatches and smaller alignment?
Commands:
blastp -query prot.faa -db blastdb -out blast.txt -matrix PAM30 \
-ungapped -comp_based_stats F -window_size 0 -xdrop_ungap 1 \
-evalue 1e-3
diamond blastp --query prot.faa --db diamond_db.dmnd \
--out diamond.txt --matrix PAM30 --comp-based-stats 0 \
--window 0 --evalue 1e-3
Thank you!
2 answers
See reply of DIAMOND author: http://www.diamondsearch.org/index.php?threads/diamond-blastp-produce-longer-alignments-with-lower-identity-than-ncbi-blast.98/
Make sure to use diamond 2, you will have access to different sensitivity modes of operation.
As the manual states:
http://www.diamondsearch.org/index.php?pages/command_line_options/
--sensitive
Enable the sensitive mode designed for full sensitivity for hits >40% identity.
Without using any sensitivity option, the default (fast) mode will run which is designed for finding hits of >70% identity and short read alignment.
--more-sensitive
This mode is slightly more sensitive than the --sensitive mode.
--very-sensitive
Enable the very-sensitive mode designed for best sensitivity including the twilight zone range of <40% identity.
--ultra-sensitive
Enable the ultra-sensitive mode which is yet more sensitive than the --very-sensitive mode
.
Log in to answer this question.
You may want to post this question on
diamondforum. This would almost certainly require input from the program author. Please post their response (or link) here if you hear back.You could try setting
-k 0will report all targets for which alignments were found. Otherwise 25 are reported.It seems there is no
--ungappedoption for diamond, there is one option which seems to be the equivalent of the-xdrop_ungap 1you are using:You may also want to explore if removing the options related to ungapped alignments from blastp will return alignments more similar to your current diamond parameters:
edit: why are you experimenting with such uncommon options such as
-xdrop_ungap?I've explored the removing the -ungapped flag from blast, it explains some of the difference. Unfortunately I'm try to mimic the blast results (including the ungapped) with diamond. The reason for -xdrop_ungap is unclear to me either (it is hardcoded in a tool I'm using, which I'm trying to replace with diamond), any way this flag seem to have negligible effect, unlike the -ungapped.