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?

Seurat における DotPlot, VlnPlot の見方を雰囲気理論で本気解説してみた

Posted at

Seurat、楽しいですよね。チュートリアルも充実しているし、公式からのフィードバックも超丁寧で...

でも、覚えることが多すぎて、ムリゲーと感じている人も多いのではないでしょうか。特に理論的な部分については、初見では難しいのではないかと思います。

今回は図の見方と、ちょっとした理論に焦点を当て、そういった方の理解を助けられたらなと思います。

大まかなポイントは以下の2つです。
① 正規化は、細胞間比較(クラスター間比較)のために必須
遺伝子間比較は、scRNA-seq では現状不可能
② 標準化(Z-Score 変換)は、遺伝子間の scale を合わせるために必要

順を追って説明します。

まず、scRNA-seq データは、遺伝子数×細胞数の、行列データになっています。主な目的は細胞間の発現比較です。

細胞間発現比較の際には準備として、細胞ごとの mRNA 読み込み深度(シーケンス深度)を修正する必要があります。この操作を正規化と言います。正規化には二種類ありますが、ここでは簡単な LogNormalize を紹介します。

プレゼンテーション1.jpg

画像の通りですが、式にすると以下のようになります。

$$
x_{norm,ij} = \log\left(\frac{x_{i,j}}{\sum_{i=1}^{n_i} x_{i,j}}\times10000 + 1\right)
$$
            xi,j: 細胞 j における遺伝子 i のカウント値
                         ni: 遺伝子数

10000倍しているのは、小さすぎる値に密集することを防ぐためで、対数変換は大きすぎる値を丸めるためです。また、対数変換の際には +1 をすることで、対数変換時に log0 が発生することを防いでいます。

bulk の RNA-seq に慣れている人にとっては以下が分かりやすいでしょうか。

$$
x_{norm,ij} = \log\left(\frac{CPM_{i,j}}{100} + 1\right)
$$


ちなみに、正規化の定義として良く聞くのが「最小値 0, 最大値 1 にする変換」ですが、今回も Σ の式で割ることにより、実質的に同じ操作を含んでいます。

ではこれを踏まえた上で、VlnPlot を見てみましょう。データの参考文献は最後に記載します。

image.png

図は、マウス胎盤栄養膜細胞における Prl8a9 遺伝子の VlnPlot です。縦軸は先ほど計算した正規化後の値、点は細胞(核)を表します。バイオリンは細胞の分布を示す密度で、0 付近に見える峰は、0 未満の密度がカットされているために生じているものです。本来は、マイナス方向の密度がある、二峰性の密度分布をしています。検出が無い細胞も多いということですね。ちなみに、あまりにも 0 が多い場合には、 Violin 自体が描画されないようです。

これらを踏まえ、VlnPlot の解釈としては、Prl8a9 は SpT に多く、SynTI, SynTII, S-TGC, Glycogen Cells にも少しは発現がありそうだ、となります。バイオリン の描画が無い部分は判別不可です。


では次に、DotPlot を見てみましょう。

image.png

ここでも大事なのは、細胞間 (クラスター間)比較 であるということです。まずは Average Expression から、順を追って説明します。先ほど、正規化の計算について説明しました。AverageExpression では、正規化後の値を真数変換した後、クラスターごとに算術平均を取ります。

$$
Average Expression_{i,Cluster_k} = Average_{j ∊k}\left(\frac{x_{i,j}}{\sum_{i=1}^{n_i} x_{i,j}}\times10000\right)
$$

$$
       = Average_{j ∊ k}\left(\frac{CPM_{i,j}}{100}\right)
$$

                        k: クラスター k

大小関係を見るだけならこのままでも良いのですが、遺伝子を並列する場合にはスケールを合わせる必要があります。身長の大小関係と、体重の大小関係が分かっても、値としてそのまま表示することが出来ないのと同じです。そこで、クラスターごとの平均発現に対して標準化(Z-Score 変換)を行います。

$$
Z_{i, Clusterk} = \frac{Average Expression_{i, Clusterk} - μ_{i , clusters}}{σ_{i, clusters}}
$$         μi,clusters: (AverageExpression i, Clusterk) の平均
       σi,clusters: (AverageExpression i, Clusterk) の標準偏差


これでようやく、Average Expression として遺伝子の並列表示が出来ます。ただし、スケールを変えたと言っても、表示上の問題を解決するためであって、遺伝子間比較はできないという事実は変わりません。

では、次に、Percent Expressed について説明します。これは図に示したほうが早いかもしれません。

プレゼンテーション1-2.jpg

この、"検出が 0 でない細胞の割合" が Percent Expressed です。
色の濃淡だけでは反映できない、遺伝子ごとの検出の程度を表す指標となっています。この値も、遺伝子間比較はできないので注意してください。遺伝子ごとの信頼性のようなものです。

これらを踏まえ、DotPlot の解釈としては、Prl8a9 は SpT に多く、Ctsq は S-TGC に多いだろう、となります。Gapdh については検出があまり見られていないので、判断がつきません(細胞核のデータなので、当たり前と言えば当たり前)。

いかがだったでしょうか。今回は DotPlot, VlnPlot を見ていきました。scRNA-seq の基本となる図なので、見方の把握は必須だと思います。Z スコア変換はヒートマップにも使用されているので、DotPlot との違いを考えてみるのも大事だと思います。これからもシングルセル、楽しんでいきましょう。


次回は Seurat Object の話をするか、SCTransform の話をするか、悩みどころです。

参考文献
Marsh B, Blelloch R. Elife. 9: e60266. (2020)

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?