ucsc-conservation-and-tfbs について
UCSC Genome Browser の保存スコアと転写因子結合部位を調べる研究向けスキルです。指定したゲノムアセンブリやアラインメントを使い、変異解釈や調節領域の解析に役立ちます。
主な機能
- 01phyloP と phastCons スコアの取得
- 02ゲノム領域内の保存エレメント検索
- 03進化的加速を示すスコアの分析
- 04選択した UCSC トラックでの TFBS 検索
- 05名前や機能グループによるトラック検索
活用シーン
- 01非コード変異部位の保存性評価
- 02保存ピークと調節エレメント予測の比較
- 03ゲノム領域内の転写因子結合部位の確認
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ google-deepmind/ science-skills --skill ucsc-conservation-and-tfbsインストール後、Claude Code で/ucsc-conservation-and-tfbsを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
references/citation.bibscripts/get_conservation.pyget_tfbs.pylist_tracks.py詳細
保存スコアと TFBS の検索(UCSC)
このスキルでは、UCSC Genome Browser の進化的制約スコアと保存領域にアクセスできます。複数のアラインメントから算出された PHAST パッケージのスコア、具体的には機能ブロックを特定する phastCons と、個々のサイトの制約を測定する phyloP を取得します。
このスキルを使って、非コードバリアントが共通祖先以降変化していないサイトに影響するか(病原性を示す強いシグナルです)を判断したり、調節領域全体の保存性ピークを調べたりできます。
前提条件
uv:uvスキルを読み、セットアップ手順に従って、uvがインストールされ、PATH に含まれていることを確認してください。- ユーザーへの通知:.licenses/ucsc_conservation_and_tfbs_LICENSE.txt がワークスペースのルートディレクトリに存在しない場合は、(1)https://genome.ucsc.edu/conditions.html と https://genome.ucsc.edu/goldenPath/help/api.html の利用条件を確認するよう、ユーザーに目立つ形で通知してから、(2)通知文とタイムスタンプを記録したファイルを作成してください。
基本ルール
- ラッパーを使用する:データベースに直接アクセスするのではなく、必ず用意されているヘルパースクリプトを実行してデータベースを照会してください。スクリプトは必要なレート制限を自動的かつ適切に適用します。
- 大きな出力の処理:常に --output を指定して、出力をファイルにリダイレクトしてください。出力は別途(jq または独自のコードを使って)解析してください。
- 通知:このスキルを使用した場合は、その旨を出力に記載してください。
ユーティリティスクリプト
このスキルには、UCSC からさまざまな種類のゲノムデータを照会するスクリプトが含まれています。
scripts/get_conservation.py:進化的保存スコア(phyloP、phastCons)用。scripts/get_tfbs.py:転写因子結合部位(TFBS)用。scripts/list_tracks.py:検索条件やグループ条件に基づいて、利用可能なトラックを一覧表示するためのスクリプト。
ユーザーが別のアセンブリを指定していない限り、デフォルトでは常に hg38 ゲノムアセンブリを使用してください。
特定のバリアントの保存スコアを取得する
単一塩基、または特定の塩基のリストにおける進化的制約を取得します。これは一塩基変異(SNV)に最適です。個々の塩基の評価には phyloP が最適な指標です。
uv run scripts/get_conservation.py --coordinates "chr1:215867804" "chr1:215867823" --output /tmp/cons_output.json
領域と保存領域を取得する
非コード調節エレメント(エンハンサーなど)全体の「保存性ピーク」を特定し、ISM で予測された重要度のピークが進化の履歴と一致するかを確認します。HMM による平滑化が行われるため、機能ウィンドウの評価には phastCons が最適です。--conserved-elements フラグを指定すると、極めて強い制約を受けている既定のブロックも取得できます。
uv run scripts/get_conservation.py --coordinates "chr8:11748914-11749085" --conserved-elements --output /tmp/region_cons.json
系統特異的な制約
--collection フラグを使って、進化的な深さを制御できます。デフォルトの vertebrate では、hg38 と hg19 の両方で 100-vertebrate Multiz アラインメントが使われます。これは UCSC Genome Browser のデフォルトの比較ゲノムトラックに対応します。
hg38 のコレクション
vertebrate(デフォルト):UCSC 100-vertebrate Multiz アラインメント。phyloP:phyloP100way、phastCons:phastCons100way。mammal:Hiller Lab 470-way 哺乳類アラインメント。phyloP:phyloP470wayBW、phastCons:phastCons470way。primate:UCSC 30-primate Multiz アラインメント。phyloP:phyloP30way、 phastCons:phastCons30way。
hg19 のコレクション
vertebrate(デフォルト):UCSC 100-vertebrate Multiz アラインメント。phyloP:phyloP100way、phastCons:phastCons100way。vertebrate46:UCSC 46-vertebrate Multiz アラインメント(レガシー)。phyloP:phyloP46wayAll、phastCons:phastCons46way。mammal:46-way 胎盤哺乳類サブセット。phyloP:phyloP46wayPlacental、phastCons:phastCons46wayPlacental。primate:46-way 霊長類サブセット。phyloP:phyloP46wayPrimates、 phastCons:phastCons46wayPrimates。
# hg38 mammal (Hiller 470-way)
uv run scripts/get_conservation.py --coordinates "chr5:1045330-1046172" --collection mammal --output /tmp/mammal_cons.json
# hg19 with legacy 46-vertebrate alignment
uv run scripts/get_conservation.py --coordinates "chr5:1045330-1046172" --genome hg19 --collection vertebrate46 --output /tmp/vert46_cons.json
進化的加速の分析
特定の遺伝子座が進化的加速(すなわち、中立ドリフトのベースラインよりも急速に進化していること)を受けているかどうかを分析するには、--analyze を使用します。これは phyloP スコアのスカラー統計量(平均、最小、最大)を計算し、評価を簡素化するためのヒューリスティックなブール値 is_accelerated を提供します。
uv run scripts/get_conservation.py --coordinates "chr5:1045330-1046172" --analyze --output /tmp/accelerated_cons.json
転写因子結合部位(TFBS)の取得
指定されたゲノム区間の転写因子結合部位を特定するには、これを使用します。これは、TF 結合を妨げる可能性のある非コード変異を解釈するのに役立ちます。
scripts/get_tfbs.py を --coordinates および --tracks を指定して実行します。複数のトラックを一度にクエリできます。
uv run scripts/get_tfbs.py --coordinates "chr11:1001000-1010000" --tracks encRegTfbsClustered --output /tmp/tfbs_encode.json
JASPAR トラックは非常に大きな結果セットを返す場合があります。--tf-filter を使用して、TFName フィールドに指定された部分文字列を含む項目のみを保持します(大文字と小文字は区別されません)。
uv run scripts/get_tfbs.py --coordinates "chr6:36670000-36690000" --tracks jaspar2024 --tf-filter TP53 --output /tmp/tp53_sites.json
一般的な検証済みトラック(hg38)
- ENCODE:
encRegTfbsClustered(TF クラスター) - JASPAR:
jaspar2026、jaspar2024(予測 TFBS) - ReMap:
ReMapTFs(ChIP-seq アトラス)
注意
年が付いていない
jasparやReMapのようなトラックは、しばしば「コンテナ」トラックであり、400 エラーで失敗します。常に特定のサブトラック名(例:jaspar2026)を使用してください。
利用可能なトラックの一覧表示
利用可能なトラック(JASPAR の異なるバージョンなど、または特定のゲノムアセンブリにどのようなトラックが存在するかを発見するためだけでも)を一覧表示するには、次のようにします。
uv run scripts/list_tracks.py --search "jaspar" --output /tmp/jaspar_tracks.json
機能グループでフィルタリングすることもできます。
uv run scripts/list_tracks.py --group "regulation" --output /tmp/regulation_tracks.json
アンチパターン
- DO NOT すべての脊椎動物にわたる深い進化的ルーツを明示的に探している場合は、哺乳類(
--collection mammal)の制約をクエリしないでください。デフォルトのvertebrateコレクションを使用してください。 - DO NOT ヌクレオチドの祖先状態復元を決定するためにこのスキルを使用しないでください(このスキルは、部位がどれだけ変化したかの指標を提供するものであり、祖先のヌクレオチドが何であったかではありません)。
- DO NOT 保存性が低いことが厳密に中立/無用な配列を意味すると仮定しないでください。それは高い局所的な変異率を反映している可能性もあり、保存性スコアだけでは区別できません。
- DO NOT 標準出力に出力を表示したり、出力に対して cat を実行してファイルに書き込んだりしないでください。出力が大きすぎます。jq を使用するか、出力ファイルを解析する独自のコードを書いてください。
- DO NOT ユーザーが明示的に要求しない限り hg19 を使用しないでください。デフォルトでは常に hg38 を使用すべきです。