deeptools について
deepTools は、ハイスループットシーケンスデータを扱うゲノミクス研究者向けのスキルです。品質管理、正規化、サンプル比較、可視化に加え、ファイル検証や deepTools 4.0.0 の注意点も扱います。
主な機能
- 01BAM を bigWig または bedGraph に変換
- 02シーケンス品質とサンプル相関の評価
- 03ゲノム領域周辺のヒートマップとプロファイル作成
- 04エンリッチメントとピーク領域の可視化
- 05ファイル検証とワークフローテンプレート
活用シーン
- 01ChIP-seq の品質確認とリプリケート比較
- 02RNA-seq のカバレッジトラック作成
- 03TSS 周辺のシグナルヒートマップ作成
- 04ATAC-seq データの解析とサンプル比較
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ k-dense-ai/ scientific-agent-skills --skill deeptoolsインストール後、Claude Code で/deeptoolsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/quick_reference.mdreferences/core_workflows.mdeffective_genome_sizes.mdnormalization_methods.mdreview.mdtools_reference.mdworkflows.mdscripts/validate_files.pyworkflow_generator.py詳細
deepTools: NGS データ解析ツールキット
概要
deepTools は、ハイスループットシーケンシングデータの処理と解析のために設計された、Python コマンドラインツールの包括的なスイートです。deepTools を使用して、品質管理の実施、データの正規化、サンプルの比較、そして ChIP-seq、RNA-seq、ATAC-seq、MNase-seq などの NGS 実験向けの出版品質の可視化を生成できます。
主な機能:
- BAM アラインメントを正規化されたカバレッジトラック (bigWig/bedGraph) に変換する
- 品質管理の評価 (フィンガープリント、相関、カバレッジ)
- サンプルの比較と相関解析
- ゲノム特徴周辺のヒートマップおよびプロファイルプロットの生成
- エンリッチメント解析とピーク領域の可視化
このスキルを使用する場面
このスキルは、次のような場合に使用してください:
- ファイル変換: 「BAM を bigWig に変換」、「カバレッジトラックを生成」、「ChIP-seq データを正規化」
- 品質管理: 「ChIP の品質を確認」、「レプリケートを比較」、「シーケンシング深度を評価」、「QC 解析」
- 可視化: 「TSS 周辺のヒートマップを作成」、「ChIP シグナルをプロット」、「エンリッチメントを可視化」、「プロファイルプロットを生成」
- サンプル比較: 「処理区と対照区を比較」、「サンプルを相関」、「PCA 解析」
- 解析ワークフロー: 「ChIP-seq データを解析」、「RNA-seq カバレッジ」、「ATAC-seq 解析」、「完全なワークフロー」
- 特定のファイル形式の使用: ゲノミクス文脈における BAM ファイル、bigWig ファイル、BED 領域ファイル
クイックスタート
deepTools を初めて使用する方は、ファイルの検証と一般的なワークフローから始めてください:
1. 入力ファイルの検証
解析を実行する前に、検証スクリプトを使用して BAM、bigWig、BED ファイルを検証します:
python scripts/validate_files.py --bam sample1.bam sample2.bam --bed regions.bed
これはローカルファイル、読み取り可能な BAM/BAI/CSI 構造と座標順序、bigWig ヘッダー、およびすべての BED 行をチェックします。アセンブリの同一性や生物学的な適合性を確定するものではありません。
2. ワークフローテンプレートの生成
標準的な解析には、ワークフロー生成ツールを使用してカスタマイズしたスクリプトを作成します:
# List available workflows
python scripts/workflow_generator.py --list
# Generate ChIP-seq QC workflow
python scripts/workflow_generator.py chipseq_qc -o qc_workflow.sh \
--input-bam Input.bam --chip-bams "ChIP1.bam ChIP2.bam"
# Make executable and run
chmod +x qc_workflow.sh
./qc_workflow.sh
3. 最も一般的な操作
よく使用されるコマンドとパラメータについては、assets/quick_reference.md を参照してください。
インストール
uv venv --python 3.13 .venv-deeptools
uv pip install --python .venv-deeptools/bin/python deepTools==4.0.0
source .venv-deeptools/bin/activate
bamCoverage --version
アップストリームでは、特に共有 HPC システム上での完全な依存関係の解決のために、conda/bioconda を推奨しています:
conda create -n deeptools -c conda-forge -c bioconda python=3.13 deeptools=4.0.0 samtools
4.0.0 の PyPI リリースには、ネイティブの macOS Intel/Apple Silicon および Linux 用の wheel が含まれています。Conda での提供状況はプラットフォームによって異なります。上記の PyPI ワークフローは macOS で実行確認されています。
4.0 への移行: 書き直された 5 つのコマンドは Rust を使用しています。bamCoverage、bamCompare、multiBamSummary は --ignoreDuplicates を受け付けなくなりました。重複マーキング後にのみ --samFlagExclude 1024 を使用してください。bamCompare は SES を受け付けなくなりました。リリースされた Rust バックエンドは、矛盾するローリングドキュメントの記述にもかかわらず RPGC を受け付けます。宣伝されている操作のいくつかは不正確です (レビューを参照)。書き直されたカバレッジコマンドから --exactScaling が削除されました。これはスケーリングがすべてのリードを使用するようになったためです。検証済みの契約と残っている制限については、references/review.md を参照してください。
コアワークフローとツールカテゴリ
ChIP-seq QC、完全な ChIP-seq 解析、RNA-seq カバレッジ、および ATAC-seq 解析の完全なコマンドシーケンス、さらに BAM/bigWig 処理、品質管理、および可視化の ツールカテゴリは、references/core_workflows.md と references/workflows.md にあります。ツールごとのオプションは references/tools_reference.md にあります。
正規化手法
有効な比較を行うには、正しい正規化を選択することが重要です。包括的なガイダンスについては references/normalization_methods.md を参照してください。
クイック選択ガイド:
- ChIP-seq カバレッジ: RPGC または CPM を使用
- ChIP-seq 比較: log2 と readCount を指定した bamCompare を使用
- RNA-seq ビン: CPM を使用
- RNA-seq 遺伝子: アノテーションを考慮した遺伝子/転写産物ワークフローで定量化します。bamCoverage の RPKM はゲノムビンをスケーリングするものであり、遺伝子をスケーリングするものではありません
- ATAC-seq: シフト済みアラインメントテンプレートには CPM を使用します。拡張なしの RPGC は 4.0.0 ではシフト済み BAM で失敗しました
正規化手法:
- RPGC: ゲノムカバレッジ 1×(--effectiveGenomeSize が必要)
- CPM: マップされたリードあたりのカウント(counts per million mapped reads)
- RPKM: キロベースあたり・百万リードあたりのリード数(ビン長とライブラリサイズによるスケーリング)
- BPM: リリースされた 4.0.0 の Rust 実装では CPM に帰着します。遺伝子の TPM として解釈しないでください
- None: 生カウント(比較には推奨されません)
詳細な説明: references/normalization_methods.md
実効ゲノムサイズ
RPGC 正規化には実効ゲノムサイズが必要です。以下は 4.0.0 タグ付きソースからの例であり、普遍的なアセンブリ定数ではありません(更新されるドキュメントとは異なります):
| 生物種 | アセンブリ | サイズ | 使用法 |
|---|---|---|---|
| ヒト | GRCh38/hg38 | 2,913,022,398 | --effectiveGenomeSize 2913022398 |
| ヒト | T2T/CHM13CAT_v2 | 3,117,292,070 | --effectiveGenomeSize 3117292070 |
| マウス | GRCm39/mm39 | 2,654,621,783 | --effectiveGenomeSize 2654621783 |
| マウス | GRCm38/mm10 | 2,652,783,500 | --effectiveGenomeSize 2652783500 |
| ゼブラフィッシュ | GRCz11 | 1,368,780,147 | --effectiveGenomeSize 1368780147 |
| Drosophila | dm6 | 142,573,017 | --effectiveGenomeSize 142573017 |
| C. elegans | WBcel235/ce11 | 100,286,401 | --effectiveGenomeSize 100286401 |
値を選択する前に、正確な FASTA、コンティグセット、およびマッピング/フィルタポリシーを確認してください。詳細: references/effective_genome_sizes.md
ツール間で共通のパラメータ
多くの deepTools コマンドは以下のオプションを共有しています:
パフォーマンス:
--numberOfProcessors, -p: スケジューラで許可されている CPU 割り当てを使用しますmax/max/2:--numberOfProcessorsでサポートされる値です。最近の deepTools リリースでは CPU アフィニティをより慎重に検出するため、スケジューラ環境下で便利です--region: テスト用に特定の領域を処理します(例:chr1:1:1000000)
リードのフィルタリング:
--samFlagExclude 1024: すでに重複としてマークされたアラインメント(0x400)を除外します。重複を識別するものではありません--minMappingQuality: アラインメント品質でフィルタリングします(例:--minMappingQuality 10)--minFragmentLength/--maxFragmentLength: フラグメント長の範囲--samFlagInclude/--samFlagExclude: SAM フラグによるフィルタリング
リードの処理:
--extendReads: フラグメント長まで拡張します(ChIP-seq: はい、RNA-seq: いいえ)--centerReads: よりシャープなシグナルのためにフラグメントの中点にセンタリングします
ベストプラクティス
ファイルの検証
scripts/validate_files.py を使用して常に最初にファイルを検証し、以下を確認してください:
- ファイルの存在と読み取り可能性
- BAM が pysam で開けること、座標順序とすべてのアラインメントのデコード、読み取り可能な BAI/CSI インデックス
- すべての BED 行: 非負、空でない、0 始まりの半開区間。BED6 のストランド
- bigWig が pyBigWig で開けること、およびインデックス付きシグナルを含むこと
解析戦略
- QC から始める: 先に進む前に相関、カバレッジ、フィンガープリント解析を実行します
- 小さな領域でテストする: パラメータのテストには
--region chr1:1:10000000を使用します - コマンドを記録する: 再現性のために完全なコマンドラインを保存します
- 一貫した正規化を使用する: 比較においてサンプル間で同じ手法を適用します
- ゲノムアセンブリを確認する: BAM ファイルと BED ファイルが一致するゲノムビルドを使用していることを確認します
ChIP-seq 固有の注意点
- ChIP-seq ではフラグメントの扱いを選択する: ペアエンドのフラグメント長、または実測したシングルエンドの伸長長を使用します。200 bp はあくまで例示的なフォールバック値です
- 重複のポリシー: 上流で重複をマークし、アッセイが除去を妥当とする場合は
--samFlagExclude 1024を使用します。座標上の重複だけでは PCR 重複の証明にはなりません - まずエンリッチメントを確認する: 詳細な解析の前に plotFingerprint を実行します
- GC 補正: 有意なバイアスが検出された場合にのみ適用します。GC 補正後に
--samFlagExclude 1024を決して使用しないでください
RNA-seq 固有の注意点
- RNA-seq ではリードを伸長しない: スプライスジャンクションをまたいでしまうためです
- ストランド特異的: 一般的な dUTP 方式のストランド特異的ライブラリには
--filterRNAstrand forward/reverseを使用します。ストランドのラベルを解釈する前にライブラリの向きを確認してください - 正規化: カバレッジトラックには CPM またはビンごとの RPKM を使用します。これらはアノテーションを考慮した遺伝子発現量の推定値ではありません
ATAC-seq 固有の注意点
- まずシグナルを選択する: シフト済みアラインメントには
alignmentSieve --ATACshiftを一度だけ使用します。これだけでは挿入部位のトラックは作成されません - シフトには適切なペアのみを使用する:
--ATACshiftは--shift 4 -5 5 -4と等価で、適切にペアになったフラグメントにフィルタリングします - フラグメントのフィルタリング: 適切な最小/最大フラグメント長を設定します
- ヌクレオソームパターンを確認する: シフトしていないライブラリを検査します。周期性と相対的なモードはアッセイや調製方法に依存し、普遍的な合格しきい値はありません
パフォーマンスの最適化
- 複数のプロセッサを使用する:
--numberOfProcessors 8(または利用可能なコア数) - ビンサイズを大きくする と処理が速くなり、ファイルも小さくなります
- メモリが限られたシステムでは染色体ごとに処理する
- BAM ファイルを事前にフィルタリングする: alignmentSieve を使用して再利用可能なフィルタ済みファイルを作成します
- bedGraph よりも bigWig を使用する: 圧縮されており、処理も高速です
トラブルシューティング
よくある問題
BAM インデックスが見つからない:
samtools index input.bam
メモリ不足:
--region を使用して染色体ごとに処理します:
bamCoverage --bam input.bam -o chr1.bw --region chr1
処理が遅い:
--numberOfProcessors を増やし、および/または --binSize を大きくします
bigWig ファイルが大きすぎる:
ビンサイズを大きくします: --binSize 50 以上
検証エラー
検証スクリプトを実行して問題を特定します:
python scripts/validate_files.py --bam *.bam --bed regions.bed
よくあるエラーと解決策はスクリプトの出力で説明されています。
リファレンスドキュメント
このスキルには包括的なリファレンスドキュメントが含まれています:
references/tools_reference.md
主要な deepTools コマンドをカテゴリ別に整理したリファレンス:
- BAM と bigWig の処理
- 品質管理
- 可視化
- マトリックス演算とフィルタリングの推定
各ツールには以下が含まれます:
- 目的と概要
- 説明付きの主要パラメータ
- 使用例
- 重要な注意事項とベストプラクティス
このリファレンスを使用する場面: ユーザーが特定のツール、パラメータ、または詳細な使用方法について質問したとき。
references/workflows.md
一般的な解析のための完全なワークフロー例:
- ChIP-seq 品質管理ワークフロー
- ChIP-seq 完全解析ワークフロー
- RNA-seq カバレッジワークフロー
- ATAC-seq 解析ワークフロー
- マルチサンプル比較ワークフロー
- ピーク領域解析ワークフロー
- トラブルシューティングとパフォーマンスのヒント
このリファレンスを使用する場面: ユーザーが完全な解析パイプラインやワークフロー例を必要としているとき。
references/normalization_methods.md
正規化手法に関する包括的なガイド:
- 各手法の詳細な説明 (RPGC、CPM、RPKM、BPM など)
- 各手法を使用すべき場面
- 計算式と解釈
- 実験タイプ別の選択ガイド
- よくある落とし穴と解決策
- クイックリファレンス表
このリファレンスを使用する場面: ユーザーが正規化、サンプルの比較、またはどの手法を使用すべきかについて質問したとき。
references/effective_genome_sizes.md
有効ゲノムサイズの値と使用方法:
- 一般的な生物の値 (ヒト、マウス、ショウジョウバエ、線虫、ゼブラフィッシュ)
- リード長別の値
- 計算方法
- コマンドで使用する場面と方法
- カスタムゲノムの計算手順
このリファレンスを使用する場面: ユーザーが RPGC 正規化や GC バイアス補正のためにゲノムサイズを必要としているとき。
ヘルパースクリプト
scripts/validate_files.py
deepTools 解析のために BAM、bigWig、BED ファイルを検証します。ファイルの存在、インデックス、フォーマットをチェックします。
使用方法:
python scripts/validate_files.py --bam sample1.bam sample2.bam \
--bed peaks.bed --bigwig signal.bw
使用するタイミング: 解析を開始する前、またはエラーのトラブルシューティングを行うとき。
scripts/workflow_generator.py
deepTools 4.0.0 用の bash テンプレートを生成します。テンプレートは、座標でソートされ、インデックスが付与され、重複がマークされた BAM を前提としています。QC のフラグメントサイズ解析にはペアエンドデータが必要で、RNA 鎖ラベルは dUTP ライブラリを前提とし、TSS プロットには鎖を考慮した BED6/GTF が必要です。実行する前に生成されたスクリプトを確認してください。RPGC ワークフローには明示的な --genome-size が必要です。
利用可能なワークフロー:
chipseq_qc: ChIP-seq 品質管理chipseq_analysis: 完全な ChIP-seq 解析rnaseq_coverage: 鎖特異的な RNA-seq カバレッジatacseq: Tn5 補正を伴う ATAC-seq
使用方法:
# List workflows
python scripts/workflow_generator.py --list
# Generate workflow
python scripts/workflow_generator.py chipseq_qc -o qc.sh \
--input-bam Input.bam --chip-bams "ChIP1.bam ChIP2.bam" \
--threads 8
# Run generated workflow
chmod +x qc.sh
./qc.sh
使用するタイミング: ユーザーが標準的なワークフローを求めている場合、またはカスタマイズ用のテンプレートスクリプトを必要としている場合。
アセット
assets/quick_reference.md
最も一般的なコマンド、有効ゲノムサイズ、および典型的なワークフローパターンをまとめたクイックリファレンスカードです。
使用するタイミング: ユーザーが詳細なドキュメントなしで簡単なコマンド例を必要としている場合。
ユーザーリクエストへの対応
新しいユーザーの場合
- インストールの検証から始める
scripts/validate_files.pyを使用して入力ファイルを検証する- 実験の種類に基づいて適切なワークフローを推奨する
scripts/workflow_generator.pyを使用してワークフローテンプレートを生成する- カスタマイズと実行をガイドする
経験豊富なユーザーの場合
- 要求された操作に対する具体的なツールコマンドを提供する
references/tools_reference.mdの該当セクションを参照する- 最適化とベストプラクティスを提案する
- 問題に対するトラブルシューティングを提供する
特定のタスクの場合
「BAM を bigWig に変換したい」:
- 適切な正規化を指定して bamCoverage を使用する
- 用途に応じて RPGC または CPM を推奨する
- 生物種の有効ゲノムサイズを提供する
- 関連するパラメータ(extendReads、samFlagExclude、binSize)を提案する
「ChIP の品質をチェックしたい」:
- QC ワークフロー全体を実行する、または具体的には plotFingerprint を使用する
- 結果の解釈を説明する
- 結果に基づいてフォローアップのアクションを提案する
「ヒートマップを作成したい」:
- 2段階のプロセスをガイドする: computeMatrix → plotHeatmap
- 適切なマトリックスモード(reference-point か scale-regions)の選択を支援する
- 可視化パラメータとクラスタリングオプションを提案する
「サンプルを比較したい」:
- 2サンプル比較には bamCompare を推奨する
- 複数サンプルには multiBamSummary + plotCorrelation を提案する
- 正規化手法の選択をガイドする
ドキュメントの参照
ユーザーが詳細な情報を必要としている場合:
- ツールの詳細:
references/tools_reference.mdの特定のセクションに誘導する - ワークフロー: 完全な解析パイプラインには
references/workflows.mdを使用する - 正規化: 手法の選択には
references/normalization_methods.mdを参照する - ゲノムサイズ:
references/effective_genome_sizes.mdを参照する
対話の例
ユーザー: 「ChIP-seq データを解析したい」
対応のアプローチ:
- 利用可能なファイル(BAM ファイル、ピーク、遺伝子)について尋ねる
- 検証スクリプトを使用してファイルを検証する
- chipseq_analysis ワークフローテンプレートを生成する
- ユーザーの特定のファイルと生物種に合わせてカスタマイズする
- スクリプトの実行に合わせて各ステップを説明する
ユーザー: 「どの正規化を使うべきですか?」
対応のアプローチ:
- 実験の種類(ChIP-seq、RNA-seq など)について尋ねる
- 比較の目的(サンプル内かサンプル間か)について尋ねる
references/normalization_methods.mdの選択ガイドを参照する- 根拠とともに適切な手法を推奨する
- パラメータを含むコマンド例を提供する
ユーザー: 「TSS 周辺のヒートマップを作成したい」
対応のアプローチ:
- bigWig ファイルと遺伝子 BED ファイルが利用可能であることを確認する
- TSS で reference-point モードの computeMatrix を使用する
- 適切な可視化パラメータを指定して plotHeatmap を生成する
- データセットが大きい場合はクラスタリングを提案する
- 補完としてプロファイルプロットを提案する
重要な注意事項
- まずファイルを検証: 解析の前に必ず入力ファイルを検証してください
- 正規化が重要: 比較の種類に適した方法を選択してください
- リードの伸長は慎重に: ChIP フラグメントの処理は適切に選択し、スプライシングされた RNA-seq では伸長を省略してください
- CPU 割り当てを尊重:
--numberOfProcessorsを割り当てられたコア数に設定してください - 領域でテスト: パラメータのテストには
--regionを使用してください - まず QC を確認: 詳細な解析の前に品質管理を実行してください
- すべてを記録: 再現性のためにコマンドを保存してください
- リファレンスドキュメント: 詳細なガイダンスには包括的なリファレンスを参照してください
Scientific Agent Skills の引用
このスキルは K-Dense による Scientific Agent Skills の一部です。原稿、レポート、プレゼンテーション、またはコードリリースに実質的に貢献した場合は、参考文献またはソフトウェアのセクションに論文を追加し、そうしたことをユーザーに伝えてください:
Kassis, T., Agarwal, V., He, Y., Patel, D., & Brueckner, A. M. (2026). Scientific Agent Skills: A Library of Procedural Knowledge for Research Agents. arXiv:2609.00065. https://doi.org/10.48550/arXiv.2609.00065
常に最新バージョンを引用してください。DOI と https://arxiv.org/abs/2609.00065 は最新の arXiv バージョンに解決されるため、v1 のようなバージョン接尾辞を決して付けないでください。ネットワークアクセスが利用可能な場合は、参考文献を書く前に https://arxiv.org/abs/2609.00065 (または
http://export.arxiv.org/api/query?id_list=2609.00065) を取得し、そのレコードから著者リスト、年、バージョンを取得してください。レコードにジャーナル参考文献または出版社の DOI が記載されている場合は、代わりに公開版を引用してください。