Cytoscape 产品路线图

简介

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 桌面版路线图以及向更广泛的云生态系统迈进的进展。

愿景: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)

愿景:Cytoscape 核心与核心应用

在 v3.3 版本之前,我们将 Cytoscape 视为由 Cytoscape 核心 (Core) 加上 Cytoscape 应用组成的。从 v3.3 开始,我们开创了一个中间地带:Cytoscape 核心应用 (Core Apps)。核心是负责组织、显示、读取和写入网络的代码,但它与网络的意义或用途无关——核心不包含生物学相关的功能。Cytoscape 核心应用是可安装的模块,它们执行非核心功能,但对于大多数 Cytoscape 的使用(如网络生物学)仍然是必不可少的。

图 1:Cytoscape 桌面版

迄今为止,Cytoscape 的发布版本由“核心 + 核心应用”组成(图 1)。从 v3.3 开始,核心应用可以在应用商店中单独获取,尽管在安装 Cytoscape 时它们会与核心一起安装。然而,与以往的 Cytoscape 版本不同,核心应用无需发布整个 Cytoscape 即可升级。(例如,可以随时修复网络合并功能的 Bug 或添加新特性。)这使 Cytoscape 团队能够比过去更快地升级特定功能。

与核心应用密切相关的是应用商店中的“集合 (Collections)”概念,它们是适用于特定工作流的应用包。安装一个集合会导致安装该集合中的所有应用。我们会不时添加新集合或扩充现有集合。

随着 Cytoscape 使用场景的演变,我们期望在 Cytoscape 发布版中增加核心应用,从而打包在常见工作流中有用的高级功能。将应用升级为核心应用的标准最终由 Cytoscape 核心开发人员决定,但包括:

  • 在应用商店中的可用性,以及对需求、正确的目标定位和其他反馈进行至少六个月的深入评估
  • 经 Cytoscape 核心开发人员评估并达成一致
  • 由多位开发人员切实可维护
  • 极少(或没有)生物学领域特定的语义

其他附加标准包括:

  • 其他应用或工作流对其的依赖程度
  • 在推动用户行为以实现更高生产力方面的价值
  • 对 Cytoscape 安装程序大小的增量影响
  • 具体的维护计划(包括由核心开发人员进行维护的能力)
  • 开源并在 Cytoscape GitHub 存储库中
  • 预期感兴趣的用户群体规模
  • 与现有替代方案相比的吸引力
  • 可用性和稳定性评估
  • 拥有高质量的文档和教程

愿景:关键工作流

Cytoscape 开发的首要任务是能够高效地执行新的和现有的关键工作流,包括:

  • Cytoscape 主程序(核心网络分析)
  • 功能富集分析 (Functional enrichment analysis)
  • 蛋白质组学数据的网络分析
  • 基因表达数据的通路分析

实现核心应用特性的功能被用于使用户能够快速、轻松地定制 Cytoscape 以实现各种工作流。通过使用一个集合(即代表多个应用的应用),用户可以安装执行功能富集工作流所需的所有应用。

愿景:主题与特性

发布版本 日期 主题 特性

3.11

2026 年待定
  • Web 和 Notebook 的互操作性
  • 性能改进及其他……
  • 支持 Java 21 或 25
  • 支持通过 URL 链接打开 Cytoscape 桌面版
  • 以及……

政策与实践

因此,我们制定了以下政策,这些政策可能会定期更改:

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 网络基础设施的集成

作为 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
其他
  • 修复了一个 Bug:从 Cytoscape Web 在 Cytoscape 中打开网络时,集合名称被错误地设置为 ?(SUID: ##)
  • 修复了一个 Bug:如果在调用关闭会话之前的任何时间打开了显示任务 (Show Tasks),样式会损坏
  • 修复了在 Cytoscape 中重新加载后移动一组节点失败的 Bug
  • 布局设置对话框中的“仅布局选定节点”控件现在是一个标记为 应用到选定节点 (Apply to Selected Nodes) 的按钮,使操作更明确且易于使用
3.10.3 10/24/2024
其他
  • 改进了样式面板标签
  • 强制命名根网络
  • 修复测试失败
  • 强制跨网络列命名
  • 修复等式构建器对话框
  • 使组的折叠/展开更健壮
  • 修复 LayoutSettingsDialog 空指针异常 (NPE) (Linux)
  • 更新到最新版本的 JavaFX
3.10.2 3/26/2024
其他
  • CyREST 中暴露了布局工具:旋转和缩放
  • 日语区域设置下的 SVG 导出
  • 搜索栏中启用了 Lucene 通配符查询
  • 轻微 Bug 修复
3.10.1 8/31/2023
其他
  • 对所有 Java 17 版本的更好支持
  • 轻微 Bug 修复
3.10.0 5/11/2023
可视化
  • 边标签旋转允许边标签与边斜率对齐
架构
  • 字符串可调参数具有“密码”属性,可屏蔽文本字段
  • 新的 LEN() 等式函数,返回列表的长度
  • JavaFX 版本升级到 18.0.2
  • OpenCL 应用已移入核心。OpenCL 支持现在作为 ‘cycl-api’ 包成为 Cytoscape API 的一部分
  • TableVisualMappingManager 具有用于处理表格样式的新 API 方法
UI
  • 新的选择套索工具
  • 表格样式现在是网络样式的一部分,并应用于节点和边表格
  • 新的应用商店面板已取代旧的“应用管理器”
  • 搜索栏更快、更可靠,并包含新型搜索查询
其他
  • Java 17 支持
  • 自动化:网络视图现在可以使用新命令导出
  • framework-cytoscape.log 文件不再无限增长(删除 > 30 天的条目)
  • 针对 Apple 芯片处理器 (M1+) 的原生构建

R01 奖项(续期)

3.9.1 1/24/2022
UI
  • 表格等式的轻微修复
其他
  • 更新了 log4j 依赖项
  • 自动化:注释和应用相关命令的更新
3.9.0 10/21/2021
可视化
  • 支持原生 4k 超高清和 Retina 显示器
  • 改进了网络渲染性能
  • 改进了 Haystack 边渲染
  • 支持旋转节点标签和注释的新功能
  • 内容适应现在考虑了节点标签
  • 用于 Z 轴顺序的新视觉属性
  • 网络视图现在支持用于节点和注释图像的 SVG 图形
  • 表格面板的新特性:单元格样式、图表和复制/粘贴
UI
  • 等式构建器已重新设计,带有自由格式编辑字段
  • 颜色面板现在在颜色选择器中通用可用
  • 改进了热键映射
  • 过滤器现在可以选择或高亮显示节点和边
  • 网络视图 PDF 导出的新自动页面大小选项
其他
  • 支持 Jupyter Notebooks
3.8.2 10/29/2020
I/O
  • 修复了打开大型会话时的内存问题
  • 修复了导出大型网络时的内存问题
其他
  • 修复了 CyBrowser 安装 yFiles 和其他应用时的 Bug
3.8.1 9/24/2020
UI
  • 渲染器的 Bug 修复
    • 边工具提示未渲染
    • 边弯曲编辑导致所有边都弯曲
    • 网络视图双击不起作用
其他
  • 修复了解决自动化脚本中内存泄漏和竞争条件的 Bug
3.8.0 4/17/2020
分析
  • 网络分析器 (Network Analyzer) 更新,界面改进并支持自动化
UI
  • 更新了用户界面
  • 改进了工具栏自定义
  • 面板现在可以最小化、浮动或停靠到工作区
  • 改进了交互式渲染性能,适用于拥有 10,000 个节点和 3,000,000 条边的网络
其他
  • Java 11 支持
3.7.2 9/5/2019
其他
  • 修复了 CyNDEx-2 无法下载 JXBrowser 组件的 Bug
3.7.1 1/10/2019
I/O
  • 修复了导出注释时的冻结 Bug
UI
  • 关于对话框更新
3.7.0 10/22/2018
安装
  • 大幅减小了安装程序大小
UI
  • 注释
  • 动画工具提示
  • 元素选择器切换
  • 启动屏幕
可视化
  • 样式中的 BrewerColor 面板
其他
  • 更新了 NDEx 集成
3.6.1 3/26/2018
安装
  • 自动 Java 安装
其他
  • 支持加载/保存 NDEx 网络
3.6 11/15/2017
工作流
  • Cytoscape 自动化
  • CyBrowser 集成
可视化
  • yFiles 更新
  • Copycat 布局
分析
  • 扩散 (Diffusion)
  • 新的入门网络
UI
  • 网络搜索栏
  • 入门面板
  • 拖放会话、网络和表格
  • 可自定义的工具栏
  • 改进的选择性能
其他
  • 无人值守安装
  • 支持 Mac High Sierra
3.5.1 4/26/2017
Bug 修复
  • 滑块控件故障
  • 工具栏帮助图标中链接指向错误
  • 搜索栏遗漏了常用词
3.5 3/24/2017
工作流
  • 使用 BridgeDB 进行符号转换
  • 网络和表格文件的拖放
  • 恢复了 BioMart 功能
共享
  • 与 NDEx 网络共享数据库集成
  • 添加了 web.cytoscape.org 用于网络共享
  • 改进/优化了导出对话框
可视化
  • CoSE 布局(用于复合节点)
3.4 05/13/2016
UI
  • 现代窗口管理器支持使用多台显示器
  • 带有改进格式的基于 Web 的用户手册
架构
  • 支持应用集合
  • 长时间运行任务 API
共享
  • 支持 Elsevier 期刊中的交互式网络
3.3 11/25/2015
工作流
  • 网络分析器速度提升 1000 倍以上
  • 基于相邻节点属性的过滤
  • 改进/优化了网络和表格文件导入器
  • Prefuse 布局的 GPU 支持(快 100 倍)
  • 新的基于 GPU 的图形渲染(1/40 秒渲染 10 万个节点)
可视化
  • 组设置和可视化改进
  • 默认网络布局现在是力导向布局
UI
  • 许多对话框的美观性和一致性改进
架构
  • 核心功能被重新打包为应用,以便频繁改进
  • 已安装应用的自动新版本警报
  • cyREST 作为随 Cytoscape 一起发布的核心应用
3.2.1 02/11/2015
其他
  • Java 8 支持
3.2 11/07/2014
工作流
  • 重构/优化了视觉属性映射器接口
  • 更快的启动、会话加载和网络合并
虚拟化
  • 能够将节点显示为动态图表
自动化
  • RESTful 接口实现了“Cytoscape 即服务”
其他
  • 针对大型图表更高的容量(内存和绘制速度)
共享
  • 将图表导出为完全打包的网站,准备好发布到 Web 服务器
  • CyNetShare 基于 Web 的网络查看器
3.1.1 05/27/2014
工作流
  • 改进了 Excel、CSV 和 TXT 文件的网络和属性导入
3.1 02/13/2014
I/O
  • 快速 PSICQUIC 下载和合并
工作流
  • 快速过滤器执行 - O(n) 而不是 O(kn)
  • 欢迎屏幕改进,带有 D. rerio (斑马鱼) 和 E. coli (大肠杆菌) 预设
3.0.2 07/30/2013
UI
  • 重组了用户界面

R01 奖项(初次)

3.0.1 04/22/2013
UI
  • 重组了用户界面
3.0 02/04/2013
架构
  • 彻底重新设计的 API
  • 视图和数据模型之间的清晰分离
  • OSGi 框架
属性
  • 用于网络本地数据支持的新数据表模型
可视化
  • 边绑定 (Edge Bundling)
  • 对网络模型多个视图的内部支持
  • 可插入的渲染引擎
插件
  • 新的插件架构
  • 从 2.x 移植了插件
  • 与新的 Cytoscape 应用商店集成
其他
  • 原型无头模式 (命令行 Cytoscape 应用程序)
  • 网络可视化的性能调优
2.8.3 05/04/2012
UI
  • 对没有三键鼠标的 Mac 平台的更好支持
插件
  • 重组了插件类别
2.8.2 08/26/2011
UI
  • VizMapper 中的新渐变编辑器
  • 用户错误日志控制台
  • 改进了 CytoPanels
其他
  • 改进的内存分配
2.8.1 02/18/2011
可视化
  • 改进了对节点组的视觉支持
插件
  • 从本地文件加载插件
I/O
  • 改进了 XGMML 阅读器
UI
  • 表格浏览器中添加了“全选属性”按钮
2.8.0 12/2/2010
插件
  • 将网络分析器插件纳入标准 Cytoscape 发布版
可视化
  • 应用于节点的自定义图形
分析
  • 动态过滤器
UI
  • 属性浏览器中类似电子表格的等式,用于处理属性
其他
  • 支持 Java SE 6
2.7.0 04/27/2010
数据结构
  • 嵌套网络
可视化
  • 新的边类型
  • 自动标签换行
  • 箭头颜色可选地锁定为边颜色
  • 嵌套网络可视化
UI
  • 属性浏览器中的换行和列表编辑
I/O
  • BioPAX 3 级支持
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 月
所有先前和后续版本的发行说明可以在这里找到