mcpField
D
depmap

depmap

github.com/crazymsnデータ・データベース2335 回インストール22 週間前に更新
リポジトリ

depmap について

このスキルは、CRISPR・RNAi の依存性スコア、分子アノテーション、化合物感受性など、DepMap のがん細胞株データの分析を案内します。標的の必須性、バイオマーカー、合成致死、薬剤応答を調べるがん研究者向けです。

主な機能

  1. 01API による DepMap データの検索
  2. 02CRISPR・RNAi 依存性スコアの分析
  3. 03細胞株間の依存性比較
  4. 04ゲノム特徴とバイオマーカーの検証
  5. 05共必須性と化合物感受性の調査

活用シーン

  1. 01がん種における標的の検証
  2. 02合成致死候補遺伝子の特定
  3. 03依存性に関連するバイオマーカーの探索
  4. 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 を使用します。

  • 標的の検証:特定の変異(例: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:がん種ごとの標的検証
  1. CRISPRGeneEffect.csv と sample_info.csv をダウンロードします
  2. がん種で細胞株を絞り込みます
  3. 対象遺伝子について、がん種内とそれ以外の全細胞株で遺伝子効果の平均値を計算します
  4. 選択性を計算します。依存性が対象のがん種にどの程度特異的かを確認します
  5. 変異、発現、または CNA のデータと照合し、バイオマーカーを確認します
ワークフロー 2:合成致死スクリーニング
  1. 対象遺伝子に変異または欠失がある細胞株を特定します(例:BRCA1 変異株)
  2. 変異株と野生型(WT)株について、すべての遺伝子の遺伝子効果スコアを計算します
  3. 変異株で有意に必須性が高い遺伝子(合成致死のパートナー)を特定します
  4. 選択性と効果量で絞り込みます
ワークフロー 3:化合物感受性分析
  1. PRISM の化合物感受性データ(primary-screen-replicate-treatment-info.csv)をダウンロードします
  2. 化合物の AUC/log2(fold-change)とゲノム上の特徴の相関を調べます
  3. 化合物感受性を予測するバイオマーカーを特定します

DepMap データファイルのリファレンス

ファイル説明
CRISPRGeneEffect.csvCRISPR Chronos 遺伝子効果(主要な依存性データ)
CRISPRGeneEffectUnscaled.csvスケーリング前の CRISPR スコア
RNAi_merged.csvDEMETER2 RNAi 依存性
sample_info.csv細胞株のメタデータ(系統、疾患など)
OmicsExpressionProteinCodingGenesTPMLogp1.csvmRNA 発現
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 補正を適用してください

追加リソース

コメント