Skip to content

Common errors

Haris Zafeiropoulos edited this page May 10, 2023 · 5 revisions

Here we keep track of errors might appear when running metaGOflow due to user's settings.

Long min_length_required

In case you ask for a minimum length longer than your reads, metaGOflow will return the message INFO [workflow qc_and_merge] completed permanentFail. However your job will not be killed! Here's an example of the error message:

WARNING [job count_processed_reads_2] exited with status: 1
WARNING [job count_processed_reads] exited with status: 1
WARNING [job count_processed_reads_2] completed permanentFail
WARNING [job count_processed_reads] completed permanentFail
WARNING [step count_processed_reads] completed permanentFail
INFO [workflow qc_and_merge] completed permanentFail
WARNING [step qc_and_merge] completed permanentFail
INFO [workflow ] completed permanentFail

So, keep in mind to always have a look in the log file while running.

Memory errors when running InterProScan

InterProScan settings can be a bit tricky. One needs to consider the number of chunks (protein_chunk_size_IPS), of cpus (interproscan_threads) and the available RAM of the machine.

One might find useful the InterProScan hints for improving its performance improving performance.

In case someone asks for a great number of CPUs and/or a great number of sequences per chunk (protein_chunk_size_IPS) it is possible to get an OutOfMemoryError like the following:

Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "ActiveMQ Broker[localhost] Scheduler"
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space

Like in the long min_length_required case, the error does not kill the job! So again, you need to always have a look on the log file to make sure the workflow does run smoothly.

Paths to intermediate files in partial running

Please remember that the files you provide in your config.yml file as the intermediate files produced from previous runs, need to be under the same directory where the run_wf.sh script is located (base_path). metaGOflow has as base path the output directory, so in case you have your files in another folder (that is still located under the base_path) you should have something like

processed_read_files: 
  - class: File
    path: ../<my-folder>/<my-intermediate-file>