0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ArchR install備忘録

Last updated at Posted at 2024-09-24

シングルセルATAC-seqデータを処理・解析するためのRパッケージ, ArchRを, Apple M3 Mac, Sonoma 14.5に入れる時に行ったこと

scientific dataから2024年6月12に出版されたこちらの論文

[Ma, Y., Guo, S., Chen, Y. et al. 
Single-nucleus chromatin landscape dataset of mouse brain development and aging. Sci Data 11, 616 (2024).] 
https://doi.org/10.1038/s41597-024-03382-1

で行われているような解析を実行したい, というリクエストを頂いて, Rの環境を準備しようとした際に, ちょっと手間取ったので備忘録と皆さんにも参考になれば, ということで書いてみます.

今回のターゲットはArchR (https://www.archrproject.com/) という, scatac-seq解析ツール.
使用環境はM3 Mac & Sonoma 14.5, Command Line Tools for Xcode は16, R のversionは4.4.1 (2024-06-14), RStudioさんは2024.09.0+375です.

1. 公式ページのインストラクションに従う

まずはフツウに, 公式ページのインストラクションに従ってインストールしようとしてみます. 皆さんの環境によっては, すでに必要な状態が整えられていて, 他に何も必要ない可能性があるので, まずは公式ページ通りにしてみてください.
ちなみに私は今のMacを買ってから, 今日までR環境を全然ローカルに作っていなかったので(しばらくcloudで十分な作業しかしていなかった), 本当にdevtoolsを入れたりするところから始めました.

devtoolsのインストール
if (!requireNamespace("devtools", quietly = TRUE)) install.packages("devtools")
BiocManagerのインストール
if (!requireNamespace("BiocManager", quietly = TRUE)) install.packages("BiocManager")

そして, 私の環境では次を行った際にエラーが出ました.

ArchRのインストール
if (!requireNamespace("BiocManager", quietly = TRUE)) install.packages("BiocManager")
エラーメッセージ
ERROR: dependency chromVAR is not available for package ArchR

ここで出たエラーは, ArchRが依存しているchromVARがない, という内容だったので, 当然こいつを入れに行きます.

chromVARはBioconductorで見つけることができます (https://www.bioconductor.org/packages/release/bioc/html/chromVAR.html).
こちらもまずはフツウにインストラクションに従ってインストールしようとしてみます.

chromVARのインストール
if (!require("BiocManager", quietly = TRUE))
    install.packages("BiocManager")

BiocManager::install("chromVAR")

chromVARはソースからのみインストール可能なため, C/C++/Fortranのコンパイラが使われながらインストールが進みます.
私の環境ではApple clang version 16.0.0 (clang-1600.0.26.3)をC++コンパイラとして使用するところはエラーなく進みました.
が, gfortranを必要とするところでトラブル発生です.

エラーメッセージ
ld: warning: search path '/opt/gfortran/lib/gcc/aarch64-apple-darwin20.0/12.2.0' not found
ld: library 'gfortran' not found
ERROR: compilation failed for package chromVAR

2. Rさんがgfortranを使えるようにする

このステップはArchRやchromVARの公式サイトを見たり, サポートを開発者にお願いしようとしてもうまくいかないところです(自分の環境の問題でArchRやchromVARのバグなわけではないから).

ということで調べながら環境構築します.
解決にあたり, 私は以下のstackoverflowの記事と, R bloggersの記事を参考にしました.

  1. stackoverflow
  2. R bloggers

まずはターミナルで, 本当にgfortranがどこにもいないか調べてみたところ, いなさそうだったのでbrewで入れます.

gfortranのインストール
brew install gcc

なんでgfortranじゃないの? という感じですが, その辺の経緯がR bloggerさんの記事の方に書かれています. 2021年1月から, gfortranはgccにマージされているそうです.

こうしてインストールしてからターミナルで確認すると,

gcc, gfortranのある場所を確認
% which gfortran
/opt/homebrew/bin/gfortran
% which gcc
/usr/bin/gcc

この情報を使って, Rがパッケージのコンパイルにこれらを使えるようにします.
ターミナルで以下の作業を行います.

gcc, gfortranをRが見つけられるようにする
% mkdir ~/.R
% nano Makevars

 FC      = /opt/homebrew/bin/gfortran
 F77     = /opt/homebrew/bin/gfortran
 FLIBS   = -L/usr/bin/gcc
 

念の為書き直すと, ~/.R/Makevarsというファイルを作って, FC以下の3行を書き込み保存した, ということです.

3. もう一度 chromVAR -> ArchR という順序でインストール

準備が整ったところで, RStudioのSessionメニューから Restart R を選択して Rをリスタートします.

chromVARのインストール
if (!require("BiocManager", quietly = TRUE))
    install.packages("BiocManager")

BiocManager::install("chromVAR")

うまくいくと

RStudio Consoleのメッセージ
* DONE (chromVAR)

The downloaded source packages are in ...

みたいな表示が出て完了します.

次に, 元々の目的のArchRのインストールを行います.

ArchRのインストール
if (!requireNamespace("BiocManager", quietly = TRUE)) install.packages("BiocManager")

うまくいくと

RStudio Consoleのメッセージ
                                                   / |
                                                 /    \
            .                                  /      |.
            \\\                              /        |.
              \\\                          /           `|.
                \\\                      /              |.
                  \                    /                |\
                  \\#####\           /                  ||
                ==###########>      /                   ||
                 \\##==......\    /                     ||
            ______ =       =|__ /__                     ||      \\\
        ,--' ,----`-,__ ___/'  --,-`-===================##========>
       \               '        ##_______ _____ ,--,__,=##,__   ///
        ,    __==    ___,-,__,--'#'  ==='      `-'    | ##,-/
        -,____,---'       \\####\\________________,--\\_##,/
           ___      .______        ______  __    __  .______      
          /   \     |   _  \      /      ||  |  |  | |   _  \     
         /  ^  \    |  |_)  |    |  ,----'|  |__|  | |  |_)  |    
        /  /_\  \   |      /     |  |     |   __   | |      /     
       /  _____  \  |  |\  \\___ |  `----.|  |  |  | |  |\  \\___.
      /__/     \__\ | _| `._____| \______||__|  |__| | _| `._____|
    
** testing if installed package keeps a record of temporary installation path
* DONE (ArchR)

こんな可愛らしい表示が出て完了します.

続けて公式サイトに従ってライブラリのロード, 追加パッケージのイストールを行なっていきます.

ArchRのロード
library(ArchR)
ArchR::installExtraPackages()

最後は次のようなメッセージでした.

RStudio Consoleのメッセージ
Successfully installed 5 packages. 0 packages failed installation.

とりあえずインストールまで出来たようです.
皆さんのご参考になれば幸いです.

References

  1. Granja, J.M., Corces, M.R., Pierce, S.E. et al. ArchR is a scalable software package for integrative single-cell chromatin accessibility analysis. Nat Genet 53, 403–411 (2021). https://doi.org/10.1038/s41588-021-00790-6

  2. Schep AN, Wu B, Buenrostro JD, Greenleaf WJ (2017). “chromVAR: inferring transcription-factor-associated accessibility from single-cell epigenomic data.” Nature Methods. doi:10.1038/nmeth.4401.

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?