CDCgov / phoenix

🔥🐦🔥PHoeNIx: A short-read pipeline for healthcare-associated and antimicrobial resistant pathogens
Apache License 2.0
55 stars 19 forks source link

PROKKA step failed in HPC (v2.0.2) #118

Closed tkiryuti closed 8 months ago

tkiryuti commented 1 year ago

PROKKA step failed in HPC (v2.0.2) phoenix v2.0.2 Environment: HPC, Singularity / Test profile Configs (nextflow.config; custom HPC config) and the captured .log (using "|& tee") were sent over email. Impact Phoenix run fails at this step; does not complete subsequent steps. Script location related to error: modules/local/prokka.nf

Notable Errors: Notable portions from long error message are pasted below:

Error executing process > 'PHOENIX:PHOENIX_EXTERNAL:PROKKA (Test_Sample)'

Caused by: Process PHOENIX:PHOENIX_EXTERNAL:PROKKA (Test_Sample) terminated with an error exit status (2)

[15:06:44] Could not run command: cat Test_Sample\/Test_Sample.IS.tmp.79614.faa | parallel --gnu --plain -j 6 --block 87274 --recstart '>' --pipe blastp -query - -db /prokka-1.14.5/db/kingdom/Bacteria/IS -evalue 1e-30 -qcov_hsp_perc 90 -num_threads 1 -num_descriptions 1 -num_alignments 1 -seg no > Test_Sample\/Test_Sample.IS.tmp.79614.blast 2> /dev/null INFO: Cleaning up image...

Command Info: nextflow run "/full/path/to/phoenix" -profile test,singularity -entry PHOENIX --kraken2db "/full/path/to/k2_standard_08gb_20230605" |& tee "phoenix-run-$(date +%y%m%d-%T | sed 's/://g').log"

Versions / Other: module load conda/4.12.0 conda activate nextflow nextflow -version

  N E X T F L O W
  version 21.10.6 build 5660
  created 21-12-2021 16:55 UTC (11:55 EDT)
  cite doi:10.1038/nbt.3820
  http://nextflow.io
jvhagey commented 1 year ago

Hi, @tkiryuti this is an issue with PROKKA itself. See https://github.com/tseemann/prokka/issues/586 and https://github.com/tseemann/prokka/issues/402#issuecomment-519285797. Looks like you might need to update BLAST+. That should have been something in the container itself though (https://github.com/StaPH-B/docker-builds/blob/master/prokka/1.14.6/Dockerfile). So short term I would suggest you follow the advice in the github issue and long term we will need to either update the PROKKA container or swap out PROKKA, which is likely what will happen as that program hasn't been supported in a long time.

Let me know if updating BLAST+ works for you.

tkiryuti commented 1 year ago

Thank you for the quick response! I took the ncbi-blast-2.14.0+ wget and add to PATH solution, and it appears with which blastn. However, the error outputs looked identical with this. My solution #2 was updating container 'staphb/prokka:1.14.5' to 'staphb/prokka:1.14.6' in modules/local/prokka.nf – line 4), that led to a different type of PROKKA process error:

Coult not parse version from '[0.001s][warning][os,container] Duplicate cpuset controllers detected. Picking /sys/fs/cgroup/cpuset, skipping /home/tkiryutina/.conda/envs/nextflow/var/singularity/mnt/session/final/sys/fs/cgroup/cpuset.'

jvhagey commented 1 year ago

I just noticed that your original error was noted before and fixed by staph-b with the 1.14.6 version of the container so that fixed the first error as you noted already. However, by switching to this version of PROKKA you are out of sync the official version of phx, but that really only matters if ya'll are working on validation or something.

As for this new error with the 1.14.6 version of the container, this looks like a problem with JAVA from what I see googling. I can try updating the container a bit and see if that helps, but in the meantime can you try using one of the quay.io versions of PROKKA and see if one of those works?

TK-DPH commented 8 months ago

Hello Jill,

I set-up phoenix v2.0.2 fresh recently and no longer run into this issue. The new run now includes a newer nextflow version 23.04.4 (using module load in HPC) and exporting a NXF_SINGULARITY_CACHEDIR. I run the main.nf directly with nextflow run by specifying full path to main.nf in the cloned repository. Good news is, I no longer got this PROKKA issue with this new set-up. The container image in the cache directory is staphb-prokka-1.14.5.img. Thank you.

jvhagey commented 8 months ago

awesome, thanks for the follow up. we are just about to release the new v2.1.0 version and the Prokka container isn't changed although we switched to calling containers by their hashsum rather than their tag for stricter calling for validation purposes.