😊
Linux + Conda で CellChat をインストールする完全備忘録
はじめに
single-cell RNA-seq 解析で広く使われている CellChat ですが、
- CRAN / Bioconductor / GitHub
- Rcpp / Eigen / igraph / NMF
- conda 環境 + Linux
が絡み合い、インストールが地獄になりがちです。
この記事は、Linux 上で conda を使い、新しい仮想環境を作成して CellChat を動かすまでを、実際にハマったエラー込みでまとめた備忘録です。
結論から言うと、
「R に全部任せない。依存関係は conda で固める」
これがすべてでした。
環境
- OS: Linux (x86_64)
- package manager: conda / mamba
- R: 4.4.x
- CellChat: GitHub 版
1. conda 仮想環境を作成
まずは完全にクリーンな環境を作ります。
mamba create -n cellchat -c conda-forge -c bioconda \
r-base=4.4 \
r-remotes \
r-rcpp \
r-rcppeigen \
r-dplyr \
r-ggplot2 \
r-patchwork \
r-cowplot \
r-data.table \
r-magrittr \
r-tidyr \
r-stringr \
r-future \
r-future.apply \
r-plotly \
r-shiny \
r-ggpubr \
r-ggnetwork \
r-circlize \
r-complexheatmap \
r-nmf \
bioconductor-biocneighbors \
r-igraph
有効化します。
conda activate cellchat
2. R を起動して確認
R
以下を確認。
R.version.string
.libPaths()
Platform: x86_64-conda-linux-gnu
と出ていれば conda R を使えています。
3. やってはいけないこと
この段階で以下をやると、ほぼ確実に壊れます。
❌ install.packages("igraph")
❌ install.packages("NMF")
❌ update.packages()
理由:
- system library(xml2, glpk, lapack 等)を R が勝手にビルドし始める
- conda の ABI と衝突
4. CellChat を GitHub からインストール
ここが最大のポイントです。
library(remotes)
remotes::install_github("sqjin/CellChat")
途中で以下のように聞かれます:
These packages have more recent versions available.
Which would you like to update?
👉 必ず
3: None
を選びます。
これを間違えると、igraph / NMF 再ビルド地獄に戻ります。
5. よく出たエラーと対処
❌ NMF version error
namespace ‘NMF’ 0.21.0 is being loaded, but >= 0.23.0 is required
→ conda で r-nmf を入れる(CRAN から入れない)
❌ igraph linking error
ld: cannot find -lxml2
→ install.packages("igraph") をしているのが原因
→ conda の r-igraph に任せる
6. インストール成功の確認
library(CellChat)
packageVersion("CellChat")
以下が通れば成功。
data(CellChatDB.human)
CellChatDB.human
7. この環境を壊さないための鉄則
- R は アプリケーション層
- 依存ライブラリは conda 層
- R に更新を聞かれたら None
「conda が土台、R はその上」
おわりに
CellChat のインストールは、
- single-cell 初心者
- Linux 初心者
にとっては完全にトラップだらけです。
この記事が、
- 未来の自分
- 同じところで詰まった誰か
の助けになれば幸いです。
参考
- CellChat GitHub
- Bioconductor / CRAN / conda-forge
Discussion