多聚类注释

CASSIA 中的批处理

CASSIA 支持同时分析多个聚类。本指南解释了如何准备数据并高效运行批量分析。根据您电脑cpu的核心数目,一个20的分群的聚类一般在大约三分钟内可以完成。

选定要使用的模型

如果您使用 OpenRouter 作为提供商,可以自由指定几乎任何大模型,以下是一些模型推荐:

  • Claude 3.5 Sonnet (性能最佳)
    • 模型 ID: "anthropic/claude-3.5-sonnet"
  • GPT-4o (均衡选项)
    • 模型 ID: "openai/gpt-4o-2024-11-20"
  • deepseekv3 (几乎免费且效果接近4o,最推荐)
    • 模型 ID: "deepseek/deepseek-chat-v3-0324" 或者 "deepseek/deepseek-chat-v3-0324:free" (这个是免费的!但每天有50次限制,如果充值10🔪放openrouter里,限制提高到1000次每天)

准备标记数据

您有三种提供标记数据的选择:

  1. 创建包含您的聚类和标记基因的CSV 文件
  2. 直接使用 Seurat 的 findAllMarkers 函数的输出文件
  3. 使用 CASSIA 的示例标记数据,不需要自己提供数据
# 选项 1:加载您自己的标记数据
markers <- read.csv("path/to/your/markers.csv")

# 选项 2:直接使用 Seurat 的 findAllMarkers 输出
# (假设您已经有一个 Seurat 对象)
markers <- FindAllMarkers(seurat_obj)

# 选项 3:加载示例标记数据
markers <- loadExampleMarkers()

# 预览数据
head(markers)

标记数据格式

CASSIA 接受两种格式:

  1. FindAllMarkers 输出:Seurat 的 FindAllMarkers 函数的标准输出
  2. 简化格式:一个两列的表格,其中:
    • 第一列:聚类的名字
    • 第二列:逗号分隔的排序标记基因比如:CD4,CD8,EGFR 这样

运行批量分析

设置参数

# 检测可用的 CPU 核心
available_cores <- parallel::detectCores()

# 计算推荐的工作线程数(可用核心的 75%)
recommended_workers <- floor(available_cores * 0.75)

runCASSIA_batch(
    # 必需参数
    marker = markers,                    # 标记数据(数据框或文件路径)
    output_name = "my_annotation",       # 输出文件的基本名称
    model = "gpt-4o",                     # 要使用的模型
    tissue = "brain",                    # 组织类型
    species = "human",                   # 物种
    
    # 可选参数
    max_workers = recommended_workers,    # 并行工作线程数
    n_genes = 50,                        # 要使用的顶部标记基因数量
    additional_info = "",                # 附加上下文
    provider = "openai"                  # API 提供商
)

参数详情

  1. 标记基因选择

    • 默认:每个聚类的前 50 个基因
    • 过滤标准:
      • 调整后的 p 值 < 0.05
      • 平均对数 2 倍变化 > 0.25
      • 最小百分比 > 0.1
    • 如果通过过滤的基因少于 50 个,则使用所有通过的基因
  2. 并行处理

    • max_workers:控制并行处理线程
    • 推荐:可用 CPU 核心的 80%
    • 示例:对于 16 核机器,设置为 13
  3. 附加上下文(可选,最好用英文):

    • 使用 additional_info 提供实验上下文
    • 示例:
      • 处理条件:"样本经过抗体处理" additional_info = "Sample has been processed by antibody"
      • 分析重点:"请仔细区分癌细胞和非癌细胞"

输出文件

分析会生成两个文件:

  1. my_annotation_full.csv:完整的对话历史
  2. my_annotation_summary.csv:浓缩的结果摘要

获得最佳结果的提示

  1. 资源管理

    • 在设置 max_workers 时监控系统资源
    • 从推荐的核心数量的 75% 开始,并根据需要调整
  2. 标记基因选择

    • 默认的 50 个基因适用于大多数情况
    • 对于更复杂的细胞类型,增加数量
    • 如果遇到 API 限制,减少数量