Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bwa-mem2:2.2.1--he513fc3_0 Container Missing Executable #591

Open
pnolabs opened this issue Feb 6, 2025 · 6 comments
Open

bwa-mem2:2.2.1--he513fc3_0 Container Missing Executable #591

pnolabs opened this issue Feb 6, 2025 · 6 comments

Comments

@pnolabs
Copy link

pnolabs commented Feb 6, 2025

I am trying to use the container quay.io/biocontainers/bwa-mem2:2.2.1--he513fc3_0, but bwa-mem2 does not seem to be available in the expected location. Running the following command:
docker run --rm quay.io/biocontainers/bwa-mem2:2.2.1--he513fc3_0 bwa-mem2 version
Results in:
ERROR: fail to find the right executable
However, checking inside the container shows that the executable exists at /usr/local/bin/bwa-mem2.

Can you confirm if this is a packaging issue?

Originally, I came across this error when trying to run the nf-core/raredisease pipeline with nextflow.

Docker version 27.5.1, build 9f9e405
nextflow version 24.10.3.5933
conda 24.7.1
nf-core 3.1.1 pypi_0 pypi
python --version Python 3.9.20
nf-core/raredisease v2.2.0-gfa61a65

[TaskFinalizer-2] ERROR nextflow.processor.TaskProcessor - Error executing process > 'NFCORE_RAREDISEASE:RAREDISEASE:PREPARE_REFERENCES:BWAMEM2_INDEX_GENOME (reference.fasta)'

Caused by:
Process NFCORE_RAREDISEASE:RAREDISEASE:PREPARE_REFERENCES:BWAMEM2_INDEX_GENOME (reference.fasta) terminated with an error exit status (2)
...
Command error:
Unable to find image 'quay.io/biocontainers/bwa-mem2:2.2.1--he513fc3_0' locally
2.2.1--he513fc3_0: Pulling from biocontainers/bwa-mem2
1dbcab28ce46: Pulling fs layer
cfb1ba34637d: Pulling fs layer
ace2d8a63dd5: Pulling fs layer
75c080ef15eb: Pulling fs layer
1dbcab28ce46: Waiting
cfb1ba34637d: Waiting
...
2e178fd72baf: Pull complete
b28b1e77606a: Pull complete
Digest: sha256:8489086047b16f49a01a077065c88258c28027c49c35281f77df353bcc370970
Status: Downloaded newer image for quay.io/biocontainers/bwa-mem2:2.2.1--he513fc3_0
ERROR: fail to find the right executable

Thank you very much for your time and help!

@mboudet
Copy link
Contributor

mboudet commented Feb 6, 2025

Hello!

All images available on quay.io are built from conda packages, defined in the https://github.com/bioconda/bioconda-recipes repository.

So you may need to make an issue on that side.

However, this is weird, as I cannot reproduce the issue.. on my end:

docker run --rm quay.io/biocontainers/bwa-mem2:2.2.1--he513fc3_0 bwa-mem2 version
nable to find image 'quay.io/biocontainers/bwa-mem2:2.2.1--he513fc3_0' locally
2.2.1--he513fc3_0: Pulling from biocontainers/bwa-mem2
1dbcab28ce46: Pull complete 
cfb1ba34637d: Pull complete 
ace2d8a63dd5: Pull complete 
75c080ef15eb: Pull complete 
316957f8baaf: Pull complete 
dbd31e1d863d: Pull complete 
2f8531d5a6ec: Pull complete 
2e178fd72baf: Pull complete 
b28b1e77606a: Pull complete 
Digest: sha256:8489086047b16f49a01a077065c88258c28027c49c35281f77df353bcc370970
Status: Downloaded newer image for quay.io/biocontainers/bwa-mem2:2.2.1--he513fc3_0
Looking to launch executable "/usr/local/bin/bwa-mem2.avx512bw", simd = .avx512bw
Launching executable "/usr/local/bin/bwa-mem2.avx512bw"
2.2.1

Seems like there is some weird $PATH issues.. but even with the same docker version, I cannot reproduce it.

@pnolabs
Copy link
Author

pnolabs commented Feb 6, 2025

@mboudet thank you for your quick reply!

I came across another post that points to a hardware issue:
bwa-mem2/bwa-mem2#73

I have a Vendor ID: GenuineIntel, Model name: Common KVM processor, CPU(s): 16
and for me this command gives no output:
egrep --color 'sse4_1|avx2' /proc/cpuinfo

Does this mean my processor does not support SSE4.1. which seems to be required for running bwa-mem2?

@mboudet
Copy link
Contributor

mboudet commented Feb 6, 2025

Ah, it makes sense. I read the ERROR: fail to find the right executable as a command not found, but it's thrown by bwa-mem itself, who tries to find the correct executable for your hardware, and fails.

On my end, egrep --color 'sse4_1|avx2' /proc/cpuinfo works.

This is just a guess, but maybe you are running on a VM? The 'model name : Common KVM processor' does seem to imply you are using an virtualized CPU (and not the host one), and bwa-mem does not know what to do with it.

In any case, this is not a packaging issue, but a hardware compatibility one.

@pnolabs
Copy link
Author

pnolabs commented Feb 6, 2025

@mboudet yes, I am running it on a VM. Sorry for missing to edit this information.

$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Address sizes: 40 bits physical, 48 bits virtual
Byte Order: Little Endian
CPU(s): 16
On-line CPU(s) list: 0-15
Vendor ID: GenuineIntel
Model name: Common KVM processor
CPU family: 15
Model: 6
Thread(s) per core: 1
Core(s) per socket: 16
Socket(s): 1
Stepping: 1
BogoMIPS: 4399.99
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall
nx lm constant_tsc nopl xtopology cpuid tsc_known_freq pni cx16 x2apic hypervisor lahf_lm cpuid_fault pti s
sbd ibrs ibpb

So, I guess this means i cannot run bwa-mem2 on my VM with the given hardware? And should switch to older softwares like bwa?

@mboudet
Copy link
Contributor

mboudet commented Feb 6, 2025

I think you can change some stuff in your virtualisation software to use your host cpu, and not the emulated one. (ex: https://forum.proxmox.com/threads/common-kvm-processor.66160/)

But this is software-dependant, so I'm not really able to help much further.

@pnolabs
Copy link
Author

pnolabs commented Feb 6, 2025

@mboudet Thank you for helping and pointing out a possible solution.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants