nextstrain / docker-base

Docker image build for nextstrain/base
https://hub.docker.com/r/nextstrain/base/
12 stars 6 forks source link

Run IQ-TREE natively in ARM64 image #212

Open victorlin opened 3 months ago

victorlin commented 3 months ago

Context

Currently, IQ-TREE version 2.1.2 is used in the Docker image with a note that it requires emulation on non-amd64 hosts:

https://github.com/nextstrain/docker-base/blob/822a45939508929beeb3e664680f7e0d5475c549/Dockerfile#L125-L132

Possible solutions

  1. Build IQ-TREE by ourselves. This will increase build times. I tried a bit here: 0ff54925d358ed8de9d80b6ebf4eb209a272d985...120bbcfbc6c7de0c6f4fab6ebc146b45ed281a49
  2. Use IQ-TREE version 2.3.4 which provides prebuilt binaries for both amd64 (intel) and arm64 (arm). Do this by conditionally determining the binary based on TARGETARCH similar to how csvtk is downloaded.
corneliusroemer commented 1 month ago

Another solution, use the bioconda binaries, which have linux-aarch64 builds available: