mcpField
U
unibind-database

unibind-database

github.com/google-deepmindデータ・データベース3.4k2.1k 回インストール5 日前に更新
リポジトリ

unibind-database について

UniBind を検索する研究向けスキルです。9 種の生物種にわたる転写因子と DNA の相互作用を収録し、データセットの検索・絞り込み、メタデータの確認、結合部位ファイルの取得に対応します。

主な機能

  1. 01生物種、コレクション、細胞株、因子の一覧表示
  2. 02生物種、TF、細胞株、データソースによる絞り込み
  3. 03データセット詳細の取得
  4. 04BED または FASTA 形式での TFBS データ取得
  5. 05一覧結果のページ分割と並べ替え

活用シーン

  1. 01転写因子と細胞株に合うデータセットの検索
  2. 02UniBind データセットのメタデータ確認
  3. 03後続解析用の結合部位ファイル取得

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/google-deepmind/science-skills --skill unibind-database

インストール後、Claude Code で/unibind-databaseを入力して読み込まれたか確認します。

同梱ファイルreferences/citation.bibscripts/unibind_api.py

詳細

UniBind Database スキル

UniBind は、9 種の生物種における TF–DNA の直接的な相互作用をまとめたデータベースです。DAMO フレームワークを介して、ChIP-seq ピークと JASPAR の TF 結合プロファイルを統合しています。

前提条件

  1. uv:uv スキルを読み、そのセットアップ手順に従って、uv がインストールされ、PATH に設定されていることを確認してください。
  2. ユーザーへの通知:.licenses/unibind_database_LICENSE.txt がワークスペースのルートディレクトリに存在しない場合は、(1)利用規約を https://unibind.uio.no/ および https://unibind.uio.no/api/overview で確認するようユーザーに目立つ形で通知し、次に(2)通知文とタイムスタンプを記録したファイルを作成してください。

クイックスタート

クエリコマンドは、デフォルトで JSON を標準出力に表示します。ほとんどの出力はそのまま読めるサイズです。大きな出力(list_cell_lines、list_tfs)の場合は、必要なフィールドだけを抽出するために jq を通してください。

uv run <SKILL DIR>/scripts/unibind_api.py list_species

download_tfbs コマンドは、代わりに BED/FASTA ファイルを --output-dir に書き込みます。必要に応じて、どのクエリコマンドでも --output <path> を指定して結果をファイルに保存できます。

基本ルール

  • ラッパーを使用する:データベースに直接アクセスするのではなく、必ず用意されているヘルパースクリプトを実行してデータベースにクエリしてください。スクリプトが必要なレート制限を自動的に適用します。
  • 出力:クエリコマンドは JSON を標準出力に表示します。ほとんどの応答はコンパクトで、そのまま読めます。
  • 大量の結果:list_cell_lines と list_tfs は大量の出力を生成します。出力全体をコンテキストに読み込むのではなく、jq を通して特定のフィールドを抽出してください。
  • ファイルへの保存:後でデータを参照する必要がある場合や、jq で非常に大きな結果を処理する場合は、--output <path> を使用してください。
  • ページネーション:--page と --page-size(最大 1000)を使用して、大きな結果セットを分割してください。
  • 並べ替え:任意のリストコマンドで --order field_name(降順の場合は先頭に - を付けます)を使用してください。
  • 通知:このスキルを使用した場合は、その旨を出力に含めてください。

ユーティリティスクリプト

<SKILL DIR> をこのスキルのディレクトリの絶対パスに置き換えてください。

1. 生物種の一覧表示
uv run <SKILL DIR>/scripts/unibind_api.py list_species
2. コレクションの一覧表示
uv run <SKILL DIR>/scripts/unibind_api.py list_collections
3. 細胞株と TF の一覧表示(出力が大きいため jp を使用)

これらのコマンドは大規模なデータセットを返します。必要なフィールドだけを抽出するには、uvx --from jmespath jp を使用してください。

uv run <SKILL DIR>/scripts/unibind_api.py list_cell_lines | uvx --from jmespath jp "results[].name"
uv run <SKILL DIR>/scripts/unibind_api.py list_tfs | uvx --from jmespath jp "results[].tf_name"
4. データセットの一覧表示とフィルタリング(プロファイル固有のデータセットを含む)

次の引数を使用してデータセットをフィルタリングします。

  • --species(例:「Homo sapiens」)
  • --tf-name(例:「CTCF」)
  • --cell-line(例:「mESC」)
  • --collection(例:Permissive、Robust)
  • --search(検索語)
  • --biological-condition(生物学的条件またはソース)
  • --data-source(データソース。例:「ENCODE」)
  • --has-pvalue(「true」または「false」)
  • --identifier(例:「GSE60130」)
  • --jaspar-id(JASPAR データベースのプロファイル行列 ID)
  • --model(予測モデル)
  • --summary(サマリーフィルター)
  • --threshold-pvalue(p 値のしきい値)

標準的なデータセットには list_datasets を、プロファイル固有のクエリには list_specific_datasets を使用してください。

uv run <SKILL DIR>/scripts/unibind_api.py list_datasets --species "Homo sapiens" --tf-name "CTCF" --data-source "ENCODE"
uv run <SKILL DIR>/scripts/unibind_api.py list_specific_datasets --species "Mus musculus" --cell-line "mESC"
5. データセットの詳細を取得
uv run <SKILL DIR>/scripts/unibind_api.py get_dataset "EXP047889.HMLE-Twist-ER_breast_cancer.SMAD3"
6. TFBS ファイルをダウンロード(BED / FASTA)

データセットのすべての TFBS ファイルをローカルディレクトリにダウンロードします。--format bed(デフォルト)または --format fasta を使用してください。

uv run <SKILL DIR>/scripts/unibind_api.py download_tfbs "EXP047889.HMLE-Twist-ER_breast_cancer.SMAD3" --output-dir /tmp/tfbs --format bed

アンチパターン

  • しないでください:UniBind API を使って、特定のゲノム領域、位置、または遺伝子を検索しようとしないでください。
  • しないでください:ゲノム座標を推測したり、でっち上げたりしないでください。オフラインで bedtools のインターセクションを行うためにローカルの BED トラックを取得する場合は、必ず外部チェックとして ensembl-database を使用してください。
  • しないでください:モチーフモデル(PFM)には使用しないでください。代わりに jaspar-database スキルを使用してください。
  • しないでください:遺伝子発現データには使用しないでください。UniBind には結合イベントのみが保存されています。
  • しないでください:データセットの一覧だけから組織特異的な発現を推測しないでください。
  • しないでください:大きな JSON 出力ファイルをコンテキストに読み込むために cat を使用しないでください。出力が大きすぎます。jq を使うか、出力ファイルを解析するコードを独自に作成してください。

コメント