💻

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