Diamond 0.9.24 SIGABRT: 6

Hello,

When running HUManN v3.0.0.alpha3 I receive errors during the protein alignment tier using DIAMOND.
This is my command:

for f in a*;
do humann -i "f"/*cat.fastq --taxonomic-profile /media/plicht/T7/Samples8-30.5/MetaPhlAn3/{f%}_profiled.txt --memory-use maximum --remove-temp-output -o /media/plicht/T7/Samples8-30.5/HumanN/$f;
done

I already tried changing the --memory-use flag form “maximum” to “minimum” and also to waive the flag completely.

At first I was using DIAMOND v2.0.2 and then downgraded to v0.9.24. Below are the error messages (also see respective log files).

Can you help me out here?

Best
Philipp

DIAMOND v2.0.2
Opening temporary output file… [0s]
Computing alignments… Input/output error
[0s]
Error: Error writing file /media/plicht/T7/Samples8-30.5/HumanN/a10/a10_paired_cat_humann_temp_n32zynxi/tmpzqicxha6/diamond-tmp-HCMDRd

01/05/2021 04:20:34 PM - humann.utilities - CRITICAL: TRACEBACK:
Traceback (most recent call last):
File “/home/plicht/anaconda3/envs/metaphlan3_env/lib/python3.7/site-packages/humann/utilities.py”, line 744, in execute_command
p_out = subprocess.check_output(cmd, stderr=subprocess.STDOUT)
File “/home/plicht/anaconda3/envs/metaphlan3_env/lib/python3.7/subprocess.py”, line 411, in check_output
**kwargs).stdout
File “/home/plicht/anaconda3/envs/metaphlan3_env/lib/python3.7/subprocess.py”, line 512, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command ‘[’/home/plicht/anaconda3/envs/metaphlan3_env/bin/diamond’, ‘blastx’, ‘–query’, ‘/media/plicht/T7/Samples8-30.5/HumanN/a10/a10_paired_cat_humann_temp_n32zynxi/a10_paired_cat_bowtie2_unaligned.fa’, ‘–evalue’, ‘1.0’, ‘–threads’, ‘12’, ‘–top’, ‘1’, ‘–outfmt’, ‘6’, ‘–db’, ‘/home/plicht/humann_db/uniref90/uniref/uniref90_201901’, ‘–out’, ‘/media/plicht/T7/Samples8-30.5/HumanN/a10/a10_paired_cat_humann_temp_n32zynxi/tmpzqicxha6/diamond_m8_s_v2abi6’, ‘–tmpdir’, ‘/media/plicht/T7/Samples8-30.5/HumanN/a10/a10_paired_cat_humann_temp_n32zynxi/tmpzqicxha6’]’ returned non-zero exit status 1.

DIAMOND v0.9.24:
Searching alignments… Input/output error
terminate called after throwing an instance of ‘File_write_exception’
what(): Error writing file /media/plicht/T7/Samples8-30.5/HumanN/a10/a10_paired_cat_humann_temp_2cqhe285/tmpdq05it2l/diamond-tmp-bJh6AG

01/05/2021 04:38:32 PM - humann.utilities - CRITICAL: TRACEBACK:
Traceback (most recent call last):
File “/home/plicht/anaconda3/envs/metaphlan3_env/lib/python3.7/site-packages/humann/utilities.py”, line 744, in execute_command
p_out = subprocess.check_output(cmd, stderr=subprocess.STDOUT)
File “/home/plicht/anaconda3/envs/metaphlan3_env/lib/python3.7/subprocess.py”, line 411, in check_output
**kwargs).stdout
File “/home/plicht/anaconda3/envs/metaphlan3_env/lib/python3.7/subprocess.py”, line 512, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command ‘[’/home/plicht/anaconda3/envs/metaphlan3_env/bin/diamond’, ‘blastx’, ‘–query’, ‘/media/plicht/T7/Samples8-30.5/HumanN/a10/a10_paired_cat_humann_temp_2cqhe285/a10_paired_cat_bowtie2_unaligned.fa’, ‘–evalue’, ‘1.0’, ‘–threads’, ‘12’, ‘–top’, ‘1’, ‘–outfmt’, ‘6’, ‘–db’, ‘/home/plicht/humann_db/uniref90/uniref/uniref90_201901’, ‘–out’, ‘/media/plicht/T7/Samples8-30.5/HumanN/a10/a10_paired_cat_humann_temp_2cqhe285/tmpdq05it2l/diamond_m8_duk6r4gg’, ‘–tmpdir’, ‘/media/plicht/T7/Samples8-30.5/HumanN/a10/a10_paired_cat_humann_temp_2cqhe285/tmpdq05it2l’]’ died with <Signals.SIGABRT: 6>.

DIAMONDv2.0.2.log.txt (27.9 KB)
DIAMONDv0.9.24.log.txt (25.8 KB)

Do you have an idea how to solve @franzosa? I also tried installing humann in a new environment using conda biobakery channel and got the same error.

Hello - Thank you for the detailed post! HUMAnN is compatible with diamond v0.9.24 but it is not yet compatible with the latest diamond v2. It looks like from your run with diamond v0.9.24 there was a file write error. Is it possible you ran out of disk space during the run?

Thank you,
Lauren

Hello @lauren.j.mciver ,
thanks for your suggestion! I am using an external SSD for storing my input QC’d reads as well as the taxonomic profile. On the same external SSD the humann output files will be written. The humann database is stored on the internal SSD. The external SSD has ~400 GB free space, so I guess thats sufficient? At least the first few samples in the loop should be processed, but also them are dying.
Do I need to specify the output on another drive as the input?

Thanks,
Philipp