15个不稳定版本 (6个破坏性更新)
| 0.7.0-alpha.9 | 2021年8月2日 |
|---|---|
| 0.7.0-alpha.7 | 2021年5月13日 |
| 0.7.0-alpha.3 | 2021年2月2日 |
| 0.6.0 | 2020年11月24日 |
| 0.2.0 | 2020年7月1日 |
#237 in 生物学
用于 2 crates
655KB
14K SLoC
Rust中的Handlegraph
对变异图访问和操作的libhandlegraph接口的Rust实现。
概述
该crate提供了一些特质,共同封装了handlegraph接口。虽然这些特质并不直接映射C++接口,但几乎所有功能都存在并可使用。
lib.rs:
对变异图访问和操作的libhandlegraph接口的Rust实现。
概述
该crate提供了一些特质,共同封装了handlegraph接口。虽然这些特质并不直接映射C++接口,但几乎所有功能都存在并可使用。
除了抽象特质之外,目前还有两个具体的handlegraph实现了这些特质
HashGraph是一个基于HashMap的图,不采取任何措施来减少其内存占用,但速度快。PackedGraph使用打包整数向量,大大减少内存使用。
接口
handlegraph接口分为三个类别,每个类别都包含多个特质,这些特质封装了其类别所暗示功能的一部分。
handlegraph用于对图的节点和边进行不可变访问mutablehandlegraph用于对节点和边进行可变访问pathhandlegraph用于对嵌入在图中的路径进行可变和不可变访问
Handle 和 NodeId
核心类型,在各个特质中广泛使用,定义在 handle
其他
conversion包含一些从 GFA 转换为 handlegraph 并反向转换的功能packed是PackedGraph所使用的打包向量集合类型实现的地方
依赖关系
~9MB
~146K SLoC