diamond icon indicating copy to clipboard operation
diamond copied to clipboard

diamond 2.0.11 segmentation fault when using -F 15 along with --iterate

Open Cantalapiedra opened this issue 3 years ago • 2 comments

Hi,

Just in case this is of help, I was running diamond of DNA against a database of proteins, using:

--ultra-sensitive --iterate -e 0.001 --matrix BLOSUM45 --query-gencode 11 --top 3 -F 15
--outfmt 6 qseqid sseqid pident length mismatch gapopen qstart qend sstart send evalue bitscore qcovhsp scovhsp

However, I had an error like:

[...]
Processing query block 1, query iteration 3, reference block 1/1, shape 64/64.
Building reference seed array...  [0.016s]
Building query seed array...  [0.002s]
Computing hash join...  [0.002s]
Building seed filter...  [0.012s]
Searching alignments...  [0.002s]
Deallocating buffers...  [0.001s]
Clearing query masking...  [0.002s]
Opening temporary output file...  [0.003s]
Computing alignments...  [0.301s]
Deallocating reference...  [0.002s]
Loading reference sequences...  [0.001s]
Deallocating buffers...  [0.001s]
Aligned 3/433 queries in this iteration, 271/433 total.
Joining output blocks... Joining output blocks... Error: Error: Sequence set index out of bounds.
Error: Sequence set index out of bounds.
Error: Sequence set index out of bounds.
*** Error in `diamond': free(): corrupted unsorted chunks: 0x0000000002927110 ***
*** Error in `diamond': corrupted size vs. prev_size: 0x0000000002927100 ***
Error: Sequence set index out of bounds.
Error: Sequence set index out of bounds.
Error: Sequence set index out of bounds.
Sequence set index out of bounds.
/var/spool/slurm/d/job27679916/slurm_script: line 96: 423639 Segmentation fault      diamond blastx -d ${dbs_dmnd} -q ${contigs_file} --threads ${cpus} -o ${dmnd_out_file} --ultra-sensitive --iterate -e 0.001 --matrix BLOSUM45 --query-gencode 11 --top 3 -F 15 --outfmt
6 qseqid sseqid pident length mismatch gapopen qstart qend sstart send evalue bitscore qcovhsp scovhsp

After trying several combinations, it seems that it was running either removing the sensitivity option or the --iterate flag. For example, it seems that using:

--ultra-sensitive -e 0.001 --matrix BLOSUM45 --query-gencode 11 --top 3 -F 15
--outfmt 6 qseqid sseqid pident length mismatch gapopen qstart qend sstart send evalue bitscore qcovhsp scovhsp

That is, just removing the --iterate option. In my mind, the last command should be more demanding than using the iterate option. That is why I thought it could be a bug. Just guessing.

Best, Carlos

Cantalapiedra avatar Jun 23 '22 14:06 Cantalapiedra

I can confirm the bug and will try to provide a fix in the near future.

bbuchfink avatar Jun 24 '22 15:06 bbuchfink

It seems I didn't mention that it only happened when using -F 15. It ran ok with --ultra-sensitive and --iterate, without -F 15.

Cantalapiedra avatar Jun 27 '22 06:06 Cantalapiedra