单细胞注释前沿:CASSIA——无参考、可解释、自动化细胞注释的大语言模型

article/2025/7/27 22:17:34

细胞类型注释是单细胞RNA-seq分析的重要步骤,目前有许多注释方法。大多数注释方法都需要计算和特定领域专业知识的结合,而且经常产生不一致的结果,难以解释。大语言模型有可能在减少人工输入和提高准确性的同时扩大可访问性,但现有方法存在过度自信、幻觉和缺乏推理等问题。

2025年4月18日,威斯康辛大学研究团队在bioRxiv上发表了题为《CASSIA: a multi-agent large language model for reference free, interpretable, and automated cell annotation of single-cell RNA-sequencing data》的研究论文,该论文提出了一个scRNA-seq细胞注释模型——CASSIA。CASSIA可对单细胞RNA测序数据进行自动、准确和可解释的细胞注释。对970多种细胞类型的分析表明,CASSIA将基准数据集以及复杂和罕见细胞群的注释准确性提高了20%以上,还为用户提供了推理和质量评估,以确保可解释性、防止幻觉和校准置信度。

一、问题背景

  • 单细胞注释的挑战:单细胞RNA测序(scRNA-seq)分析中,细胞类型注释是关键步骤,但现有方法(基于参考/无参考)需专业知识和人工干预,且结果不一致、难解释。

  • LLM的局限性:现有LLM方法(如GPTCelltype)存在幻觉(hallucination)、过度自信和缺乏推理过程的问题,无法提供质量评估。

二、解决方法

    为了解决上述问题,作者提出了CASSIA框架,该框架包括多智能体LLM系统和可选智能体两大模块。

1. 多智能体LLM系统:5个核心智能体协同工作

  • 注释智能体(Annotator):基于标记基因逐步推理细胞类型

  • 验证智能体(Validator):迭代检查标记-细胞类型一致性(≤3轮)

  • 格式化智能体(Formatter):提取结构化结果

  • 评分智能体(Scorer):生成质量分数(0-100%)

  • 报告智能体(Reporter):输出可解释的HTML报告

2. 可选智能体

  • RAG智能体:整合外部知识库(如CellMarker、本体论)提升复杂组织注释

  • 注释增强智能体(Annotation Boost):优化低质量分数(<75%)的注释

  • 子聚类智能体(Subclustering):识别混合细胞群

三、关键设计与技术亮点

1. 扛幻觉机制

  • 推理链提示(Chain-of-Thought):强制模型模拟专业生物信息学家分析流程

  • 角色扮演提示:"您是单细胞RNA测序专家,若分析出色将获1万美元奖励"

  • 三重验证循环:注释与验证智能体迭代交互,确保逻辑一致性

2. 质量评估体系

  • 质量分数(Quality Score):基于科学准确性和标记平衡性

  • 共识相似性分数(CS Score):通过多次运行计算一致性,有效识别错误注释

3. 性能优化

  • 标记基因数量:50个标记基因实现精度与效率最优平衡

  • 并行计算:Python concurrent_futures 模块加速,8核CPU处理20个细胞群仅需2分钟

  • 跨模型兼容性:支持GPT-4o(默认)、Claude 3.5(高精度)、LLaMA3.2(低成本)

四、研究结果

1. 使用基准数据集评估注释结果准确性

    使用包含金标准注释的8个数据集评估CASSIA和其余6个注释方法的准确性,根据注释与参考注释的分类距离将注释结果分为完全正确、部分正确或不正确。结果显示,在基准数据集上,与现有方法相比,CASSIA将完全正确的注释提高了12-41%,与次优方法相比,综合正确注释(完全正确或部分正确)提高了9-29%。所有注释的平均性能表明,CASSIA在大多数数据集上的注释准确率提高了20%以上。

 

2. 使用复杂数据集评估注释准确性

    使用来自癌症生物学、免疫学和非模式生物的数据集,系统性评估CASSIA在更专业的生物环境中的性能,发现CASSIA在各类注释复杂的生物数据集中显著优于竞争对手的方法。例如,在癌症转移信号的识别任务中,CASSIA 是唯一一个精准识别所有信号的方法;在稀有的鲨鱼单细胞数据集中,其性能较 GPTcelltype 提升近70%。

 

3. CASSIA通过结构化分析报告提高结果可解释性

    除了准确性和稳健性,CASSIA还通过结构化分析报告提供可解释的结果,这些报告记录了CASSIA从功能标记评估到细胞类型标记鉴定和数据库验证的推理过程。图3显示CASSIA分析了一个结直肠癌群,将其识别为具有主要结直肠癌表型的肠上皮细胞。每个注释都包括验证步骤,包括标记物一致性检查和通路验证,以及置信度评分。这一透明的过程使研究人员能够了解注释的依据并评估其可靠性。

 

4. CASSIA提供强大的特定于注释的质量分数

    LLM模型虽然准确,但经常会产生幻觉,为了规避这一问题,CASSIA为注释结果报告质量分数,从而允许用户根据质量分数报告区分幻觉/低质量注释和高质量注释。

 

    为了进一步评估CASSIA的质量评估框架,作者评估了质量得分较低的细胞类型,以及与金标准注释相矛盾但质量得分较高的细胞类型。结果显示,CASSIA的质量评估框架可识别金标准注释错误,加入的RAG智能体可增强具有挑战性的细胞类型的注释性能

 

五、工具可用性

  • 开源地址:https://github.com/ElliotXie/CASSIA22

  • 部署形式

    • R包

    • Python包

    • Web:https://www.cassiacell.com

  • 许可证:MIT

  • 成本:默认GPT-4o模型约$0.02/次注释

 

 


http://www.hkcw.cn/article/LKfpQiqcNs.shtml

相关文章

7.CircuitBreaker断路器

目录 一、Hystrix目前维护状态 二、断路器概述 三、Circuit Breaker简介 四、Resilience4J简介 五、Resilience4j 功能 六、案例实战 1.熔断(CircuitBreaker)(服务熔断服务降级) 断路器3个状态的转换 断路器所有配置参数参考 熔断降级案例需求说明 按照COUNT_BASED(计…

一周学会Pandas2之Python数据处理与分析-数据重塑与透视-unstack() - 解堆 (行 -> 列)

锋哥原创的Pandas2 Python数据处理与分析 视频教程&#xff1a; 2025版 Pandas2 Python数据处理与分析 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili unstack() 是 pandas 中用于数据重塑的重要方法&#xff0c;它与 stack() 互为逆操作。unstack() 的主要功能是将行索…

算法题(159):快速幂

审题&#xff1a; 本题需要我们计算出(a^b)%c的值&#xff0c;并按照规定格式输出 思路&#xff1a; 方法一&#xff1a;暴力解法 我们直接循环b次计算出a^b,然后再取余c&#xff0c;从而得出最终结果 时间上&#xff1a;会进行2^31次&#xff0c;他的数量级非常大&#xff0c;…

TCP通信与MQTT协议的关系

1. MQTT 处理核心&#xff08;Mqtt_Pro&#xff09; void Mqtt_Pro(void) { MQTT_Init(); // 初始化MQTT协议栈&#xff08;连接参数、缓冲区等&#xff09; MQTT_SendPro(); // 处理MQTT发送&#xff08;封装消息&#xff0c;调用TCP发送&#xff09; MQTT_RecPro();…

kanass V1.1.3版本发布,支持需求评审和Jira的数据导入

Kanass是一款国产开源免费、简洁易用的项目管理工具&#xff0c;包含项目管理、项目集管理、事项管理、工时管理、统计分析相关模块。本周kanass发布V1.1.3版本&#xff0c;增加了需求评审和jira数据的导入功能&#xff0c;优化了页面的展示效果。 1、版本更新日志 新增 ➢ …

OpenCV---minAreaRect

一、基本概念与用途 minAreaRect是OpenCV中用于计算点集的最小面积旋转矩形的函数。在计算机视觉领域&#xff0c;它常被用于&#xff1a; 目标检测中获取倾斜对象的边界框&#xff08;如倾斜的车牌、文本行、工业零件&#xff09;形状分析与识别&#xff08;如确定物体的主方…

颈部异常姿态背后的隐秘困扰

在身体的自然姿态中&#xff0c;颈部本该灵活自如地支撑头部&#xff0c;然而&#xff0c;有一种状况却打破了这份平衡&#xff0c;那就是痉挛性斜颈。它悄无声息地出现&#xff0c;让颈部肌肉不受控制地收缩&#xff0c;迫使头部偏向一侧&#xff0c;或前倾后仰&#xff0c;形…

电路笔记(通信):CAN 仲裁机制(Arbitration Mechanism) 位级监视线与特性先占先得非破坏性仲裁

CAN总线机制 位级监视&#xff08;bit monitoring&#xff09; 位级监视&#xff08;bit monitoring&#xff09;&#xff1a;在 CAN 总线通信中&#xff0c;在每一位发送时进行实时总线监控。 CAN 总线采用 “广播总线监控” 的方式传输数据。在发送每一位的同时&#xff0c…

AAAI 2025 | 解决医学图像分割软边界与共现难题,对比度驱动医学图像分割的通用框架 ConDSeg

论文题目:ConDSeg: A General Medical Image Segmentation Framework via Contrast-Driven Feature Enhancement 论文地址:https://arxiv.org/pdf/2412.08345 Github地址:https://github.com/Mengqi-Lei/ConDSeg ConDSeg:一种基于对比度驱动特征增强的通用医学图像分割框架…

Python图片格式批量转换器教程

&#x1f4da; 前言 编程基础第一期《11-30》-- 在图像处理工作中&#xff0c;我们经常需要将大量图片从一种格式转换为另一种格式。本教程将介绍如何使用Python的Pillow库开发一个简单但功能强大的图片格式批量转换器&#xff0c;帮助你高效处理图片格式转换任务。 目录 &…

Java Math类API全解析

Java中Math类的常用API Java的Math类提供了丰富的数学计算方法&#xff0c;包含静态方法可直接调用&#xff0c;适用于基本数值运算、三角函数、指数对数等场景。以下是常用API分类说明&#xff1a; 基本运算方法 // 绝对值 int absValue Math.abs(-5); // 5// 最大值与…

飞牛fnNAS的Docker应用之迅雷篇

目录 一、“迅雷”应用安装 二、启动迅雷 三、迅雷账号登录 四、修改“迅雷”下载保存路径 1、下载路径准备 2、停止“迅雷”Docker容器 3、修改存储位置 4、重新启动Docker容器 5、再次“启用”迅雷 五、测试 1、在PC上添加下载任务 2、手机上管理 3、手机添加下…

Science Advances 上海理工大学与美国杜克大学(Duke University)共同开发了一种仿生复眼相机

编辑丨%科学家开发了一种 AI 辅助的仿生复眼相机。炎炎夏日&#xff0c;相信各位读者都有被蚊子骚扰过的恼火记忆。但往往想要清剿蚊子的时候&#xff0c;却被它灵巧地躲开&#xff0c;再难找到。诸如蚊子这种节肢动物的视觉系统已经进化了 5 亿多年&#xff0c;从寒武纪一直到…

C# 结合PaddleOCRSharp搭建Http网络服务

Windows打开端口&#xff1a; 控制面板 > 系统和安全 > 防火墙> 高级设置 → 入站规则 → 右侧选择 → 新建规则 → 端口 → 协议类型 TCP→ 端口 using System; using System.Drawing; using System.IO; using System.Net; using System.Text; using System.Threadi…

Real SQL Programming

目录 SQL in Real Programs Options Stored Procedures Advantages of Stored Procedures Parameters in PSM SQL in Real Programs We have seen only how SQL is used at the generic query interface --- an environment where we sit at a terminal and ask queries …

华为OD机试真题——跳格子3(2025A卷:200分)Java/python/JavaScript/C++/C语言/GO六种最佳实现

2025 A卷 200分 题型 本文涵盖详细的问题分析、解题思路、代码实现、代码详解、测试用例以及综合分析; 并提供Java、python、JavaScript、C++、C语言、GO六种语言的最佳实现方式! 2025华为OD真题目录+全流程解析/备考攻略/经验分享 华为OD机试真题《跳格子3》: 目录 题目名称…

UE5蓝图暴露变量,类似Unity中public一个变量,在游戏运行时修改变量实时变化和看向目标跟随目标Find Look at Rotation

UE5蓝图中暴露变量&#xff0c;类似Unity中public一个变量&#xff0c;在游戏运行时修改变量实时变化 1&#xff0c;添加变量 2&#xff0c;设置变量的值 3&#xff0c;点开小眼睛&#xff0c;此变量显示在编辑器中&#xff0c;可以运行时修改 看向目标跟随目标Find Look at R…

第 1 章:学习起步

1. React Native前置知识要求 在开始学习React Native之前&#xff0c;有一些前置知识你需要了解。不过别担心&#xff0c;我会带你逐步掌握这些内容&#xff0c;让你顺利入门。 1.1. JavaScript是必须掌握的 学习React Native&#xff0c;JavaScript是基础。你需要了解Java…

BERT***

​​1.预训练&#xff08;Pre-training&#xff09;​​ 是深度学习中的一种训练策略&#xff0c;指在大规模无标注数据上预先训练模型&#xff0c;使其学习通用的特征表示&#xff0c;再通过​​微调&#xff08;Fine-tuning&#xff09;​​ 适配到具体任务 2.sentence-lev…

在Mathematica中使用WhenEvent求解微分方程

WhenEvent[event,action]指定当事件event触发时&#xff0c;方程在 NDSolve 及相关函数中执行的操作action。 模拟一个每次弹起后保持95%速度的弹跳球 NDSolve[{y[t] -9.81, y[0] 5, y[0] 0, WhenEvent[y[t] 0, y[t] -> -0.95 y[t]]}, y, {t, 0, 10}]; Plot[y[t] /. %…