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:
toml
[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:
```rust
extern crate fastobo_graphs;
extern crate ureq;
fn main() { let response = ureq::get("http://purl.obolibrary.org/obo/zeco.json").call(); let doc = ;
match fastobo_graphs::from_reader(response.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:
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)