📚 この記事について:「scRNA-seq解析(前処理編)」の入口です。まずは全体像をやさしくつかむための記事。専門用語は出てくるたびに説明します。各ステップの実際のコードは、末尾のリンクから個別記事へ。
はじめに:そもそも「前処理」って何?

シングルセル RNA-seq(scRNA-seq、single-cell RNA sequencing:1細胞ずつ遺伝子の働きを測る技術)の機械から出てくるデータは、そのままでは解析できません。**ノイズや人工物(アーティファクト)が混じった「生データ」**だからです。
そこで、生データをきれいに整えて、解析できる形にする作業が「前処理」です。
🍳 たとえると:料理の下ごしらえです。市場で買ってきた野菜(生データ)を、洗って・傷んだ部分を取り除いて・切りそろえる。この下ごしらえをしないと、まともな料理(解析)はできません。
入口と出口はこうです。
- 入口:細胞ごとに「どの遺伝子が何回読まれたか」を記録した巨大な表(行=細胞、列=遺伝子)。これを カウント行列 と呼びます。
- 出口:低品質な細胞を除き、サンプル間のズレをそろえ、似た細胞をグループ分けし終えた、きれいなデータ。
この出口のデータが、次の本格的な解析(細胞型の同定、条件間の比較など)の出発点になります。前処理の質が、その後すべての精度を決めます。
前処理の8ステップ(何のために、何をする?)
全体は8つのステップに分かれます。まずは「各ステップが何のためにあるか」をイメージでつかみましょう。ツール名は今は軽く見るだけでOKです。

むずかしい2ステップには「2つの道」がある
表で「PC / GPU」となっている ③ダブレット検出 と ⑥統合 には、やり方が2通りあります。ここがこのセクションのポイントです。
- 🖥 古典的な方法(Harmony・scrublet):普通のパソコンで動く、手軽で速い昔ながらの方法。
- ⚡ AI の方法(scVI・SOLO):GPU が必要な、深層学習を使う新しい方法。大きなデータや難しいケースに強い。
💬 GPU って?:もともと画像処理用の高速な計算装置で、AI の計算に向いています。手元に無くても、無料の Google Colab で使えます。
どちらか一方の道を選べばOKです。流れはこうなります。

💡 なぜ順番が違う?:scrublet は単独で動くので統合の前に、SOLO は scVI の結果が必要なので統合の後に行います。
🔰 初めてならこれ:まずは 普通のPCで完結する道(Harmony+scrublet) で十分です。慣れて GPU が使えるようになったら、AI の道(scVI 系)を試しましょう。「AI だから常に良い」わけではなく、データの規模・GPUの有無・目的で選ぶのが正解です。
(任意)RNA velocity をやる予定の人へ
細胞の「時間軸」を予測する RNA velocity という解析をやる場合は、そのための専用ファイル(loom ファイル)を、①読み込みの段階で一緒に取り込んでおくとスムーズです。loom の作り方と velocity 解析そのものは別記事で扱います。今は「最初に取り込むんだな」とだけ覚えておけば十分です。
🔍 慣れてきたら:古典 vs AI の詳しい比較
ここからは少し踏み込んだ内容です。最初は読み飛ばしてかまいません。各ツールの仕組み・インストール・落とし穴は、末尾の「ツール解説シリーズ」で詳しく解説しています。
⑥ 統合:Harmony と scVI の違い
| 観点 | Harmony(古典・PC) | scVI(AI・GPU) |
|---|---|---|
| 仕組み | PCA の空間でバッチを反復的にそろえる | 生カウントを深層学習で表現し直す |
| 速度(小規模) | 速い | 遅い |
| 大規模データ | やや不利 | 得意 |
| 強いバッチ効果 | 消しすぎることがある | 強い効果を消しつつ生物差を保つ |
| 再現性 | ほぼ毎回同じ | 乱数依存(毎回わずかに違う) |
| 発展性 | 単機能 | SOLO・アノテーション等へ発展 |
📌 目安:GPU が無い・小〜中規模 → Harmony/GPU 可・大規模・発展性が欲しい → scVI(Luecken et al., 2022)。
③ ダブレット:scrublet と SOLO の違い
| 観点 | scrublet(古典・PC) | SOLO(AI・GPU) |
|---|---|---|
| 仕組み | 人工的に作ったダブレットと比較 | scVI の表現を使い分類 |
| 前提 | 単独で動く | 学習済みの scVI が必要 |
| 実行する位置 | 統合の前 | 統合(scVI)の後 |
📌 目安:GPU が無い・手早く → scrublet/scVI を使っている → SOLO。性能はデータ次第なので、重要な解析では両方使って一致を見るのも有効です(Xi & Li, 2021)。
このセクションの記事一覧
| # | 記事 | 環境 |
|---|---|---|
| 1 | データの読み込みと品質管理(QC) | 普通のPC |
| 2 | サンプル統合:Harmony(古典) | 普通のPC |
| 3 | サンプル統合:scVI(AI) | GPU必須 |
| 4 | ダブレット検出:scrublet(古典) | 普通のPC |
| 5 | ダブレット検出:SOLO(AI) | GPU必須 |
| 6 | 正規化・特徴選択・次元削減・クラスタリング | 普通のPC |
個別ツールの詳しい解説(ツール解説シリーズ)
- 📖 「scVIとは?」 … 統合・バッチ補正を深層学習で(GPU)
- 📖 「SOLOとは?」 … scVI を土台にしたダブレット検出(GPU)
- 📖 「CellBenderとは?」 … アンビエントRNA の除去(CLI・GPU)
- 📖 「scibとは?」 … 統合の良し悪しを定量評価(CPU・Python 完結)
参考文献
- Heumos, L., Schaar, A. C., Lance, C., et al. (2023). Best practices for single-cell analysis across modalities. Nature Reviews Genetics, 24, 550–572. doi:10.1038/s41576-023-00586-w
- Luecken, M. D., Büttner, M., Chaichoompu, K., et al. (2022). Benchmarking atlas-level data integration in single-cell genomics. Nature Methods, 19, 41–50. doi:10.1038/s41592-021-01336-8
- Xi, N. M., & Li, J. J. (2021). Benchmarking Computational Doublet-Detection Methods for Single-Cell RNA Sequencing Data. Cell Systems, 12(2), 176–194. doi:10.1016/j.cels.2020.11.008
- Traag, V. A., Waltman, L., & van Eck, N. J. (2019). From Louvain to Leiden: guaranteeing well-connected communities. Scientific Reports, 9, 5233. doi:10.1038/s41598-019-41695-z

コメント