14个版本
0.4.8 | 2022年12月5日 |
---|---|
0.4.7 | 2022年5月4日 |
0.4.5 | 2022年4月21日 |
0.4.4 | 2022年1月20日 |
0.1.2 | 2019年8月27日 |
#902 在 解析器实现
33 每月下载量
70KB
1.5K SLoC
fastobo-graphs

OBO图的Rust解码器和编码器。
概述
该库为开发者提供了一个实现,该实现由基因本体指定的OBO图模式,以便于使用,比OBO或OWL格式的普通本体文件更容易。
- 数据结构 - 完整的OBO图模式被复制到Rust数据结构中,具有公共字段,可以直接访问图节点。请参阅
fastobo_graphs::model
以查看数据结构的完整列表。 - I/O - 结构使用
serde
实现从YAML和JSON的序列化和反序列化。 - 错误 - 可失败的操作可以返回一个包含信息性消息以及
std::error::Error
实现的Error
。 - 转换特质 - OBO图可以使用
FromGraph
和IntoGraph
特质(部分)转换为和从普通OBO文档转换。
使用方法
将fastobo_graphs
添加到Cargo.toml
文件中的[dependencies]
部分
[dependencies]
fastobo-graphs = "0.4"
然后使用 fastobo_graphs
中的顶级函数之一来加载一个序列化的 JSON 或 YAML OBO 图。
extern crate fastobo_graphs;
extern crate ureq;
fn main() {
let response = ureq::get("http://purl.obolibrary.org/obo/zeco.json").call();
match fastobo_graphs::from_reader(response.unwrap().into_reader()) {
Ok(doc) => println!("Number of ZECO nodes: {}", doc.graphs[0].nodes.len()),
Err(e) => panic!("Could not parse ZECO OBO Graph: {}", e),
}
}
功能
以下功能默认启用,但在需要时可以禁用。
- obo - 编译
FromGraph
和IntoGraph
特性,这些特性可以用来在GraphDocument
和OboDoc
之间进行转换。
反馈
发现了错误?有增强请求?如果您需要报告或询问某些内容,请前往项目的 GitHub 问题跟踪器。如果您正在填写错误,请尽可能提供有关问题的详细信息,并尝试在简单、易于复现的情况下重现相同的错误。
关于
该项目由 Martin Larralde 在 BBOP 团队 的 劳伦斯伯克利国家实验室 的硕士实习期间开发,由 Chris Mungall 指导。引用此项目如下:
Larralde M. 开发 Python 和 Rust 库以改进本体生态系统 [版本 1;未经同行评审]。 F1000Research 2019,8(ISCB Comm J):1500 (海报) (https://doi.org/10.7490/f1000research.1117405.1)
依赖项
~2.2–3.5MB
~77K SLoC