suhrig / arriba

Fast and accurate gene fusion detection from RNA-Seq data
Other
226 stars 50 forks source link

zsh: exec format error: ./arriba #222

Closed jdjdj0202 closed 10 months ago

jdjdj0202 commented 11 months ago

Hi. I would like to run arriba using the BAM file obtained from STAR-FUSION as input. I am using my MacBook terminal. I entered:

./arriba -x /Users/dajeong/Arriba_DJ/ATL005_Aligned.out.bam -g /Users/dajeong/Arriba_DJ/GENCODE38.gtf -a /Users/dajeong/Arriba_DJ/hg38.fa \ -b /Users/dajeong/arriba_v2.4.0/database/blacklist_hg38_GRCh38_v2.4.0.tsv.gz -k /Users/dajeong/arriba_v2.4.0/database/known_fusions_hg38_GRCh38_v2.4.0.tsv.gz -p /Users/dajeong/arriba_v2.4.0/database/protein_domains_hg38_GRCh38_v2.4.0.gff3 \ -o fusions.tsv

and the error is as follows:

zsh: exec format error: ./arriba

Could I Run Arriba on MacOS?


I also tried Docker,

(base) dajeong@DajeongcBookPro arriba_v2.4.0 % docker run --rm --platform linux/amd64 \ -v /Users/dajeong/Arriba_DJ:/output \ -v /Users/dajeong/Arriba_DJ/STAR_index_hg38_GENCODE38:/references/STAR_index_hg38_GENCODE38:ro \ -v /Users/dajeong/Arriba_DJ/ATL005_Aligned.out.bam:/input.bam:ro \ uhrigs/arriba:2.4.0 arriba.sh docker: invalid reference format. See 'docker run --help'. zsh: no such file or directory: uhrigs/arriba:2.4.0


How could I solve this error? Please help me. Thanks.

Sincerely, DJ. J

suhrig commented 11 months ago

To run arriba on macOS, you must recompile it using the make command. Just type make in the arriba directory (where the Makefile is).

The docker container probably does not work on macOS, because it is incompatible with the type of processor in modern Macs. There is no Mac-version of arriba for Docker.

jdjdj0202 commented 11 months ago

Thank you for your reply. I think it is challenging to Run Arriba on macOS.

When I typed 'make' in the arriba directory, the following errors appeared: CC lib/arm/cpu_features.o In file included from lib/arm/cpu_features.c:130: In file included from /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/sysctl.h:83: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/ucred.h:104:20: error: use of undeclared identifier 'NGROUPS_MAX' gid_t cr_groups[NGROUPS]; / advisory group list / ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/param.h:100:25: note: expanded from macro 'NGROUPS'

define NGROUPS NGROUPS_MAX / max number groups /

                    ^

In file included from lib/arm/cpu_features.c:130: /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/sysctl.h:464:20: error: use of undeclared identifier 'NGROUPS_MAX' gid_t cr_groups[NGROUPS]; / groups / ^ /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/usr/include/sys/param.h:100:25: note: expanded from macro 'NGROUPS'

define NGROUPS NGROUPS_MAX / max number groups /

                    ^

2 errors generated. make[2]: [lib/arm/cpu_features.o] Error 1 make[1]: [libraries/libdeflate.a] Error 2 make: *** [all] Error 2

How can I solve this error? Please help me.

Thanks a lot.

suhrig commented 11 months ago

Apologies you're having so many issues getting the software to run. This seems to be caused by an incompatibility between libdeflate and ARM processors on Mac. This is fixed in more recent versions of libdeflate.

Replace the Makefile in your copy of Arriba with the one attached (remove the .txt file extension) and run make clean and then make.

Makefile with libdeflate v1.13

suhrig commented 10 months ago

Did it work?

jdjdj0202 commented 10 months ago

Yes!! It works very well. I apologize for forgetting to write a comment. Thank you for your great help. Have a nice day! :-)