EBI-Metagenomics / emg-viral-pipeline

VIRify: detection of phages and eukaryotic viruses from metagenomic and metatranscriptomic assemblies
Apache License 2.0
118 stars 16 forks source link

Issue for running on ARM64-based Linux VM #115

Closed ErnieHsieh closed 7 months ago

ErnieHsieh commented 10 months ago

Hi,

I was wondering if this useful pipeline would be possible to run on ARM64-based Linux VM? When I ran a test with --help it could work; but when I ran it on my dataset it would fail. Seem like it can't support the new ARM64 version?

Thanks.

hoelzer commented 10 months ago

Hey @ErnieHsieh thanks for your interest in the pipeline!

Which command did you try to run it? Using Conda or Docker or Singularity?

My guess is that at least Docker/Singularity should work.

ErnieHsieh commented 10 months ago

Hello @hoelzer,

I used the command as below:

./nextflow run EBI-Metagenomics/emg-viral-pipeline -r v2.0.0 --fasta "/home/ernie/Downloads/wms-unknown-vOTUs.fasta" --cores 8 --max_cores 8 --memory 16 --output wms_output -profile local,singularity

And then it shows some error messages:

ERROR ~ Error executing process > 'preprocess:rename (1)'

Caused by: Process preprocess:rename (1) terminated with an error exit status (255)

Command executed:

if [[ wms-unknown-vOTUs.fasta =~ .gz$ ]]; then zcat wms-unknown-vOTUs.fasta > tmp.fasta else cp wms-unknown-vOTUs.fasta tmp.fasta fi rename_fasta.py -i tmp.fasta -m wms-unknown-vOTUs_map.tsv -o wms-unknown-vOTUs_renamed.fasta rename

Command exit status: 255

Command output: (empty)

Command error: FATAL: While checking container encryption: could not open image /home/ernie/singularity/quay.io-microbiome-informatics-virify-python3-1.2.img: the image's architecture (amd64) could not run on the host's (arm64)

Work dir: /home/ernie/work/01/52ac4a1e33531ede0d608517940e98

Tip: when you have fixed the problem you can continue the execution adding the option -resume to the run command line

-- Check '.nextflow.log' file for details

Not quite sure if I need to re-install anything or it does not support the version of ubuntu Linux 22.04.1 (AArch64/ARM64)? My VM is installed and ran in M2 Pro Mac mini.

Many thanks for the assistance.

hoelzer commented 10 months ago

Hey,

hm. this is probably a problem related to the M2 architecture, which is not yet well supported by (bio)conda packages and many bioinformatics tools. I have similar problems with my M2 Macbook Air. See also the recent discussion here:

https://github.com/bioconda/bioconda-recipes/issues/23454#issuecomment-1766266069

Thus, the containers we provide with the pipeline probably dont match with the architecture. I am afraid, there is currently not much we can do (but correct me @mberacochea if there are ways).

ErnieHsieh commented 10 months ago

Hi,

Sure, I also think so. I will try it in other environments. Hopefully this issue can be resolved soon.

Many thanks for your comments!

mberacochea commented 7 months ago

Hi folks,

I just see this ticket. Have you tried using the "--platform" flag for docker? Something like: https://github.com/nf-core/rnaseq/blob/master/nextflow.config#L192

Using that you should be able to run it directly on MacOS, not sure if that is going to work on the Linux VM.

Cheers