#obo #ontology #foundry #serde

obofoundry

Structures to deserialize OBO Foundry listings into

15 releases (9 breaking)

0.10.0 Dec 5, 2022
0.9.0 Oct 13, 2022
0.8.3 Mar 30, 2022
0.8.0 Feb 8, 2021
0.1.2 Mar 31, 2019

#485 in Science

43 downloads per month
Used in 2 crates

MIT license

21KB
370 lines

obofoundry.rs Star me

Structures to deserialize OBO Foundry listings into.

Actions Codecov License Source Crate Documentation Changelog

Usage

Add the obofoundry crate to the Cargo.toml manifest, as well as either serde_yaml or serde_json:

[dependencies]
obofoundry = "0.8"
serde_yaml = "0.8"

Then use the serde framework to load the listings:

extern crate obofoundry;
extern crate serde_yaml;

let yaml_data = include_str!("...");
let foundry: obofoundry::Foundry = serde_yaml::from_str(&yml).unwrap();

It's also possible to use an HTTP library to load the listings from the OBO Foundry website directly, for instance using ureq:

extern crate obofoundry;
extern crate ureq;
extern crate serde_yaml;

let url = "http://www.obofoundry.org/registry/ontologies.yml";

let res = ureq::get(url).call();
let reader = res.into_reader();
let foundry: obofoundry::Foundry = serde_yaml::from_reader(reader).unwrap();

Examples

See the online documentation at docs.rs for more examples.

Changelog

This project adheres to Semantic Versioning and provides a changelog in the Keep a Changelog format.

License

This library is provided under the open-source MIT license.

Dependencies

~1.8–2.8MB
~84K SLoC