由多伦多大学创建并发表在牛津生物信息学上(2016,2023)。
作者:Max Franz、Christian Lopes、Dylan Fong、Mike Kucera、...、Gary Bader
Cytoscape.js
图论(网络)可视化和分析库:https://js.cytoscape.org
描述
Cytoscape.js 是一个功能齐全的图论库。你需要对关系数据进行建模和/或可视化,比如生物数据或社交网络吗?如果是这样,Cytoscape.js 正是你所需要的。
Cytoscape.js 包含一个图论模型和一个可选的渲染器来显示交互式图形。这个库的设计目的是让程序员和科学家尽可能容易地在他们的应用中使用图论,无论是在 Node.js 应用中进行服务器端分析,还是用于丰富的用户界面。
你可以用一行代码开始使用 Cytoscape.js:
var cy = cytoscape({ elements: myElements, container: myDiv });
通过阅读其文档了解更多关于 Cytoscape.js 的功能。
示例
东京铁路站点网络可以用 Cytoscape 可视化:
东京铁路站点图的在线演示和源代码可供参考。文档中还有更多演示。
文档
你可以在项目网站上找到文档和下载。
路线图
Cytoscape.js 的未来版本计划在 Github 问题追踪器的里程碑中。你可以使用里程碑来查看当前为未来版本计划的内容。
为 Cytoscape.js 做贡献
你想成为 Cytoscape.js 的贡献者吗?根据你的兴趣,你可以在技术角色(如功能、测试)或非技术角色(如文档、推广)中做出贡献。通过发布 GitHub 讨论与我们联系。
关于提交拉取请求的机制,请参考 CONTRIBUTING.md。
功能版本每月发布一次,而补丁版本每周发布一次。这允许第一方和第三方贡献得到快速发布。
引用
要在论文中引用 Cytoscape.js,请引用牛津生物信息学期刊:
Cytoscape.js:一个用于可视化和分析的图论库 Franz M, Lopes CT, Huck G, Dong Y, Sumer O, Bader GD
Bioinformatics (2016) 32 (2): 309-311 首次发表于2015年9月28日在线 doi:10.1093/bioinformatics/btv557 (PDF)
构建依赖
安装node
和npm
。在使用npm run
之前运行npm install
。
构建说明
在控制台中运行npm run <target>
。主要目标如下:
构建:
build
:执行库的所有构建(umd、min、umd、esm)build:min
:执行未压缩的构建,包含捆绑依赖(适用于简单的html页面,适合新手)build:umd
:执行umd(cjs/amd/globals)构建build:esm
:执行esm(ES 2015模块)构建clean
:清理build
目录docs
:将文档构建到documentation
中release
:构建所有发布工件watch
:自动构建用于调试的库(带有源映射,无babel,非常快)- 适合在
debug/index.html
上进行一般测试 - 在
http://localhost:8080
或之后的第一个可用端口上提供服务,debug/index.html
上有实时重载
- 适合在
watch:babel
:自动构建用于调试的库(带有源映射,有babel,稍慢)- 适合测试性能或测试过时的浏览器
- 在
http://localhost:8080
或之后的第一个可用端口上提供服务,debug/index.html
上有实时重载
watch:umd
:自动构建生产umd包(无源映射,有babel)- 适合在另一个项目中测试cytoscape(在项目的
package.json
中使用"cytoscape": "file:./path/to/cytoscape"
引用) - 无http服务器
- 适合在另一个项目中测试cytoscape(在项目的
dist
:更新npm等的分发js
测试:
默认测试脚本直接针对源代码运行。测试也可以在构建的捆绑包上运行。库可以在node>=6
上构建,但库的捆绑包可以在node>=0.10
上测试。
test
:运行所有测试和代码检查test:js
:在库的公共API上运行mocha测试(直接在源文件上)npm run test:js -- -g "my test name"
仅运行匹配的测试用例
test:build
:在库的公共API上运行mocha测试(在构建的捆绑包上)- 应该在最新版本的node上预先运行
npm run build
npm run test:build -- -g "my test name"
仅在匹配的测试用例上运行构建测试
- 应该在最新版本的node上预先运行
test:modules
:在私有、内部API上运行单元测试npm run test:modules -- -g "my test name"
仅在匹配的测试用例上运行模块测试
lint
:通过eslint检查js源代码benchmark
:运行所有基准测试benchmark:single
:仅运行benchmark/single
中指定的套件的基准测试
发布说明
背景
- 确保为您要进行的发布创建了一个里程碑,并将该发布的所有问题分配到该里程碑中。
- 错误修复应同时应用于
master
和unstable
分支。PR可以在任一分支上进行,合并后将补丁应用到另一个分支。 - 当补丁版本与功能版本同时发布时,应先进行补丁版本发布。在补丁版本发布完成后等待5分钟再开始功能版本发布 —— 否则Zenodo可能无法正确获取发布信息。
补丁版本
- 转到Actions > Patch release
- 转到"Run workflow"下拉菜单
- [可选]"master"分支应该已经为您预选
- 按下绿色的"Run workflow"按钮
- 关闭该版本的里程碑
功能版本
- 转到Actions > Feature release
- 转到"Run workflow"下拉菜单
- [可选]"unstable"分支应该已经为您预选
- 按下绿色的"Run workflow"按钮
- 关闭该版本的里程碑
- 在博客上发布版本公告
GitHub Actions UI注意事项
- GitHub UI中的"Use workflow from"选择用于选择工作流YML文件的分支。由于master和unstable分支上的工作流文件通常应该相同,所以选择哪个并不重要。
- GitHub UI中的"Branch to run the action on"已为您预选。您不需要更改它。
测试
Mocha测试位于test目录中。这些测试可以在浏览器中运行,也可以通过Node.js运行(npm run test:js
)。