Crates.io | fastobo-graphs |
lib.rs | fastobo-graphs |
version | 0.4.8 |
source | src |
created_at | 2019-08-06 21:33:44.602167 |
updated_at | 2022-12-05 17:55:33.70044 |
description | OBO Graphs data model, decoder and encoder in Rust. |
homepage | https://github.com/fastobo/fastobo-graphs |
repository | https://github.com/fastobo/fastobo-graphs |
max_upload_size | |
id | 154683 |
size | 116,079 |
fastobo-graphs
OBO Graphs decoder and encoder in Rust.
This library provides an implementation of the OBO Graphs schema specified by the Gene Ontology to provide developers with a data format easier to use than plain ontology files in OBO or OWL format.
fastobo_graphs::model
to see the comprehensive list of data structures.serde
to implement
serialization and deserialization from both YAML and JSON.Error
with informative messages as well as an
std::error::Error
implementation.FromGraph
and
IntoGraph
traits.Add fastobo_graphs
to the [dependencies]
sections of your Cargo.toml
manifest:
[dependencies]
fastobo-graphs = "0.4"
Then use one of the top-level functions in fastobo_graphs
to load a JSON or
YAML serialized OBO Graph:
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),
}
}
The following feature is enabled by default, but can be disabled if needed:
obo - compile
FromGraph
and
IntoGraph
traits that can be used to convert between a
GraphDocument
and an OboDoc
.
Found a bug ? Have an enhancement request ? Head over to the GitHub issue tracker of the project if you need to report or ask something. If you are filling in on a bug, please include as much information as you can about the issue, and try to recreate the same bug in a simple, easily reproducible situation.
This project was developed by Martin Larralde as part of a Master's Degree internship in the BBOP team of the Lawrence Berkeley National Laboratory, under the supervision of Chris Mungall. Cite this project as:
Larralde M. Developing Python and Rust libraries to improve the ontology ecosystem [version 1; not peer reviewed]. F1000Research 2019, 8(ISCB Comm J):1500 (poster) (https://doi.org/10.7490/f1000research.1117405.1)