PEPPER-Margin-DeepVariantがM1 Macで動くまで
はじめに
先月 (2025年3月)発売された実験デザインからわかる マルチオミクス研究実践テキストで紹介されているコードをM1 Macの環境で練習しようとした際 PEPPER-Margin-DeepVariantの実行のところで少々躓いたのでメモしておきます。
解析環境 (Hardware)
-MacBook Pro
-チップ Apple M1
-macOS Ventura 13.6.6
-メモリ 16GB
解析環境 (Software)
-PEPPER-Margin-DeepVariant r0.8
PEPPER-Margin-DeepVariantが最後まで実行できない
上記書籍の 第3章-1. ゲノム解析 の項ではONT(Oxford Nanopore Technologies)のロングリードシークエンスのデータを用いた解析ワークフローが紹介されています。
ワークフローの8番目の工程「PEPPER-Margin-DeepVariant を用いて SNV/INDEL検出を行う」ではApptainer (Singularity)による実行方法が記載されていました。
そこでLimaを利用してMac OS内にUbuntu + Apptainerを導入して(あるいはLima + Dockerの環境で)書籍に記載の通りに実行しようと試みましたが
Illegal instruction (core dumped) python3
while checking container encryption: could not open image path_to/image/pepper_deepvariant_r0.8.sif: the image's architecture (amd64) could not run on the host's (arm64)
exec format error
などのメッセージが出て、最後まで実行できる方法を見つけられませんでした。
アーキテクチャの違いや、DeepVariantがAVXのサポートが前提になっている点などがハードルになっているようでした。
PEPPER-Margin-DeepVariantがM1 Macで動いた
結論に飛んでしまいますが、
Docker Desktop (使用したバージョン:4.39.0)で
Virtual Machine Optionsで
- Apple Visualization framework を選択
- Use Rosetta for〜 にチェックは入れない
以上の設定で実行すると最後まで実行することができました。
(あるいは、Docker VMMを選択した場合でも実行できました)
Docker実行の際のコマンドは以下のようにしました。
docker run --platform linux/x86_64 \
-v "$(pwd)":"/genome_analysis" \
-u $(id -u):$(id -g) \
-it \
kishwars/pepper_deepvariant:r0.8 \
run_pepper_margin_deepvariant call_variant \
-b /genome_analysis/dorado/CMK-86.sorted_markdup.bam \
-f /genome_analysis/reference/Homo_sapiens_assembly38.fasta \
-o /genome_analysis/output \
-p CMK-86 \
-t 4 \
-k true \
--ont_r9_guppy5_sup \
--phased_output
実行終了までの時間は80分強でしたが
書籍に記載の出力ファイル
- 変異コールされたvcfファイル
- phase情報が記載されたbamファイル
を得ることができました。
なお、WSL2 + Ubuntu + Dockerで実行すると...
MacBook Pro (Mid 2012、メモリ16GBとSSDに換装、AVX1.0)にBoot Campで入れたWindows上で、WSL2 + Ubuntu + Dockerの環境で同様に実行してみました。
こちらは20分強で終了しました。
おわりに
もし同じ壁にぶつかった方がいらっしゃいましたら、少しでも参考になりますと幸いです。
Discussion