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