シングルセルシーケンス解析ツールSeuratの使い方

Photo by Pawel Czerwinski on Unsplash

1. Seuratのインストール

まず、RにSeuratをインストールしないといけません。Seuratの他にHdf5ファイルを読み込むためのhdf5rもインストールしましょう。インストールのコマンドは以下です。

Biocondaでインストール(おすすめ)

何かをインストールするとき、Biocondaでインストールできればそれが一番簡単です。ターミナルの画面で、R環境に 入ってない 状態で、以下のコマンドを入力します。

R環境下でインストール

Biocondaじゃなくても、Rのinstall.packagesコマンドでSeuratをインストール可能です。ターミナルで”R”と入力すると、Rの環境に入るはずです。R環境下で以下のコマンドを入力します。

上記のいずれかで、Seuratがちゃんとインストールされたかを確認するにはR環境下で、以下のコマンドを入力します。

このコマンドを入力して何もエラーが出なければちゃんとSeuratがインストールされ、呼び出されています。

いよいよ本番の解析です。現在、singleセルシーケンスの多くは10x Genomics社のChromiumプラットフォームを用いて行われています。なので、今回は10x Genomics社の解析ツールCellrangerで解析された出力ファイルを用いて解析を行います。

練習用データをダウンロード

10x Genomics社のウェブサイトにデータセットがあるので、今回は 5k Peripheral Blood Mononuclear Cells (PBMCs) from a Healthy Donor (v3 chemistry) のデータを使いたいと思います。必要なデータは、 Feature / cell matrix HDF5 (filtered) です。hdf5形式と呼ばれるファイルです。まずこのファイルをwgerもしくはcurlでダウンロードします。こちらはR環境下ではうまくいきませんので、q()でRから抜けてください。その後に、

これで5k_pbmc_v3_filtered_feature_bc_matrix.h5というファイルがダウンロードされました。再びR環境下で、そのファイルを読み込みます。R環境下に入ったら

hdf5ファイルを読み込む

Seuratではhdf5形式(〇〇.h5)のファイルを読み込むための Read10X_h5という 関数が用意されています。 それを使用します。Xは大文字です。

ちゃんと読み込まれているかを確認するためには、dataを確認します。以下のようなデータが出力されれば大丈夫です。

Seurat objectに変換

前回まではhdf5ファイルを読み込むだけでしたが、この形式からseurat objectと呼ばれる形式に変換します。この形式が何なのかは今のところ知らなくて大丈夫です。Seurat objectに変換するには、CreateSeuratObjectで行います。

Normalization

Seuratのチュートリアルでは、正規化の前にTrimmingなどがありますが、一応cellrangerの時点で、不要なデータは取り除かれていることと、本質の解析ではないのでここではTrimmingは省いてNormalization(正規化)に進みます。正規化するには以下のコマンドで行います。

変化の激しい遺伝子を同定して、今後の解析に使用します。FindVariableFeaturesで行います。nfeatures(特異遺伝子)を2000に設定していますが、この数は変更してもらって構いません。ほとんどの場合2000で大丈夫だと思います。

遺伝子の発現量は遺伝子によってまちまちなのでスケール化をします。以下のコマンドで行います。まず、遺伝子名を抜き出して、それを特徴量として使います。

all.genes <- rownames(seurat_object) seurat_object <- ScaleData(seurat_object, features = all.genes)

スケール化したデータを用いてPCA解析を行います。

1. Dimentional Plot

1.1 基本的なDimentional Plotの表示

DimPlot(seurat_clusters)

1.2 Legendを消したいとき

DimPlot(seurat_clusters) + theme(legend.position="none")
#もしくは
DimPlot(seurat_clusters) + NoLegend()

1.3 Labelを表示

DimPlot(seurat_clusters, label=TRUE)
#labelの大きさを設定する
DimPlot(seurat_clusters, label=TRUE, label.size=10)

1.4 クラスターのグループを変える

まず、どのグループが使えるかは、metadataを表示すればわかります。

seurat_clusters@meta.data
DimPlot(seurat_clusters, group.by="RNA_snn_res.0.5")
DimPlot(seurat_clusters, group.by="RNA_snn_res.0.5")

アーカイブ

もっと見る