depmap について
このスキルは、CRISPR・RNAi の依存性スコア、分子アノテーション、化合物感受性など、DepMap のがん細胞株データの分析を案内します。標的の必須性、バイオマーカー、合成致死、薬剤応答を調べるがん研究者向けです。
主な機能
- 01API による DepMap データの検索
- 02CRISPR・RNAi 依存性スコアの分析
- 03細胞株間の依存性比較
- 04ゲノム特徴とバイオマーカーの検証
- 05共必須性と化合物感受性の調査
活用シーン
- 01がん種における標的の検証
- 02合成致死候補遺伝子の特定
- 03依存性に関連するバイオマーカーの探索
- 04薬剤応答を予測するゲノム特徴の分析
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ crazymsn/ academic-skills --skill depmapインストール後、Claude Code で/depmapを入力して読み込まれたか確認します。
同梱ファイルreferences/dependency_analysis.md
詳細
DepMap — がん依存性マップ
概要
Broad Institute が運営する Cancer Dependency Map(DepMap)プロジェクトでは、ゲノム全体を対象とした CRISPR ノックアウトスクリーニング(DepMap CRISPR)、RNA 干渉(RNAi)、化合物感受性アッセイ(PRISM)を用いて、数百のがん細胞株における遺伝的依存性を体系的に特性評価しています。DepMap のデータは、以下の用途に不可欠です。
- 特定のがん種に必須な遺伝子の特定
- がん選択的な依存性(治療標的)の発見
- がん治療薬の標的の検証
- 合成致死相互作用の発見
主なリソース:
- DepMap ポータル:https://depmap.org/portal/
- DepMap データのダウンロード:https://depmap.org/portal/download/all/
- Python パッケージ:
depmap(または API/ダウンロードを利用) - API:https://depmap.org/portal/api/
このスキルを使う場面
以下の場合に DepMap を使用します。
- 標的の検証:特定の変異(例:KRAS 変異)を持つがん細胞株で、ある遺伝子は生存に必須ですか?
- バイオマーカーの発見:ある遺伝子のノックアウトに対する感受性を予測するゲノム上の特徴は何ですか?
- 合成致死:別の遺伝子が変異または欠失している場合に選択的に必須となる遺伝子を探します
- 薬剤感受性:化合物への反応を予測する細胞株の特徴は何ですか?
- がん種横断的な必須性:ある遺伝子はすべてのがん種で広く必須(標的として不適)ですか、それとも選択的に必須ですか?
- 相関分析:依存性プロファイルに相関がある遺伝子ペア(共必須性)はどれですか?
主な概念
依存性スコア
| スコア | 範囲 | 意味 |
|---|---|---|
| Chronos(CRISPR) | 約 -3 ~ 0+ | 値がより負であるほど、より必須です。一般的な必須性の閾値:−1。汎必須遺伝子は約−1 ~ −2 |
| RNAi DEMETER2 | 約 -3 ~ 0+ | Chronos と同様の尺度です |
| 遺伝子効果 | 正規化済み | 正規化された Chronos。−1 は、一般的な必須遺伝子の効果の中央値です |
主な閾値:
- Chronos ≤ −0.5:依存性がある可能性が高い
- Chronos ≤ −1:強い依存性がある(一般的な必須性の範囲)
細胞株のアノテーション
各細胞株には以下の情報があります。
DepMap_ID:一意の識別子(例:ACH-000001)cell_line_name:人が読みやすい名称primary_disease:がん種lineage:大まかな組織系統lineage_subtype:具体的なサブタイプ
主な機能
1. DepMap API
import requests
import pandas as pd
BASE_URL = "https://depmap.org/portal/api"
def depmap_get(endpoint, params=None):
url = f"{BASE_URL}/{endpoint}"
response = requests.get(url, params=params)
response.raise_for_status()
return response.json()
2. 遺伝子依存性スコア
def get_gene_dependency(gene_symbol, dataset="Chronos_Combined"):
"""Get CRISPR dependency scores for a gene across all cell lines."""
url = f"{BASE_URL}/gene"
params = {
"gene_id": gene_symbol,
"dataset": dataset
}
response = requests.get(url, params=params)
return response.json()
# Alternatively, use the /data endpoint:
def get_dependencies_slice(gene_symbol, dataset_name="CRISPRGeneEffect"):
"""Get a gene's dependency slice from a dataset."""
url = f"{BASE_URL}/data/gene_dependency"
params = {"gene_name": gene_symbol, "dataset_name": dataset_name}
response = requests.get(url, params=params)
data = response.json()
return data
3. ダウンロードデータを使った分析(大規模なクエリに推奨)
大規模な分析では、DepMap のデータファイルをダウンロードし、ローカルで分析します。
import pandas as pd
import requests, os
def download_depmap_data(url, output_path):
"""Download a DepMap data file."""
response = requests.get(url, stream=True)
with open(output_path, 'wb') as f:
for chunk in response.iter_content(chunk_size=8192):
f.write(chunk)
# DepMap 24Q4 data files (update version as needed)
FILES = {
"crispr_gene_effect": "https://figshare.com/ndownloader/files/...",
# OR download from: https://depmap.org/portal/download/all/
# Files available:
# CRISPRGeneEffect.csv - Chronos gene effect scores
# OmicsExpressionProteinCodingGenesTPMLogp1.csv - mRNA expression
# OmicsSomaticMutationsMatrixDamaging.csv - mutation binary matrix
# OmicsCNGene.csv - copy number
# sample_info.csv - cell line metadata
}
def load_depmap_gene_effect(filepath="CRISPRGeneEffect.csv"):
"""
Load DepMap CRISPR gene effect matrix.
Rows = cell lines (DepMap_ID), Columns = genes (Symbol (EntrezID))
"""
df = pd.read_csv(filepath, index_col=0)
# Rename columns to gene symbols only
df.columns = [col.split(" ")[0] for col in df.columns]
return df
def load_cell_line_info(filepath="sample_info.csv"):
"""Load cell line metadata."""
return pd.read_csv(filepath)
4. 選択的依存性の特定
import numpy as np
import pandas as pd
def find_selective_dependencies(gene_effect_df, cell_line_info, target_gene,
cancer_type=None, threshold=-0.5):
"""Find cell lines selectively dependent on a gene."""
# Get scores for target gene
if target_gene not in gene_effect_df.columns:
return None
scores = gene_effect_df[target_gene].dropna()
dependent = scores[scores <= threshold]
# Add cell line info
result = pd.DataFrame({
"DepMap_ID": dependent.index,
"gene_effect": dependent.values
}).merge(cell_line_info[["DepMap_ID", "cell_line_name", "primary_disease", "lineage"]])
if cancer_type:
result = result[result["primary_disease"].str.contains(cancer_type, case=False, na=False)]
return result.sort_values("gene_effect")
# Example usage (after loading data)
# df_effect = load_depmap_gene_effect("CRISPRGeneEffect.csv")
# cell_info = load_cell_line_info("sample_info.csv")
# deps = find_selective_dependencies(df_effect, cell_info, "KRAS", cancer_type="Lung")
5. バイオマーカー分析(遺伝子効果と変異)
import pandas as pd
from scipy import stats
def biomarker_analysis(gene_effect_df, mutation_df, target_gene, biomarker_gene):
"""
Test if mutation in biomarker_gene predicts dependency on target_gene.
Args:
gene_effect_df: CRISPR gene effect DataFrame
mutation_df: Binary mutation DataFrame (1 = mutated)
target_gene: Gene to assess dependency of
biomarker_gene: Gene whose mutation may predict dependency
"""
if target_gene not in gene_effect_df.columns or biomarker_gene not in mutation_df.columns:
return None
# Align cell lines
common_lines = gene_effect_df.index.intersection(mutation_df.index)
scores = gene_effect_df.loc[common_lines, target_gene].dropna()
mutations = mutation_df.loc[scores.index, biomarker_gene]
mutated = scores[mutations == 1]
wt = scores[mutations == 0]
stat, pval = stats.mannwhitneyu(mutated, wt, alternative='less')
return {
"target_gene": target_gene,
"biomarker_gene": biomarker_gene,
"n_mutated": len(mutated),
"n_wt": len(wt),
"mean_effect_mutated": mutated.mean(),
"mean_effect_wt": wt.mean(),
"pval": pval,
"significant": pval < 0.05
}
6. 共必須性分析
import pandas as pd
def co_essentiality(gene_effect_df, target_gene, top_n=20):
"""Find genes with most correlated dependency profiles (co-essential partners)."""
if target_gene not in gene_effect_df.columns:
return None
target_scores = gene_effect_df[target_gene].dropna()
correlations = {}
for gene in gene_effect_df.columns:
if gene == target_gene:
continue
other_scores = gene_effect_df[gene].dropna()
common = target_scores.index.intersection(other_scores.index)
if len(common) < 50:
continue
r = target_scores[common].corr(other_scores[common])
if not pd.isna(r):
correlations[gene] = r
corr_series = pd.Series(correlations).sort_values(ascending=False)
return corr_series.head(top_n)
# Co-essential genes often share biological complexes or pathways
クエリのワークフロー
ワークフロー 1:がん種ごとの標的検証
CRISPRGeneEffect.csvとsample_info.csvをダウンロードします- がん種で細胞株を絞り込みます
- 対象遺伝子について、がん種内とそれ以外の全細胞株で遺伝子効果の平均値を計算します
- 選択性を計算します。依存性が対象のがん種にどの程度特異的かを確認します
- 変異、発現、または CNA のデータと照合し、バイオマーカーを確認します
ワークフロー 2:合成致死スクリーニング
- 対象遺伝子に変異または欠失がある細胞株を特定します(例:BRCA1 変異株)
- 変異株と野生型(WT)株について、すべての遺伝子の遺伝子効果スコアを計算します
- 変異株で有意に必須性が高い遺伝子(合成致死のパートナー)を特定します
- 選択性と効果量で絞り込みます
ワークフロー 3:化合物感受性分析
- PRISM の化合物感受性データ(
primary-screen-replicate-treatment-info.csv)をダウンロードします - 化合物の AUC/log2(fold-change)とゲノム上の特徴の相関を調べます
- 化合物感受性を予測するバイオマーカーを特定します
DepMap データファイルのリファレンス
| ファイル | 説明 |
|---|---|
CRISPRGeneEffect.csv | CRISPR Chronos 遺伝子効果(主要な依存性データ) |
CRISPRGeneEffectUnscaled.csv | スケーリング前の CRISPR スコア |
RNAi_merged.csv | DEMETER2 RNAi 依存性 |
sample_info.csv | 細胞株のメタデータ(系統、疾患など) |
OmicsExpressionProteinCodingGenesTPMLogp1.csv | mRNA 発現 |
OmicsSomaticMutationsMatrixDamaging.csv | 有害な体細胞変異(二値) |
OmicsCNGene.csv | 遺伝子ごとのコピー数 |
PRISM_Repurposing_Primary_Screens_Data.csv | 薬剤感受性(リポジショニングライブラリ) |
すべてのファイルは次の場所からダウンロードできます:https://depmap.org/portal/download/all/
ベストプラクティス
- 現在の CRISPR 解析には Chronos スコアを使用してください(DEMETER2 ではなく)。切断効率がより適切に補正されています
- 汎必須遺伝子とがん選択的な遺伝子を区別してください:分散が小さい標的遺伝子(すべての細胞株で必須)は、優れた創薬標的ではありません
- 発現データで検証してください:細胞株で発現していない遺伝子は、実際の機能にかかわらず、非必須とスコア付けされます
- 細胞株の識別には DepMap ID を使用してください。cell_line_name は曖昧な場合があります
- コピー数を考慮してください:増幅された遺伝子は、コピー数の影響(ジャンク DNA 仮説)により、必須であるように見えることがあります
- 多重検定補正:ゲノム全体でバイオマーカーとの関連を計算する場合は、FDR 補正を適用してください
追加リソース
- DepMap ポータル:https://depmap.org/portal/
- データのダウンロード:https://depmap.org/portal/download/all/
- DepMap 論文:Behan FM et al. (2019) Nature. PMID: 30971826
- Chronos 論文:Dempster JM et al. (2021) Nature Methods. PMID: 34349281
- GitHub:https://github.com/broadinstitute/depmap-portal
- Figshare:https://figshare.com/articles/dataset/DepMap_24Q4_Public/27993966
コメント
Markdown 対応