1. シングルセル解析(データの準備)
シングルセル解析 (scRNA-seq) データの準備について解説します。
1.1 シングルセルデータの取得
データの取得方法は、下記の2つに分けられるかと思います。
- 自分でシーケンスして取得。
- カウント結果を取得。
まず、前者であれば、シーケンス後の fastq ファイルから遺伝子発現を「カウント」する作業が必要になります。10x Genomics のプラットフォームの場合は、 Cell Ranger というパイプラインが提供されているので、これを用います。
後者の場合、 GEO などの公開されたデータから取得するか、シーケンス受託にカウントまでが含まれているケースが該当すると思います。ここでは主に、後者のケース(カウント後)について、 Seurat プログラムを用いて解析する方法を紹介します。
なお、シングルセル解析解析の用語については、下記が参考になるかもしれません。
Cell Ranger についての補足
Cell Ranger の使用方法については、 10x Genomics のドキュメント が非常に詳しいので、そちらを参照されたほうが良いです。ここでは、ドキュメントの理解に手助けとなる情報を紹介するに留めます。
学習するには、下記のチュートリアルを進めていけば良いです。
https://www.10xgenomics.com/support/software/cell-ranger/latest/tutorials
(1) Cell Ranger のインストール
実行に必要な python などのプログラムがコンテナ化されて、1つになっているので、対応する UNIX 環境であれば、圧縮 (tar.gz) を展開するだけで動作します。
「~/yard/apps/cellranger-x.y.z/cellranger」のようにフルパスで指定すれば動作します。(長いパスが面倒であれば、 .bashrc などに記述します。)
また、リファンレンス(GRCh38, mm10)のファイルもダウンロードして、展開して準備します。refdata-gex と書かれているのが、遺伝子発現用 (GEX) のリファレンスです。V(D)J (BCR, TCR) や、 ARC (ATAC)には専用のリファレンスがあります。
(2) Cell Ranger の実行
Cell Ranger の処理としては、下記の流れです。
- fastq ファイルの生成。(
mkfastq
) - カウントの準備。(csv ファイルを作成)
- カウント。(
cellranger count or multi
) - 必要であれば、複数サンプルをまとめる aggregation の処理。
このうち、最初の mkfastq
コマンドを使った処理は、シーケンサーで行う操作です。Cell Ranger で処理できる形式の fastq を生成するためのもので、すでに fastq ファイルが手元にあるのであれば不要です。ただし、 Cell Ranger が認識できるファイル名には規則があります。下記のようなフォーマットになっていなければ、リネームが必要です。
sampleID_S1_L001_R1_001.fastq.gz
sampleID_S1_L001_R2_001.fastq.gz
*sampleID_R1_001.fastq.gz のようなケースでは、 S1_L001_ などを適当に補間しておきます。
「2.」のカウントの準備は、 cellranger multi
のコマンドに渡すサンプル名などの引数を記述した csv ファイルを作成するものです。 fastq がどこにあるか、リファレンスがどこにあるかなどの情報を記述します。(単独のサンプルであれば、 cellranger count コマンドに引数で指定するので不要です。)
cellranger、リファレンス、fastqファイル、csvファイルが準備できれば、「3.」のカウントを実行できます。引数を指定すると、下記のような長いコマンドになります。
(入力例)
cellranger count --id=sampleID (結果フォルダの名前、任意) \
--fastqs=/data/fastq (fastqファイルのあるフォルダ) \
--sample=sampleID (fastqファイルの一部に一致)) \
--transcriptome=/ref/refdata-gex-GRCh38-2020-A (リファレンスのフォルダ)
* id と sample の説明が逆になったいたので修正しました。
「4.」は、サンプルごとにカウントした結果を、1つにマージする場合に行う処理です。「3.」で、 cellranger multi
でカウントした後、 cellranger aggr
を実行すると複数サンプルをマージした結果が出力されます。 V(D)J の場合も、 multi でカウントすると、 GEX, TCR, BCR を連続して処理できます。
(3) Cell Ranger の結果ファイル(カウント結果)
Cell Ranger でカウントした結果は、デフォルトでは「outs」フォルダに格納されています。
multi で実行した場合は、さらに per_sample_outs/sampleID/count
などの階層に入ります。
このうち、web_summary.html
として出力されているのが、カウント結果のサマリーです。マッピングの状況や、検出された細胞数、遺伝子数などがまとめられています。また、t-SNEアルゴリズムによるクラスタリング結果と、それらのクラスターを比較した結果も含まれています。(Seurat で解析する場合は、クラスタリングからやり直すことになるので、この結果は用いません。)
拡張子が、 .cloupe
のファイルは、ルーペブラウザのファイルです。前述のサマリーに含まれるクラスタリング結果で出力されています。
1.2 Seurat で使用するファイル
Seurat での解析には、 sample_filtered_feature_bc_matrix
フォルダにある下記の3つのファイルが必要です。
- barcodes.tsv.gz
- features.tsv.gz
- matrix.mtx.gz
1サンプルあたり、これら3つのファイルが存在します。
GEO のデータ
GEOに公開されているサンプルも、これらの形式で提供されている場合があります。
(パイプラインが同一の場合、features.tsv.gzは、サンプルが異なっても同じ内容になるため省略されているケースもあるかもしれません。)
もしくは、Seurat で解析した結果が、 RDS ファイルや、 RData 形式で提供されていることもあります。この場合も、 Seurat に読み込んで解析に使用できます。その場合、フィルタリングや正規化が行われた後のデータであることが多いと思います。(rawデータではない。)
また、単純なマトリックスの形式で提供されているケースもあります。例えば、遺伝子ごとに「行」、細胞(バーコード)ごとに「列」になっているテキストデータ (txt, tsv, csv)です。
AAAA | AAAT | ... | |
---|---|---|---|
gene1 | 1 | 2 | ... |
gene2 | 10 | 20 | ... |
... | ... | ... | ... |
Discussion