Seuratのインストール

日付;2022/10/29(土)

single cell RNA sequenceの解析を行うためには、いくつかのソフトをインストールする必要がある。自分は仕事で10xGenomicsのライブラリー作成キット(Chromium Single Cell 3′ Reagent Kits User Guide (v3.1))を使っている関係から、もはやcellrangerは必須である。高次解析にはSeurat(スーラというらしい。)やmonocle3を使用する必要が、どうやらありそうだ。

今回はその一つ、Seuratのインストールについて記録しておく。その理由は、Windows 11にインストールするのは簡単だったのに、Ubuntu 20.04にインストールするのがすごく大変だったからだ。

Seuratのホームページ(https://satijalab.org/seurat/)には以下のようにインストールすれば良いと欠いてある。

ほう。楽勝っぽい。

結論としてこれだけでは全くインストールできない。コイツら、何言ってんだろうか。いや、自分らも気づいてるだろ。直せや!!ちゃんとマニュアル作れや!!!以下の画像がエラーメッセージである。

多すぎるわ!!依存関係のチェックはどうしたよ。

文句ばかりも言っていられないので、ダラダラとインストールして行くことにする。以下が、自分が良くやる裏技である。というか、裏技か??少なくともメジャーな方法ではないはず。

以下にコツややったことを述べていく。

そもそもRを使わない

おかしな話であるが、RにSeuratをインストールしたいのに、こういうギークすぎるインストールを行う場合は、Rは使わない。どうするかというと、極力全部、sudo apt searchで探し、それっぽいパッケージがレポジトリに登録されていたらsudo apt installでインストールしていく。上図で言えば、例えばigraphというRのパッケージが必要だとする。その場合、まずはsudo apt search igraphとターミナルに入れてみる。そうすると、”r-cran-igraph/focal, now 1.3.5-1cran1.2004.0 amd64″があるよ、と返ってくる。そうなれば、sudo apt install r-cran-igraphと入れて、igraphをインストールしていく。なぜそうかというと、RやRStudioだけだと依存関係を解決できないことがあるためだ。たまにRのライブラリではないヤツがそのRのパッケージに必要であることがあり、それもいちいちインストールする必要があるだ。そのためにソフトを切り替えるの面倒くさいためという理由もある。また、パッケージのバージョンも関連してそうだが、Rstudioではインストールできなかったがこの方法でインストールできるパッケージもあったりするためである。これでCRANに登録されているパッケージを一通りインストールできる。

しかし、これには注意点がある。インストールされるパッケージが古いことがある。これはどこかでなにかの原因になりかねない。しかし、幸いにもSeuratは大丈夫だった。

RstudioではなくRを使う

Rが必要な場合、Rstudioではなく、Rを使うことがコツの1つ目である。そのとき、sudo権限でRを起動すると良い。これにより、Rstudioでごくたまに起こる”Permission denied”というエラーを避けることができる

RstudioではなくRを使う。

aptでインストールできないようならばRstudio

いくつかのパッケージではそもそもコンパイルするために必要なライブラリをインストールしなくてはならない。そのインストールを正常に終えたとしても、どうしてもsudo apt installでインストールできない場合がある。そんなときは、Rstudioでそのパッケージをインストールしてみたら良い。自分の場合は、sctransformがそうだった。必要なライブラリはインストールしており、sudo apt searchでもちゃんと検索されてきているのに、sudo apt installするとどうしてもライブラリが無いというエラーが出る。いや、もうインストールしてあるって。ぶっ壊すぞ。

そんなときはRstudioを起動し、満を持してinstall.packages(“sctransform”)と入れるようにする。そうすると、無事にインストールできた。

難しいところ;sctransform

個人的には、このインストールで一番時間がかかったのが、sctransformだった。コンパイルするためのライブラリがいくつか必要であり、かつ、apt searchでちゃんと見つけることができるのに、apt installでインストールできない。それに、apt installやRのinstall.packagesが返すエラーには、r-api-3.5が必要とあるにも関わらず、こんなものインストールはできないようだ。これはr-base-coreのバージョン3.5に含まれるライブラリのようである。こんなものを無理やりv. 4.2.1のRにインストールしたならば、ソフトがぶっ壊れるのは明らかではないか。ということで、apt install r-cran-sctransformは諦めてRstudioに行き、install.packages(“sctransform”)を走らせる。そしてそのエラーをよく見ていると、llapackとかlblasとかlgfortranっているヤツが必要であることがわかる。一つはおそらく、gfortranだろう。というか、インストールしてないんかい。そして前の2つをGoogle検索してみると、どうもiblapack-devとlibblas-devというヤツでイケそうな感じがする。ということで、この3つをapt searchして次にapt installする。ちなみに、事にそれら3つがインストールできても、apt install r-cran-sctransformはr-api-3.5がほしいの一点張りだった。マジで、ぶっ壊すぞ。

ということで、Rstudioでinstall.packages(“sctransform”)を改めて流してみると、無事にインストールできた。

sctranform。コンパイルに必要なライブラリがそもそも足りないことがわかる。

難しいところ;rgeos

apt installでこれをインストールしようとしたところ、必ずlibgeos-c1v5が必要だというエラーが出る。そのエラーには、代わりに3.8.0のヤツが入ってるで、ということが書いてある。じゃあ、イケるんじゃあないのかよ。全然駄目だった。なので、手当たり次第、それっぽいライブラリをapt searchで探してapt installしていく。インストールしたライブラリはibgeos++-dev、libgeos-3.8.0 、ibgeos-dev、r-cran-libgeos、r-cran-geos 、ibgeos-doc。これをインストールしてからRstudioでinstall.packages(“rgeos”)を流したら、インストールできた。実際に何が必要だったのか、考えるのは既に止めている。

他に必要だったパッケージ

必要だったパッケージは以下である。これらは全部sudo apt searchで探して、sudo apt installでインストールしていると思う。もちろん、Linuxのリポジトリなんで頭にr-cran-が付いているものである。

spatstat.geom
spatstat.random
igraph
irlba
leiden
lmtestpng
reticulate
Rtsne
spatstat.core
uwot

最後にRstudioでインストラクション通りinstall.packages(“Seurat”)を入れて、無事にインストールでききた。ちなみに、最後にapt install r-cran-seuratをコンソールで流しても、r-api-3.5とlibgeos-c1v5が必要というエラーでインストールできなかった。多分、バージョンが古いんだろう(r-cran-seurat/focal 3.1.3-1 amd64と書いてあった。)。

最後にminicondaをインストールするかどうか聞いてくる

最後にinstall.packages(“Seurat”)をしていると、minicondaをインストールする?と聞いてくる。

それをインストールすれば、他のライブラリも簡単にイントールできるようになるのか?メンテナンスなんかもやってくれるのか??それをインストールしなければSeuratは動かないのか???

「だが断る」

Noと言ってやった。

無事にインストールできた。やれやれだ。