scATAC-seq(single-cell ATAC-seq/核を使う場合は snATAC-seq)のピークコールは、フラグメントが密集した「開いた領域」をピークとして切り出す工程です。ここでは、なぜクラスタごとに呼ぶのか、その手順を実際のコードとともに押さえます。
1. ピークコールとは
ピークコールは、フラグメントが密集した領域(=開いた領域)を ピークとして切り出す操作です。読み込みの回で見たタイルが機械的な区切りだったのに対し、ピークは生物学的に意味のある領域です。差次的アクセシビリティやモチーフ解析といった下流解析は、このピークの上で行います。
2. なぜクラスタごとに呼ぶのか
ピークは、全細胞をまとめてではなく クラスタ(細胞型)ごとに呼びます。理由は希少な細胞型にあります。
全細胞をまとめて呼ぶと、希少な細胞型に特異的なピークは、多数派に薄められてしきい値に届かず見逃されます。クラスタごとに呼べば、その細胞型の中でシグナルが濃縮されるので、希少な領域も拾えます。
⚠️ そのため、実際の順序はクラスタリングの後
クラスタごとに呼ぶには、先にクラスタが決まっている必要があります。つまり SnapATAC2 では、タイルで次元削減・クラスタリングを済ませてから、ピークコールを行います。
クラスタごとに呼ぶには、先にクラスタが決まっている必要があります。つまり SnapATAC2 では、タイルで次元削減・クラスタリングを済ませてから、ピークコールを行います。
3. 3ステップで統一ピークを作る
MACS3 が返すピークはクラスタごとで長さもばらばら、位置も重なります。これを統一するのが merge_peaks です。
流れは3ステップです。① macs3 でクラスタごとに検出 → ② merge_peaks で重なりを解消し固定幅・非重複のコンセンサスに → ③ make_peak_matrix で細胞×ピーク行列を作成。固定幅・非重複にしておくと、後のモチーフ解析などが扱いやすくなります。
💡 用語:MACS(MACS2 / MACS3)
MACS は Model-based Analysis of ChIP-Seq の略で、もともと ChIP-seq 用に作られたピーク検出の定番です(MACS2:Zhang et al., Genome Biology, 2008)。現行版は MACS3 で、SnapATAC2 はこれを内部で呼び出します。
MACS は Model-based Analysis of ChIP-Seq の略で、もともと ChIP-seq 用に作られたピーク検出の定番です(MACS2:Zhang et al., Genome Biology, 2008)。現行版は MACS3 で、SnapATAC2 はこれを内部で呼び出します。
4. コード:SnapATAC2(MACS3)
python
# 前提:クラスタリング済み(obs['leiden'] などのグループ列がある)
# 1. クラスタごとに MACS3 でピークを検出(可変長)
snap.tl.macs3(data, groupby="leiden")
# 2. 重なりを解消して統一ピークに(固定幅・非重複)
peaks = snap.tl.merge_peaks(data.uns["macs3"], snap.genome.hg38)
# 3. 細胞 × ピーク行列を作成
peak_mat = snap.pp.make_peak_matrix(data, use_rep=peaks["Peaks"])
print(peak_mat)
タイルは約600万列ありましたが、ピークは約30万に絞られます。ここからが「意味のある特徴量」での解析です。
text
# 出力例(タイル約600万 → ピーク約30万に絞られる)
AnnData object with n_obs × n_vars = 4437 × 302197
5. 注意点
- groupby にはクラスタ列を渡す:クラスタリング後の
obs列(leiden や cell_type)を指定します。 - qvalue でピークの厳しさを調整:既定 0.05。小さくすると確実だが数は減ります。
- ブラックリスト領域を除く:
blacklistにBEDを渡すと、アーティファクトが多い既知の領域を除外できます。 - 関数名の履歴:旧
tl.call_peaksは現在tl.macs3。自動マージも廃止され、merge_peaksを明示的に呼びます。
まとめ
- ピーク=開いた領域=意味のある特徴量。下流解析はこの上で行う。
- クラスタごとに呼ぶと、希少細胞型のピークも拾える(=クラスタリングの後に実施)。
- macs3 →merge_peaks(固定幅・非重複)→ make_peak_matrix の3ステップ。
関連記事
- scATAC-seq のデータ読み込みとデータ構造
- scATAC-seq のダブレット検出
- scATAC-seq の次元削減とクラスタリング
- scATAC-seq 前処理の全体像 ─ QC からクラスタリングまで
参考文献
- Zhang, Y., Liu, T., Meyer, C. A., et al. (2008). Model-based Analysis of ChIP-Seq (MACS). Genome Biology, 9(9), R137. doi:10.1186/gb-2008-9-9-r137
- Zhang, K., Zemke, N. R., Armand, E. J., & Ren, B. (2024). A fast, scalable and versatile tool for analysis of single-cell omics data. Nature Methods, 21(2), 217–227. doi:10.1038/s41592-023-02139-9


コメント