vanheeringen-lab / gimmemotifs

Suite of motif tools, including a motif prediction pipeline for ChIP-seq experiments. See full GimmeMotifs documentation for detailed installation instructions and usage examples.
https://gimmemotifs.readthedocs.io/en/master
MIT License
109 stars 33 forks source link

Mac M1 support #220

Open tomwhite opened 2 years ago

tomwhite commented 2 years ago

Is your feature request related to a problem? Please describe. It would be great if GimmeMotifs was easy to install on a Mac M1 (arm64).

Describe the solution you'd like Bioconda doesn't support macOs arm64, and probably won't for a while, so having pip binary wheels might be an option here. cibuildwheel makes building these on various architectures quite straightforward - including macOs arm64. However, the problem is that GimmeMotifs uses a variety of (precompiled) C executables (like meme, homer, ucsc-genepredtobed, gadem, etc) that are packaged for bioconda, but would need building for pip. I'm not sure how feasible or easy that is (or indeed) what the precise list of required dependencies is here.

Describe alternatives you've considered Using Rosetta is a workaround, but that can be fragile (dual conda installs), and isn't a good long-term solution.

Additional context An example cibuildwheel run: https://github.com/tomwhite/gimmemotifs/actions/runs/1443766343. Note that this does not solve the problems described above!

simonvh commented 2 years ago

Hi @tomwhite. All the binary tools are indeed a major problem. I'm afraid none of us here has a Mac, which means it is almost impossible for us to troubleshoot it. Our experience with build systems is that troubleshooting is almost guaranteed to be needed. All this means we don't have the resources to fix it I'm afraid.

tomwhite commented 2 years ago

Thanks for the reply @simonvh. I suspected that might be the case! Hopefully bioconda will make progress on this...

laserson commented 2 years ago

@tomwhite, what is the build error you get on the M1?

tomwhite commented 2 years ago

@laserson I haven't tried the build on M1. All the binary tools that GimmeMotifs would need to be built first and I didn't know where to start with that - although having said that, if it were possible to do a partial build, which are the dependencies that you would need?