jpskill.com
🛠️ 開発・MCP コミュニティ 🔴 エンジニア向け 👤 エンジニア・AI開発者

🛠️ Depmap

depmap

がん細胞株の遺伝子依存性スコアや薬剤感受性データなどをDepMapから検索し、がん特有の脆弱性や合成致死性相互作用の特定、抗がん剤ターゲットの検証などに役立てるSkill。

⏱ 障害ポストモーテム 1日 → 1時間

📺 まず動画で見る(YouTube)

▶ 【衝撃】最強のAIエージェント「Claude Code」の最新機能・使い方・プログラミングをAIで効率化する超実践術を解説! ↗

※ jpskill.com 編集部が参考用に選んだ動画です。動画の内容と Skill の挙動は厳密には一致しないことがあります。

📜 元の英語説明(参考)

Query the Cancer Dependency Map (DepMap) for cancer cell line gene dependency scores (CRISPR Chronos), drug sensitivity data, and gene effect profiles. Use for identifying cancer-specific vulnerabilities, synthetic lethal interactions, and validating oncology drug targets.

🇯🇵 日本人クリエイター向け解説

一言でいうと

がん細胞株の遺伝子依存性スコアや薬剤感受性データなどをDepMapから検索し、がん特有の脆弱性や合成致死性相互作用の特定、抗がん剤ターゲットの検証などに役立てるSkill。

※ jpskill.com 編集部が日本のビジネス現場向けに補足した解説です。Skill本体の挙動とは独立した参考情報です。

⚡ おすすめ: コマンド1行でインストール(60秒)

下記のコマンドをコピーしてターミナル(Mac/Linux)または PowerShell(Windows)に貼り付けてください。 ダウンロード → 解凍 → 配置まで全自動。

🍎 Mac / 🐧 Linux
mkdir -p ~/.claude/skills && cd ~/.claude/skills && curl -L -o depmap.zip https://jpskill.com/download/4148.zip && unzip -o depmap.zip && rm depmap.zip
🪟 Windows (PowerShell)
$d = "$env:USERPROFILE\.claude\skills"; ni -Force -ItemType Directory $d | Out-Null; iwr https://jpskill.com/download/4148.zip -OutFile "$d\depmap.zip"; Expand-Archive "$d\depmap.zip" -DestinationPath $d -Force; ri "$d\depmap.zip"

完了後、Claude Code を再起動 → 普通に「動画プロンプト作って」のように話しかけるだけで自動発動します。

💾 手動でダウンロードしたい(コマンドが難しい人向け)
  1. 1. 下の青いボタンを押して depmap.zip をダウンロード
  2. 2. ZIPファイルをダブルクリックで解凍 → depmap フォルダができる
  3. 3. そのフォルダを C:\Users\あなたの名前\.claude\skills\(Win)または ~/.claude/skills/(Mac)へ移動
  4. 4. Claude Code を再起動

⚠️ ダウンロード・利用は自己責任でお願いします。当サイトは内容・動作・安全性について責任を負いません。

🎯 このSkillでできること

下記の説明文を読むと、このSkillがあなたに何をしてくれるかが分かります。Claudeにこの分野の依頼をすると、自動で発動します。

📦 インストール方法 (3ステップ)

  1. 1. 上の「ダウンロード」ボタンを押して .skill ファイルを取得
  2. 2. ファイル名の拡張子を .skill から .zip に変えて展開(macは自動展開可)
  3. 3. 展開してできたフォルダを、ホームフォルダの .claude/skills/ に置く
    • · macOS / Linux: ~/.claude/skills/
    • · Windows: %USERPROFILE%\.claude\skills\

Claude Code を再起動すれば完了。「このSkillを使って…」と話しかけなくても、関連する依頼で自動的に呼び出されます。

詳しい使い方ガイドを見る →
最終更新
2026-05-17
取得日時
2026-05-18
同梱ファイル
2

💬 こう話しかけるだけ — サンプルプロンプト

  • Depmap を使って、最小構成のサンプルコードを示して
  • Depmap の主な使い方と注意点を教えて
  • Depmap を既存プロジェクトに組み込む方法を教えて

これをClaude Code に貼るだけで、このSkillが自動発動します。

📖 Skill本文(日本語訳)

※ 原文(英語/中国語)を Gemini で日本語化したものです。Claude 自身は原文を読みます。誤訳がある場合は原文をご確認ください。

[Skill 名] depmap

DepMap — がん依存性マップ

概要

ブロード研究所が運営する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と同様のスケール
Gene Effect 正規化済み 正規化された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. バイオマーカー分析(Gene Effect vs. 変異)


import pandas as pd
from scipy import stats

def biomarker_analysis(gene_effect_df, mutati

(原文がここで切り詰められています)
📜 原文 SKILL.md(Claudeが読む英語/中国語)を展開

DepMap — Cancer Dependency Map

Overview

The Cancer Dependency Map (DepMap) project, run by the Broad Institute, systematically characterizes genetic dependencies across hundreds of cancer cell lines using genome-wide CRISPR knockout screens (DepMap CRISPR), RNA interference (RNAi), and compound sensitivity assays (PRISM). DepMap data is essential for:

  • Identifying which genes are essential for specific cancer types
  • Finding cancer-selective dependencies (therapeutic targets)
  • Validating oncology drug targets
  • Discovering synthetic lethal interactions

Key resources:

When to Use This Skill

Use DepMap when:

  • Target validation: Is a gene essential for survival in cancer cell lines with a specific mutation (e.g., KRAS-mutant)?
  • Biomarker discovery: What genomic features predict sensitivity to knockout of a gene?
  • Synthetic lethality: Find genes that are selectively essential when another gene is mutated/deleted
  • Drug sensitivity: What cell line features predict response to a compound?
  • Pan-cancer essentiality: Is a gene broadly essential across all cancer types (bad target) or selectively essential?
  • Correlation analysis: Which pairs of genes have correlated dependency profiles (co-essentiality)?

Core Concepts

Dependency Scores

Score Range Meaning
Chronos (CRISPR) ~ -3 to 0+ More negative = more essential. Common essential threshold: −1. Pan-essential genes ~−1 to −2
RNAi DEMETER2 ~ -3 to 0+ Similar scale to Chronos
Gene Effect normalized Normalized Chronos; −1 = median effect of common essential genes

Key thresholds:

  • Chronos ≤ −0.5: likely dependent
  • Chronos ≤ −1: strongly dependent (common essential range)

Cell Line Annotations

Each cell line has:

  • DepMap_ID: unique identifier (e.g., ACH-000001)
  • cell_line_name: human-readable name
  • primary_disease: cancer type
  • lineage: broad tissue lineage
  • lineage_subtype: specific subtype

Core Capabilities

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. Gene Dependency Scores

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. Download-Based Analysis (Recommended for Large Queries)

For large-scale analysis, download DepMap data files and analyze locally:

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. Identifying Selective Dependencies

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. Biomarker Analysis (Gene Effect vs. Mutation)

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. Co-Essentiality Analysis

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

Query Workflows

Workflow 1: Target Validation for a Cancer Type

  1. Download CRISPRGeneEffect.csv and sample_info.csv
  2. Filter cell lines by cancer type
  3. Compute mean gene effect for target gene in cancer vs. all others
  4. Calculate selectivity: how specific is the dependency to your cancer type?
  5. Cross-reference with mutation, expression, or CNA data as biomarkers

Workflow 2: Synthetic Lethality Screen

  1. Identify cell lines with mutation/deletion in gene of interest (e.g., BRCA1-mutant)
  2. Compute gene effect scores for all genes in mutant vs. WT lines
  3. Identify genes significantly more essential in mutant lines (synthetic lethal partners)
  4. Filter by selectivity and effect size

Workflow 3: Compound Sensitivity Analysis

  1. Download PRISM compound sensitivity data (primary-screen-replicate-treatment-info.csv)
  2. Correlate compound AUC/log2(fold-change) with genomic features
  3. Identify predictive biomarkers for compound sensitivity

DepMap Data Files Reference

File Description
CRISPRGeneEffect.csv CRISPR Chronos gene effect (primary dependency data)
CRISPRGeneEffectUnscaled.csv Unscaled CRISPR scores
RNAi_merged.csv DEMETER2 RNAi dependency
sample_info.csv Cell line metadata (lineage, disease, etc.)
OmicsExpressionProteinCodingGenesTPMLogp1.csv mRNA expression
OmicsSomaticMutationsMatrixDamaging.csv Damaging somatic mutations (binary)
OmicsCNGene.csv Copy number per gene
PRISM_Repurposing_Primary_Screens_Data.csv Drug sensitivity (repurposing library)

Download all files from: https://depmap.org/portal/download/all/

Best Practices

  • Use Chronos scores (not DEMETER2) for current CRISPR analyses — better controlled for cutting efficiency
  • Distinguish pan-essential from cancer-selective: Target genes with low variance (essential in all lines) are poor drug targets
  • Validate with expression data: A gene not expressed in a cell line will score as non-essential regardless of actual function
  • Use DepMap ID for cell line identification — cell_line_name can be ambiguous
  • Account for copy number: Amplified genes may appear essential due to copy number effect (junk DNA hypothesis)
  • Multiple testing correction: When computing biomarker associations genome-wide, apply FDR correction

Additional Resources

同梱ファイル

※ ZIPに含まれるファイル一覧。`SKILL.md` 本体に加え、参考資料・サンプル・スクリプトが入っている場合があります。