Status of osx-arm64 Support
Due to lack of Bioconda/Bioconductor support for osx-arm64, only part of the scUTRquant pipeline can run natively on Apple Silicon M1 chipset. Specifically, all steps up through .mtx file (count matrix) generation are fully supported for Apple M1.
Snakemake 🟢
Versions 6 and 7 of Snakemake are installable through Mamba, e.g.,
## install version 7.3
mamba create -n snakemake_7_3 snakemake=7.3
Kallisto/Bustools 🟢
The kallisto-bustools.yaml environment is solvable. Both osx-arm64 builds are provided by the merv channel on Anaconda Cloud. These were built natively using an M1 (4E4P) on macOS 12.3.
Tidyverse 🟢 and RMarkdown 🟢
The pandoc-feedstock now ships the osx-64 binary bundled as an osx-arm64 build, which enables full RMarkdown and tidyverse support.
Bioconductor 🔴
No osx-arm64 builds are available. I've played around with building some natively, but already have issue with some core packages. Specifically, having an issue with otool during build.
Workaround: Running in Emulation Mode
The full pipeline can run without issue in osx-64 emulation on Apple Silicon devices. Prior to running the snakemake command users can indicate to Conda/Mamba that the osx-64 channels should be searched instead of the osx-arm64 channels when creating the environments. This is done by setting:
export CONDA_SUBDIR=osx-64
and then proceeding with the snakemake command. Note that this persists only in the current shell session. However, once the environments are created, they should persistent and function without having to set this environment variable in future runs.
Note that users must have Rosetta 2 installed for macOS to emulate.
Status of osx-arm64 Support
Due to lack of Bioconda/Bioconductor support for osx-arm64, only part of the scUTRquant pipeline can run natively on Apple Silicon M1 chipset. Specifically, all steps up through .mtx file (count matrix) generation are fully supported for Apple M1.
Snakemake 🟢
Versions 6 and 7 of Snakemake are installable through Mamba, e.g.,
## install version 7.3 mamba create -n snakemake_7_3 snakemake=7.3Kallisto/Bustools 🟢
The
kallisto-bustools.yamlenvironment is solvable. Both osx-arm64 builds are provided by themervchannel on Anaconda Cloud. These were built natively using an M1 (4E4P) on macOS 12.3.Tidyverse 🟢 and RMarkdown 🟢
The
pandoc-feedstocknow ships the osx-64 binary bundled as an osx-arm64 build, which enables full RMarkdown and tidyverse support.Bioconductor 🔴
No osx-arm64 builds are available. I've played around with building some natively, but already have issue with some core packages. Specifically, having an issue with
otoolduring build.Workaround: Running in Emulation Mode
The full pipeline can run without issue in osx-64 emulation on Apple Silicon devices. Prior to running the
snakemakecommand users can indicate to Conda/Mamba that the osx-64 channels should be searched instead of the osx-arm64 channels when creating the environments. This is done by setting:export CONDA_SUBDIR=osx-64and then proceeding with the
snakemakecommand. Note that this persists only in the current shell session. However, once the environments are created, they should persistent and function without having to set this environment variable in future runs.Note that users must have Rosetta 2 installed for macOS to emulate.