Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
fastobo 
Faultless AST for Open Biomedical Ontologies.
Overview
This library provides a mostly-complete implementation of the OBO flat file format 1.4.
- Data structures -
fastoboprovides a complete owned AST for the OBO language, with constructors and covenience traits where applicable. There is a plan to provide borrowed data structures as well, to be able to build a view of an OBO document from borrowed data. - Parsing - The parser is implemented using pest,
and is reexported from the
fastobo-syntaxcrate. Most structures implement theFromPairtrait which allows to build a data structure from a stream of pest tokens. - Errors - All functions in that crate that return a
Resultwill always use theErrorstruct defined in theerrormodule. Errors reported by pest are very meaningful, and can give the exact location of a syntax error encountered by the parser. - Semantics - This library exports specific methods that can be used
to edit an OBO syntax tree with the semantics expected in the format
guide: mapping identifiers to URLs, adding default namespaces, or
expanding entity frames using
treat-xrefsmacros.
Warning: this project adheres to Semantic Versioning, but the API is likely to change a lot before the release of a stable 1.0.
Features
All the following features are enabled by default, but can be disabled and
cherry-picked using the default-features = false option in the Cargo.toml
manifest of your project:
memchr- Use thememchrlibrary to improve parser speed when searching for a particular character in a buffer.threading- Use a multi-threaded parser (additionally depending oncrossbeam-channel), which can greatly improve the parser speed if parsing is CPU-bound.smartstring- Use thesmartstringlibrary to reduce heap allocation for identifiers and string data.
Usage
Add fastobo to the [dependencies] sections of your Cargo.toml manifest:
[]
= "0.13.0"
The top-level fastobo module provides several functions to parse an OboDoc.
Use fastobo::from_reader to load an OBO document from a
BufRead implementor
(use std::io::BufReader
if needed):
extern crate fastobo;
extern crate ureq;
See also
fastobo-syntax: Standalonepestparser for the OBO format version 1.4.fastobo-graphs: Data model andserdeimplementation of the OBO graphs specification, with conversion traits from and to OBO.fastobo-py: Idiomatic Python bindings to this crate.fastobo-validator: Standalone CLI to validate OBO files against the specification.horned-functional: Parser for OWL2 Functional Syntax (can be used to parseowl-axiomsclauses).
Feedback
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.
About
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)