soedinglab / MMseqs2

MMseqs2: ultra fast and sensitive search and clustering suite
https://mmseqs.com
MIT License
1.42k stars 195 forks source link

mmseqs easy-search with .fasta files dies without a descriptive error message #718

Open sodiumnitrate opened 1 year ago

sodiumnitrate commented 1 year ago

Expected Behavior

Completion to provide output file.

Current Behavior

It dies with the following message: Target database size: 460882 type: Nucleotide tmp/288148333766582684/search_tmp/3592684985880184946/blastp.sh: line 99: 141854 Killed $RUNNER "$MMSEQS" prefilter "$INPUT" "$TARGET" "$TMP_PATH/pref_$STEP" $PREFILTER_PAR -s "$SENS" Error: Prefilter died Error: Search step died Error: Search died

Steps to Reproduce (for bugs)

The command I used was:

mmseqs easy-search --search-type 3 two_test.fa ../../../reference.fna two_test_out tmp

where two_test.fa is a file with two DNA sequences, and reference.fna is a ~4G file with many DNA sequences.

MMseqs Output (for bugs)

Here's the gist for the full output.

Context

Trying to search for two DNA sequences in two_test.fa within a large reference file reference.fna.

Your Environment

I pulled the latest version (3e436173321a2d0365a08bfb3b281108ed9ad414) from the github repo and compiled it myself. Using CMake v3.24.3 and GCC v12.2.0. Running on a node with 32 CPUs, and 5G memory per CPU (160G total). Interestingly, this command worked twice before it stopped working. Tried again by removing the tmp folder, but that did not make a difference. I can verify read access to both fasta files, as well as write access to the directory I'm running the command in. What could be the issue?

sodiumnitrate commented 1 year ago

Ok apparently it was out of memory. I was using the --mem=5G flag while requesting resources in slurm, instead of --mem-per-cpu=5G. Nevertheless, it would be helpful to tell the user that the process died because it was out of memory.