1 个不稳定版本
0.5.0 | 2023年4月14日 |
---|
#222 in 可视化
2MB
4K SLoC
shu
是什么?
文档:https://biosustain.github.io/shu/docs/ 网页部署:https://biosustain.github.io/shu
应用程序,用于将多维数据绘制到代谢图中。代谢图是代谢物作为节点、反应作为边的图。
为什么?
Escher 非常好。事实上,地图的格式与 escher 完全相同。然而,escher 只允许绘制 2 种 (+2 通过工具提示) 数据:反应数据和代谢物数据。 Shu 尝试提供至少 6 种绘图方式
- 反应大小。
- 反应颜色。
- 反应右侧。
- 反应左侧。
- 代谢物大小。
- 代谢物颜色。
(+2 通过悬停)
- 悬停反应。
- 悬停代谢物。
特别关注能够绘制 分布(不仅仅是点)和 n-条件。Escher 也有颜色和大小之间的区别,只是它们无法从 GUI 独立访问。
如何使用
Shu 通过网络应用程序(在 https://carrascomj.github.io/shu 的预览构建)和独立的本地应用程序进行分发。要使用后者,下载您操作系统的最新版本,如有必要请解压,然后作为可执行文件运行。
一旦发布,将提供 rust 包和 Python API 的文档。同时,Python 文档的预览可以在 https://carrascomj.github.io/shu/docs 找到。
从源代码构建(最新主提交)
安装 cargo 并运行
git clone https://github.com/biosustain/shu.git
cd shu
cargo install --path .
可能需要额外的依赖项。检查 bevy 设置,shu 使用 lld
来加速链接时间。
API 设计
Shu遵循像ggplot或plotnine这样的图形语法设计。有关完整类比,请参阅python API。特定实现是bevy中的实体组件系统。
- 每个美学都是一个组件(如
Gsize
,Gcolor
等),包含其数据(见src/aesthetics.rs
)。标识符存储在Aesthetic
组件中。 - 具有
Aesthetic
、其他aes组件和几何组件(如src/geom.rs
中的GeomArrow
、GeomMetabolite
等)的实体由一个系统(在src/aesthetics.rs
中)处理和绘图。 - 给定几何接受的美学在系统的查询中明确。
数据处理(df
和map_file
)位于src/data.rs
和src/escher.rs
中,而GUI组件位于src/gui.rs
中。
许可证
版权所有 2023 Novo Nordisk Foundation 生物可持续性中心。
根据以下之一获得许可:
- Apache License,版本2.0(LICENSE-APACHE或http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证(LICENSE-MIT或http://opensource.org/licenses/MIT)
任选其一。
贡献
除非你明确表示,否则任何有意提交以包含在你根据Apache-2.0许可证定义的作品中的贡献,都应如上所述双许可,不得附加任何额外条款或条件。
依赖关系
~50–69MB
~1M SLoC