Cytoscape 最初发布于 2002 年,经历了多次开发冲刺。最近的一次重大冲刺于 2014 年结束,发布了 Cytoscape v3 版本,该版本重构了主要内部数据模型,并极大地改善了对第三方插件应用程序的支持(通过 App Store、语义化版本控制规则、已发布的 API 以及通过 OSGi 进行的代码管理)。
自 v3 版本以来,我们专注于解决遗留 Bug 并升级了许多面向用户的特性,包括可视化样式 (VizMapper)、快速节点过滤、网络容量,以及整体速度和 UI 的一致性。Cytoscape 应用开发者社区已将许多 v2 插件升级为 v3 应用,并贡献了源源不断的新应用 (apps.cytoscape.org)。
截至 2023 年末,我们的努力得到了回报,Cytoscape 比以往任何时候都更受欢迎 —— 全球每月下载量达 20,000 次。
本页面介绍了我们未来交付和活动的路线图。欢迎在我们的社区页面和用户文档页面为讨论做出贡献。
Cytoscape 正同时在多个方向上推进
本页面描述了 Cytoscape 桌面版路线图以及向更广泛的云生态系统迈进的进展。
传统上,Cytoscape 依靠 Cytoscape 应用机制来定义和交付新颖的计算和工作流,Cytoscape 应用商店 (App Store) 已成功地收集并分发了这些应用。我们正在开发 Cytoscape 自动化功能,旨在使 Cytoscape 社区能够利用 Python/Jupyter、R/RStudio 和 GenomeSpace 等尖端工具,并借助其功能丰富的库和网络存在,以经济高效的方式创建新颖的工作流。
Cytoscape 自动化将允许用户创建完全在 Cytoscape 内部执行或由外部工具执行的工作流,且结果可重现。这将使 Cytoscape 能够扩展到大型数据集集合,并处理比仅通过键盘和鼠标操作更复杂的工作流。
Cytoscape 自动化将以两种形式存在:命令接口 (Commands interface) 和函数接口 (Functions interface)。两者都能达到相似的结果,但侧重点不同。命令接口将复现用户触发的交互(例如,打开会话、导入数据、导出图像),而函数接口将使程序员能够以内部 Cytoscape 数据操作和处理网络。命令和函数都将通过 REST 接口提供。
在 Cytoscape 自动化愿景下,所有新应用和许多现有应用都将被升级以响应 REST 调用。此外,大多数 Cytoscape 核心功能也将通过 REST 调用暴露。理想情况下,所有 Cytoscape 功能都将能够从外部工作流系统进行控制。
有关 Cytoscape 自动化的更多信息,请参阅 Cytoscape 自动化维基 (wiki)。
在 v3.3 版本之前,我们将 Cytoscape 视为由 Cytoscape 核心 (Core) 加上 Cytoscape 应用组成的。从 v3.3 开始,我们开创了一个中间地带:Cytoscape 核心应用 (Core Apps)。核心是负责组织、显示、读取和写入网络的代码,但它与网络的意义或用途无关——核心不包含生物学相关的功能。Cytoscape 核心应用是可安装的模块,它们执行非核心功能,但对于大多数 Cytoscape 的使用(如网络生物学)仍然是必不可少的。
迄今为止,Cytoscape 的发布版本由“核心 + 核心应用”组成(图 1)。从 v3.3 开始,核心应用可以在应用商店中单独获取,尽管在安装 Cytoscape 时它们会与核心一起安装。然而,与以往的 Cytoscape 版本不同,核心应用无需发布整个 Cytoscape 即可升级。(例如,可以随时修复网络合并功能的 Bug 或添加新特性。)这使 Cytoscape 团队能够比过去更快地升级特定功能。
与核心应用密切相关的是应用商店中的“集合 (Collections)”概念,它们是适用于特定工作流的应用包。安装一个集合会导致安装该集合中的所有应用。我们会不时添加新集合或扩充现有集合。
随着 Cytoscape 使用场景的演变,我们期望在 Cytoscape 发布版中增加核心应用,从而打包在常见工作流中有用的高级功能。将应用升级为核心应用的标准最终由 Cytoscape 核心开发人员决定,但包括:
其他附加标准包括:
Cytoscape 开发的首要任务是能够高效地执行新的和现有的关键工作流,包括:
实现核心应用特性的功能被用于使用户能够快速、轻松地定制 Cytoscape 以实现各种工作流。通过使用一个集合(即代表多个应用的应用),用户可以安装执行功能富集工作流所需的所有应用。
| 发布版本 | 日期 | 主题 | 特性 |
3.11 |
2026 年待定 |
|
|
因此,我们制定了以下政策,这些政策可能会定期更改:
P1: 过去 Cytoscape 桌面版大约每 12 个月发布一次,Bug 修复和小特性的次要版本每 3-6 个月发布一次。从 v3.3 开始,Cytoscape 桌面版每六个月(约 4 月 15 日和 11 月 15 日)发布一个新版本,核心应用的更新则根据需要发布到应用商店。
P2: 高风险的核心特性(可能实质性影响整体可用性或无法明确验证的特性)必须在核心发布前八周构建到核心中,否则该特性将被推迟到下一个核心版本。
P3: 其他特性必须在核心发布前五周构建到核心中。
P4: Bug 修复可以在核心发布前十天内执行(需经过适当审查)。
P5: 外部 API 必须在核心发布前八周冻结、记录完毕并提供初步实现,否则该 API 将推迟到下一个核心版本。这包括 CyREST 函数、参数和返回结果。将创建一个开发人员版本并在 cytoscape.org 上发布。
P6: 里程碑构建版本在核心发布前八周、五周和十天创建并提供给用户和应用开发社区。如果需要修复 Bug、撤回特性,或者开发人员认为有正当理由,将创建额外的里程碑版本。
P7: 里程碑版本(包括每日构建版本)通过 Cytoscape 网站上的开发者下载页面提供。
P8: 新兴的 API 定义(或定义引用)也会发布在开发者下载页面上。
P9: 初步特性列表在核心发布前五个月发布,并定期更新,直到核心发布前十天,届时列表将冻结。
P10: 值得注意的是,Cytoscape 已超越了桌面应用程序的角色,还通过自动化功能(也称为 Cytoscape 自动化)将 Cytoscape 功能暴露给外部控制。特性和工作流的测试很大程度上通过外部脚本(例如由 Python 驱动的 PyUnit 测试)执行。
P11: 新核心应用的提名将在核心发布前八周截止。核心开发人员可以在核心发布前五周接受预期的新核心应用。在此时间之前未被接受的核心应用提名将有资格进入下一次发布考虑。
请注意,核心应用被视为 Cytoscape 核心的一部分,并受与核心代码相同的质量保证 (Q/A) 流程约束。特别是 P4 与核心应用的交互意味着,计划立即部署的核心应用变更必须像对待核心本身的临时变更一样经过审查。核心应用将由核心开发人员部署到应用商店。
作为 Cytoscape 网络基础设施 (Cyberinfrastructure, CI) 的成员,Cytoscape 与许多 CI 服务交换网络,包括 NDEx 和基于 cytoscape.js 的查看器。
一个长期愿景是紧密集成 Cytoscape 和 NDEx,使用户能够自然地使用 NDEx 服务加载和存储他们的网络。这使得在 Cytoscape 和其他 CI 服务(例如基于网络的分层分析)以及与其他用户和发布者之间无缝共享网络成为可能。启动时,Cytoscape 将枚举最适合用户使用的 NDEx 网络,包括用户之前保存的网络和/或用户基于 NDEx 的群组网络、与用户兴趣相关的网络(例如按物种、策划属性等),或其他由推荐引擎提出的网络。Cytoscape 和 NDEx 将合作使网络采样几乎零成本,从而鼓励探索(例如通过缓存和显示网络布局和统计信息)。最后,一旦选择,Cytoscape 和 NDEx 将合作使网络加载速度足够快,以便用户能够保持任务进度。这一愿景最初将通过一个新的核心应用来实现,该应用用一个面板(网络面板和选择面板的兄弟面板)取代欢迎屏幕,该面板呈现 NDEx 网络并作为工作流执行的起点。
Cytoscape 目前将网络导出为可作为期刊文章补充材料的文件。期刊发布者的在线文章查看器可以自由地以交互式查看器显示网络,允许用户缩放网络和移动节点。在我们的愿景中,高级查看器可以对选定节点执行查找并在窗口中显示结果、执行新的布局和网络分析/聚类,并将网络导出到 NDEx 以便与 Cytoscape 和其他服务集成——网络将通过 NDEx 直接从 Cytoscape 提供给发布者,而不是作为补充数据中的文件。目前,Elsevier 提供了一个简单的查看器,它接受网络文件并允许缩放和节点移动。
ScienceDirect 应用使 Cytoscape 用户可以非常容易地生成包含 Cytoscape 网络的补充材料,如本视频所示:
| 版本 | 发布日期 | 特性 | ||||||||||
U24 奖项 |
||||||||||||
| 3.10.4 | 9/26/2025 |
|
||||||||||
| 3.10.3 | 10/24/2024 |
|
||||||||||
| 3.10.2 | 3/26/2024 |
|
||||||||||
| 3.10.1 | 8/31/2023 |
|
||||||||||
| 3.10.0 | 5/11/2023 |
|
||||||||||
R01 奖项(续期) |
||||||||||||
| 3.9.1 | 1/24/2022 |
|
||||||||||
| 3.9.0 | 10/21/2021 |
|
||||||||||
| 3.8.2 | 10/29/2020 |
|
||||||||||
| 3.8.1 | 9/24/2020 |
|
||||||||||
| 3.8.0 | 4/17/2020 |
|
||||||||||
| 3.7.2 | 9/5/2019 |
|
||||||||||
| 3.7.1 | 1/10/2019 |
|
||||||||||
| 3.7.0 | 10/22/2018 |
|
||||||||||
| 3.6.1 | 3/26/2018 |
|
||||||||||
| 3.6 | 11/15/2017 |
|
||||||||||
| 3.5.1 | 4/26/2017 |
|
||||||||||
| 3.5 | 3/24/2017 |
|
||||||||||
| 3.4 | 05/13/2016 |
|
||||||||||
| 3.3 | 11/25/2015 |
|
||||||||||
| 3.2.1 | 02/11/2015 |
|
||||||||||
| 3.2 | 11/07/2014 |
|
||||||||||
| 3.1.1 | 05/27/2014 |
|
||||||||||
| 3.1 | 02/13/2014 |
|
||||||||||
| 3.0.2 | 07/30/2013 |
|
||||||||||
R01 奖项(初次) |
||||||||||||
| 3.0.1 | 04/22/2013 |
|
||||||||||
| 3.0 | 02/04/2013 |
|
||||||||||
| 2.8.3 | 05/04/2012 |
|
||||||||||
| 2.8.2 | 08/26/2011 |
|
||||||||||
| 2.8.1 | 02/18/2011 |
|
||||||||||
| 2.8.0 | 12/2/2010 |
|
||||||||||
| 2.7.0 | 04/27/2010 |
|
||||||||||
| 2.6.3 | 06/25/2009 | |||||||||||
| 2.6.2 | 02/24/2009 | |||||||||||
| 2.6.1 | 09/17/2008 | |||||||||||
| 2.6.0 | 05/15/2008 | |||||||||||
| 2.5.2 | 02/01/2008 | |||||||||||
| 2.5.1 | 08/31/2007 | |||||||||||
| 2.5.0 | 07/23/2007 | |||||||||||
| 2.4.1 | 04/25/2007 | |||||||||||
| 2.4.0 | 01/16/2007 | |||||||||||
| 2.3.2 | 09/01/2006 | |||||||||||
| 2.3.1 | 07/19/2006 | |||||||||||
| 2.3 | 06/23/2006 | |||||||||||
| 2.2 | 12/06/2005 | |||||||||||
| 2.1 | 05/25/2005 | |||||||||||
| 2.0 | 07/22/2004 | |||||||||||
| 1.1 | 2003 年 5 月 | |||||||||||
| 1.0 | 2003 年 3 月 | |||||||||||
| 0.9 | 2002 年 11 月 | |||||||||||
| 0.8 | 2002 年 7 月 | |||||||||||
| 所有先前和后续版本的发行说明可以在这里找到 |