scPyviewer: a Python-native interactive viewer from AnnData single-cell data
scPyviewer 是一个基于 Python 原生的 Web 端交互式查看器,它使非编程人员无需进行 Seurat 转换即可直接探索 AnnData 单细胞数据集,在提供与现有 R Shiny 工具功能对等性的同时,展示了更优越的渲染速度、更低的内存占用,以及处理会导致 R 语言替代方案失败的大规模数据集的能力。
原始论文采用 CC BY 4.0 许可(https://creativecommons.org/licenses/by/4.0/)。 这是一篇未经同行评审的预印本的AI生成解释。这不是医疗建议。请勿根据此内容做出健康决定。 阅读完整免责声明
在过去的十年里,生物实验室内部发生了一场革命。科学家们现在可以逐一观察单个细胞,读取告诉每个细胞该做什么的遗传指令。这已将生命研究变成了一个大规模的数据问题。单次实验就可以产生关于数十万个细胞的信息,创建出一张关于组织是如何构建以及在疾病过程中如何变化的数字地图。但这种数据的洪流也创造了一个新问题:谁有权查看这张地图?进行实验的人,即培养细胞和治疗患者的生物学家,往往不知道如何编写探索这些地图所需的计算机代码。多年来,解决方案一直是一种“交接”模式。计算专家完成他们的工作,将结果打包成特定的格式,然后交给由不同程序员组建的独立软件工具。这个工具允许生物学家通过点击进行操作、缩放细胞群组,并提出诸如“哪些细胞正在产生这种蛋白质?”之类的问题,而无需编写一行代码。
然而,两组人之间悄然形成了一道语言障碍。用于分析这些细胞地图的主流软件是用一种叫做 Python 的编程语言编写的,它已成为现代生物学的标准。然而,让非程序员探索结果的交互式工具却是基于另一种语言 R 构建的。为了使用这些工具,一个使用 Python 进行工作的实验室必须首先将整个数据集翻译成 R 的格式。这个翻译步骤缓慢、容易出错,并且对于最新的、最复杂类型的数据来说往往是无法实现的。这就像拥有一座用英语编写的书库,却被告知在阅读摘要之前,必须把每一本书都翻译成法语。对于许多实验室来说,这意味着他们要么无法轻松分享他们的发现,要么必须依赖程序员为他们运行探索过程。
一支研究团队现在开发了一个新工具来弥补这一差距。他们创建了一个名为 scPyviewer 的软件应用程序,旨在让科学家直接在 Python 环境中探索这些复杂的细胞地图,而无需离开环境或翻译数据。研究人员将这个新工具与目前实验室中最流行的三种现有工具进行了测试。他们发现,新工具可以完成旧工具能做的一切,但速度更快,且对计算机内存的压力更小。在涉及从 22,000 个细胞到超过 300,000 个细胞的数据集的测试中,新工具保持了快速响应。相比之下,依赖翻译步骤的旧工具在面对最大的数据集时,由于耗尽了计算机内存而崩溃。新工具不仅能够原生处理数据,还提供了一个并排比较不同实验的功能,这是旧工具所缺乏的能力,尽管作者指出,针对真正差异化输入进行的跨物种比较的专门压力测试仍是未来的工作。
这项工作的核心是一个简单而强大的理念:工具应该使用与数据相同的语言。研究人员构建了他们的应用程序来读取一种称为 AnnData 的特定文件格式,这是 Python 中单细胞数据的标准容器。因为该工具直接读取这种格式,所以不需要翻译步骤。该应用程序基于一个名为 Streamlit 的 Web 框架构建,使其可以在浏览器中运行。这意味着生物学家可以打开一个链接,加载他们的数据集,并立即开始探索。他们可以点击一个细胞簇以查看哪些基因处于活跃状态,过滤视图以观察特定条件,或者比较两个不同的实验以观察细胞类型如何匹配。该工具包含了科学家所期望的所有标准功能,例如细胞位置图、显示基因活性的图表以及列出每个细胞类型最重要标记物的表格。
为了证明这种方法有效,研究人员对该工具进行了严格测试。他们使用了来自不同物种和组织的三个真实世界数据集。第一个是发育中的鸡心脏图谱,包含约 22,000 个细胞。第二个是绿猴的肺部和淋巴结图谱,包含约 78,000 个细胞。第三个是关于人类肺部疾病的大规模调查,包含近 313,000 个细胞。他们测量了加载数据和绘制每个视图所需的时间,并将新工具直接与驱动旧版 R 工具的底层引擎进行了对比。在最小的数据集上,新工具加载数据不到一秒,而旧引擎则比它慢了三倍以上。它绘制视图的速度也显著更快,通常快了两到三倍。
随着数据量的增加,这种差异变得更加剧烈。在猴子数据集上,新工具在加载方面仍比旧工具快三倍,并且在绘制各类图表时始终更快。但在拥有 313,000 个细胞的人类肺部数据集上,旧引擎完全失败了。它耗尽了可用内存,无法完成任何一个视图的绘制。然而,新工具加载整个数据集并在每个图表下不到两秒内完成了视图绘制。研究人员指出,旧工具需要一台拥有 8 GB 内存的计算机才能处理较小的数据集,但它们根本无法处理最大的那个。新工具在同一台机器上处理了最大的数据集,且使用的内存仅为旧方法所需的一小部分。
除了速度之外,新工具还提供了旧工具不具备的能力。因为它能与 Python 数据原生协作,所以它可以直接比较两个不同的实验,即使它们来自不同的物种或使用不同的实验设计。研究人员展示了该工具处理这三个数据集的能力,但他们明确表示,针对不同基因集、注释词汇表和归一化惯例等真正差异化输入的跨物种比较模块的专门压力测试尚未进行,仍是未来的工作。他们还展示了该工具可以处理无法完全放入计算机内存的大型文件,因为它直接从硬盘读取数据,这一特性使他们能够处理庞大的人类肺部文件而不会崩溃。这意味着该工具可以随数据增长,处理远大于当前实验室典型产出的数据集。
研究人员还为该工具构建了一个公共接口,使其可以通过任何安装了 Python 的环境轻松安装和使用。他们提供了一种让科学家直接从工具中生成出版级图像和表格的方法,确保交互式探索可以转化为可重复的结果。代码是开放的,任何人都可以使用或改进。团队强调,虽然该工具在设计上追求快速和轻量化,但其设计足够稳健,足以应对目前使用的最大数据集。他们在没有特殊图形硬件的标准计算机上对其进行了测试,证明了高性能探索并不需要昂贵的设备。
这项工作代表了生物学数据共享和探索方式的一种转变。多年来,计算分析与生物学解释之间的障碍在于需要在不同语言之间进行数据转换。通过消除这个翻译步骤,新工具让数据可以直接从分析流向生物学家。它不需要生物学家学习新语言,也不需要计算专家改变他们的工作流程。相反,它在他们所在的地方——即已成为现代生物学标准的 Python 环境中——与他们相遇。其结果是一个不仅更快速、更高效,而且更具包容性的系统,让非程序员也能像创建它们的专家一样轻松地探索复杂的数据集。
该工具的成功表明,生物数据探索的未来可能在于原生集成而非翻译。随着数据集在规模和复杂性上的持续增长,在不崩溃或不减速的情况下处理它们的能力变得至关重要。研究人员表明,通过坚持使用原生格式,他们可以实现旧有的、基于翻译的方法无法企及的性能。这并不意味着旧工具毫无用处,但它确实表明,对于使用 Python 的实验室来说,现在有了更直接、更好的路径来理解他们的数据。该工具已经可以使用,研究人员也公开了代码,以便他人在此基础上进行开发。在数据增长速度超过处理硬件速度的领域,一个能够承受这种负荷而不崩溃的工具,是向前迈出的重要一步。
这项工作的意义不仅在于速度。通过降低探索数据的难度,该工具鼓励更多科学家参与到研究结果中。当生物学家可以点击数据集并亲眼观察模式时,他们更有可能提出新的问题并发现意想不到的联系。直接并排比较不同实验的能力开启了新的研究可能性,让科学家能够观察细胞类型在不同物种或疾病状态下的行为。虽然该工具引入了这种能力,但作者指出,其对比差异化输入的全部潜力仍需进一步的专门测试。这种对比对于以往受限于单一数据集的旧工具来说是很难实现的。新工具消除了这种限制,从而提供了更广泛的生物系统视角。
最后,论文提出了一个解决许多实验室长期面临的实际问题的方案。在不同语言之间进行数据转换的需求一直是摩擦的来源,它减缓了研究进程并限制了参与探索的人群。通过构建一个使用与数据相同语言的工具,研究人员消除了这种摩擦。其结果是一个更快、更可靠、且能处理定义现代生物学的海量数据的系统。它提醒我们,有时前进的最佳方式并不是从头开始构建全新的东西,而是构建一个契合人们现有工作方式的东西。工具已经就绪,数据已经存在,理解之路现在比以往任何时候都更加清晰。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。